本書構(gòu)建了一個完整的深度強化學習理論和實踐體系:從馬爾可夫決策過程開始,根據(jù)價值函數(shù)、策略函數(shù)求解貝爾曼方程,到利用深度學習模擬價值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)。書中詳細介紹了深度強化學習相關(guān)算法,如Rainbow、Ape-X算法等,并闡述了相關(guān)算法的具體實現(xiàn)方式和代表性應(yīng)用(如AlphaGo)。此外,本書還深度剖析了強化學習各算法之間的聯(lián)系,有助于讀者舉一反三。
本書分為四篇:初探強化學習、求解強化學習、求解強化學習進階和深度強化學習。涉及基礎(chǔ)理論到深度強化學習算法框架的各方面內(nèi)容,反映了深度強化學習領(lǐng)域過去的發(fā)展歷程和研究進展,有助于讀者發(fā)現(xiàn)該領(lǐng)域中新的研究問題和方向。
1.中國科學院院士張景中,中國科學技術(shù)大學大數(shù)據(jù)學院常務(wù)副院長陳恩紅,OPPO研究院院長劉暢,傾情作序推薦!
2.內(nèi)容系統(tǒng)詳實:本書構(gòu)建了一個完整的強化學習知識體系,不僅涵蓋經(jīng)典強化學習的內(nèi)容,還包括深度強化學習的重要成果——DQN算法、A3C算法、Rainbow算法等。使讀者了解強化學習的發(fā)展歷史和重要成果,助力其在強化學習領(lǐng)域進行創(chuàng)新研究和應(yīng)用實踐,進而找到更有價值的研究課題和應(yīng)用方向。
3.兼顧理論與實踐:深入全面講解掌握深度強化學習的理論知識,并結(jié)合Python 3代碼案例,將算法快速落地,降低讀者的學習門檻和入門難度。
4.讀者受眾廣泛:在結(jié)構(gòu)布局和邏輯梳理上,兼顧了學術(shù)界和工業(yè)界讀者的不同需求,既適用于技術(shù)工程師,也適用于研究人員和學生群體。
5.貼近技術(shù)前沿:詳細介紹近年來在強化學習領(lǐng)域的研究進展和成果,盡可能保證本書的時效性,對學術(shù)研究和實際工作都具有很高的參考和應(yīng)用價值。
6.配套源碼資源:本書提供分章的配套源碼,讀者可到異步社區(qū)中下載并使用。
陳仲銘,西安電子科技大學碩士,OPPO研究院人工智能算法研究員。主要研究方向為強化學習與深度學習、數(shù)據(jù)挖掘、圖像算法及其應(yīng)用。曾參與激光點云三維掃描、個性化推薦系統(tǒng)、多傳感器融合系統(tǒng)等大型項目,多次獲創(chuàng)新項目獎,并在國內(nèi)外發(fā)表多篇相關(guān)論文。此外,作為技術(shù)顧問為多家科研機構(gòu)和企業(yè)提供關(guān)于數(shù)學建模、深度學習等方面的咨詢和培訓。著有《深度學習原理與實踐》一書。
何明,重慶大學學士,中國科學技術(shù)大學博士,曾于美國北卡羅來納大學夏洛特分校訪問交流,目前為上海交通大學電子科學與技術(shù)方向博士后研究人員、OPPO研究院人工智能算法研究員。主要研究方向為深度強化學習、數(shù)據(jù)挖掘與知識發(fā)現(xiàn)、機器學習方法及其應(yīng)用,側(cè)重于移動端用戶行為分析與建模。在TIP、TWEB、DASFAA、IEEE Access等國際學術(shù)會議和期刊共發(fā)表論文10余篇,曾獲數(shù)據(jù)挖掘領(lǐng)域國際會議KSEM2018論文獎。
第 一篇 初探強化學習
第 1章 強化學習緒論 3
1.1 初探強化學習 4
1.1.1 強化學習與機器學習 5
1.1.2 強化學習與監(jiān)督學習的區(qū)別 6
1.1.3 歷史發(fā)展 8
1.2 基礎(chǔ)理論 10
1.2.1 組成元素 11
1.2.2 環(huán)境模型 12
1.2.3 探索與利用 12
1.2.4 預(yù)測與控制 13
1.2.5 強化學習的特點 14
1.3 應(yīng)用案例 14
1.4 強化學習的思考 18
1.4.1 強化學習待解決問題 18
1.4.2 強化學習的突破點 23
1.5 小結(jié) 25
第 2章 數(shù)學基礎(chǔ)及環(huán)境 26
2.1 簡介 27
2.2 馬爾可夫決策過程 27
2.2.1 馬爾可夫性質(zhì) 27
2.2.2 馬爾可夫決策過程 27
2.3 強化學習的數(shù)學基礎(chǔ)理論 29
2.3.1 策略 30
2.3.2 獎勵 30
2.3.3 價值函數(shù) 31
2.4 求解強化學習 31
2.4.1 貝爾曼方程 31
2.4.2 最優(yōu)值函數(shù) 32
2.4.3 最優(yōu)策略 32
2.4.4 求解最優(yōu)策略 33
2.5 示例:HelloGrid迷宮環(huán)境 36
2.5.1 初識OpenAI Gym庫 37
2.5.2 建立HelloGrid環(huán)境 38
2.6 小結(jié) 43
第二篇 求解強化學習
第3章 動態(tài)規(guī)劃法 47
3.1 動態(tài)規(guī)劃 48
3.1.1 動態(tài)規(guī)劃概述 48
3.1.2 動態(tài)規(guī)劃與貝爾曼方程 48
3.2 策略評估 49
3.2.1 策略評估算法 49
3.2.2 策略評估算法實現(xiàn) 50
3.3 策略改進 54
3.4 策略迭代 56
3.4.1 策略迭代算法 57
3.4.2 策略迭代算法實現(xiàn) 58
3.5 值迭代 60
3.5.1 值迭代算法 61
3.5.2 值迭代算法實現(xiàn) 62
3.6 異步動態(tài)規(guī)劃 64
3.6.1 In-Place動態(tài)規(guī)劃 65
3.6.2 加權(quán)掃描動態(tài)規(guī)劃 65
3.6.3 實時動態(tài)規(guī)劃 66
3.7 討論 66
3.8 小結(jié) 67
第4章 蒙特卡洛法 68
4.1 認識蒙特卡洛法 69
4.1.1 經(jīng)驗軌跡 69
4.1.2 蒙特卡洛法數(shù)學原理 74
4.1.3 蒙特卡洛法的特點 74
4.2 蒙特卡洛預(yù)測 74
4.2.1 蒙特卡洛預(yù)測算法 75
4.2.2 蒙特卡洛預(yù)測算法的實現(xiàn) 76
4.3 蒙特卡洛評估 80
4.4 蒙特卡洛控制 81
4.4.1 蒙特卡洛控制概述 82
4.4.2 起始點探索 84
4.4.3 非起始點探索 85
4.4.4 非固定策略 90
4.5 小結(jié) 96
第5章 時間差分法 98
5.1 時間差分概述 99
5.2 時間差分預(yù)測 99
5.2.1 時間差分預(yù)測原理 99
5.2.2 TD(λ)算法 101
5.2.3 時間差分預(yù)測特點 104
5.2.4 CartPole游戲 104
5.3 時間差分控制Sarsa算法 106
5.3.1 Sarsa算法原理 106
5.3.2 Sarsa算法實現(xiàn) 108
5.4 時間差分控制Q-learning算法 114
5.4.1 Q-learning算法原理 114
5.4.2 Q-learning算法實現(xiàn) 115
5.5 擴展時間差分控制法 121
5.5.1 期望Sarsa算法 121
5.5.2 Double Q-learning算法 121
5.6 比較強化學習求解法 123
5.7 小結(jié) 126
第三篇 求解強化學習進階
第6章 值函數(shù)近似法 129
6.1 大規(guī)模強化學習 130
6.2 值函數(shù)近似法概述 131
6.2.1 函數(shù)近似 131
6.2.2 值函數(shù)近似的概念 133
6.2.3 值函數(shù)近似的類型 133
6.2.4 值函數(shù)近似的求解思路 134
6.3 值函數(shù)近似法原理 135
6.3.1 梯度下降算法 135
6.3.2 梯度下降與值函數(shù)近似 137
6.3.3 線性值函數(shù)近似法 138
6.4 值函數(shù)近似預(yù)測法 139
6.4.1 蒙特卡洛值函數(shù)近似預(yù)測法 139
6.4.2 時間差分TD(0)值函數(shù)近似預(yù)測法 140
6.4.3 TD(λ)值函數(shù)近似預(yù)測法 141
6.5 值函數(shù)近似控制法 142
6.5.1 值函數(shù)近似控制原理 143
6.5.2 爬山車游戲 143
6.5.3 Q-learning值函數(shù)近似 145
6.6 小結(jié) 156
第7章 策略梯度法 157
7.1 認識策略梯度法 158
7.1.1 策略梯度概述 158
7.1.2 策略梯度法與值函數(shù)近似法的區(qū)別 159
7.1.3 策略梯度法的優(yōu)缺點 160
7.2 策略目標函數(shù) 161
7.2.1 起始價值 162
7.2.2 平均價值 162
7.2.3 時間步平均獎勵 162
7.3 優(yōu)化策略目標函數(shù) 163
7.3.1 策略梯度 163
7.3.2 評價函數(shù) 163
7.3.3 策略梯度定理 165
7.4 有限差分策略梯度法 165
7.5 蒙特卡洛策略梯度法 165
7.5.1 算法原理 166
7.5.2 算法實現(xiàn) 166
7.6 演員-評論家策略梯度法 177
7.6.1 算法原理 177
7.6.2 算法實現(xiàn) 179
7.7 小結(jié) 185
第8章 整合學習與規(guī)劃 187
8.1 基于模型的強化學習概述 188
8.1.1 基于模型的強化學習 188
8.1.2 基于模型的優(yōu)點 188
8.1.3 基于模型的缺點 189
8.2 學習與規(guī)劃 189
8.2.1 學習過程 189
8.2.2 規(guī)劃過程 191
8.3 架構(gòu)整合 192
8.3.1 Dyna算法 193
8.3.2 優(yōu)先遍歷算法 194
8.3.3 期望更新和樣本更新 196
8.4 基于模擬的搜索 196
8.4.1 蒙特卡洛搜索 197
8.4.2 蒙特卡洛樹搜索 197
8.4.3 時間差分搜索 199
8.5 示例:國際象棋 199
8.5.1 國際象棋與強化學習 200
8.5.2 蒙特卡洛樹搜索示例 201
8.6 小結(jié) 203
第四篇 深度強化學習
第9章 深度強化學習 207
9.1 深度學習概述 208
9.1.1 深度表征 208
9.1.2 深度神經(jīng)網(wǎng)絡(luò) 208
9.1.3 網(wǎng)絡(luò)可訓練 208
9.1.4 權(quán)值共享 210
9.2 深度神經(jīng)網(wǎng)絡(luò)(DNN) 210
9.2.1 基本單元——神經(jīng)元 210
9.2.2 線性模型與激活函數(shù) 211
9.2.3 多層神經(jīng)網(wǎng)絡(luò) 212
9.2.4 訓練與預(yù)測 213
9.3 卷積神經(jīng)網(wǎng)絡(luò)(CNN) 214
9.3.1 概述 214
9.3.2 卷積神經(jīng)網(wǎng)絡(luò)的核心操作 215
9.3.3 卷積神經(jīng)網(wǎng)絡(luò)的核心思想 218
9.4 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN) 220
9.4.1 序列數(shù)據(jù)建!220
9.4.2 循環(huán)神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu) 221
9.4.3 循環(huán)神經(jīng)網(wǎng)絡(luò)模型詳解 222
9.5 回顧強化學習 223
9.5.1 智能體和環(huán)境 224
9.5.2 基于價值的強化學習 225
9.5.3 基于策略的強化學習 225
9.5.4 基于模型的強化學習 225
9.6 深度強化學習 225
9.6.1 深度強化學習框架 226
9.6.2 深度強化學習應(yīng)用 227
9.7 小結(jié) 230
第 10章 深度Q網(wǎng)絡(luò) 231
10.1 DQN概述 232
10.1.1 深度學習與強化學習的差異對比 232
10.1.2 DQN算法簡述 232
10.2 DQN算法核心思想 235
10.2.1 目標函數(shù) 235
10.2.2 目標網(wǎng)絡(luò) 236
10.2.3 經(jīng)驗回放 236
10.3 DQN核心算法 237
10.3.1 DQN網(wǎng)絡(luò)模型 237
10.3.2 DQN算法流程 239
10.3.3 DQN算法實現(xiàn) 243
10.4 DQN擴展 256
10.4.1 Double DQN 257
10.4.2 Prioritized DQN 257
10.4.3 Dueling DQN 258
10.5 小結(jié) 259
第 11章 深度強化學習算法框架 260
11.1 DDPG算法 261
11.1.1 背景介紹 261
11.1.2 基本概念及算法原理 262
11.1.3 DDPG實現(xiàn)框架及流程 264
11.2 A3C算法 268
11.2.1 背景介紹 269
11.2.2 A3C算法原理 269
11.2.3 異步實現(xiàn)框架及流程 272
11.2.4 實驗效果 274
11.3 Rainbow算法 275
11.3.1 背景介紹 275
11.3.2 Rainbow算法流程 279
11.3.3 實驗效果 280
11.4 Ape-X 算法 280
11.4.1 背景介紹 281
11.4.2 Ape-X算法架構(gòu) 281
11.4.3 Ape-X算法流程 282
11.4.4 實驗效果 284
11.5 小結(jié) 285
第 12章 從圍棋AlphaGo到AlphaGo Zero 287
12.1 人工智能與圍棋 288
12.1.1 強化學習與圍棋 288
12.1.2 AlphaGo進化階段 289
12.1.3 AlphaGo版本對比 290
12.2 AlphaGo算法詳解 292
12.2.1 策略網(wǎng)絡(luò) 293
12.2.2 價值網(wǎng)絡(luò) 295
12.2.3 蒙特卡洛樹搜索 296
12.2.4 實驗結(jié)果 298
12.3 AlphaGo Zero算法詳解 299
12.3.1 問題定義 299
12.3.2 聯(lián)合網(wǎng)絡(luò) 299
12.3.3 強化學習過程 300
12.3.4 蒙特卡洛樹搜索 301
12.3.5 實驗結(jié)果 303
12.4 思考 305
12.5 小結(jié) 305
附錄部分
附錄A 激活函數(shù) 309
附錄B 損失函數(shù) 314
附錄C 深度學習的超參數(shù) 319
附錄D 深度學習的技巧 322
附錄E 反向傳播算法 329
參考文獻 336