本書系統(tǒng)地介紹了強化學(xué)習(xí)的原理和實現(xiàn),是一本理論扎實、落地性強的圖書。
本書包含3個部分:第一部分為強化學(xué)習(xí)基礎(chǔ),講解強化學(xué)習(xí)的基礎(chǔ)概念和表格型強化學(xué)習(xí)方法;第二部分為強化學(xué)習(xí)進階,討論深度強化學(xué)習(xí)的思維方式、深度價值函數(shù)和深度策略學(xué)習(xí)方法;第三部分為強化學(xué)習(xí)前沿,介紹學(xué)術(shù)界在深度強化學(xué)習(xí)領(lǐng)域的主要關(guān)注方向和前沿算法。同時,本書提供配套的線上代碼實踐平臺,展示源碼的編寫和運行過程,讓讀者進一步掌握強化學(xué)習(xí)算法的運行機制。
本書理論與實踐并重,在介紹強化學(xué)習(xí)理論的同時,輔之以線上代碼實踐平臺,幫助讀者通過實踐加深對理論的理解。本書適合對強化學(xué)習(xí)感興趣的高校學(xué)生、教師,以及相關(guān)行業(yè)的開發(fā)和研究人員閱讀、實踐。
·名家作品:上海交通大學(xué)ACM班創(chuàng)始人俞勇教授、博士生導(dǎo)師張偉楠副教授、APEX實驗室博士生沈鍵編寫;
·理論扎實:基于上交大ACM班的人工智能專業(yè)課程構(gòu)建強化學(xué)習(xí)的學(xué)習(xí)體系;
·配套資源豐富:在線代碼運行環(huán)境+在線視頻課程+在線討論區(qū)+在線習(xí)題+配套課件;
·多位業(yè)內(nèi)大咖力薦:字節(jié)跳動人工智能實驗室總監(jiān)李航、1986年圖靈獎得主John Hopcroft、北京大學(xué)數(shù)學(xué)科學(xué)學(xué)院統(tǒng)計學(xué)教授張志華、倫敦大學(xué)學(xué)院計算機科學(xué)系講席教授汪軍、亞馬遜資深科學(xué)家、《動手學(xué)深度學(xué)習(xí)》作者李沐
張偉楠,上海交通大學(xué)副教授,博士生導(dǎo)師,ACM班機器學(xué)習(xí)、強化學(xué)習(xí)課程授課老師,吳文俊人工智能優(yōu)秀青年獎、達摩院青橙獎得主,獲得中國科協(xié)“青年人才托舉工程”支持。他的科研領(lǐng)域包括強化學(xué)習(xí)、數(shù)據(jù)挖掘、知識圖譜、深度學(xué)習(xí)以及這些技術(shù)在推薦系統(tǒng)、搜索引擎、文本分析等場景中的應(yīng)用。他在國際會議和期刊上發(fā)表了100余篇相關(guān)領(lǐng)域的學(xué)術(shù)論文,于2016年在英國倫敦大學(xué)學(xué)院(UCL)計算機系獲得博士學(xué)位。
沈鍵,上海交通大學(xué)APEX實驗室博士生,師從俞勇教授,研究方向為深度學(xué)習(xí)、強化學(xué)習(xí)和教育數(shù)據(jù)挖掘。在攻讀博士期間,他以第一作者身份發(fā)表機器學(xué)習(xí)國際會議NeurIPS、AAAI論文,參與發(fā)表多篇機器學(xué)習(xí)和數(shù)據(jù)挖掘國際會議(包括ICML、IJCAI、SIGIR、KDD、AISTATS等)論文,并擔(dān)任多個國際會議和SCI學(xué)術(shù)期刊的審稿人。
俞勇,享受國務(wù)院特殊津貼專家,教學(xué)名師,上海交通大學(xué)特聘教授,APEX實驗室主任,上海交通大學(xué)ACM班創(chuàng)始人。俞勇教授曾獲得“國家高層次人才特殊支持計劃”教學(xué)名師、“上海市教學(xué)名師獎”“全國師德標(biāo)兵”“上海交通大學(xué)校長獎”和“最受學(xué)生歡迎教師”等榮譽。他于2018年創(chuàng)辦了伯禹人工智能學(xué)院,在上海交通大學(xué)ACM班人工智能專業(yè)課程體系的基礎(chǔ)上,對AI課程體系進行創(chuàng)新,致力于培養(yǎng)卓越的AI算法工程師和研究員。
第 一部分 強化學(xué)習(xí)基礎(chǔ)
第 1 章 初探強化學(xué)習(xí) 2
1.1 簡介 2
1.2 什么是強化學(xué)習(xí) 2
1.3 強化學(xué)習(xí)的環(huán)境 4
1.4 強化學(xué)習(xí)的目標(biāo) 4
1.5 強化學(xué)習(xí)中的數(shù)據(jù) 5
1.6 強化學(xué)習(xí)的獨特性 6
1.7 小結(jié) 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 小結(jié) 18
2.8 參考文獻 18
第 3 章 馬爾可夫決策過程 19
3.1 簡介 19
3.2 馬爾可夫過程 19
3.2.1 隨機過程 19
3.2.2 馬爾可夫性質(zhì) 19
3.2.3 馬爾可夫過程 20
3.3 馬爾可夫獎勵過程 21
3.3.1 回報 21
3.3.2 價值函數(shù) 22
3.4 馬爾可夫決策過程 24
3.4.1 策略 25
3.4.2 狀態(tài)價值函數(shù) 25
3.4.3 動作價值函數(shù) 25
3.4.4 貝爾曼期望方程 25
3.5 蒙特卡洛方法 28
3.6 占用度量 31
3.7 最優(yōu)策略 32
3.8 小結(jié) 33
3.9 參考文獻 33
第 4 章 動態(tài)規(guī)劃算法 34
4.1 簡介 34
4.2 懸崖漫步環(huán)境 34
4.3 策略迭代算法 36
4.3.1 策略評估 36
4.3.2 策略提升 36
4.3.3 策略迭代 37
4.4 價值迭代算法 40
4.5 冰湖環(huán)境 42
4.6 小結(jié) 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 小結(jié) 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 小結(jié) 69
6.5 參考文獻 69
第二部分 強化學(xué)習(xí)進階
第 7 章 DQN算法 72
7.1 簡介 72
7.2 車桿環(huán)境 72
7.3 DQN 73
7.3.1 經(jīng)驗回放 74
7.3.2 目標(biāo)網(wǎng)絡(luò) 74
7.4 DQN代碼實踐 75
7.5 以圖像作為輸入的DQN算法 79
7.6 小結(jié) 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 小結(jié) 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 小結(jié) 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 小結(jié) 108
10.5 參考文獻 108
第 11 章 TRPO算法 109
11.1 簡介 109
11.2 策略目標(biāo) 109
11.3 近似求解 111
11.4 共軛梯度 112
11.5 線性搜索 112
11.6 廣義優(yōu)勢估計 113
11.7 TRPO代碼實踐 114
11.8 小結(jié) 122
11.9 參考文獻 123
第 12 章 PPO算法 124
12.1 簡介 124
12.2 PPO-懲罰 124
12.3 PPO-截斷 125
12.4 PPO代碼實踐 125
12.5 小結(jié) 131
12.6 參考文獻 132
第 13 章 DDPG算法 133
13.1 簡介 133
13.2 DDPG 133
13.3 DDPG代碼實踐 135
13.4 小結(jié) 140
13.5 擴展閱讀:確定性策略梯度定理的證明 140
13.6 參考文獻 141
第 14 章 SAC算法 142
14.1 簡介 142
14.2 最大熵強化學(xué)習(xí) 142
14.3 Soft策略迭代 143
14.4 SAC 143
14.5 SAC代碼實踐 145
14.6 小結(jié) 154
14.7 參考文獻 155
第三部分 強化學(xué)習(xí)前沿
第 15 章 模仿學(xué)習(xí) 158
15.1 簡介 158
15.2 行為克隆 159
15.3 生成對抗模仿學(xué)習(xí) 159
15.4 代碼實踐 160
15.4.1 生成專家數(shù)據(jù) 160
15.4.2 行為克隆的代碼實踐 163
15.4.3 生成對抗模仿學(xué)習(xí)的代碼實踐 165
15.5 小結(jié) 167
15.6 參考文獻 168
第 16 章 模型預(yù)測控制 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 小結(jié) 179
16.6 參考文獻 179
第 17 章 基于模型的策略優(yōu)化 180
17.1 簡介 180
17.2 MBPO算法 180
17.3 MBPO代碼實踐 181
17.4 小結(jié) 192
17.5 拓展閱讀:MBPO理論分析 192
17.5.1 性能提升的單調(diào)性保障 192
17.5.2 模型推演長度 192
17.6 參考文獻 193
第 18 章 離線強化學(xué)習(xí) 194
18.1 簡介 194
18.2 批量限制 Q-learning算法 195
18.3 保守 Q-learning算法 197
18.4 CQL代碼實踐 199
18.5 小結(jié) 208
18.6 擴展閱讀 208
18.7 參考文獻 210
第 19 章 目標(biāo)導(dǎo)向的強化學(xué)習(xí) 211
19.1 簡介 211
19.2 問題定義 211
19.3 HER算法 212
19.4 HER代碼實踐 213
19.5 小結(jié) 221
19.6 參考文獻 221
第 20 章 多智能體強化學(xué)習(xí)入門 222
20.1 簡介 222
20.2 問題建模 223
20.3 多智能體強化學(xué)習(xí)的基本求解范式 223
20.4 IPPO算法 223
20.5 IPPO代碼實踐 224
20.6 小結(jié) 228
20.7 參考文獻 229
第 21 章 多智能體強化學(xué)習(xí)進階 230
21.1 簡介 230
21.2 MADDPG算法 230
21.3 MADDPG代碼實踐 232
21.4 小結(jié) 240
21.5 參考文獻 240
總結(jié)與展望 241
總結(jié) 241
展望:克服強化學(xué)習(xí)的落地挑戰(zhàn) 241
中英文術(shù)語對照表與符號表 244
中英文術(shù)語對照表 244
符號表 246