本書系統(tǒng)地介紹了強化學習的原理和實現(xiàn),是一本理論扎實、落地性強的圖書。
本書包含3個部分:第一部分為強化學習基礎(chǔ),講解強化學習的基礎(chǔ)概念和表格型強化學習方法;第二部分為強化學習進階,討論深度強化學習的思維方式、深度價值函數(shù)和深度策略學習方法;第三部分為強化學習前沿,介紹學術(shù)界在深度強化學習領(lǐng)域的主要關(guān)注方向和前沿算法。同時,本書提供配套的線上代碼實踐平臺,展示源碼的編寫和運行過程,讓讀者進一步掌握強化學習算法的運行機制。
本書理論與實踐并重,在介紹強化學習理論的同時,輔之以線上代碼實踐平臺,幫助讀者通過實踐加深對理論的理解。本書適合對強化學習感興趣的高校學生、教師,以及相關(guān)行業(yè)的開發(fā)和研究人員閱讀、實踐。
·名家作品:上海交通大學ACM班創(chuàng)始人俞勇教授、博士生導師張偉楠副教授、APEX實驗室博士生沈鍵編寫;
·理論扎實:基于上交大ACM班的人工智能專業(yè)課程構(gòu)建強化學習的學習體系;
·配套資源豐富:在線代碼運行環(huán)境+在線視頻課程+在線討論區(qū)+在線習題+配套課件;
·多位業(yè)內(nèi)大咖力薦:字節(jié)跳動人工智能實驗室總監(jiān)李航、1986年圖靈獎得主John Hopcroft、北京大學數(shù)學科學學院統(tǒng)計學教授張志華、倫敦大學學院計算機科學系講席教授汪軍、亞馬遜資深科學家、《動手學深度學習》作者李沐
張偉楠,上海交通大學副教授,博士生導師,ACM班機器學習、強化學習課程授課老師,吳文俊人工智能優(yōu)秀青年獎、達摩院青橙獎得主,獲得中國科協(xié)“青年人才托舉工程”支持。他的科研領(lǐng)域包括強化學習、數(shù)據(jù)挖掘、知識圖譜、深度學習以及這些技術(shù)在推薦系統(tǒng)、搜索引擎、文本分析等場景中的應用。他在國際會議和期刊上發(fā)表了100余篇相關(guān)領(lǐng)域的學術(shù)論文,于2016年在英國倫敦大學學院(UCL)計算機系獲得博士學位。
沈鍵,上海交通大學APEX實驗室博士生,師從俞勇教授,研究方向為深度學習、強化學習和教育數(shù)據(jù)挖掘。在攻讀博士期間,他以第一作者身份發(fā)表機器學習國際會議NeurIPS、AAAI論文,參與發(fā)表多篇機器學習和數(shù)據(jù)挖掘國際會議(包括ICML、IJCAI、SIGIR、KDD、AISTATS等)論文,并擔任多個國際會議和SCI學術(shù)期刊的審稿人。
俞勇,享受國務院特殊津貼專家,教學名師,上海交通大學特聘教授,APEX實驗室主任,上海交通大學ACM班創(chuàng)始人。俞勇教授曾獲得“國家高層次人才特殊支持計劃”教學名師、“上海市教學名師獎”“全國師德標兵”“上海交通大學校長獎”和“最受學生歡迎教師”等榮譽。他于2018年創(chuàng)辦了伯禹人工智能學院,在上海交通大學ACM班人工智能專業(yè)課程體系的基礎(chǔ)上,對AI課程體系進行創(chuàng)新,致力于培養(yǎng)卓越的AI算法工程師和研究員。
第 一部分 強化學習基礎(chǔ)
第 1 章 初探強化學習 2
1.1 簡介 2
1.2 什么是強化學習 2
1.3 強化學習的環(huán)境 4
1.4 強化學習的目標 4
1.5 強化學習中的數(shù)據(jù) 5
1.6 強化學習的獨特性 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
第二部分 強化學習進階
第 7 章 DQN算法 72
7.1 簡介 72
7.2 車桿環(huán)境 72
7.3 DQN 73
7.3.1 經(jīng)驗回放 74
7.3.2 目標網(wǎng)絡 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 策略目標 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 最大熵強化學習 142
14.3 Soft策略迭代 143
14.4 SAC 143
14.5 SAC代碼實踐 145
14.6 小結(jié) 154
14.7 參考文獻 155
第三部分 強化學習前沿
第 15 章 模仿學習 158
15.1 簡介 158
15.2 行為克隆 159
15.3 生成對抗模仿學習 159
15.4 代碼實踐 160
15.4.1 生成專家數(shù)據(jù) 160
15.4.2 行為克隆的代碼實踐 163
15.4.3 生成對抗模仿學習的代碼實踐 165
15.5 小結(jié) 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 小結(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 章 離線強化學習 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 章 目標導向的強化學習 211
19.1 簡介 211
19.2 問題定義 211
19.3 HER算法 212
19.4 HER代碼實踐 213
19.5 小結(jié) 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 小結(jié) 228
20.7 參考文獻 229
第 21 章 多智能體強化學習進階 230
21.1 簡介 230
21.2 MADDPG算法 230
21.3 MADDPG代碼實踐 232
21.4 小結(jié) 240
21.5 參考文獻 240
總結(jié)與展望 241
總結(jié) 241
展望:克服強化學習的落地挑戰(zhàn) 241
中英文術(shù)語對照表與符號表 244
中英文術(shù)語對照表 244
符號表 246