深度强化学习:入门与实践指南

作者
[俄]马克西姆&#8226 拉潘(Maxim Lapan) 王静怡 刘斌 程
丛书名
出版社
机械工业出版社*
ISBN
9787111668084
简要
简介
内容简介书籍计算机书籍 强化学习是机器学习发展非常迅速的一个领域,由于其灵活性和通用性,可以应用在从玩游戏到优化复杂制造过程的许多实际情况。本书帮助读者迅速理解深度强化学习,并从原理到新近算法进行全面探索。关于强化学习的新资料很多,但多数过于专业和抽象,很不容易理解,并且从理解原理到可以实际解决问题之间还有巨大差距,而本书意在填补强化学习方法在实用性和结构化信息方面的不足,以帮助读者从整体上轻松理解深度强化学习。同时本书的另一个特点是面向实践,从简单到非常复杂,将每种方法实际应用在各种具体环境中,以帮助读者在实际研究和工作中应用深度强化学习来解决问题。 本书适合深度强化学习、机器学习、人工智能相关行业从业者、学习者阅读参考。
目录

原书前言
第1章 什么是强化学习 1
1.1 学习—监督、无监督和强化 1
1.2 RL形式和关系 3
1.2.1 奖励 4
1.2.2 智能体 5
1.2.3 环境 5
1.2.4 动作 6
1.2.5 观察 6
1.3 马尔可夫决策过程简介 8
1.3.1 马尔可夫过程 8
1.3.2 马尔可夫奖励过程 11
1.3.3 马尔可夫决策过程 13
1.4 本章小结 16
第2章 OpenAI Gym开源平台 17
2.1 智能体剖析 17
2.2 硬件和软件要求 19
2.3 OpenAI Gym API 20
2.3.1 动作空间 21
2.3.2 观察空间 21
2.3.3 环境 22
2.3.4 创建环境 23
2.3.5 CartPole会话 25
2.4 随机CartPole智能体 26
2.5 额外的Gym功能—Wrapper和Monitor 27
2.5.1 Wrapper 28
2.5.2 Monitor 30
2.6 本章小结 32
第3章  使用PyTorch进行深度学习 33
3.1 张量 33
3.1.1 创建张量 33
3.1.2 标量张量 35
3.1.3 张量操作 36
3.1.4 GPU张量 36
3.2 梯度 37
3.2.1 张量和梯度 38
3.3 NN构建块 40
3.4 定制层级 41
3.5 最终的黏合剂—损失函数和优化器 43
3.5.1 损失函数 44
3.5.2 优化器 44
3.6 使用TensorBoard监控 45
3.6.1 TensorBoard简介 46
3.6.2 绘图工具 47
3.7 示例:在Atari图像上使用GAN 48
3.8 本章小结 52
第4章 交叉熵方法 53
4.1 RL方法的分类 53
4.2 实践交叉熵 54
4.3 CartPole上的交叉熵方法 55
4.4 FrozenLake上的交叉熵方法 62
4.5 交叉熵方法的理论背景 67
4.6 本章小结 68
第5章  表格学习与Bellman方程 69
5.1 值、状态、最优性 69
5.2 最优的Bellman方程 70
5.3 动作的值 72
5.4 值迭代法 74
5.5 实践中的值迭代 75
5.6 FrozenLake中的Q-learning 80
5.7 本章小结 82
第6章 深度Q网络 83
6.1 现实中的值迭代 83
6.2 表格式Q-learning 84
6.3 深度Q-learning 88
6.3.1 与环境的交互 89
6.3.2 SGD优化 90
6.3.3 步骤之间的相关性 90
6.3.4 马尔可夫性 90
6.3.5 DQN训练的最终形式 91
6.4 Pong上的DQN 91
6.4.1 封装 92
6.4.2 DQN模型 96
6.4.3 训练 98
6.4.4 运行与性能 105
6.4.5 动作中的模型 107
6.5 本章小结 109
第7章 DQN扩展 110
7.1 PyTorch Agent Net函数库 110
7.1.1 智能体 111
7.1.2 智能体的经验 112
7.1.3 经验缓冲区 113
7.1.4 Gym env封装 113
7.2 基本DQN 113
7.3 N步DQN 119
7.3.1 实现 121
7.4 双DQN 123
7.4.1 实现 123
7.4.2 结果 126
7.5 有噪网络 127
7.5.1 实现 127
7.5.2 结果 130
7.6 优先级重放缓冲区 132
7.6.1 实现 133
7.6.2 结果 137
7.7 竞争DQN 137
7.7.1 实现 138
7.7.2 结果 139
7.8 分类 140
7.8.1 实现 142
7.8.2 结果 148
7.9 结合所有 149
7.9.1 实现 150
7.9.2 结果 154
7.10 本章小结 155
参考文献 155
第8章 RL用于股票交易 156
8.1 贸易 156
8.2 数据 156
8.3 问题陈述和关键决策 157
8.4 交易环境 159
8.5 模型 165
8.6 训练代码 166
8.7 结果 167
8.7.1 前馈模型 167
8.7.2 卷积模型 170
8.8 要尝试的事 173
8.9 本章小结 173
第9章  策略梯度法:一种替代方案 174
9.1 值与策略 174
9.1.1 为什么是策略 174
9.1.2 策略表示 175
9.1.3 策略梯度 175
9.2 强化方法 176
9.2.1 CartPole的例子 177
9.2.2 结果 180
9.2.3 基于策略的方法与基于值的方法 181
9.3 强化问题 181
9.3.1 完整episode是必需的 182
9.3.2 高梯度方差 182
9.3.3 探索 182
9.3.4 样本之间的相关性 183
9.4 CartPole上的PG 183
9.5 Pong上的PG 187
9.6 本章小结 190
第10章 Actor-Critic方法 191
10.1 方差减少 191
10.2 CartPole方差 192
10.3 Actor-Critic 194
10.4 Pong上的A2C 196
10.5 Pong上的A2C的结果 201
10.6 调整超参数 202
10.6.1 学习率 203
10.6.2 熵beta 203
10.6.3 环境数量 204
10.6.4 batch大小 204
10.7 本章小结 204
第11章  异步优势Actor-Critic方法 205
11.1 相关性和样本效率 205
11.2 在A2C中添加另一个A 206
11.3 Python中的多处理 208
11.4 A3C—数据并行 208
11.5 A3C—梯度并行 214
11.6 本章小结 219
第12章  用 RL训练聊天机器人 220
12.1 聊天机器人概述 220
12.2 Deep NLP基础知识 221
12.2.1 RNN 222
12.2.2 嵌入 223
12.2.3 编码器 -解码器 224
12.3 seq2seq训练 224
12.3.1 对数似然训练 224
12.3.2 双语评估替补(BLEU)得分 226
12.3.3 seq2seq中的RL 226
12.3.4 自我评价序列训练 228
12.4 聊天机器人示例 228
12.4.1 示例结构 229
12.4.2 模块:cornell.py和data.py 229
12.4.3 BLEU得分和utils.py 230
12.4.4 模型 231
12.4.5 训练:交叉熵 236
12.4.6 执行训练 239
12.4.7 检查数据 241
12.4.8 测试训练的模型 243
12.4.9 训练:SCST 244
12.4.10 运行SCST训练 250
12.4.11 结果 251
12.4.12 电报机器人 252
12.5 本章小结 254
第13章 Web浏览 255
13.1 网页浏览 255
13.1.1 浏览器自动化操作和强化学习 255
13.1.2 Mini World of Bits基准 256
13.2 OpenAI Universe 258
13.2.1 安装 258
13.2.2 动作和观察 259
13.2.3 环境创建 259
13.2.4 MiniWoB稳定性 261
13.3 简单的点击方式 261
13.3.1 网格动作 262
13.3.2 示例概述 263
13.3.3 模型 264
13.3.4 训练代码 264
13.3.5 启动容器 269
13.3.6 训练过程 271
13.3.7 检查学到的策略 272
13.3.8 简单点击的问题 273
13.4 人工演示 275
13.4.1 记录演示 275
13.4.2 录制格式 277
13.4.3 使用演示进行训练 279
13.4.4 结果 280
13.4.5 TicTacToe问题 281
13.5 增加文本描述 283
13.6 要尝试的事情 288
13.7 本章小结 288
第14章 连续动作空间 289
14.1 为什么是连续空间 289
14.2 动作空间 289
14.3 环境 290
14.4 Actor-Critic(A2C)方法 292
14.4.1 实现 292
14.4.2 结果 295
14.4.3 使用模型和录制视频 296
14.5 确定性策略梯度 297
14.5.1 探索 298
14.5.2 实现 298
14.5.3 结果 302
14.5.4 录制视频 303
14.6 分布式策略梯度 304
14.6.1 架构 304
14.6.2 实现 304
14.6.3 结果 308
14.7 需要进一步尝试的事情 309
14.8 本章小结 309
第15章  信赖域 —TRPO、PPO和ACKTR 310
15.1 引言 310
15.2 roboschool 310
15.3 A2C基线 311
15.3.1 结果 313
15.3.2 录制视频 313
15.4 PPO 313
15.4.1 实现 314
15.4.2 结果 317
15.5 TRPO 318
15.5.1 实现 318
15.5.2 结果 319
15.6 使用ACKTR的A2C 320
15.6.1 实现 320
15.6.2 结果 321
15.7 本章小结 321
第16章 RL中的黑盒优化 322
16.1 黑盒方法 322
16.2 进化策略 322
16.2.1 CartPole上的ES 323
16.2.2 HalfCheetah上的ES 328
16.3 遗传算法 332
16.3.1 CartPole上的GA 333
16.3.2 GA调整 335
16.3.3 Cheetah上的GA 336
16.4 本章小结 339
参考文献 339
第17章  超越无模型 —想象力 340
17.1 基于模型与无模型 340
17.2 模型缺陷 341
17.3 想象力增强的智能体 342
17.3.1 环境模型 343
17.3.2 走步策略 343
17.3.3 走步编码器 344
17.3.4 论文结果 344
17.4 Atari Breakout上的I2A 344
17.4.1 基线A2C智能体 344
17.4.2 环境模型训练 345
17.4.3 想象力智能体 347
17.5 实验结果 352
17.5.1 基线智能体 352
17.5.2 训练环境模型权重 353
17.5.3 使用I2A模型进行训练 354
17.6 本章小结 356
参考文献 356
第18章 AlphaGo Zero 357
18.1 棋盘游戏 357
18.2 AlphaGo Zero方法 358
18.2.1 概述 358
18.2.2 MCTS 359
18.2.3 自玩 360
18.2.4 训练和评估 360
18.3 Connect4机器人 361
18.3.1 游戏模型 361
18.3.2 实现MCTS 363
18.3.3 模型 368
18.3.4 训练 369
18.3.5 测试和比较 370
18.4 Connect4结果 370
18.5 本章小结 372
参考文献 372
本书总结 373


推荐

车牌查询
桂ICP备20004708号-3