內容簡介
本書系統地介紹了強化學習的原理和實現,是一本理論紮實、落地性強的圖書。
本書包含3個部分:第一部分為強化學習基礎,講解強化學習的基礎概念和表格型強化學習方法;第二部分為強化學習進階,討論深度強化學習的思維方式、深度價值函式和深度策略學習方法;第三部分為強化學習前沿,介紹學術界在深度強化學習領域的主要關注方向和前沿算法。同時,本書提供配套的線上代碼實踐平台,展示源碼的編寫和運行過程,讓讀者進一步掌握強化學習算法的運行機制。
本書理論與實踐並重,在介紹強化學習理論的同時,輔之以線上代碼實踐平台,幫助讀者通過實踐加深對理論的理解。本書適合對強化學習感興趣的高校學生、教師,以及相關行業的開發和研究人員閱讀、實踐。
圖書目錄
第一部分 強化學習基礎
第 1 章 初探強化學習 ......................2
1.1 簡介.................................................2
1.2 什麼是強化學習..................................2
1.3 強化學習的環境..................................4
1.4 強化學習的目標..................................4
1.5 強化學習中的數據...............................5
1.6 強化學習的獨特性...............................6
1.7 小結.................................................6
第 2 章 多臂老虎機問題......................7
2.1 簡介.................................................7
2.2 問題介紹 ..........................................7
2.2.1 問題定義.......................................7
2.2.2 形式化描述...................................8
2.2.3 累積懊悔 ......................................8
2.2.4 估計期望獎勵 ...............................8
2.3 探索與利用的平衡 ............................ 10
2.4 ϵ-貪婪算法......................................11
2.5 上置信界算法 .................................. 14
2.6 湯普森採樣算法 ............................... 16
2.7 小結 .............................................. 18
2.8 參考文獻 ........................................ 18
第 3 章 馬爾可夫決策過程................. 19
3.1 簡介............................................... 19
3.2 馬爾可夫過程 .................................. 19
3.2.1 隨機過程 ...................................19
3.2.2 馬爾可夫性質..............................19
3.2.3 馬爾可夫過程............................. 20
3.3 馬爾可夫獎勵過程 ............................ 21
3.3.1 回報 ............................................21
3.3.2 價值函式.................................... 22
3.4 馬爾可夫決策過程 ............................24
3.4.1 策略 ........................................... 25
3.4.2 狀態價值函式............................. 25
3.4.3 動作價值函式............................. 25
3.4.4 貝爾曼期望方程 ......................... 25
3.5 蒙特卡洛方法 ..................................28
3.6 占用度量 ........................................ 31
3.7 最優策略 ........................................32
3.8 小結 ..............................................33
3.9 參考文獻 ........................................33
第 4 章 動態規划算法 ...................... 34
4.1 簡介 ..............................................34
4.2 懸崖漫步環境 ..................................34
4.3 策略疊代算法 ..................................36
4.3.1 策略評估 .................................... 36
4.3.2 策略提升.................................... 36
4.3.3 策略疊代.................................... 37
4.4 價值疊代算法 ..................................40
4.5 冰湖環境 ........................................42
4.6 小結 ..............................................45
4.7 擴展閱讀:收斂性證明 ......................45
4.7.1 策略疊代.....................................45
4.7.2 價值疊代 ....................................45
4.8 參考文獻 ........................................46
第 5 章 時序差分算法.......................47
5.1 簡介...............................................47
5.2 時序差分 ........................................48
5.3 Sarsa 算法 ....................................48
5.4 多步 Sarsa 算法 .............................53
5.5 Q-learning 算法 ............................56
5.6 小結 ..............................................60
5.7 擴展閱讀:Q-learning 收斂性證明 .... 61
5.8 參考文獻 ........................................62
第 6 章 Dyna-Q 算法..................... 63
6.1 簡介 ..............................................63
6.2 Dyna-Q .......................................63
6.3 Dyna-Q 代碼實踐...........................64
6.4 小結 ..............................................69
6.5 參考文獻 ........................................69
第二部分 強化學習進階
第 7 章 DQN算法 ..........................72
7.1 簡介...............................................72
7.2 車桿環境 ........................................72
7.3 DQN.............................................73
7.3.1 經驗回放.....................................74
7.3.2 目標網路 ....................................74
7.4 DQN代碼實踐................................75
7.5 以圖像作為輸入的DQN算法 .............79
7.6 小結 ..............................................80
7.7 參考文獻 ........................................80
第 8 章 DQN改進算法 .................... 81
8.1 簡介............................................... 81
8.2 Double DQN................................. 81
8.3 Double DQN代碼實踐....................82
8.4 Dueling DQN................................88
8.5 Dueling DQN代碼實踐 ...................90
8.6 小結 ..............................................93
8.7 擴展閱讀:對Q值過高估計的定量分析.........93
8.8 參考文獻 ........................................94
第 9 章 策略梯度算法.......................95
9.1 簡介...............................................95
9.2 策略梯度 ........................................95
9.3 REINFORCE ................................96
9.4 REINFORCE代碼實踐 ...................97
9.5 小結 ............................................ 100
9.6 擴展閱讀:策略梯度證明 ................. 100
9.7 參考文獻 ...................................... 102
第 10 章 Actor-Critic算法 ............103
10.1 簡介........................................... 103
10.2 Actor-Critic.............................. 103
10.3 Actor-Critic代碼實踐 ................. 105
10.4 小結 .......................................... 108
10.5 參考文獻..................................... 108
第 11 章 TRPO算法 ......................109
11.1 簡介 ........................................... 109
11.2 策略目標 ..................................... 109
11.3 近似求解 ...................................... 111
11.4 共軛梯度......................................112
11.5 線性搜尋 ......................................112
11.6 廣義優勢估計 ................................113
11.7 TRPO代碼實踐............................114
11.8 小結........................................... 122
11.9 參考文獻..................................... 123
第 12 章 PPO算法 ........................124
12.1 簡介........................................... 124
12.2 PPO-懲罰.................................. 124
12.3 PPO-截斷 ................................. 125
12.4 PPO代碼實踐............................. 125
12.5 小結............................................131
12.6 參考文獻..................................... 132
第 13 章 DDPG算法..................... 133
13.1 簡介 ........................................... 133
13.2 DDPG....................................... 133
13.3 DDPG代碼實踐 .......................... 135
13.4 小結........................................... 140
13.5 擴展閱讀:確定性策略梯度定理的證明....... 140
13.6 參考文獻......................................141
第 14 章 SAC算法 ........................142
14.1 簡介........................................... 142
14.2 最大熵強化學習............................ 142
14.3 Soft策略疊代 ............................. 143
14.4 SAC ......................................... 143
14.5 SAC代碼實踐............................. 145
14.6 小結........................................... 154
14.7 參考文獻..................................... 155
第三部分 強化學習前沿
第 15 章 模仿學習 ......................... 158
15.1 簡介 ........................................... 158
15.2 行為克隆..................................... 159
15.3 生成對抗模仿學習......................... 159
15.4 代碼實踐..................................... 160
15.4.1 生成專家數據 .......................... 160
15.4.2 行為克隆的代碼實踐 ............... 163
15.4.3 生成對抗模仿學習的代碼實踐............... 165
15.5 小結........................................... 167
15.6 參考文獻..................................... 168
第 16 章 模型預測控制 ................... 169
16.1 簡介........................................... 169
16.2 打靶法........................................ 169
16.2.1 隨機打靶法.............................. 170
16.2.2 交叉熵方法 ............................. 170
16.3 PETS算法..................................171
16.4 PETS算法實踐........................... 172
16.5 小結........................................... 179
16.6 參考文獻..................................... 179
第 17 章 基於模型的策略最佳化.......... 180
17.1 簡介........................................... 180
17.2 MBPO算法................................ 180
17.3 MBPO代碼實踐...........................181
17.4 小結........................................... 192
17.5 拓展閱讀:MBPO理論分析........... 192
17.5.1 性能提升的單調性保障.............192
17.5.2 模型推演長度 ..........................192
17.6 參考文獻..................................... 193
第 18 章 離線強化學習....................194
18.1 簡介........................................... 194
18.2 批量限制 Q-learning算法............ 195
18.3 保守 Q-learning算法.................. 197
18.4 CQL代碼實踐............................. 199
18.5 小結...........................................208
18.6 擴展閱讀.....................................208
18.7 參考文獻..................................... 210
第 19 章 目標導向的強化學習 ........... 211
19.1 簡介............................................211
19.2 問題定義......................................211
19.3 HER算法................................... 212
19.4 HER代碼實踐............................. 213
19.5 小結........................................... 221
19.6 參考文獻..................................... 221
第 20 章 多智慧型體強化學習入門 .......222
20.1 簡介...........................................222
20.2 問題建模 ....................................223
20.3 多智慧型體強化學習的基本求解範式....223
20.4 IPPO算法 .................................223
20.5 IPPO代碼實踐 ...........................224
20.6 小結 ..........................................228
20.7 參考文獻 ....................................229
第 21 章 多智慧型體強化學習進階 .......230
21.1 簡介 ...........................................230
21.2 MADDPG算法...........................230
21.3 MADDPG代碼實踐.....................232
21.4 小結...........................................240
21.5 參考文獻.....................................240
總結與展望.....................................241
總結.................................................... 241
展望:克服強化學習的落地挑戰 ................ 241
中英文術語對照表與符號表 ............... 244
中英文術語對照表 ..................................244
符號表.................................................246
作者簡介
張偉楠,上海交通大學副教授,博士生導師,ACM班機器學習、強化學習課程授課老師,吳文俊人工智慧優秀青年獎、達摩院青橙獎得主,獲得中國科協“青年人才托舉工程”支持。他的科研領域包括強化學習、數據挖掘、知識圖譜、深度學習以及這些技術在推薦系統、搜尋引擎、文本分析等場景中的套用。他在國際一流會議和期刊上發表了100餘篇相關領域的學術論文,於2016年在英國倫敦大學學院(UCL)計算機系獲得博士學位。
沈鍵,上海交通大學APEX實驗室博士生,師從俞勇教授,研究方向為深度學習、強化學習和教育數據挖掘。在攻讀博士期間,他以第一作者身份發表機器學習國際頂級會議NeurIPS、AAAI論文,參與發表多篇機器學習和數據挖掘國際頂級會議(包括ICML、IJCAI、SIGIR、KDD、AISTATS等)論文,並擔任多個國際頂級會議和SCI學術期刊的審稿人。
俞勇,享受國務院特殊津貼專家,國家級教學名師,上海交通大學特聘教授,APEX實驗室主任,上海交通大學ACM班創始人。俞勇教授曾獲得首批“國家高層次人才特殊支持計畫”教學名師、“上海市教學名師獎”“全國師德標兵”“上海交通大學校長獎”和“最受學生歡迎教師”等榮譽。他於2018年創辦了伯禹人工智慧學院,在上海交通大學ACM班人工智慧專業課程體系的基礎上,對AI課程體系進行創新,致力於培養卓越的AI算法工程師和研究員。