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