深度强化学习:基础、研究与应用

深度强化学习:基础、研究与应用

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

类似推荐

编辑推荐

一、本书内容之广,令人惊讶,对深度强化学习进行了庖丁解牛式的解读,要想了解、学习、上手深度强化学习,这本书将是你的不二选择。

二、本书作者之众,令人惊叹,本书作者团队是国内外开源社区的一群年轻青年学者和工程师,从科研角度到工程实践,解读深度强化学习知识,契合当下读者的诉求。

三、本书案例之多,令人惊喜,模仿学习、分层强化学习、多智能体强化学习、并行计算、图像增强、阿尔法下棋、机器人学习应有尽有,更难能可贵的是,本书最后作者根据自己经验总结出深度强化学习的研究实践技巧,应该颇具价值,供读者学习。

内容简介

深度强化学习结合深度学习与强化学习算法各自的优势解决复杂的决策任务。得益于 DeepMind AlphaGo 和 OpenAI Five 成功的案例,深度强化学习受到大量的关注,相关技术广泛应用于不同的领域。本书分为三大部分,覆盖深度强化学习的全部内容。第一部分介绍深度学习和强化学习的入门知识、一些非常基础的深度强化学习算法及其实现细节,包括第 1~6 章。第二部分是一些精选的深度强化学习研究题目,这些内容对准备开展深度强化学习研究的读者非常有用,包括第 7~12 章。第三部分提供了丰富的应用案例,包括 AlphaZero、让机器人学习跑步等,包括第 13~17 章。本书是为计算机科学专业背景、希望从零开始学习深度强化学习并开展研究课题和实践项目的学生准备的。本书也适合没有很强的机器学习背景、但是希望快速学习深度强化学习并将其应用到具体产品中的软件工程师阅读。

作者简介

董 豪

北京大学计算机系前沿计算研究中心助理教授、深圳鹏城实验室双聘成员。于 2019 年秋获得英国帝国理工学院博士学位。研究方向主要涉及计算机视觉和生成模型,目的是降低学习智能系统所需要的数据。致力于推广人工智能技术,是深度学习开源框架 TensorLayer 的创始人,此框架获得 ACM MM 2017 年度最佳开源软件奖。在英国帝国理工学院和英国中央兰开夏大学获得一等研究生和一等本科学位。丁子涵 英国帝国理工学院硕士。获普林斯顿大学博士生全额奖学金,曾在加拿大 Borealis AI、腾讯 Robotics X 实验室有过工作经历。本科就读于中国科学技术大学,获物理和计算机双学位。研究方向主要涉及强化学习、机器人控制、计算机视觉等。在 ICRA、NeurIPS、AAAI、IJCAI、Physical Review 等顶级期刊与会议发表多篇论文,是 TensorLayer-RLzoo、TensorLet 和 Arena 开源项目的贡献者。仉尚航 加州大学伯克利分校,BAIR 实验室(Berkeley AI Research Lab)博士后研究员。于 2018年获得卡内基・梅隆大学博士学位。研究方向主要涉及深度学习、计算机视觉及强化学习。在NeurIPS、CVPR、ICCV、TNNLS、AAAI、IJCAI 等人工智能顶级期刊和会议发表多篇论文。目前主要从事 Human-inspired sample-efficient learning 理论与算法研究,包括 low-shot learning、domain adaptation、self learning 等。获得 AAAI 2021 Best Paper Award, 美国 2018 Rising Stars in EECS,及Adobe Collaboration Fund、Qualcomm Innovation Fellowship Finalist Award 等奖励。袁 航 英国牛津大学计算机科学博士在读、李嘉诚奖学金获得者,主攻人工智能安全和深度学习在健康医疗中的运用。曾在欧美各大高校和研究机构研习,如帝国理工学院、马克斯普朗克研究所、瑞士联邦理工和卡内基・梅隆大学。张鸿铭 中国科学院自动化研究所算法工程师。于 2018 年获得北京大学硕士研究生学位。本科就读于北京师范大学,获理学学士学位。研究方向涉及统计机器学习、强化学习和启发式搜索。张敬卿 英国帝国理工学院计算机系博士生,师从帝国理工学院数据科学院院长郭毅可院士。主要研究方向为深度学习、机器学习、文本挖掘、数据挖掘及其应用。曾获得中国国家奖学金。2016年于清华大学计算机科学与技术系获得学士学位,2017 年于帝国理工学院计算机系获得一等研究性硕士学位。黄彦华 就职于小红书,负责大规模机器学习及强化学习在推荐系统中的应用。2016 年在华东师范大学数学系获得理学学士学位。曾贡献过开源项目 PyTorch、TensorFlow 和 Ray。余天洋 启元世界算法工程师,负责强化学习在博弈场景中的应用。硕士毕业于南昌大学,是TensorLayer-RLzoo 开源项目的贡献者。张华清 谷歌公司算法和机器学习工程师,侧重于多智能体强化学习和多层次结构博弈论方向研究,于华中科技大学获得学士学位,后于 2017 年获得休斯敦大学博士学位。黄锐桐 Borealis AI (加拿大皇家银行研究院)团队主管。于 2017 年获得阿尔伯塔大学统计机器学习博士学位。本科就读于中国科学技术大学数学系,后于滑铁卢大学获得计算机硕士学位。研究方向主要涉及在线学习、优化、对抗学习和强化学习。廖培元 目前本科就读于卡内基・梅隆大学计算机科学学院。研究方向主要涉及表示学习和多模态机器学习。曾贡献过开源项目 mmdetection 和 PyTorch Cluster,在 Kaggle 数据科学社区曾获Competitions Grandmaster 称号,排名全球前 25 位。

章节目录

基础部分 1 第 1 章 深度学习入门 2

1.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 感知器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 多层感知器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 激活函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.5 损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.6 优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.6.1 梯度下降和误差的反向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.6.2 随机梯度下降和自适应学习率 . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.6.3 超参数筛选 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7 正则化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.7.1 过拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.7.2 权重衰减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.7.3 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.7.4 批标准化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.7.5 其他缓和过拟合的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.8 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.9 循环神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.10 深度学习的实现样例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.10.1 张量和梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.10.2 定义模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.10.3 自定义层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

1.10.4 多层感知器:MNIST 数据集上的图像分类 . . . . . . . . . . . . . . . . . . . 33

1.10.5 卷积神经网络:CIFAR-10 数据集上的图像分类 . . . . . . . . . . . . . . . . 35

1.10.6 序列到序列模型:聊天机器人 . . . . . . . . . . . . . . . . . . . . . . . . . . 36

第 2 章 强化学习入门 43

2.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.2 在线预测和在线学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.2.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.2.2 随机多臂赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.3 对抗多臂赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.2.4 上下文赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.3 马尔可夫过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3.2 马尔可夫奖励过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.3.3 马尔可夫决策过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2.3.4 贝尔曼方程和最优性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

2.3.5 其他重要概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

2.4 动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

2.4.1 策略迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.4.2 价值迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2.4.3 其他 DPs:异步 DP、近似 DP 和实时 DP . . . . . . . . . . . . . . . . . . . 68

2.5 蒙特卡罗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

2.5.1 蒙特卡罗预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

2.5.2 蒙特卡罗控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.5.3 增量蒙特卡罗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.6 时间差分学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.6.1 时间差分预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.6.2 Sarsa:在线策略 TD 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

2.6.3 Q-Learning:离线策略 TD 控制 . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.7 策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.7.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.7.2 基于价值的优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

2.7.3 基于策略的优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

2.7.4 结合基于策略和基于价值的方法 . . . . . . . . . . . . . . . . . . . . . . . . 105

第 3 章 强化学习算法分类 110

3.1 基于模型的方法和无模型的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

3.2 基于价值的方法和基于策略的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

3.3 蒙特卡罗方法和时间差分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

3.4 在线策略方法和离线策略方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

第 4 章 深度 Q 网络 119

4.1 Sarsa 和 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4.2 为什么使用深度学习: 价值函数逼近 . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4.3 DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

4.4 Double DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

4.5 Dueling DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

4.6 优先经验回放 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

4.7 其他改进内容:多步学习、噪声网络和值分布强化学习 . . . . . . . . . . . . . . . 128

4.8 DQN 代码实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

第 5 章 策略梯度 146

5.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

5.2 REINFORCE:初版策略梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

5.3 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

5.4 生成对抗网络和 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

5.5 同步优势 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

5.6 异步优势 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

5.7 信赖域策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

5.8 近端策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.9 使用 Kronecker 因子化信赖域的 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . 159

5.10 策略梯度代码例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

5.10.1 相关的 Gym 环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

5.10.2 REINFORCE: Atari Pong 和 CartPole-V0 . . . . . . . . . . . . . . . . . . . . . 165

5.10.3 AC: CartPole-V0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

5.10.4 A3C: BipedalWalker-v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

5.10.5 TRPO: Pendulum-V0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

5.10.6 PPO: Pendulum-V0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

第 6 章 深度 Q 网络和 Actor-Critic 的结合 200

6.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

6.2 深度确定性策略梯度算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

6.3 孪生延迟 DDPG 算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

6.4 柔性 Actor-Critic 算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

6.4.1 柔性策略迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

6.4.2 SAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

6.5 代码例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

6.5.1 相关的 Gym 环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

6.5.2 DDPG: Pendulum-V0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

6.5.3 TD3: Pendulum-V0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

6.5.4 SAC: Pendulum-v0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

研究部分 236

第 7 章 深度强化学习的挑战 237

7.1 样本效率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

7.2 学习稳定性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

7.3 灾难性遗忘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.4 探索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

7.5 元学习和表征学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

7.6 多智能体强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

7.7 模拟到现实 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

7.8 大规模强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

7.9 其他挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

第 8 章 模仿学习 258

8.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

8.2 行为克隆方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

8.2.1 行为克隆方法的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

8.2.2 数据集聚合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

8.2.3 Variational Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

8.2.4 行为克隆的其他方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

8.3 逆向强化学习方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

8.3.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

8.3.2 逆向强化学习方法的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

8.3.3 生成对抗模仿学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

8.3.4 生成对抗网络指导性代价学习 . . . . . . . . . . . . . . . . . . . . . . . . . . 266

8.3.5 对抗性逆向强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

8.4 从观察量进行模仿学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

8.4.1 基于模型方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

8.4.2 无模型方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

8.4.3 从观察量模仿学习的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

8.5 概率性方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

8.6 模仿学习作为强化学习的初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

8.7 强化学习中利用示范数据的其他方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 280

8.7.1 将示范数据导入经验回放缓存 . . . . . . . . . . . . . . . . . . . . . . . . . . 280

8.7.2 标准化 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

8.7.3 用示范数据进行奖励塑形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

8.8 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

第 9 章 集成学习与规划 289

9.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

9.2 基于模型的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

9.3 集成模式架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

9.4 基于模拟的搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

9.4.1 朴素蒙特卡罗搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

9.4.2 蒙特卡罗树搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

9.4.3 时间差分搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

第 10 章 分层强化学习 298

10.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

10.2 选项框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

10.2.1 战略专注作家 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

10.2.2 选项-批判者结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

10.3 封建制强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

10.3.1 封建制网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

10.3.2 离线策略修正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

10.4 其他工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

第 11 章 多智能体强化学习 315

11.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

11.2 优化和均衡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

11.2.1 纳什均衡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

11.2.2 关联性均衡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

11.2.3 斯塔克尔伯格博弈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

11.3 竞争与合作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.3.1 合作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.3.2 零和博弈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

11.3.3 同时决策下的竞争 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

11.3.4 顺序决策下的竞争 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

11.4 博弈分析架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

第 12 章 并行计算 326

12.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

12.2 同步和异步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

12.3 并行计算网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

12.4 分布式强化学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

12.4.1 异步优势 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

12.4.2 GPU/CPU 混合式异步优势 Actor-Critic . . . . . . . . . . . . . . . . . . . . . 332

12.4.3 分布式近端策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

12.4.4 重要性加权的行动者-学习者结构和可扩展高效深度强化学习 . . . . . . . . 336

12.4.5 Ape-X、回溯-行动者和分布式深度循环回放 Q 网络 . . . . . . . . . . . . . 338

12.4.6 Gorila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

12.5 分布式计算架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

应用部分 343

第 13 章 Learning to Run 344

13.1 NeurIPS 2017 挑战:Learning to Run . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

13.1.1 环境介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

13.1.2 安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

13.2 训练智能体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

13.2.1 并行训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

13.2.2 小技巧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

13.2.3 学习结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

第 14 章 鲁棒的图像增强 354

14.1 图像增强 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

14.2 用于鲁棒处理的强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

第 15 章 AlphaZero 366

15.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

15.2 组合博弈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

15.3 蒙特卡罗树搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

15.4 AlphaZero:棋类游戏的通用算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

第 16 章 模拟环境中机器人学习 388

16.1 机器人模拟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

16.2 强化学习用于机器人任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

16.2.1 并行训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

16.2.2 学习效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

16.2.3 域随机化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

16.2.4 机器人学习基准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

16.2.5 其他模拟器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

第 17 章 Arena:多智能体强化学习平台 412

17.1 安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

17.2 用 Arena 开发游戏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

17.2.1 简单的单玩家游戏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

17.2.2 简单的使用奖励机制的双玩家游戏 . . . . . . . . . . . . . . . . . . . . . . . 416

17.2.3 高级设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

17.2.4 导出二进制游戏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

17.3 MARL 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

17.3.1 设置 X-Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

17.3.2 进行训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

17.3.3 可视化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

17.3.4 致谢 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

第 18 章 深度强化学习应用实践技巧 433

18.1 概览:如何应用深度强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

18.2 实现阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

18.3 训练和调试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

总结部分 445

附录 A 算法总结表 446

附录 B 算法速查表 451

B.1 深度学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

B.1.1 随机梯度下降 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

B.1.2 Adam 优化器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

B.2 强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

B.2.1 赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

B.2.2 动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

B.2.3 蒙特卡罗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

B.3 深度强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

B.4 高等深度强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

B.4.1 模仿学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

B.4.2 基于模型的强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468

B.4.3 分层强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

B.4.4 多智能体强化学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

B.4.5 并行计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

附录 C 中英文对照表 476

深度强化学习:基础、研究与应用是2021年由电子工业出版社出版,作者董豪等。

得书感谢您对《深度强化学习:基础、研究与应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深度学习原理与实践 电子书
(1)大量图例,简单易懂。作者亲自绘制了大量插图,力求还原深度学习的算法思想,分解和剖析晦涩的算法,用图例来表示复杂的问题。生动的图例也能给读者带来阅读乐趣,快乐地学习算法知识,体会深度学习的算法本质。 (2)简化公式,生动比喻。深度学习和机器学习类的书中通常会有大量复杂冗长的算法公式,为了避免出现读者读不懂的情况,本书尽可能地统一了公式和符号,简化相关公式,并加以生动的比喻进行解析。在启发读者的同时,锻炼读者分析问题和解决问题的能力。 (3)算法原理,代码实现。在介绍深度学习及相关算法的原理时,不仅给出了对应的公式,还给出了实现和求解公式的代码,让读者明确该算法的作用、输入和输出。原理与代码相结合,使得读者对深度学习的算法实现更加具有亲切感。 (4)深入浅出,精心剖析。理解深度学习需要一定的机器学习知识,本书在D1章介绍了深度学习与机器学习的关系,并简要介绍了机器学习的内容。在内容安排上,每章依次介绍模型框架的应用场景、结构和使用方式,最后通过真实的案例去全面分析该模型结构。目的是让读者可以抓住深度学习的本质。 (5)入门实践,案例重现。每一章最后的真实案例不是直接堆砌代码,而是讲解使用该算法模型的原因和好处。从简单的背景知识出发,使用前文讲解过的深度学习知识实现一个实际的工程项目。实践可以用于及时检验读者对所学知识的掌握程度,为读者奠定深度学习的实践基础。 将一本技术书籍写得通俗易懂谈何容易,但《深度学习原理与实践》这本书确实做到了。书中对近年来火热的深度学习理论知识进行简单剖析,化繁为简,没有局限于坐而论道,而是将实例和数学理论相结合,让读者能够快速理解各种模型并上手实践,值得细读。 --唐春明 广州大学数学与信息学科学院副院长 本书从原理、方法、实践这 3 个维度系统地介绍了深度学习的方方面面,内容详实,解读清晰,细节与全貌兼顾,既适合初学者阅读,也可以作为深入研究的参考用书。 --杨刚 西安电子科技大学教授 近年来出版的深度学习相关图书中,本书是我见过非常有指导意义的中文书籍之一。本书对 ANN、CNN、RNN 等模型进行深入浅出的介绍,引入大量图例和简化后的公式,让算法浅显易懂。每一章的实践内容都给人惊喜,强烈推荐! --吴健之 腾讯音乐高级工程师 作为产品经理,我能看懂的深度学习书籍实在太少了。本书恰到好处,插图丰富直观,数学公式简练,很喜欢此类风格的图书,易懂好学。即使你不是程序员或算法专家,该书也值得一看! --张瑞 中软国际高级产品经理
JavaScript深度学习 电子书
深度学习扛鼎之作《Python深度学习》姊妹篇,前端工程师不可错过的AI入门书。
Python深度学习与项目实战 电子书
本书基于Python以及两个深度学习框架Keras与TensorFlow,讲述深度学习在实际项目中的应用。本书共10章,首先介绍线性回归模型、逻辑回归模型、Softmax多分类器,然后讲述全连接神经网络、神经网络模型的优化、卷积神经网络、循环神经网络,最后讨论自编码模型、对抗生成网络、深度强化学习。
深度学习原理与 TensorFlow实践 电子书
本书介绍了深度学习原理与TensorFlow实践。着重讲述了当前学术界和工业界的深度学习核心知识:机器学习概论、神经网络、深度学习。着重讲述了深度学习的实现以及深度学习框架TensorFlow:Python编程基础、TensorFlow编程基础、TensorFlow模型、TensorFlow编程实践、TensorFlowLite和TensorFlow.js、TensorFlow案例--医学应用和S
深度学习入门与TensorFlow实践 电子书
基于TensorFlow2,系统讲述如何搭建、训练和应用深度学习模型。