第 一部分 强化学习基础
第 1 章 初探强化学习 2
1.1 简介 2
1.2 什么是强化学习 2
1.3 强化学习的环境 4
1.4 强化学习的目标 4
1.5 强化学习中的数据 5
1.6 强化学习的独特性 6
1.7 小结 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 小结 18
2.8 参考文献 18
第 3 章 马尔可夫决策过程 19
3.1 简介 19
3.2 马尔可夫过程 19
3.2.1 随机过程 19
3.2.2 马尔可夫性质 19
3.2.3 马尔可夫过程 20
3.3 马尔可夫奖励过程 21
3.3.1 回报 21
3.3.2 价值函数 22
3.4 马尔可夫决策过程 24
3.4.1 策略 25
3.4.2 状态价值函数 25
3.4.3 动作价值函数 25
3.4.4 贝尔曼期望方程 25
3.5 蒙特卡洛方法 28
3.6 占用度量 31
3.7 最优策略 32
3.8 小结 33
3.9 参考文献 33
第 4 章 动态规划算法 34
4.1 简介 34
4.2 悬崖漫步环境 34
4.3 策略迭代算法 36
4.3.1 策略评估 36
4.3.2 策略提升 36
4.3.3 策略迭代 37
4.4 价值迭代算法 40
4.5 冰湖环境 42
4.6 小结 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 小结 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 小结 69
6.5 参考文献 69
第二部分 强化学习进阶
第 7 章 DQN算法 72
7.1 简介 72
7.2 车杆环境 72
7.3 DQN 73
7.3.1 经验回放 74
7.3.2 目标网络 74
7.4 DQN代码实践 75
7.5 以图像作为输入的DQN算法 79
7.6 小结 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 小结 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 小结 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 小结 108
10.5 参考文献 108
第 11 章 TRPO算法 109
11.1 简介 109
11.2 策略目标 109
11.3 近似求解 111
11.4 共轭梯度 112
11.5 线性搜索 112
11.6 广义优势估计 113
11.7 TRPO代码实践 114
11.8 小结 122
11.9 参考文献 123
第 12 章 PPO算法 124
12.1 简介 124
12.2 PPO-惩罚 124
12.3 PPO-截断 125
12.4 PPO代码实践 125
12.5 小结 131
12.6 参考文献 132
第 13 章 DDPG算法 133
13.1 简介 133
13.2 DDPG 133
13.3 DDPG代码实践 135
13.4 小结 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 小结 154
14.7 参考文献 155
第三部分 强化学习前沿
第 15 章 模仿学习 158
15.1 简介 158
15.2 行为克隆 159
15.3 生成对抗模仿学习 159
15.4 代码实践 160
15.4.1 生成专家数据 160
15.4.2 行为克隆的代码实践 163
15.4.3 生成对抗模仿学习的代码实践 165
15.5 小结 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 小结 179
16.6 参考文献 179
第 17 章 基于模型的策略优化 180
17.1 简介 180
17.2 MBPO算法 180
17.3 MBPO代码实践 181
17.4 小结 192
17.5 拓展阅读:MBPO理论分析 192
17.5.1 性能提升的单调性保障 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 小结 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 小结 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 小结 228
20.7 参考文献 229
第 21 章 多智能体强化学习进阶 230
21.1 简介 230
21.2 MADDPG算法 230
21.3 MADDPG代码实践 232
21.4 小结 240
21.5 参考文献 240
总结与展望 241
总结 241
展望:克服强化学习的落地挑战 241
中英文术语对照表与符号表 244
中英文术语对照表 244
符号表 246