编辑推荐
一、中国科学院院士张景中,中国科学技术大学数据学院常务副院长陈恩红,OPPO研究院院长刘畅,向大家表示热烈的祝贺!
二是内容系统详实:该书构建了一套完整的强化学习知识体系,不仅涵盖了经典强化学习,而且还包含了DQN算法、A3C算法、Rainbow算法等强化学习的重要成果。让读者了解强化学习的发展史和重要成果,帮助读者进行强化学习领域的创新研究和应用实践,从而发现更有价值的研究课题和应用方向。
三、兼顾理论与实践:深入全面讲解掌握强化学习深度的理论知识,结合Pytho3代码案例,使算法迅速落地,降低了读者的学习门槛和入门难度。
4.读者受众广泛:在结构布局和逻辑梳理方面,考虑到学术界和产业界读者的不同需求,这些需求既适合技术工程师,也适合研究人员和学生群体。
5.贴近技术前沿:详细介绍近几年在强化学习领域的研究进展和成果,以确保本书的及时性,具有很高的参考和实用价值。
6.辅助源资源:本书提供分章节辅助源,供读者下载和在异步社区使用。
内容简介
本书构建了一个完整的深度强化学习理论和实践体系:从马尔可夫决策过程开始,根据价值函数、策略函数求解贝尔曼方程,到利用深度学习模拟价值网络和策略网络。书中详细介绍了深度强化学习相关算法,如Rainbow、Ape-X算法等,并阐述了相关算法的具体实现方式和代表性应用(如AlphaGo)。此外,本书还深度剖析了强化学习各算法之间的联系,有助于读者举一反三。
本书分为四篇:初探强化学习、求解强化学习、求解强化学习进阶和深度强化学习。涉及基础理论到深度强化学习算法框架的各方面内容,反映了深度强化学习领域过去的发展历程和研究进展,有助于读者发现该领域中新的研究问题和方向。
作者简介
陈仲铭,西安电子科技大学硕士,OPPO研究院人工智能算法研究员。主要研究方向为强化学习与深度学习、数据挖掘、图像算法及其应用。曾参与激光点云三维扫描、个性化推荐系统、多传感器融合系统等大型项目,多次获创新项目奖,并在国内外发表多篇相关论文。此外,作为技术顾问为多家科研机构和企业提供关于数学建模、深度学习等方面的咨询和培训。著有《深度学习原理与实践》一书。
何明,重庆大学学士,中国科学技术大学博士,曾于美国北卡罗来纳大学夏洛特分校访问交流,目前为上海交通大学电子科学与技术方向博士后研究人员、OPPO研究院人工智能算法研究员。主要研究方向为深度强化学习、数据挖掘与知识发现、机器学习方法及其应用,侧重于移动端用户行为分析与建模。在TIP、TWEB、DASFAA、IEEE Access等国际学术会议和期刊共发表论文10余篇,曾获数据挖掘领域国际会议KSEM2018论文奖。
目录
- 第 1篇 初探强化学习
- 第 1章 强化学习绪论 3
- 1.1 初探强化学习 4
- 1.1.1 强化学习与机器学习 5
- 1.1.2 强化学习与监督学习的区别 6
- 1.1.3 历史发展 8
- 1.2 基础理论 10
- 1.2.1 组成元素 11
- 1.2.2 环境模型 12
- 1.2.3 探索与利用 12
- 1.2.4 预测与控制 13
- 1.2.5 强化学习的特点 14
- 1.3 应用案例 14
- 1.4 强化学习的思考 18
- 1.4.1 强化学习待解决问题 18
- 1.4.2 强化学习的突破点 23
- 1.5 小结 25
- 第 2章 数学基础及环境 26
- 2.1 简介 27
- 2.2 马尔可夫决策过程 27
- 2.2.1 马尔可夫性质 27
- 2.2.2 马尔可夫决策过程 27
- 2.3 强化学习的数学基础理论 29
- 2.3.1 策略 30
- 2.3.2 奖励 30
- 2.3.3 价值函数 31
- 2.4 求解强化学习 31
- 2.4.1 贝尔曼方程 31
- 2.4.2 *优值函数 32
- 2.4.3 *优策略 32
- 2.4.4 求解*优策略 33
- 2.5 示例:HelloGrid迷宫环境 36
- 2.5.1 初识OpenAI Gym库 37
- 2.5.2 建立HelloGrid环境 38
- 2.6 小结 43
- 第二篇 求解强化学习
- 第3章 动态规划法 47
- 3.1 动态规划 48
- 3.1.1 动态规划概述 48
- 3.1.2 动态规划与贝尔曼方程 48
- 3.2 策略评估 49
- 3.2.1 策略评估算法 49
- 3.2.2 策略评估算法实现 50
- 3.3 策略改进 54
- 3.4 策略迭代 56
- 3.4.1 策略迭代算法 57
- 3.4.2 策略迭代算法实现 58
- 3.5 值迭代 60
- 3.5.1 值迭代算法 61
- 3.5.2 值迭代算法实现 62
- 3.6 异步动态规划 64
- 3.6.1 In-Place动态规划 65
- 3.6.2 加权扫描动态规划 65
- 3.6.3 实时动态规划 66
- 3.7 讨论 66
- 3.8 小结 67
- 第4章 蒙特卡洛法 68
- 4.1 认识蒙特卡洛法 69
- 4.1.1 经验轨迹 69
- 4.1.2 蒙特卡洛法数学原理 74
- 4.1.3 蒙特卡洛法的特点 74
- 4.2 蒙特卡洛预测 74
- 4.2.1 蒙特卡洛预测算法 75
- 4.2.2 蒙特卡洛预测算法的实现 76
- 4.3 蒙特卡洛评估 80
- 4.4 蒙特卡洛控制 81
- 4.4.1 蒙特卡洛控制概述 82
- 4.4.2 起始点探索 84
- 4.4.3 非起始点探索 85
- 4.4.4 非固定策略 90
- 4.5 小结 96
- 第5章 时间差分法 98
- 5.1 时间差分概述 99
- 5.2 时间差分预测 99
- 5.2.1 时间差分预测原理 99
- 5.2.2 TD(λ)算法 101
- 5.2.3 时间差分预测特点 104
- 5.2.4 CartPole游戏 104
- 5.3 时间差分控制Sarsa算法 106
- 5.3.1 Sarsa算法原理 106
- 5.3.2 Sarsa算法实现 108
- 5.4 时间差分控制Q-learning算法 114
- 5.4.1 Q-learning算法原理 114
- 5.4.2 Q-learning算法实现 115
- 5.5 扩展时间差分控制法 121
- 5.5.1 期望Sarsa算法 121
- 5.5.2 Double Q-learning算法 121
- 5.6 比较强化学习求解法 123
- 5.7 小结 126
- 第三篇 求解强化学习进阶
- 第6章 值函数近似法 129
- 6.1 大规模强化学习 130
- 6.2 值函数近似法概述 131
- 6.2.1 函数近似 131
- 6.2.2 值函数近似的概念 133
- 6.2.3 值函数近似的类型 133
- 6.2.4 值函数近似的求解思路 134
- 6.3 值函数近似法原理 135
- 6.3.1 梯度下降算法 135
- 6.3.2 梯度下降与值函数近似 137
- 6.3.3 线性值函数近似法 138
- 6.4 值函数近似预测法 139
- 6.4.1 蒙特卡洛值函数近似预测法 139
- 6.4.2 时间差分TD(0)值函数近似预测法 140
- 6.4.3 TD(λ)值函数近似预测法 141
- 6.5 值函数近似控制法 142
- 6.5.1 值函数近似控制原理 143
- 6.5.2 爬山车游戏 143
- 6.5.3 Q-learning值函数近似 145
- 6.6 小结 156
- 第7章 策略梯度法 157
- 7.1 认识策略梯度法 158
- 7.1.1 策略梯度概述 158
- 7.1.2 策略梯度法与值函数近似法的区别 159
- 7.1.3 策略梯度法的优缺点 160
- 7.2 策略目标函数 161
- 7.2.1 起始价值 162
- 7.2.2 平均价值 162
- 7.2.3 时间步平均奖励 162
- 7.3 优化策略目标函数 163
- 7.3.1 策略梯度 163
- 7.3.2 评价函数 163
- 7.3.3 策略梯度定理 165
- 7.4 有限差分策略梯度法 165
- 7.5 蒙特卡洛策略梯度法 165
- 7.5.1 算法原理 166
- 7.5.2 算法实现 166
- 7.6 演员-评论家策略梯度法 177
- 7.6.1 算法原理 177
- 7.6.2 算法实现 179
- 7.7 小结 185
- 第8章 整合学习与规划 187
- 8.1 基于模型的强化学习概述 188
- 8.1.1 基于模型的强化学习 188
- 8.1.2 基于模型的优点 188
- 8.1.3 基于模型的缺点 189
- 8.2 学习与规划 189
- 8.2.1 学习过程 189
- 8.2.2 规划过程 191
- 8.3 架构整合 192
- 8.3.1 Dyna算法 193
- 8.3.2 优先遍历算法 194
- 8.3.3 期望更新和样本更新 196
- 8.4 基于模拟的搜索 196
- 8.4.1 蒙特卡洛搜索 197
- 8.4.2 蒙特卡洛树搜索 197
- 8.4.3 时间差分搜索 199
- 8.5 示例:国际象棋 199
- 8.5.1 国际象棋与强化学习 200
- 8.5.2 蒙特卡洛树搜索示例 201
- 8.6 小结 203
- 第四篇 深度强化学习
- 第9章 深度强化学习 207
- 9.1 深度学习概述 208
- 9.1.1 深度表征 208
- 9.1.2 深度神经网络 208
- 9.1.3 网络可训练 208
- 9.1.4 权值共享 210
- 9.2 深度神经网络(DNN) 210
- 9.2.1 基本单元——神经元 210
- 9.2.2 线性模型与激活函数 211
- 9.2.3 多层神经网络 212
- 9.2.4 训练与预测 213
- 9.3 卷积神经网络(CNN) 214
- 9.3.1 概述 214
- 9.3.2 卷积神经网络的核心操作 215
- 9.3.3 卷积神经网络的核心思想 218
- 9.4 循环神经网络(RNN) 220
- 9.4.1 序列数据建模 220
- 9.4.2 循环神经网络基本结构 221
- 9.4.3 循环神经网络模型详解 222
- 9.5 回顾强化学习 223
- 9.5.1 智能体和环境 224
- 9.5.2 基于价值的强化学习 225
- 9.5.3 基于策略的强化学习 225
- 9.5.4 基于模型的强化学习 225
- 9.6 深度强化学习 225
- 9.6.1 深度强化学习框架 226
- 9.6.2 深度强化学习应用 227
- 9.7 小结 230
- 第 10章 深度Q网络 231
- 10.1 DQN概述 232
- 10.1.1 深度学习与强化学习的差异对比 232
- 10.1.2 DQN算法简述 232
- 10.2 DQN算法核心思想 235
- 10.2.1 目标函数 235
- 10.2.2 目标网络 236
- 10.2.3 经验回放 236
- 10.3 DQN核心算法 237
- 10.3.1 DQN网络模型 237
- 10.3.2 DQN算法流程 239
- 10.3.3 DQN算法实现 243
- 10.4 DQN扩展 256
- 10.4.1 Double DQN 257
- 10.4.2 Prioritized DQN 257
- 10.4.3 Dueling DQN 258
- 10.5 小结 259
- 第 11章 深度强化学习算法框架 260
- 11.1 DDPG算法 261
- 11.1.1 背景介绍 261
- 11.1.2 基本概念及算法原理 262
- 11.1.3 DDPG实现框架及流程 264
- 11.2 A3C算法 268
- 11.2.1 背景介绍 269
- 11.2.2 A3C算法原理 269
- 11.2.3 异步实现框架及流程 272
- 11.2.4 实验效果 274
- 11.3 Rainbow算法 275
- 11.3.1 背景介绍 275
- 11.3.2 Rainbow算法流程 279
- 11.3.3 实验效果 280
- 11.4 Ape-X 算法 280
- 11.4.1 背景介绍 281
- 11.4.2 Ape-X算法架构 281
- 11.4.3 Ape-X算法流程 282
- 11.4.4 实验效果 284
- 11.5 小结 285
- 第 12章 从围棋AlphaGo到AlphaGo Zero 287
- 12.1 人工智能与围棋 288
- 12.1.1 强化学习与围棋 288
- 12.1.2 AlphaGo进化阶段 289
- 12.1.3 AlphaGo版本对比 290
- 12.2 AlphaGo算法详解 292
- 12.2.1 策略网络 293
- 12.2.2 价值网络 295
- 12.2.3 蒙特卡洛树搜索 296
- 12.2.4 实验结果 298
- 12.3 AlphaGo Zero算法详解 299
- 12.3.1 问题定义 299
- 12.3.2 联合网络 299
- 12.3.3 强化学习过程 300
- 12.3.4 蒙特卡洛树搜索 301
- 12.3.5 实验结果 303
- 12.4 思考 305
- 12.5 小结 305
- 附录部分
- 附录A 激活函数 309
- 附录B 损失函数 314
- 附录C 深度学习的超参数 319
- 附录D 深度学习的技巧 322
- 附录E 反向传播算法 329
- 参考文献 336