第1章 強化學習簡介\t1
1.1 強化學習的歷史\t1
1.1.1 人工智能的歷史\t1
1.1.2 強化學習和人工智能的關系\t4
1.2 強化學習基本概念\t8
1.2.1 智能體相關概念\t8
1.2.2 馬爾可夫決策過程\t9
1.2.3 動作價值函數(shù)和狀態(tài)-動作價值函數(shù)\t11
1.3 強化學習算法的分類\t12
1.3.1 基于模型的(Model-Based)和無模型的(Model-Free)\t13
1.3.2 基于策略的(Policy-Based)和基于價值的(Value-Based)\t13
1.3.3 在線(On-policy)算法和離線(Off-policy)算法\t13
1.4 深度強化學習基本概念\t14
1.5 強化學習的優(yōu)缺點\t15
1.6 蒙特卡洛梯度估計\t15
1.7 總結\t19
第2章 深入了解強化學習\t20
2.1 強化學習基本要素\t20
2.1.1 馬爾可夫決策過程和回溯圖\t20
2.1.2 貪心策略和最優(yōu)策略\t22
2.1.3 最優(yōu)策略的迭代算法\t24
2.2 強化學習的探索和利用\t26
2.3 策略迭代和價值迭代\t32
2.3.1 策略迭代\t32
2.3.2 價值迭代\t33
2.4 貝爾曼方程及其應用\t35
2.5 總結\t37
第3章 強化學習環(huán)境\t38
3.1 簡單的強化學習環(huán)境\t39
3.1.1 網格世界(Grid World)\t39
3.1.2 多臂賭博機(Multi-armed Bandit)\t40
3.1.3 井字棋(Tic-Tac-Toe)\t40
3.2 OpenAI Gym環(huán)境\t47
3.2.1 Gym環(huán)境的安裝和基本接口\t47
3.2.2 Gym的經典控制環(huán)境\t50
3.2.3 Gym的Atari強化學習環(huán)境\t53
3.2.4 Gym的MuJoCo環(huán)境\t55
3.2.5 自定義Gym強化學習環(huán)境\t57
3.3 DeepMind Lab強化學習環(huán)境\t60
3.4 其他強化學習環(huán)境\t63
3.4.1 PySC2 強化學習環(huán)境\t63
3.4.2 OpenSpiel強化學習環(huán)境\t66
3.5 深度強化學習框架簡介\t68
3.5.1 Dopamine框架\t68
3.5.1 ReAgent框架\t70
3.6 總結\t71
第4章 深度Q函數(shù)強化學習算法\t72
4.1 經典深度Q網絡算法(DQN)\t72
4.1.1 DQN算法理論背景\t73
4.1.2 DQN模型結構\t75
4.1.3 DQN模型的輸入\t78
4.1.4 DQN模型的訓練\t80
4.1.5 結合DQN算法的采樣和模型的訓練\t82
4.2 雙網絡Q學習算法(Double Q-Learning)\t84
4.2.1 算法原理\t84
4.2.2 算法實現(xiàn)\t86
4.2.3 算法效果\t88
4.3 優(yōu)先經驗回放(Prioritized Experience Replay)\t89
4.3.1 算法原理\t89
4.3.2 算法實現(xiàn)\t92
4.3.3 算法效果\t95
4.4 競爭DQN算法(Duel DQN)\t96
4.4.1 算法原理\t98
4.4.2 算法實現(xiàn)\t99
4.4.3 算法效果\t102
4.5 分布形式的DQN算法(Distributional DQN)\t103
4.5.1 分類DQN模型\t103
4.5.2 分類DQN模型算法實現(xiàn)\t106
4.5.3 分類DQN模型算法效果\t110
4.5.4 分位數(shù)回歸DQN模型\t111
4.5.5 分位數(shù)回歸DQN模型算法實現(xiàn)\t112
4.5.6 分位數(shù)回歸DQN模型算法效果\t115
4.5.7 分類DQN模型小結\t116
4.6 彩虹算法(Rainbow)\t117
4.6.1 彩虹算法對DQN的優(yōu)化\t117
4.6.2 彩虹算法的部分實現(xiàn)\t120
4.6.3 彩虹算法的模型效果\t125
4.7 總結\t128
第5章 策略梯度強化學習算法\t129
5.1 經典策略梯度算法(VPG)\t130
5.1.1 算法原理\t130
5.1.2 基于離散動作空間算法的模型實現(xiàn)\t132
5.1.3 基于離散動作空間算法的運行結果\t137
5.1.4 基于連續(xù)動作空間算法的實現(xiàn)\t138
5.1.5 基于連續(xù)動作空間算法的運行結果\t143
5.1.6 小結\t144
5.2 優(yōu)勢演員-評論家算法(A2C和A3C)\t145
5.2.1 算法原理\t145
5.2.2 泛化優(yōu)勢估計(Generalized Advantage Estimation)\t147
5.2.3 熵正則化方法\t149
5.2.4 優(yōu)勢演員-評論家算法的實現(xiàn)(離散動作空間)\t149
5.2.5 優(yōu)勢演員-評論家算法運行效果(離散動作空間)\t158
5.2.6 算法實現(xiàn)(連續(xù)動作空間)\t158
5.2.7 運行效果(連續(xù)動作空間)\t160
5.2.8 異步優(yōu)勢演員-評論家算法的實現(xiàn)\t160
5.2.9 異步優(yōu)勢演員-評論家算法的效果\t164
5.3 置信區(qū)間策略優(yōu)化算法\t165
5.3.1 算法原理\t166
5.3.2 近端策略優(yōu)化算法的實現(xiàn)\t172
5.3.3 近端策略優(yōu)化算法的效果(離散動作空間)\t174
5.4 克羅內克分解近似置信區(qū)間算法(ACKTR)\t175
5.4.1 算法原理\t175
5.4.2 算法實現(xiàn)\t179
5.4.3 算法效果\t183
5.5 軟演員-評論家算法(SAC)\t184
5.5.1 算法的基本原理\t184
5.5.2 算法的實現(xiàn)(連續(xù)動作空間)\t186
5.5.3 算法的效果(連續(xù)動作空間)\t193
5.6 總結\t194
第6章 其他強化學習算法\t195
6.1 噪聲網絡(Noisy Networks)\t195
6.1.1 噪聲網絡的原理\t195
6.1.2 噪聲網絡的實現(xiàn)\t197
6.1.3 噪聲網絡的效果\t201
6.2 深度確定性策略梯度算法(DDPG)\t203
6.2.1 算法原理\t203
6.2.2 算法實現(xiàn)\t205
6.2.3 算法效果\t209
6.3 雙延遲深度確定性策略梯度算法(TD3)\t210
6.3.1 算法原理\t210
6.3.2 算法實現(xiàn)\t211
6.3.3 算法效果\t213
6.4 蒙特卡洛樹搜索(MCTS)\t214
6.4.1 算法原理\t214
6.4.2 算法的基本步驟\t215
6.4.3 算法使用的模型\t219
6.4.4 算法的博弈樹表示\t221
6.4.5 算法的搜索執(zhí)行過程\t222
6.5 總結\t225
第7章 深度強化學習在實踐中的應用\t226
7.1 神經網絡結構搜索(NAS)\t226
7.1.1 算法原理\t226
7.1.2 算法效果\t229
7.1.3 總結\t230
7.2 超分辨率模型 (SRGAN)\t230
7.2.1 算法原理\t231
7.2.2 總結\t232
7.3 序列生成模型(SeqGAN)\t233
7.3.1 算法原理\t233
7.3.2 總結\t235
7.4 基于深度強化學習的推薦系統(tǒng)\t235
7.4.1 推薦系統(tǒng)的強化學習環(huán)境構建\t236
7.4.2 推薦系統(tǒng)的強化學習算法\t237
7.4.3 總結\t238
7.5 基于深度強化學習的交易系統(tǒng)\t239
7.5.1 算法原理\t239
7.5.2 總結\t241
7.6 總結\t241
附錄A 本書使用的數(shù)學符號\t242
參考文獻\t244