书籍详情
深度强化学习原理与实践
作者:陈仲铭,何明 著
出版社:人民邮电出版社
出版时间:2019-05-01
ISBN:9787115505323
定价:¥99.00
购买这本书可以去
内容简介
本书构建了一个完整的深度强化学习理论和实践体系:从马尔可夫决策过程开始,根据价值函数、策略函数求解贝尔曼方程,到利用深度学习模拟价值网络和策略网络。书中详细介绍了深度强化学习相关算法,如Rainbow、Ape-X算法等,并阐述了相关算法的具体实现方式和代表性应用(如AlphaGo)。此外,本书还深度剖析了强化学习各算法之间的联系,有助于读者举一反三。本书分为四篇:初探强化学习、求解强化学习、求解强化学习进阶和深度强化学习。涉及基础理论到深度强化学习算法框架的各方面内容,反映了深度强化学习领域过去的发展历程和研究进展,有助于读者发现该领域中新的研究问题和方向。
作者简介
陈仲铭,西安电子科技大学硕士,OPPO研究院人工智能算法研究员。主要研究方向为强化学习与深度学习、数据挖掘、图像算法及其应用。曾参与激光点云三维扫描、个性化推荐系统、多传感器融合系统等大型项目,多次获创新项目奖,并在国内外发表多篇相关论文。此外,作为技术顾问为多家科研机构和企业提供关于数学建模、深度学习等方面的咨询和培训。著有《深度学习原理与实践》一书。何明,重庆大学学士,中国科学技术大学博士,曾于美国北卡罗来纳大学夏洛特分校访问交流,目前为上海交通大学电子科学与技术方向博士后研究人员、OPPO研究院人工智能算法研究员。主要研究方向为深度强化学习、数据挖掘与知识发现、机器学习方法及其应用,侧重于移动端用户行为分析与建模。在TIP、TWEB、DASFAA、IEEE Access等国际学术会议和期刊共发表论文10余篇,曾获数据挖掘领域国际会议KSEM2018论文奖。
目录
第 一篇 初探强化学习
第 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
第 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
猜您喜欢