強化學習作為機器學習及人工智能領域的一種重要方法,在游戲、自動駕駛、機器人路線規(guī)劃等領域得到了廣泛的應用。
本書結合了李宏毅老師的“深度強化學習”、周博磊老師的“強化學習綱要”、李科澆老師的“世界冠軍帶你從零實踐強化學習”公開課的精華內(nèi)容,在理論嚴謹?shù)幕A上深入淺出地介紹馬爾可夫決策過程、蒙特卡洛方法、時序差分方法、Sarsa、Q 學習等傳統(tǒng)強化學習算法,以及策略梯度、近端策略優(yōu)化、深度Q 網(wǎng)絡、深度確定性策略梯度等常見深度強化學習算法的基本概念和方法,并以大量生動有趣的例子幫助讀者理解強化學習問題的建模過程以及核心算法的細節(jié)。
此外,本書還提供習題解答以及Python 代碼實現(xiàn),可以讓讀者進行端到端、從理論到輕松實踐的全生態(tài)學習,充分掌握強化學習算法的原理并能進行實戰(zhàn)。
本書適合對強化學習感興趣的讀者閱讀,也可以作為相關課程的配套教材。
(1)萃取強化學習熱門公開課精華的課程伴侶!
對李宏毅“深度強化學習”、周博磊“強化學習綱要”和李科澆“世界冠軍帶你從零實踐強化學習”3門累積播放過百萬的公開課進行內(nèi)容精選和公式推導,對較難理解的知識點進行重點講解和補充強化,方便讀者邊看視頻邊查閱學習。
(2)GitHub下載量過萬的開源教程,迭代升級的入門指南!
本“蘑菇書”系中科院王琦、清華楊毅遠、北大江季3位Datawhale成員繼“南瓜書”《機器學習公式詳解》后第2本自學筆記,開源教程發(fā)布于GitHub不到10個月,已有1.1萬下載量及3.3k Star數(shù)。本“蘑菇書”吸收讀者對于開源教程上百次的反饋,利用簡單生動的例子解釋強化學習概念,對重難點公式詳細推導、分析,設置原創(chuàng)關鍵詞、習題和面試題,配有Python實現(xiàn)代碼,方便讀者輕松入門。
(3)原課程作者 李宏毅、周博磊、李科澆,以及強化學習領域 汪軍、張偉楠、李升波、胡裕靖親筆推薦!
(4)4項配套資源,讓你收獲滿滿!
可下載Python實現(xiàn)代碼;可下載習題和面試題答案;學習交流服務。(購買本書后在“資源與支持”頁獲。
王琦
中國科學院大學碩士在讀,Datawhale成員。主要研究方向為深度學習、數(shù)據(jù)挖掘。曾獲中國大學生計算機設計大賽二等獎、亞太地區(qū)大學生數(shù)學建模競賽 (APMCM)二等獎和“挑戰(zhàn)杯”競賽江蘇省選拔賽二等獎,發(fā)表 SCI/EI 論文3篇。
楊毅遠
清華大學碩士在讀, Datawhale成員。主要研究方向為時空數(shù)據(jù)挖掘、智能傳感系統(tǒng)、深度學習。曾獲全國大學生智能汽車競賽總冠軍、中國國家獎學金,發(fā)表SCI/EI論文7篇,其中以第一作者身份在SCI的Q1區(qū)、Q2區(qū)及中國計算機學會(CCF)A、B類會議中發(fā)表論文4篇。
江季
北京大學碩士在讀, Datawhale成員。主要研究方向為強化學習、機器人。曾獲大學生電子設計競賽——2018年嵌入式系統(tǒng)專題邀請賽(英特爾杯)一等獎,發(fā)表頂會論文1篇、專利2項。
第 1 章緒論 1
1.1 強化學習概述 1
1.1.1 強化學習與監(jiān)督學習 1
1.1.2 強化學習的例子 5
1.1.3 強化學習的歷史 7
1.1.4 強化學習的應用 8
1.2 序列決策概述 10
1.2.1 智能體和環(huán)境 10
1.2.2 獎勵 10
1.2.3 序列決策 10
1.3 動作空間 12
1.4 強化學習智能體的組成部分和類型 12
1.4.1 策略 13
1.4.2 價值函數(shù) 13
1.4.3 模型 14
1.4.4 強化學習智能體的類型 16
1.5 學習與規(guī)劃 19
1.6 探索和利用 20
1.7 強化學習實驗 22
1.7.1 Gym 23
1.7.2 MountainCar-v0 例子27
1.8 關鍵詞 30
1.9 習題 31
1.10 面試題 32
參考文獻 32
第 2 章馬爾可夫決策過程 33
2.1 馬爾可夫過程 34
2 | Easy RL:強化學習教程
2.1.1 馬爾可夫性質 34
2.1.2 馬爾可夫過程/馬爾可夫鏈 34
2.1.3 馬爾可夫過程的例子 35
2.2 馬爾可夫獎勵過程 36
2.2.1 回報與價值函數(shù) 36
2.2.2 貝爾曼方程 38
2.2.3 計算馬爾可夫獎勵過程價值的迭代算法 42
2.2.4 馬爾可夫獎勵過程的例子 43
2.3 馬爾可夫決策過程 44
2.3.1 馬爾可夫決策過程中的策略 44
2.3.2 馬爾可夫決策過程和馬爾可夫過程/馬爾可夫獎勵過程的區(qū)別 45
2.3.3 馬爾可夫決策過程中的價值函數(shù) 45
2.3.4 貝爾曼期望方程 46
2.3.5 備份圖47
2.3.6 策略評估 49
2.3.7 預測與控制 51
2.3.8 動態(tài)規(guī)劃 53
2.3.9 使用動態(tài)規(guī)劃進行策略評估 53
2.3.10 馬爾可夫決策過程控制 56
2.3.11 策略迭代 58
2.3.12 價值迭代 61
2.3.13 策略迭代與價值迭代的區(qū)別 63
2.3.14 馬爾可夫決策過程中的預測和控制總結 66
2.4 關鍵詞 67
2.5 習題 68
2.6 面試題 69
參考文獻 69
第3 章表格型方法 70
3.1 馬爾可夫決策過程 70
3.1.1 有模型71
3.1.2 免模型72
3.1.3 有模型與免模型的區(qū)別 73
3.2 Q 表格 73
3.3 免模型預測 77
3.3.1 蒙特卡洛方法 77
3.3.2 時序差分方法 80
3.3.3 動態(tài)規(guī)劃方法、蒙特卡洛方法以及時序差分方法的自舉和采樣 86
3.4 免模型控制 88
3.4.1 Sarsa:同策略時序差分控制 91
3.4.2 Q 學習:異策略時序差分控制 94
3.4.3 同策略與異策略的區(qū)別 97
3.5 使用Q 學習解決懸崖尋路問題 98
3.5.1 CliffWalking-v0 環(huán)境簡介 98
3.5.2 強化學習基本接口 100
3.5.3 Q 學習算法 102
3.5.4 結果分析 103
3.6 關鍵詞 104
3.7 習題105
3.8 面試題 105
參考文獻 105
第4 章策略梯度 106
4.1 策略梯度算法 106
4.2 策略梯度實現(xiàn)技巧 115
4.2.1 技巧1:添加基線 115
4.2.2 技巧2:分配合適的分數(shù) 117
4.3 REINFORCE:蒙特卡洛策略梯度 119
4.4 關鍵詞 125
4.5 習題125
4.6 面試題 125
參考文獻 126
第5 章近端策略優(yōu)化 127
5.1 從同策略到異策略 127
5.2 近端策略優(yōu)化 133
5.2.1 近端策略優(yōu)化懲罰 134
4 | Easy RL:強化學習教程
5.2.2 近端策略優(yōu)化裁剪 135
5.3 關鍵詞 138
5.4 習題139
5.5 面試題 139
參考文獻 139
第6 章深度Q 網(wǎng)絡 140
6.1 狀態(tài)價值函數(shù) 140
6.2 動作價值函數(shù) 145
6.3 目標網(wǎng)絡 150
6.4 探索152
6.5 經(jīng)驗回放 154
6.6 深度Q 網(wǎng)絡算法總結156
6.7 關鍵詞 157
6.8 習題158
6.9 面試題 159
參考文獻 159
第7 章深度Q 網(wǎng)絡進階技巧 160
7.1 雙深度Q 網(wǎng)絡 160
7.2 競爭深度Q 網(wǎng)絡 162
7.3 優(yōu)先級經(jīng)驗回放 165
7.4 在蒙特卡洛方法和時序差分方法中取得平衡 166
7.5 噪聲網(wǎng)絡 167
7.6 分布式Q 函數(shù) 168
7.7 彩虹170
7.8 使用深度Q 網(wǎng)絡解決推車桿問題 172
7.8.1 CartPole-v0 簡介 172
7.8.2 深度Q 網(wǎng)絡基本接口 173
7.8.3 回放緩沖區(qū)175
7.8.4 Q 網(wǎng)絡 175
7.8.5 深度Q 網(wǎng)絡算法 176
7.8.6 結果分析 178
7.9 關鍵詞 179
7.10 習題 180
7.11 面試題 180
參考文獻 180
第8 章針對連續(xù)動作的深度Q 網(wǎng)絡 181
8.1 方案1:對動作進行采樣182
8.2 方案2:梯度上升 182
8.3 方案3:設計網(wǎng)絡架構 182
8.4 方案4:不使用深度Q 網(wǎng)絡 183
8.5 習題184
第9 章演員-評論員算法 185
9.1 策略梯度回顧 185
9.2 深度Q 網(wǎng)絡回顧 186
9.3 演員-評論員算法 187
9.4 優(yōu)勢演員-評論員算法 188
9.5 異步優(yōu)勢演員-評論員算法 190
9.6 路徑衍生策略梯度 191
9.7 與生成對抗網(wǎng)絡的聯(lián)系 195
9.8 關鍵詞 196
9.9 習題196
9.10 面試題 196
第 10 章深度確定性策略梯度 197
10.1 離散動作與連續(xù)動作的區(qū)別 197
10.2 深度確定性策略梯度199
10.3 雙延遲深度確定性策略梯度 203
10.4 使用深度確定性策略梯度解決倒立擺問題 205
10.4.1 Pendulum-v1 簡介 205
10.4.2 深度確定性策略梯度基本接口 206
10.4.3 Ornstein-Uhlenbeck 噪聲 207
10.4.4 深度確定性策略梯度算法 208
10.4.5 結果分析209
10.5 關鍵詞 211
10.6 習題 211
10.7 面試題 211
參考文獻 211
第 11 章稀疏獎勵212
11.1 設計獎勵 212
11.2 好奇心 214
11.3 課程學習 216
11.4 分層強化學習 219
11.5 關鍵詞 221
11.6 習題 222
參考文獻 222
第 12 章模仿學習223
12.1 行為克隆 223
12.2 逆強化學習 226
12.3 第三人稱視角模仿學習 231
12.4 序列生成和聊天機器人 232
12.5 關鍵詞 233
12.6 習題 233
參考文獻 234
第 13 章AlphaStar 論文解讀 235
13.1 AlphaStar 以及背景簡介 235
13.2 AlphaStar 的模型輸入和輸出是什么呢?——環(huán)境設計 235
13.2.1 狀態(tài)(網(wǎng)絡的輸入) 236
13.2.2 動作(網(wǎng)絡的輸出) 236
13.3 AlphaStar 的計算模型是什么呢?——網(wǎng)絡結構 237
13.3.1 輸入部分237
13.3.2 中間過程239
13.3.3 輸出部分239
13.4 龐大的AlphaStar 如何訓練呢?——學習算法 240
13.4.1 監(jiān)督學習240
13.4.2 強化學習241
13.4.3 模仿學習242
13.4.4 多智能體學習/自學習 243
13.5 AlphaStar 實驗結果如何呢?——實驗結果 243
13.5.1 宏觀結果243
13.5.2 其他實驗(消融實驗) 244
13.6 關于AlphaStar 的總結 245
參考文獻 245