书籍详情
基于Python的强化学习
作者:[美]安德里亚·隆萨(Andrea Lonza)刘继红 王瑞文译
出版社:中国电力出版社
出版时间:2022-12-01
ISBN:9787519870379
定价:¥88.00
购买这本书可以去
内容简介
本书首先介绍在强化学习环境中工作所需的工具、库和设置,涵盖了强化学习的构成模块,深入探讨基于值的方法,如Q-learning和SARSA算法的应用。读者将学习如何结合使用Q-learning和神经网络来解决复杂问题。此外,在学习*d*dPG和TD3确定性算法之前,读者将学习策略梯度方法,如TRPO和PPO,以提高性能和稳定性。本书还介绍模仿学习的原理,以及Dagger如何教智能体飞行。读者将探索进化策略和黑盒优化技术。后,读者将掌握探索方法,如UCB和UCB1,并开发一个名为ESBAS的元算法。
作者简介
Andrea Lonza是一名深度学习工程师,对人工智能怀有极大的热情,渴望创造出具有智能行为的机器。他通过理论性的和工业应用性的机器学习项目获得了强化学习、自然语言处理和计算机视觉方面的专业知识。他还参加过几次Kaggle比赛,并取得了很好的成绩。他总是在寻找引人入胜的挑战,并喜欢证明自己。
目录
目录
前言
部分 算法与环境
第1章 强化学习概貌 2
1.1 强化学习导论 3
1.1.1 比较强化学习和监督学习 4
1.1.2 强化学习的历史 5
1.1.3 深度强化学习 6
1.2 强化学习的要素 7
1.2.1 策略 8
1.2.2 值函数 9
1.2.3 回报(奖励) 10
1.2.4 模型 11
1.3 强化学习的应用 11
1.3.1 游戏 11
1.3.2 机器人与工业4.0 12
1.3.3 机器学习 12
1.3.4 经济学与金融 13
1.3.5 医疗健康 13
1.3.6 智能交通系统 13
1.3.7 能源优化与智能电网 13
1.4 本章小结 13
1.5 思考题 14
1.6 延伸阅读 14
第2章 强化学习过程与OpenAI Gym 15
2.1 环境设置 15
2.1.1 安装OpenAI Gym 16
2.1.2 安装Roboschool 17
2.2 OpenAI Gym和强化学习过程 17
2.2.1 开发强化学习过程 18
2.2.2 了解空间概念 21
2.3 利用TesorFlow开发强化学习模型 22
2.3.1 张量 24
2.3.2 创建计算图 27
2.3.3 线性回归示例 28
2.4 TensorBoard介绍 32
2.5 强化学习环境 34
2.5.1 为什么需要不同的环境 35
2.5.2 开源环境 35
2.6 本章小结 37
2.7 思考题 37
2.8 延伸阅读 38
第3章 基于动态规划的问题求解 39
3.1 马尔可夫决策过程 39
3.1.1 策略 41
3.1.2 回报 41
3.1.3 值函数 42
3.1.4 贝尔曼方程 43
3.2 强化学习算法的类别 43
3.2.1 无模型算法 44
3.2.2 基于模型的强化学习 45
3.2.3 算法多样性 46
3.3 动态规划 46
3.3.1 策略评价与策略改进 47
3.3.2 策略迭代 48
3.3.3 值迭代 52
3.4 本章小结 55
3.5 思考题 55
3.6 延伸阅读 56
第二部分 无模型强化学习算法
第4章 Q-learning与SARSA的应用 58
4.1 无模型学习 58
4.1.1 已有经验 59
4.1.2 策略评价 59
4.1.3 探索问题 60
4.2 时间差分学习 60
4.2.1 时间差分更新 61
4.2.2 策略改进 61
4.2.3 比较蒙特卡罗和时间差分方法 62
4.3 SARSA 62
4.3.1 SARSA介绍 62
4.3.2 算法 62
4.4 应用SARSA解决Taxi-v2问题 63
4.5 Q-learning 69
4.5.1 理论 69
4.5.2 算法 70
4.6 应用Q-learning解决Taxi-v2问题 71
4.7 比较SARSA和Q-learning 74
4.8 本章小结 74
4.9 思考题 75
第5章 深度Q神经网络 76
5.1 深度神经网络与Q-learning 76
5.1.1 函数逼近 77
5.1.2 利用神经网络的Q-learning 77
5.1.3 深度Q-learning的不稳定性 78
5.2 DQN 79
5.2.1 解决方案 80
5.2.2 DQN算法 80
5.2.3 模型架构 82
5.3 用于Pong的DQN 83
5.3.1 雅达利游戏 84
5.3.2 预处理流程 84
5.3.3 DQN实现 87
5.3.4 结果 96
5.4 DQN变种 98
5.4.1 DDQN 98
5.4.2 竞争DQN 101
5.4.3 n步DQN 103
5.5 本章小结 104
5.6 思考题 105
5.7 延伸阅读 105
第6章 随机策略梯度优化 106
6.1 策略梯度方法 106
6.1.1 策略的梯度 107
6.1.2 策略梯度定理 108
6.1.3 梯度的计算 109
6.1.4 策略 109
6.1.5 在线策略梯度 111
6.2 了解REINFORCE算法 111
6.2.1 REINFORCE的实现 113
6.2.2 利用REINFORCE实现航天器着陆 117
6.3 带基线的REINFORCE算法 119
6.3.1 带基线的REINFORCE算法的原理 119
6.3.2 带基线的REINFORCE算法的实现 121
6.4 学习AC算法 122
6.4.1 让评判者帮助行动者学习 122
6.4.2 n步AC模型 123
6.4.3 AC算法的实现 124
6.4.4 用AC算法实现航天器着陆 127
6.4.5 高级AC算法以及提示和技巧 128
6.5 本章小结 129
6.6 思考题 129
6.7 延伸阅读 129
第7章 信赖域策略优化和近端策略优化 130
7.1 Roboschool 130
7.1.1 Roboschool介绍 130
7.1.2 连续系统的控制 131
7.2 自然策略梯度 134
7.2.1 自然策略梯度的直观理解 134
7.2.2 数学知识基础 136
7.2.3 自然梯度的计算复杂性 137
7.3 信赖域策略优化 138
7.3.1 TRPO算法 138
7.3.2 TRPO算法的实现 141
7.3.3 TRPO的应用 147
7.4 近端策略优化 148
7.4.1 PPO简述 149
7.4.2 PPO算法 149
7.4.3 TRPO算法的实现 150
7.4.4 PPO的应用 154
7.5 本章小结 155
7.6 思考题 155
7.7 延伸阅读 156
第8章 确定性策略梯度方法 157
8.1 策略梯度优化与Q-learning的结合 157
8.1.1 两类算法的优缺点 157
8.1.2 确定性策略梯度 158
8.2 深度确定性策略梯度 160
8.2.1 DDPG算法 161
8.2.2 DDPG算法的实现 163
8.2.3 DDPG应用于BipedalWalker-v2 167
8.3 双延迟深度确定性策略梯度 168
8.3.1 高估偏差问题 169
8.3.2 方差抑制问题 171
8.3.3 TD3应用于BipedalWalker 174
8.4 本章小结 175
8.5 思考题 176
8.6 延伸阅读 176
第三部分 超越无模型算法
第9章 基于模型的强化学习 178
9.1 基于模型的方法 178
9.1.1 基于模型的学习概述 179
9.1.2 基于模型的方法的优缺点 182
9.2 基于模型的学习与无模型学习的结合 183
9.2.1 有用的结合 183
9.2.2 利用图像构建模型 184
9.3 用于倒立摆的ME-TRPO 185
9.3.1 了解ME-TRPO 186
9.3.2 ME-TRPO的实现 187
9.3.3 RoboSchool实验 191
9.4 本章小结 193
9.5 思考题 194
9.6 延伸阅读 194
第10章 模仿学习与DAgger算法 195
10.1 技术要求 195
10.2 模仿学习 196
10.2.1 驾驶助手示例 197
10.2.2 模仿学习与强化学习对比 198
10.2.3 模仿学习中的专家作用 199
10.2.4 模仿学习的结构 199
10.3 Flappy Bird游戏 201
10.3.1 Flappy Bird介绍 201
10.3.2 如何利用环境 201
10.4 理解数据集聚合算法 202
10.4.1 DAgger算法 203
10.4.2 Dagger算法实现 204
10.4.3 Flappy Bird游戏结果分析 209
10.5 反向强化学习 210
10.6 本章小结 210
10.7 思考题 211
10.8 延伸阅读 211
第11章 黑盒优化算法 212
11.1 超越强化学习 212
11.1.1 强化学习简要回顾 212
11.1.2 替代方法 213
11.2 进化算法的核心 214
11.2.1 遗传算法 216
11.2.2 进化策略 217
11.3 可扩展的进化策略 218
11.3.1 核心思想 219
11.3.2 可扩展进化策略的实现 220
11.4 应用于LunarLander的可扩展进化策略 226
11.5 本章小结 227
11.6 思考题 228
11.7 延伸阅读 228
第12章 开发ESBAS算法 229
12.1 探索与利用 229
12.1.1 探索与利用介绍 229
12.1.2 多臂老虎机 231
12.2 探索的方法 232
12.2.1 ?贪婪策略 232
12.2.2 UCB算法 233
12.2.3 探索的复杂性 234
12.3 ESBAS 235
12.3.1 拆箱算法选择 235
12.3.2 ESBAS介绍 236
12.3.3 算法实现 237
12.3.4 解决Acrobot问题 241
12.4 本章小结 244
12.5 思考题 244
12.6 延伸阅读 245
第13章 应对强化学习挑战的实践 246
13.1 深度强化学习的实践 246
13.1.1 选择合适的算法 247
13.1.2 从0到1 248
13.2 深度强化学习的挑战 250
13.2.1 稳定性与可重现性 250
13.2.2 效率 251
13.2.3 泛化 251
13.3 先进技术 252
13.3.1 无监督强化学习 252
13.3.2 迁移学习 253
13.4 现实世界中的强化学习 255
13.4.1 现实挑战 256
13.4.2 弥合模拟与现实世界的差距 257
13.4.3 创建专有环境 257
13.5 强化学习的未来及其社会影响 258
13.6 本章小结 258
13.7 思考题 259
13.8 延伸阅读 259
附录 思考题参考答案 260
前言
部分 算法与环境
第1章 强化学习概貌 2
1.1 强化学习导论 3
1.1.1 比较强化学习和监督学习 4
1.1.2 强化学习的历史 5
1.1.3 深度强化学习 6
1.2 强化学习的要素 7
1.2.1 策略 8
1.2.2 值函数 9
1.2.3 回报(奖励) 10
1.2.4 模型 11
1.3 强化学习的应用 11
1.3.1 游戏 11
1.3.2 机器人与工业4.0 12
1.3.3 机器学习 12
1.3.4 经济学与金融 13
1.3.5 医疗健康 13
1.3.6 智能交通系统 13
1.3.7 能源优化与智能电网 13
1.4 本章小结 13
1.5 思考题 14
1.6 延伸阅读 14
第2章 强化学习过程与OpenAI Gym 15
2.1 环境设置 15
2.1.1 安装OpenAI Gym 16
2.1.2 安装Roboschool 17
2.2 OpenAI Gym和强化学习过程 17
2.2.1 开发强化学习过程 18
2.2.2 了解空间概念 21
2.3 利用TesorFlow开发强化学习模型 22
2.3.1 张量 24
2.3.2 创建计算图 27
2.3.3 线性回归示例 28
2.4 TensorBoard介绍 32
2.5 强化学习环境 34
2.5.1 为什么需要不同的环境 35
2.5.2 开源环境 35
2.6 本章小结 37
2.7 思考题 37
2.8 延伸阅读 38
第3章 基于动态规划的问题求解 39
3.1 马尔可夫决策过程 39
3.1.1 策略 41
3.1.2 回报 41
3.1.3 值函数 42
3.1.4 贝尔曼方程 43
3.2 强化学习算法的类别 43
3.2.1 无模型算法 44
3.2.2 基于模型的强化学习 45
3.2.3 算法多样性 46
3.3 动态规划 46
3.3.1 策略评价与策略改进 47
3.3.2 策略迭代 48
3.3.3 值迭代 52
3.4 本章小结 55
3.5 思考题 55
3.6 延伸阅读 56
第二部分 无模型强化学习算法
第4章 Q-learning与SARSA的应用 58
4.1 无模型学习 58
4.1.1 已有经验 59
4.1.2 策略评价 59
4.1.3 探索问题 60
4.2 时间差分学习 60
4.2.1 时间差分更新 61
4.2.2 策略改进 61
4.2.3 比较蒙特卡罗和时间差分方法 62
4.3 SARSA 62
4.3.1 SARSA介绍 62
4.3.2 算法 62
4.4 应用SARSA解决Taxi-v2问题 63
4.5 Q-learning 69
4.5.1 理论 69
4.5.2 算法 70
4.6 应用Q-learning解决Taxi-v2问题 71
4.7 比较SARSA和Q-learning 74
4.8 本章小结 74
4.9 思考题 75
第5章 深度Q神经网络 76
5.1 深度神经网络与Q-learning 76
5.1.1 函数逼近 77
5.1.2 利用神经网络的Q-learning 77
5.1.3 深度Q-learning的不稳定性 78
5.2 DQN 79
5.2.1 解决方案 80
5.2.2 DQN算法 80
5.2.3 模型架构 82
5.3 用于Pong的DQN 83
5.3.1 雅达利游戏 84
5.3.2 预处理流程 84
5.3.3 DQN实现 87
5.3.4 结果 96
5.4 DQN变种 98
5.4.1 DDQN 98
5.4.2 竞争DQN 101
5.4.3 n步DQN 103
5.5 本章小结 104
5.6 思考题 105
5.7 延伸阅读 105
第6章 随机策略梯度优化 106
6.1 策略梯度方法 106
6.1.1 策略的梯度 107
6.1.2 策略梯度定理 108
6.1.3 梯度的计算 109
6.1.4 策略 109
6.1.5 在线策略梯度 111
6.2 了解REINFORCE算法 111
6.2.1 REINFORCE的实现 113
6.2.2 利用REINFORCE实现航天器着陆 117
6.3 带基线的REINFORCE算法 119
6.3.1 带基线的REINFORCE算法的原理 119
6.3.2 带基线的REINFORCE算法的实现 121
6.4 学习AC算法 122
6.4.1 让评判者帮助行动者学习 122
6.4.2 n步AC模型 123
6.4.3 AC算法的实现 124
6.4.4 用AC算法实现航天器着陆 127
6.4.5 高级AC算法以及提示和技巧 128
6.5 本章小结 129
6.6 思考题 129
6.7 延伸阅读 129
第7章 信赖域策略优化和近端策略优化 130
7.1 Roboschool 130
7.1.1 Roboschool介绍 130
7.1.2 连续系统的控制 131
7.2 自然策略梯度 134
7.2.1 自然策略梯度的直观理解 134
7.2.2 数学知识基础 136
7.2.3 自然梯度的计算复杂性 137
7.3 信赖域策略优化 138
7.3.1 TRPO算法 138
7.3.2 TRPO算法的实现 141
7.3.3 TRPO的应用 147
7.4 近端策略优化 148
7.4.1 PPO简述 149
7.4.2 PPO算法 149
7.4.3 TRPO算法的实现 150
7.4.4 PPO的应用 154
7.5 本章小结 155
7.6 思考题 155
7.7 延伸阅读 156
第8章 确定性策略梯度方法 157
8.1 策略梯度优化与Q-learning的结合 157
8.1.1 两类算法的优缺点 157
8.1.2 确定性策略梯度 158
8.2 深度确定性策略梯度 160
8.2.1 DDPG算法 161
8.2.2 DDPG算法的实现 163
8.2.3 DDPG应用于BipedalWalker-v2 167
8.3 双延迟深度确定性策略梯度 168
8.3.1 高估偏差问题 169
8.3.2 方差抑制问题 171
8.3.3 TD3应用于BipedalWalker 174
8.4 本章小结 175
8.5 思考题 176
8.6 延伸阅读 176
第三部分 超越无模型算法
第9章 基于模型的强化学习 178
9.1 基于模型的方法 178
9.1.1 基于模型的学习概述 179
9.1.2 基于模型的方法的优缺点 182
9.2 基于模型的学习与无模型学习的结合 183
9.2.1 有用的结合 183
9.2.2 利用图像构建模型 184
9.3 用于倒立摆的ME-TRPO 185
9.3.1 了解ME-TRPO 186
9.3.2 ME-TRPO的实现 187
9.3.3 RoboSchool实验 191
9.4 本章小结 193
9.5 思考题 194
9.6 延伸阅读 194
第10章 模仿学习与DAgger算法 195
10.1 技术要求 195
10.2 模仿学习 196
10.2.1 驾驶助手示例 197
10.2.2 模仿学习与强化学习对比 198
10.2.3 模仿学习中的专家作用 199
10.2.4 模仿学习的结构 199
10.3 Flappy Bird游戏 201
10.3.1 Flappy Bird介绍 201
10.3.2 如何利用环境 201
10.4 理解数据集聚合算法 202
10.4.1 DAgger算法 203
10.4.2 Dagger算法实现 204
10.4.3 Flappy Bird游戏结果分析 209
10.5 反向强化学习 210
10.6 本章小结 210
10.7 思考题 211
10.8 延伸阅读 211
第11章 黑盒优化算法 212
11.1 超越强化学习 212
11.1.1 强化学习简要回顾 212
11.1.2 替代方法 213
11.2 进化算法的核心 214
11.2.1 遗传算法 216
11.2.2 进化策略 217
11.3 可扩展的进化策略 218
11.3.1 核心思想 219
11.3.2 可扩展进化策略的实现 220
11.4 应用于LunarLander的可扩展进化策略 226
11.5 本章小结 227
11.6 思考题 228
11.7 延伸阅读 228
第12章 开发ESBAS算法 229
12.1 探索与利用 229
12.1.1 探索与利用介绍 229
12.1.2 多臂老虎机 231
12.2 探索的方法 232
12.2.1 ?贪婪策略 232
12.2.2 UCB算法 233
12.2.3 探索的复杂性 234
12.3 ESBAS 235
12.3.1 拆箱算法选择 235
12.3.2 ESBAS介绍 236
12.3.3 算法实现 237
12.3.4 解决Acrobot问题 241
12.4 本章小结 244
12.5 思考题 244
12.6 延伸阅读 245
第13章 应对强化学习挑战的实践 246
13.1 深度强化学习的实践 246
13.1.1 选择合适的算法 247
13.1.2 从0到1 248
13.2 深度强化学习的挑战 250
13.2.1 稳定性与可重现性 250
13.2.2 效率 251
13.2.3 泛化 251
13.3 先进技术 252
13.3.1 无监督强化学习 252
13.3.2 迁移学习 253
13.4 现实世界中的强化学习 255
13.4.1 现实挑战 256
13.4.2 弥合模拟与现实世界的差距 257
13.4.3 创建专有环境 257
13.5 强化学习的未来及其社会影响 258
13.6 本章小结 258
13.7 思考题 259
13.8 延伸阅读 259
附录 思考题参考答案 260
猜您喜欢