《深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目》[俄]马克西姆•拉潘(Max

《深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目》[俄]马克西姆•拉潘(Max | PDF下载|ePub下载

深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目 版权信息

  • 出版社:机械工业出版社
  • 出版时间:2021-03-01
  • ISBN:9787111668084
  • 条形码:9787111668084 ; 978-7-111-66808-4

深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目 本书特色

适读人群 :深度强化学习、机器学习、人工智能相关行业的从业者、学习者编辑推荐: 迅速理解深度强化学习,从原理到新近算法全面探索 面向实践,掌握构建智能体、聊天机器人等实践项目 本书对RL的核心知识进行了全面深入讲解,并为你提供了编写智能体代码的详细知识,以使其执行一系列艰巨的实际任务。帮助你掌握如何在“网格世界”环境中实现Q-learning,教会你的智能体购买和交易股票,并掌握如何通过实现自然语言模型来推动聊天机器人的发展。 你将学到什么: ● 理解如何通过RL的DL上下文实现复杂的DL模型 ● 掌握RL的基础理论:马尔可夫决策过程 ● 学会评估RL的方法,包括交叉熵、DQN、Actor-Critic、TRPO、PPO、DDPG、D4PG等 ● 研究探索如何处理各种环境中的离散和连续动作空间 ● 学会使用值迭代方法击败Atari街机游戏 ● 学会创建自己的OpenAI Gym环境以训练股票交易智能体 ● 教会你的智能体使用AlphaGo Zero玩Connect4 ● 探索有关主题的*新深度RL研究,包括AI驱动的聊天机器人

深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目 内容简介

强化学习是机器学习发展很好迅速的一个领域,由于其灵活性和通用性,可以应用在从玩游戏到优化复杂制造过程的许多实际情况。本书帮助读者迅速理解深度强化学习,并从原理到新近算法进行全面探索。关于强化学习的新资料很多,但多数过于专业和抽象,很不容易理解,并且从理解原理到可以实际解决问题之间还有巨大差距,而本书意在填补强化学习方法在实用性和结构化信息方面的不足,以帮助读者从整体上轻松理解深度强化学习。同时本书的另一个特点是面向实践,从简单到很好复杂,将每种方法实际应用在各种具体环境中,以帮助读者在实际研究和工作中应用深度强化学习来解决问题。 本书适合深度强化学习、机器学习、人工智能相关行业从业者、学习者阅读参考。

深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目 目录

目 录


原书前言

第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


深度强化学习:入门与实践指南 深度强化学习从原理到算法全面探索.面向实践,掌握构建智能体、聊天机器人实战项目 作者简介

Maxim Lapan 深度学习研究者,作为一名软件开发人员和系统架构师,具有超过15年的专业经验,涵盖了从Linux内核驱动程序开发到可在数千台服务器上工作的分布式应用项目的设计与性能优化。他在大数据、机器学习以及大型并行分布式HPC系统方面拥有丰富的工作经验,并擅长使用简单的文字和生动的示例来解释复杂事物。他目前专注的领域是深度学习的实际应用,例如深度自然语言处理和深度强化学习。Maxim目前在以色列一家初创公司工作,担任高级NLP开发人员。

备用下载地址:

链接2:点击下载 (百度网盘备用,解压密码: 8986)

链接3:点击下载 (UC网盘备用,解压密码: 8986)

链接4:点击下载 (迅雷网盘备用,解压密码: 8986)