[課程筆記] 強化學習(李弘毅) L1. Policy Gradient
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) 來實現。
參考:
- 李弘毅老師的強化學習開放課程 : DRL Lecture 1: Policy Gradient (Review)
[課程筆記] 強化學習(李弘毅) L1. Policy Gradient相关推荐
- [課程筆記] 機器學習2021(李弘毅) L29.概述增強式學習(一)
目录 A. What is RL ? 1. Machine learning ~ Looking for a Function 2. Example: Playing Video Game 3. Ex ...
- [課程筆記] 機器學習2021(李弘毅) L32.概述增強式學習(四)
Reward Shaping Sparse Reward 许多场景中,大多数情况下并没有奖励,像是: 围棋: 平常落子没有奖励,只有棋局结束时才有奖励(输/赢) 机器人栓螺丝: 大多数动作都没有奖励, ...
- [課程筆記] 機器學習基石 - W7. The VC Dimension
目录 Video1: Definition of VC Dimension Recap: More on Growth Function Recap: More on VC bound VC Dime ...
- 人工智能 java 坦克机器人系列: 强化学习_人工智能 Java 坦克機器人系列: 強化學習...
級別:中級 2006 年 7 月13日 本文中,我們將使用強化學習來實現一個機器人.使用強化學習能創建一個自適應的戰斗機器人.這個機器人能在戰斗中根據環境取得最好的策略,並盡力使戰斗行為最佳.並在此過 ...
- java中集合什么时候有索引,JavaSE中Collection集合框架學習筆記(1)——具有索引的List...
前言:因為最近要重新找工作,Collection(集合)是面試中出現頻率非常高的基礎考察點,所以好好惡補了一番. 復習過程中深感之前的學習不系統,而且不能再像剛畢業那樣死背面試題,例如:String是 ...
- 潭州python学院12306案例_人工智慧時代來臨,潭州教育開設Python課程帶學員入門機器學習...
當今時代,隨著人工智慧科技的飛速發展,人工智慧逐漸深入社會生活生産的方方面面.根據<2019中國人工智慧發展報告>相關數據顯示,人工智慧行業的融資規模呈上升趨勢.在當紅的人工智慧領域,機器 ...
- 從turtle海龜動畫學習Python-高中彈性課程1
Goal: 藉由有趣的「海龜動畫繪圖」學會基礎的 Python 程式設計 本篇介紹本彈性課程之開設由來, 以及一些供後續查閱之Python 之細節, 方便後面再回頭交叉索引之內容, 文獻等 " ...
- 從turtle海龜動畫 學習 Python - 高中彈性課程系列 10.1 藝術畫 python繪製天然雪花結晶
本篇主要是討論用 python 模擬自然界的雪花結晶形狀, (注意: 非網路上常提到的 雪花算法). "Talk is cheap. Show me the code." ― Li ...
- python操作txt找到最便宜的素菜_Python線性模型學習筆記
歡迎關注Python愛好者社區,我們是專註於商業智能BI,大數據,數據分析領域的垂直社區,學習,問答.求職一站式搞定! 天善學院618活動正在進行中!天善學院618大禮包,大數據.數據分析與數據挖掘. ...
最新文章
- 声音信标发出白噪声和发出chirp信号的对比测距说明
- 使用Gson 解析json
- 在线教育开源 java_开源项目SpringBoot在线教育平台
- OpenCV与Eclipse结合使用(插件CDT)
- 前端工程师成长之多读好书 1
- php中类的构造函数和析构函数,php面向对象-构造函数和析构函数详解
- asp.net页面的生存周期
- BZOJ2592: [Usaco2012 Feb]Symmetry
- 中国历代更改重复地名及其现实意义
- 增值税怎么用计算机算,增值税计算器
- 医学统计学笔记之分布
- 【Codecs系列】GDR(Gradual Decoder Refresh)帧
- C++算法——DFS(图解)
- git与svn的区别及优缺点
- 应用Abaqus有限元软件中的cohesive单元模拟压头侵入地层随机断裂过程
- STM8S_003_TIM定时中断
- 申通物流查询php,申通快递单号查询 | 申通快递查询
- 读书笔记以及失效分析心得。
- Procreate笔刷素材推荐
- 探究ORACLE的SCN机制(3):Begin Backup
热门文章
- 远程连接 部分基础命令
- 【Class 46】【实例】python爬虫实现 自动搜索 并 打开浏览器
- html语言单词背不下来,专八词汇背不下来?来看看这七种记忆方法
- 开放存取平台以保存Odia印度语言
- Linux写文件断电保存,硬盘写到一半时断电,文件系统里会发生什么?
- 中国实体新气象:失之电商,收之“+互联网”
- 用友u8计算机快捷键,用友U8快捷键一览表
- 耀辉:医院网络营销之站外合作篇
- python刷微博关注_[代码全屏查看]-python刷新浪微博粉丝
- 水经注能否下载行政区域的矢量文件?