深度强化学习:基于Python的理论及实践pdf下载pdf下载

深度强化学习:基于Python的理论及实践百度网盘pdf下载

作者:
简介:本篇主要提供深度强化学习:基于Python的理论及实践pdf下载
出版社:互动创新图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书名:  深度强化学习:基于Python的理论及实践(英文版)|8077296
 图书定价: 119元
 图书作者: [美] 劳拉·格雷泽(Laura Graesser) 龚辉伦(Wah Loon Keng)
 出版社:  机械工业出版社
 出版日期:  2020/12/17 0:00:00
 ISBN号: 9787111670407
 开本: 16开
 页数: 396
 版次: 1-1
 作者简介
2019年4月,OpenAI的五款机器人在Dota 2比赛中与2018年人类世界冠军OG展开较量。Dota 2是一个复杂的多人竞技游戏,玩家可以选择不同的角色。赢得一场比赛需要策略、团队合作和快速决策。如果构建一个人工智能来参与这个游戏,需要考虑很多的变量和一个看似无限的优化搜索空间,这似乎是一个不可逾越的挑战。然而,OpenAI的机器人轻而易举地赢得了胜利,随后它们在与公众玩家的比赛中也赢得了99%以上的胜利。这一成就背后的创新就是深度强化学习。
虽然这是最近才发展起来的,但强化学习和深度学习都已经存在了几十年,大量的新研究和GPU功率的不断提高推动了这一技术的发展。本书向读者介绍深度强化学习,并将过去六年所做的工作融合成一个连贯的整体。
虽然训练电脑赢得电子游戏的胜利可能不是特别有用的事情,但它是一个起点。强化学习是机器学习的一个领域,它对于解决顺序决策问题(即随着时间的推移而解决的问题)非常有用。这几乎适用于任何情况—无论是玩电子游戏、走在街上或驾驶汽车。
本书对这个处于机器学习前沿的复杂主题做了通俗易懂的介绍。两位作者不仅对这方面的许多论文进行了研究,还创建了一个开源库SLM Lab,用于帮助读者通过快速建立和运行算法来深入学习强化学习。SLM Lab是基于PyTorch用Python编写的,但是读者只需要熟悉Python即可。至于选择使用TensorFlow或其他一些库作为深度学习框架的读者,仍然可以从这本书中获得启发,因为它介绍了深度强化学习解决方案的概念和问题公式。
本书汇集了新的深度强化学习研究成果,以及读者可以使用的示例和代码,还有与OpenAI Gym、Roboschool、Unity ML-Agents工具包一起使用的库,这使得本书成为希望使用这些系统的读者的完美起点。
Paul Dix
丛书编辑
 内容简介
这本书是针对计算机科学专业大学生和软件工程师的。本课程旨在介绍深度强化学习,无需事先了解相关主题。但是,我们假设读者对机器学习和深度学习有基本的了解,并且对Python编程有中级的了解。一些使用PyTorch的经验也是有用的,但不是必需的。
 目录

第1章 强化学习简介1
1.1 强化学习1
1.2 强化学习中的MDP6
1.3 强化学习中的学习函数9
1.4 深度强化学习算法11
1.4.1 基于策略的算法12
1.4.2 基于值的算法13
1.4.3 基于模型的算法13
1.4.4 组合方法15
1.4.5 本书中的算法15
1.4.6 同策略和异策略算法16
1.4.7 小结16
1.5 强化学习中的深度学习17
1.6 强化学习与监督学习19
1.6.1 缺乏先知19
1.6.2 反馈稀疏性20
1.6.3 数据生成20
1.7 总结21
第一部分 基于策略的算法和基于值的算法
第2章 REINFORCE25
2.1 策略26
2.2 目标函数26
2.3 策略梯度27
2.3.1 策略梯度推导28
2.4 蒙特卡罗采样30
2.5 REINFORCE算法31
2.5.1 改进的REINFORCE算法32
2.6 实现REINFORCE33
2.6.1 一种最小化REINFORCE的实现33
2.6.2 用PyTorch构建策略36
2.6.3 采样动作38
2.6.4 计算策略损失39
2.6.5 REINFORCE训练循环40
2.6.6 同策略内存回放41
2.7 训练REINFORCE智能体44
2.8 实验结果47
2.8.1 实验:评估折扣因子的影响47
2.8.2 实验:评估基准线的影响49
2.9 总结51
2.10 扩展阅读51
2.11 历史回顾51
第3章 SARSA53
3.1 Q函数和V函数54
3.2 时序差分学习56
3.2.1 时序差分学习示例59
3.3 SARSA中的动作选择65
3.3.1 探索和利用66
3.4 SARSA算法67
3.4.1 同策略算法68
3.5 实现SARSA69
3.5.1 动作函数:ε-贪婪69
3.5.2 计算Q损失70
3.5.3 SARSA训练循环71
3.5.4 同策略批处理内存回放72
3.6 训练SARSA智能体74
3.7 实验结果76
3.7.1 实验:评估学习率的影响77
3.8 总结78
3.9 扩展阅读79
3.10 历史回顾79
第4章 深度Q网络81
4.1 学习DQN中的Q函数82
4.2 DQN中的动作选择83
4.2.1 Boltzmann策略86
4.3 经验回放88
4.4 DQN算法89
4.5 实现DQN91
4.5.1 计算Q损失91
4.5.2 DQN训练循环92
4.5.3 内存回放93
4.6 训练DQN智能体96
4.7 实验结果99
4.7.1 实验:评估网络架构的影响99
4.8 总结101
4.9 扩展阅读102
4.10 历史回顾102
第5章 改进的深度Q网络103
5.1 目标网络104
5.2 双重DQN106
5.3 优先级经验回放109
5.3.1 重要性抽样111
5.4 实现改进的DQN112
5.4.1 网络初始化113
5.4.2 计算Q损失113
5.4.3 更新目标网络115
5.4.4 包含目标网络的DQN116
5.4.5 双重DQN116
5.4.6 优先级经验回放117
5.5 训练DQN智能体玩Atari游戏123
5.6 实验结果128
5.6.1 实验:评估双重DQN与PER的影响128
5.7 总结132
5.8 扩展阅读132
第二部分 组合方法
第6章 优势演员–评论家算法135
6.1 演员136
6.2 评论家136
6.2.1 优势函数136
6.2.2 学习优势函数140
6.3 A2C算法141
6.4 实现A2C143
6.4.1 优势估计144
6.4.2 计算价值损失和策略损失147
6.4.3 演员–评论家训练循环147
6.5 网络架构148
6.6 训练A2C智能体150
6.6.1 在Pong上使用n步回报的A2C算法150
6.6.2 在Pong上使用GAE的A2C算法153
6.6.3 在BipedalWalker上使用n步回报的A2C算法155
6.7 实验结果157
6.7.1 实验:评估n步回报的影响158
6.7.2 实验:评估GAE中的影响159
6.8 总结161
6.9 扩展阅读162
6.10 历史回顾162
第7章 近端策略优化算法165
7.1 替代目标函数165
7.1.1 性能突然下降166
7.1.2 修改目标函数168
7.2 近端策略优化174
7.3 PPO算法177
7.4 实现PPO179
7.4.1 计算PPO的策略损失179
7.4.2 PPO训练循环180
7.5 训练PPO智能体182
7.5.1 在Pong上使用PPO算法182
7.5.2 在BipedalWalker上使用PPO算法185
7.6 实验结果188
7.6.1 实验:评估GAE中的影响188
7.6.2 实验:评估裁剪变量的影响190
7.7 总结192
7.8 扩展阅读192
第8章 并行方法195
8.1 同步并行196
8.2 异步并行197
8.2.1 Hogwild!算法198
8.3 训练A3C智能体200
8.4 总结203
8.5 扩展阅读204
第9章 算法总结205
第三部分 实践细节
第10章 深度强化学习工程实践209
10.1 软件工程实践209
10.1.1 单元测试210
10.1.2 代码质量215
10.1.3 Git工作流216
10.2 调试技巧218
10.2.1 生命迹象219
10.2.2 策略梯度诊断219
10.2.3 数据诊断220
10.2.4 预处理器222
10.2.5 内存222
10.2.6 算法函数222
10.2.7 神经网络222
10.2.8 算法简化225
10.2.9 问题简化226
10.2.10 超参数226
10.2.11 实验室工作流226
10.3 Atari技巧228
10.4 深度强化学习小结231
10.4.1 超参数表231
10.4.2 算法性能比较234
10.5 总结238
第11章 SLM Lab239
11.1 SLM Lab算法实现239
11.2  Spec文件241
11.2.1 搜索Spec语法243
11.3 运行SLM Lab246
11.3.1 SLM Lab指令246
11.4 分析实验结果247
11.4.1 实验数据概述247
11.5 总结249
第12章 神经网络架构251
12.1 神经网络的类型251
12.1.1 多层感知机252
12.1.2 卷积神经网络253
12.1.3 循环神经网络255
12.2 选择网络族的指导方法256
12.2.1 MDP与POMDP256
12.2.2 根据环境选择网络259
12.3 网络API262
12.3.1 输入层和输出层形状推断264
12.3.2 自动构建网络266
12.3.3 训练步骤269
12.3.4 基础方法的使用270
12.4 总结271
12.5 扩展阅读271
第13章 硬件273
13.1 计算机273
13.2 数据类型278
13.3 在强化学习中优化数据类型280
13.4 选择硬件285
13.5 总结285
第四部分 环境设计
第14章 状态289
14.1 状态示例289
14.2 状态完整性296
14.3 状态复杂性297
14.4 状态信息损失301
14.4.1 图像灰度301
14.4.2 离散化302
14.4.3 散列冲突303
14.4.4 元信息损失303
14.5 预处理306
14.5.1 标准化307
14.5.2 图像预处理308
14.5.3 时间预处理310
14.6 总结313
第15章 动作315
15.1 动作示例315
15.2 动作完整性318
15.3 动作复杂性319
15.4 总结323
15.5 扩展阅读:日常事务中的动作设计324
第16章 奖励327
16.1 奖励的作用327
16.2 奖励设计准则328
16.3 总结332
第17章 转换函数333
17.1 可行性检测333
17.2 真实性检测335
17.3 总结337
后记339
附录A 深度强化学习时间线343
附录B 示例环境345
B.1 离散环境346
B.1.1 CartPole-v0346
B.1....