本書基于備受讀者推崇的王樹森“深度強(qiáng)化學(xué)習(xí)”系列公開視頻課,專門解決“入門深度強(qiáng)化學(xué)習(xí)難”的問題。
本書的獨(dú)特之處在于:第一,知識(shí)精簡(jiǎn),剔除一切不必要的概念和公式,學(xué)起來輕松;第二,內(nèi)容新穎,聚焦近10年深度強(qiáng)化學(xué)習(xí)領(lǐng)域的突破,讓你一上手就緊跟最新技術(shù)。本書系統(tǒng)講解深度強(qiáng)化學(xué)習(xí)的原理與實(shí)現(xiàn),但不回避數(shù)學(xué)公式和各種模型,原創(chuàng)100多幅精美插圖,并以全彩印刷展示。簡(jiǎn)潔清晰的語(yǔ)言+生動(dòng)形象的圖示,助你掃除任何可能的學(xué)習(xí)障礙!本書內(nèi)容分為五部分:基礎(chǔ)知識(shí)、價(jià)值學(xué)習(xí)、策略學(xué)習(xí)、多智能體強(qiáng)化學(xué)習(xí)、應(yīng)用與展望,涉及DQN、A3C、TRPO、DDPG、AlphaGo等。
本書面向深度強(qiáng)化學(xué)習(xí)入門讀者,助你構(gòu)建完整的知識(shí)體系。學(xué)完本書,你能夠輕松看懂深度強(qiáng)化學(xué)習(xí)的實(shí)現(xiàn)代碼、讀懂該領(lǐng)域的論文、聽懂學(xué)術(shù)報(bào)告,具備進(jìn)一步自學(xué)和深挖的能力。
1.內(nèi)容新穎,涵蓋近 10 年的熱門深度強(qiáng)化學(xué)習(xí)方法,緊跟學(xué)術(shù)前沿
2.知識(shí)精悍,圍繞實(shí)用、精簡(jiǎn)兩大原則,專注核心知識(shí),成書篇幅僅 312 頁(yè)
3.圖多易懂,書中原創(chuàng) 140 多幅精美全彩插圖,讓方法和原理變得形象生動(dòng)
4.論文導(dǎo)讀,書中列出了 136 篇參考文獻(xiàn),相當(dāng)于一份寶貴的論文閱讀清單
5.配套課件,部分章節(jié)配有 PPT 和公開視頻課,讀者可以直接獲取所有資源
6.作者資歷豐富,小紅書基礎(chǔ)模型團(tuán)隊(duì)負(fù)責(zé)人王樹森、華為諾亞方舟實(shí)驗(yàn)室高級(jí)研究員黎彧君聯(lián)合北大數(shù)學(xué)科學(xué)院教授張志華作品
王樹森
現(xiàn)任小紅書基礎(chǔ)模型團(tuán)隊(duì)負(fù)責(zé)人,從事搜索和推薦算法研發(fā)工作。從浙江大學(xué)獲得計(jì)算機(jī)學(xué)士和博士學(xué)位,就讀期間獲得“微軟學(xué)者”和“百度獎(jiǎng)學(xué)金”等多項(xiàng)榮譽(yù)。在加入小紅書之前,曾任美國(guó)加州大學(xué)伯克利分校博士后、美國(guó)史蒂文斯理工學(xué)院助理教授、博導(dǎo)。在機(jī)器學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、數(shù)值計(jì)算、分布式計(jì)算等方向有多年科研經(jīng)驗(yàn),在計(jì)算機(jī)國(guó)際頂級(jí)期刊和會(huì)議上發(fā)表30多篇論文。
在YouTube、B站開設(shè)“深度強(qiáng)化學(xué)習(xí)”“深度學(xué)習(xí)”“推薦系統(tǒng)”公開課(ID:Shusen Wang),全網(wǎng)視頻播放量100萬(wàn)次。
黎彧君
華為諾亞方舟實(shí)驗(yàn)室高級(jí)研究員,主要從事AutoML相關(guān)的研發(fā)工作。上海交通大學(xué)博士,研究方向?yàn)閿?shù)值優(yōu)化、強(qiáng)化學(xué)習(xí);攻讀博士學(xué)位期間曾前往普林斯頓大學(xué)訪問一年。共同翻譯出版“花書”《深度學(xué)習(xí)》。
張志華
北京大學(xué)數(shù)學(xué)科學(xué)學(xué)院教授。此前先后執(zhí)教于浙江大學(xué)和上海交通大學(xué),任計(jì)算機(jī)科學(xué)教授。主要從事統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)與計(jì)算機(jī)科學(xué)領(lǐng)域的研究和教學(xué)。曾主講“統(tǒng)計(jì)機(jī)器學(xué)習(xí)”“機(jī)器學(xué)習(xí)導(dǎo)論”“深度學(xué)習(xí)”“強(qiáng)化學(xué)習(xí)”,其課程視頻廣受歡迎。
序言 i
前言 v
常用符號(hào) xi
第 一部分 基礎(chǔ)知識(shí)
第 1章 機(jī)器學(xué)習(xí)基礎(chǔ) 2
1.1 線性模型 2
1.1.1 線性回歸 2
1.1.2 邏輯斯諦回歸 4
1.1.3 softmax分類器 7
1.2 神經(jīng)網(wǎng)絡(luò) 10
1.2.1 全連接神經(jīng)網(wǎng)絡(luò) 10
1.2.2 卷積神經(jīng)網(wǎng)絡(luò) 11
1.3 梯度下降和反向傳播 12
1.3.1 梯度下降 13
1.3.2 反向傳播 14
知識(shí)點(diǎn)小結(jié) 16
習(xí)題 16
第 2章 蒙特卡洛方法 18
2.1 隨機(jī)變量 18
2.2 蒙特卡洛方法實(shí)例 21
2.2.1 例一:近似π值 21
2.2.2 例二:估算陰影部分面積 23
2.2.3 例三:近似定積分 25
2.2.4 例四:近似期望 26
2.2.5 例五:隨機(jī)梯度 27
知識(shí)點(diǎn)小結(jié) 29
習(xí)題 29
第3章 強(qiáng)化學(xué)習(xí)基本概念 31
3.1 馬爾可夫決策過程 31
3.1.1 狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì) 31
3.1.2 狀態(tài)轉(zhuǎn)移 32
3.2 策略 33
3.3 隨機(jī)性 35
3.4 回報(bào)與折扣回報(bào) 37
3.4.1 回報(bào) 37
3.4.2 折扣回報(bào) 37
3.4.3 回報(bào)中的隨機(jī)性 38
3.4.4 有限期MDP和無限期MDP 39
3.5 價(jià)值函數(shù) 39
3.5.1 動(dòng)作價(jià)值函數(shù) 40
3.5.2 最優(yōu)動(dòng)作價(jià)值函數(shù) 40
3.5.3 狀態(tài)價(jià)值函數(shù) 41
3.6 實(shí)驗(yàn)環(huán)境:OpenAI Gym 42
知識(shí)點(diǎn)小結(jié) 44
習(xí)題 44
第二部分 價(jià)值學(xué)習(xí)
第4章 DQN與Q學(xué)習(xí) 48
4.1 DQN 48
4.1.1 概念回顧 48
4.1.2 DQN表達(dá)式 49
4.1.3 DQN的梯度 50
4.2 TD算法 50
4.2.1 駕車時(shí)間預(yù)測(cè)示例 50
4.2.2 TD算法的原理 51
4.3 用TD訓(xùn)練DQN 53
4.3.1 算法推導(dǎo) 53
4.3.2 訓(xùn)練流程 55
4.4 Q 學(xué)習(xí)算法 57
4.4.1 表格形式的Q學(xué)習(xí) 57
4.4.2 算法推導(dǎo) 57
4.4.3 訓(xùn)練流程 58
4.5 同策略與異策略 59
相關(guān)文獻(xiàn) 60
知識(shí)點(diǎn)小結(jié) 61
習(xí)題 61
第5章 SARSA算法 63
5.1 表格形式的SARSA 63
5.1.1 算法推導(dǎo) 63
5.1.2 訓(xùn)練流程 64
5.1.3 Q學(xué)習(xí)與SARSA的對(duì)比 65
5.2 神經(jīng)網(wǎng)絡(luò)形式的SARSA 66
5.2.1 價(jià)值網(wǎng)絡(luò) 66
5.2.2 算法推導(dǎo) 66
5.2.3 訓(xùn)練流程 67
5.3 多步TD目標(biāo) 68
5.3.1 算法推導(dǎo) 68
5.3.2 多步TD目標(biāo)的原理 69
5.3.3 訓(xùn)練流程 70
5.4 蒙特卡洛方法與自舉 70
5.4.1 蒙特卡洛方法 71
5.4.2 自舉 71
5.4.3 蒙特卡洛方法和自舉的對(duì)比 72
相關(guān)文獻(xiàn) 73
知識(shí)點(diǎn)小結(jié) 73
習(xí)題 74
第6章 價(jià)值學(xué)習(xí)高級(jí)技巧 75
6.1 經(jīng)驗(yàn)回放 75
6.1.1 經(jīng)驗(yàn)回放的優(yōu)點(diǎn) 76
6.1.2 經(jīng)驗(yàn)回放的局限性 76
6.1.3 優(yōu)先經(jīng)驗(yàn)回放 77
6.2 高估問題及解決方法 79
6.2.1 自舉導(dǎo)致偏差傳播 79
6.2.2 最大化導(dǎo)致高估 80
6.2.3 高估的危害 81
6.2.4 使用目標(biāo)網(wǎng)絡(luò) 82
6.2.5 雙Q學(xué)習(xí)算法 84
6.2.6 總結(jié) 85
6.3 對(duì)決網(wǎng)絡(luò) 86
6.3.1 最優(yōu)優(yōu)勢(shì)函數(shù) 86
6.3.2 對(duì)決網(wǎng)絡(luò)的結(jié)構(gòu) 87
6.3.3 解決不唯一性 88
6.3.4 對(duì)決網(wǎng)絡(luò)的實(shí)際實(shí)現(xiàn) 89
6.4 噪聲網(wǎng)絡(luò) 90
6.4.1 噪聲網(wǎng)絡(luò)的原理 90
6.4.2 噪聲DQN 91
6.4.3 訓(xùn)練流程 93
相關(guān)文獻(xiàn) 94
知識(shí)點(diǎn)小結(jié) 94
習(xí)題 94
第三部分 策略學(xué)習(xí)
第7章 策略梯度方法 98
7.1 策略網(wǎng)絡(luò) 98
7.2 策略學(xué)習(xí)的目標(biāo)函數(shù) 99
7.3 策略梯度定理 101
7.3.1 簡(jiǎn)化證明 101
7.3.2 嚴(yán)格證明 102
7.3.3 近似策略梯度 106
7.4 REINFORCE 107
7.4.1 簡(jiǎn)化推導(dǎo) 108
7.4.2 訓(xùn)練流程 108
7.4.3 嚴(yán)格推導(dǎo) 109
7.5 actor-critic 110
7.5.1 價(jià)值網(wǎng)絡(luò) 110
7.5.2 算法推導(dǎo) 111
7.5.3 訓(xùn)練流程 114
7.5.4 用目標(biāo)網(wǎng)絡(luò)改進(jìn)訓(xùn)練 114
相關(guān)文獻(xiàn) 115
知識(shí)點(diǎn)小結(jié) 115
習(xí)題 116
第8章 帶基線的策略梯度方法 117
8.1 策略梯度中的基線 117
8.1.1 基線的引入 117
8.1.2 基線的直觀解釋 118
8.2 帶基線的REINFORCE算法 119
8.2.1 策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) 120
8.2.2 算法推導(dǎo) 121
8.2.3 訓(xùn)練流程 121
8.3 advantage actor-critic 122
8.3.1 算法推導(dǎo) 123
8.3.2 訓(xùn)練流程 125
8.3.3 用目標(biāo)網(wǎng)絡(luò)改進(jìn)訓(xùn)練 126
8.4 證明帶基線的策略梯度定理 127
知識(shí)點(diǎn)小結(jié) 128
習(xí)題 128
第9章 策略學(xué)習(xí)高級(jí)技巧 129
9.1 置信域策略優(yōu)化 129
9.1.1 置信域方法 129
9.1.2 策略學(xué)習(xí)的目標(biāo)函數(shù) 132
9.1.3 算法推導(dǎo) 133
9.1.4 訓(xùn)練流程 135
9.2 策略學(xué)習(xí)中的熵正則 135
相關(guān)文獻(xiàn) 138
知識(shí)點(diǎn)小結(jié) 138
第 10章 連續(xù)控制 139
10.1 連續(xù)空間的離散化 139
10.2 深度確定性策略梯度 140
10.2.1 策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) 140
10.2.2 算法推導(dǎo) 142
10.3 深入分析DDPG 145
10.3.1 從策略學(xué)習(xí)的角度看待DDPG 145
10.3.2 從價(jià)值學(xué)習(xí)的角度看待DDPG 146
10.3.3 DDPG的高估問題 147
10.4 雙延遲深度確定性策略梯度 148
10.4.1 高估問題的解決方案——目標(biāo)網(wǎng)絡(luò) 148
10.4.2 高估問題的解決方案——截?cái)嚯pQ學(xué)習(xí) 148
10.4.3 其他改進(jìn)點(diǎn) 149
10.4.4 訓(xùn)練流程 150
10.5 隨機(jī)高斯策略 151
10.5.1 基本思路 152
10.5.2 隨機(jī)高斯策略網(wǎng)絡(luò) 153
10.5.3 策略梯度 154
10.5.4 用REINFORCE學(xué)習(xí)參數(shù) 155
10.5.5 用actor-critic學(xué)習(xí)參數(shù) 155
相關(guān)文獻(xiàn) 157
知識(shí)點(diǎn)小結(jié) 157
第 11章 對(duì)狀態(tài)的不完全觀測(cè) 158
11.1 不完全觀測(cè)問題 158
11.2 循環(huán)神經(jīng)網(wǎng)絡(luò) 159
11.3 基于RNN的策略網(wǎng)絡(luò) 161
相關(guān)文獻(xiàn) 162
知識(shí)點(diǎn)小結(jié) 163
習(xí)題 163
第 12章 模仿學(xué)習(xí) 165
12.1 行為克隆 165
12.1.1 連續(xù)控制問題 165
12.1.2 離散控制問題 166
12.1.3 行為克隆與強(qiáng)化學(xué)習(xí)的對(duì)比 168
12.2 逆向強(qiáng)化學(xué)習(xí) 169
12.2.1 IRL的基本設(shè)定 169
12.2.2 IRL的基本思想 170
12.2.3 從黑箱策略反推獎(jiǎng)勵(lì) 170
12.2.4 用獎(jiǎng)勵(lì)函數(shù)訓(xùn)練策略網(wǎng)絡(luò) 171
12.3 生成判別模仿學(xué)習(xí) 171
12.3.1 生成判別網(wǎng)絡(luò) 172
12.3.2 GAIL的生成器和判別器 175
12.3.3 GAIL的訓(xùn)練 176
相關(guān)文獻(xiàn) 178
知識(shí)點(diǎn)小結(jié) 179
第四部分 多智能體強(qiáng)化學(xué)習(xí)
第 13章 并行計(jì)算 182
13.1 并行計(jì)算基礎(chǔ) 182
13.1.1 并行梯度下降 182
13.1.2 MapReduce 183
13.1.3 用 MapReduce實(shí)現(xiàn)并行梯度下降 184
13.1.4 并行計(jì)算的代價(jià) 187
13.2 同步與異步 188
13.2.1 同步算法 188
13.2.2 異步算法 189
13.2.3 同步梯度下降與異步梯度下降的對(duì)比 191
13.3 并行強(qiáng)化學(xué)習(xí) 191
13.3.1 異步并行雙Q學(xué)習(xí) 191
13.3.2 A3C:異步并行A2C 193
相關(guān)文獻(xiàn) 195
知識(shí)點(diǎn)小結(jié) 195
習(xí)題 196
第 14章 多智能體系統(tǒng) 197
14.1 常見設(shè)定 197
14.2 基本概念 199
14.2.1 專業(yè)術(shù)語(yǔ) 199
14.2.2 策略網(wǎng)絡(luò) 200
14.2.3 動(dòng)作價(jià)值函數(shù) 200
14.2.4 狀態(tài)價(jià)值函數(shù) 201
14.3 實(shí)驗(yàn)環(huán)境 202
14.3.1 multi-agent particle world 202
14.3.2 StarCraft multi-agent challenge 204
14.3.3 Hanabi Challenge 205
相關(guān)文獻(xiàn) 206
知識(shí)點(diǎn)小結(jié) 206
第 15章 完全合作關(guān)系設(shè)定下的多智能體強(qiáng)化學(xué)習(xí) 207
15.1 完全合作關(guān)系設(shè)定下的策略學(xué)習(xí) 208
15.2 完全合作關(guān)系設(shè)定下的多智能體A2C 209
15.2.1 策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) 209
15.2.2 訓(xùn)練和決策 211
15.2.3 實(shí)現(xiàn)中的難點(diǎn) 212
15.3 三種架構(gòu) 213
15.3.1 中心化訓(xùn)練+中心化決策 214
15.3.2 去中心化訓(xùn)練+去中心化決策 215
15.3.3 中心化訓(xùn)練+去中心化決策 217
相關(guān)文獻(xiàn) 219
知識(shí)點(diǎn)小結(jié) 220
習(xí)題 220
第 16章 非合作關(guān)系設(shè)定下的多智能體強(qiáng)化學(xué)習(xí) 221
16.1 非合作關(guān)系設(shè)定下的策略學(xué)習(xí) 222
16.1.1 非合作關(guān)系設(shè)定下的目標(biāo)函數(shù) 222
16.1.2 收斂的判別 223
16.1.3 評(píng)價(jià)策略的優(yōu)劣 223
16.2 非合作關(guān)系設(shè)定下的多智能體A2C 224
16.2.1 策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) 224
16.2.2 算法推導(dǎo) 225
16.2.3 訓(xùn)練 226
16.2.4 決策 227
16.3 三種架構(gòu) 227
16.3.1 中心化訓(xùn)練+中心化決策 227
16.3.2 去中心化訓(xùn)練+去中心化決策 228
16.3.3 中心化訓(xùn)練+去中心化決策 229
16.4 連續(xù)控制與MADDPG 231
16.4.1 策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) 231
16.4.2 算法推導(dǎo) 232
16.4.3 中心化訓(xùn)練 234
16.4.4 去中心化決策 236
相關(guān)文獻(xiàn) 237
知識(shí)點(diǎn)小結(jié) 237
第 17章 注意力機(jī)制與多智能體強(qiáng)化學(xué)習(xí) 238
17.1 自注意力機(jī)制 238
17.1.1 自注意力層 239
17.1.2 多頭自注意力層 241
17.2 自注意力改進(jìn)多智能體強(qiáng)化學(xué)習(xí) 242
17.2.1 不使用自注意力的狀態(tài)價(jià)值網(wǎng)絡(luò) 242
17.2.2 使用自注意力的狀態(tài)價(jià)值網(wǎng)絡(luò) 243
17.2.3 使用自注意力的動(dòng)作價(jià)值網(wǎng)絡(luò) 244
17.2.4 使用自注意力的中心化策略網(wǎng)絡(luò) 244
17.2.5 總結(jié) 245
相關(guān)文獻(xiàn) 245
知識(shí)點(diǎn)小結(jié) 245
習(xí)題 246
第五部分 應(yīng)用與展望
第 18章 AlphaGo與蒙特卡洛樹搜索 248
18.1 強(qiáng)化學(xué)習(xí)眼中的圍棋 248
18.2 蒙特卡洛樹搜索 250
18.2.1 MCTS的基本思想 250
18.2.2 MCTS的四個(gè)步驟 250
18.2.3 MCTS的決策 255
18.3 訓(xùn)練策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) 255
18.3.1 AlphaGo 2016版本的訓(xùn)練 256
18.3.2 AlphaGo Zero版本的訓(xùn)練 258
相關(guān)文獻(xiàn) 260
知識(shí)點(diǎn)小結(jié) 260
習(xí)題 261
第 19章 現(xiàn)實(shí)世界中的應(yīng)用 262
19.1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索 262
19.1.1 超參數(shù)和交叉驗(yàn)證 262
19.1.2 強(qiáng)化學(xué)習(xí)方法 264
19.2 自動(dòng)生成SQL語(yǔ)句 266
19.3 推薦系統(tǒng) 268
19.4 網(wǎng)約車調(diào)度 270
19.4.1 價(jià)值學(xué)習(xí) 271
19.4.2 派單機(jī)制 271
19.5 強(qiáng)化學(xué)習(xí)與監(jiān)督學(xué)習(xí)的對(duì)比 273
19.5.1 決策是否改變環(huán)境 273
19.5.2 當(dāng)前獎(jiǎng)勵(lì)還是長(zhǎng)線回報(bào) 274
19.6 制約強(qiáng)化學(xué)習(xí)落地應(yīng)用的因素 275
19.6.1 所需的樣本數(shù)量過大 275
19.6.2 探索階段代價(jià)太大 276
19.6.3 超參數(shù)的影響非常大 277
19.6.4 穩(wěn)定性極差 278
知識(shí)點(diǎn)小結(jié) 279
附錄A 貝爾曼方程 281
附錄B 習(xí)題答案 283
參考文獻(xiàn) 288