1. 強化學習的基本組件

  • Actor : 負責操縱行為 (我們可以控制調整)
  • Env : 環境,Actor 行為會與之互動  (我們無法控制調整)
  • Reward : Actor 在 Env 中做出特定行為時的獎勵 (我們無法控制調整)

2. Policy of Actor

  • Actor 中具有 Policy,負責決定 Actor 在特定條件下的行為
  • 若我們使用 NN 來實現 policy ,則:
    • NN 參數 : 
    • NN 輸入 : actor 的觀察
    • NN 輸出 : 根據輸入,得到所有可執行行為的機率分布
  • 最後Actor 所採取的行為是根據 policy 輸出的機率分布取樣得到 (而不是直接取機率最大的,這樣才會有隨機性)

3. 以遊戲為例

  • Episode:

    • 遊戲開始
    • Actor 從環境得到觀察 ,做出行為 ,得到獎勵  ,並不斷重複此循環
    • 遊戲結束
  • 每個 episode 可以計算總獎勵,actor 的目標就是要最大化這個總獎勵

4. Actor, Env, Reward 之間的關係

  • 把 episode 過程中的 s, a 記錄下來,會得到一組 trajectory 
  • 每個參數為 θ 的 policy,都可能產生多種 trajectory (因為 policy 書出去有隨機性,環境也有隨機性)
  • 在給定 policy 參數 θ 下,可以計算出每一種 trajectory 發生的機率:
    •  : actor 在遊戲一開始觀察到的環境狀態 (此項由環境所控制)
    •  : actor 觀察到  時,採取行為  的機率 (此項由 policy 所控制)
    •  : 當 actor 在觀察到  並採取行為  時,下個觀察得到  的機率 (此項由環境所控制)
  • 我們在更新 policy 時,所需要知道的是 policy 在參數 θ 下,總獎勵的期望值 :

5. Policy Gradient

  • 透過一連推導,可以得到  對 θ 的梯度

  • 中間將期望值的計算,透過抽樣來近似 (因為在複雜情況下,我們不可能真的把所有 trajectory 都找出來)

  • 從最後一個式子可以得知,若一個 trajectory 的獎勵為正,則梯度會傾向提升該 trajectory  過程中所有特定決策的機率

  • 實際實作的方式是,使用參數 θ 的 policy 玩 N 次遊戲,透過這 N 次的結果來計算  對 θ 的梯度近似值

6. RFL vs. 分類問題

  • 這兩個任務其實本質上很類似
  • 在分類問題中,模型根據輸入  ,計算出分類正確答案的機率,並透過梯度更新去最大化正確答案的機率
  • 在強化學習中,因為不知道輸入  的正確答案 ,所以透過乘上獎勵作為正確答案的參考

7. 實作上會用到的 Tips

A. Add a baseline

  • 透過前面提到的梯度會發現,我們在極大化獎勵期望值的時候,會根據獎勵大小鼓勵 actor 輸出合適的機率分布
  • 如果獎勵全部都是正的,則被所有我們採樣到的情況,其機率分布會同時增加 (但有的增加的多,有的增加的少)
  • 這樣會產生一個問題是,我們計算的獎勵期望值其實是近似 (因為沒有辦法窮舉所有情況),所以對於沒有被我們採樣到的情況,其機率會被抑制 (因為別人都增加,但他不增加)

B. Assign suitable credit

  • 前面透過獎勵來更新參數時,考慮的是整個 trajectory 最後得到的總獎勵,忽略了 trajectory  中每個行為  所產生的獎勵 
  • 但其實就算一個 trajectory 最終獎勵是高的,也不代表 trajectory 中的每個行為都是好的
  • 而且在一個路徑中,時間點 t 後面的行為,理論上與時間點 t 前面獲得的獎勵
  • 一般而言,行為的發生對未來獎勵產生的影響,是會隨著時間差距變大而影響變小的
  • 這時候可以在計算  時,把每一項的路徑總獎勵  ,換成是每一項所影響而產生的獎勵,並乘上一個與時間相關的衰退項
  • 投影片中,橘紅色的框框是 Advantage Function  除了可以用上面提到的方法實現之外,也可以透過一個模型 (critic) 來實現。

參考:

  1. 李弘毅老師的強化學習開放課程 : DRL Lecture 1: Policy Gradient (Review)

[課程筆記] 強化學習(李弘毅) L1. Policy Gradient相关推荐

  1. [課程筆記] 機器學習2021(李弘毅) L29.概述增強式學習(一)

    目录 A. What is RL ? 1. Machine learning ~ Looking for a Function 2. Example: Playing Video Game 3. Ex ...

  2. [課程筆記] 機器學習2021(李弘毅) L32.概述增強式學習(四)

    Reward Shaping Sparse Reward 许多场景中,大多数情况下并没有奖励,像是: 围棋: 平常落子没有奖励,只有棋局结束时才有奖励(输/赢) 机器人栓螺丝: 大多数动作都没有奖励, ...

  3. [課程筆記] 機器學習基石 - W7. The VC Dimension

    目录 Video1: Definition of VC Dimension Recap: More on Growth Function Recap: More on VC bound VC Dime ...

  4. 人工智能 java 坦克机器人系列: 强化学习_人工智能 Java 坦克機器人系列: 強化學習...

    級別:中級 2006 年 7 月13日 本文中,我們將使用強化學習來實現一個機器人.使用強化學習能創建一個自適應的戰斗機器人.這個機器人能在戰斗中根據環境取得最好的策略,並盡力使戰斗行為最佳.並在此過 ...

  5. java中集合什么时候有索引,JavaSE中Collection集合框架學習筆記(1)——具有索引的List...

    前言:因為最近要重新找工作,Collection(集合)是面試中出現頻率非常高的基礎考察點,所以好好惡補了一番. 復習過程中深感之前的學習不系統,而且不能再像剛畢業那樣死背面試題,例如:String是 ...

  6. 潭州python学院12306案例_人工智慧時代來臨,潭州教育開設Python課程帶學員入門機器學習...

    當今時代,隨著人工智慧科技的飛速發展,人工智慧逐漸深入社會生活生産的方方面面.根據<2019中國人工智慧發展報告>相關數據顯示,人工智慧行業的融資規模呈上升趨勢.在當紅的人工智慧領域,機器 ...

  7. 從turtle海龜動畫學習Python-高中彈性課程1

    Goal: 藉由有趣的「海龜動畫繪圖」學會基礎的 Python 程式設計 本篇介紹本彈性課程之開設由來, 以及一些供後續查閱之Python 之細節, 方便後面再回頭交叉索引之內容, 文獻等 " ...

  8. 從turtle海龜動畫 學習 Python - 高中彈性課程系列 10.1 藝術畫 python繪製天然雪花結晶

    本篇主要是討論用 python 模擬自然界的雪花結晶形狀, (注意: 非網路上常提到的 雪花算法). "Talk is cheap. Show me the code." ― Li ...

  9. python操作txt找到最便宜的素菜_Python線性模型學習筆記

    歡迎關注Python愛好者社區,我們是專註於商業智能BI,大數據,數據分析領域的垂直社區,學習,問答.求職一站式搞定! 天善學院618活動正在進行中!天善學院618大禮包,大數據.數據分析與數據挖掘. ...

最新文章

  1. 声音信标发出白噪声和发出chirp信号的对比测距说明
  2. 使用Gson 解析json
  3. 在线教育开源 java_开源项目SpringBoot在线教育平台
  4. OpenCV与Eclipse结合使用(插件CDT)
  5. 前端工程师成长之多读好书 1
  6. php中类的构造函数和析构函数,php面向对象-构造函数和析构函数详解
  7. asp.net页面的生存周期
  8. BZOJ2592: [Usaco2012 Feb]Symmetry
  9. 中国历代更改重复地名及其现实意义
  10. 增值税怎么用计算机算,增值税计算器
  11. 医学统计学笔记之分布
  12. 【Codecs系列】GDR(Gradual Decoder Refresh)帧
  13. C++算法——DFS(图解)
  14. git与svn的区别及优缺点
  15. 应用Abaqus有限元软件中的cohesive单元模拟压头侵入地层随机断裂过程
  16. STM8S_003_TIM定时中断
  17. 申通物流查询php,申通快递单号查询 | 申通快递查询
  18. 读书笔记以及失效分析心得。
  19. Procreate笔刷素材推荐
  20. 探究ORACLE的SCN机制(3):Begin Backup

热门文章

  1. 远程连接 部分基础命令
  2. 【Class 46】【实例】python爬虫实现 自动搜索 并 打开浏览器
  3. html语言单词背不下来,专八词汇背不下来?来看看这七种记忆方法
  4. 开放存取平台以保存Odia印度语言
  5. Linux写文件断电保存,硬盘写到一半时断电,文件系统里会发生什么?
  6. 中国实体新气象:失之电商,收之“+互联网”
  7. 用友u8计算机快捷键,用友U8快捷键一览表
  8. 耀辉:医院网络营销之站外合作篇
  9. python刷微博关注_[代码全屏查看]-python刷新浪微博粉丝
  10. 水经注能否下载行政区域的矢量文件?