书籍详情
强化学习基础、原理与应用

作者:张百珂
出版社:清华大学出版社
出版时间:2025-05-01
ISBN:9787302685913
定价:¥99.00
购买这本书可以去
内容简介
《强化学习基础、原理与应用》循序渐进地讲解了使用Python语言实现强化学习的核心算法开发的知识,内容涵盖了数据处理、算法、大模型等知识,并通过具体实例的实现过程演练了各个知识点的使用方法和使用流程。《强化学习基础、原理与应用》共分为17章,主要内容包括强化学习基础、马尔可夫决策过程、蒙特卡洛方法、Q-learning与贝尔曼方程、时序差分学习和SARSA算法、DQN算法、DDQN算法、竞争DQN算法、REINFORCE算法、Actor-Critic算法、PPO算法、TRPO算法、连续动作空间的强化学习、值分布式算法、基于模型的强化学习、多智能体强化学习实战:Predator-Prey 游戏及自动驾驶系统。本书内容简洁而不失技术深度,以极简的文字介绍了复杂的案例,易于阅读和理解。《强化学习基础、原理与应用》适用于已经了解Python语言基础语法的读者,想进一步学习强化学习、机器学习、深度学习及相关技术的读者,还可作为大专院校相关专业的师生用书和培训机构的教材使用。
作者简介
张百珂,计算机硕士,前百度云研发工程师,在大规模机器学习、深度学习、数据搜索、行业垂直应用、研发管理等领域拥有丰富经验。在企业智能化转型、业务线上化经营,拥有丰富的大规模搜索架构、个性化推荐架构、机器学习系统架构经验和技术团队管理经验。现在从事与城市大数据中心的开发和建设工作,将深度学习运用到数字经济利领域。
目录
第1章 强化学习基础 1
1.1 强化学习概述 2
1.1.1 强化学习的背景 2
1.1.2 强化学习的核心特点 3
1.1.3 强化学习与其他机器学习方法的区别 3
1.2 强化学习的应用领域 4
1.2.1 机器人控制与路径规划 4
1.2.2 游戏与虚拟环境 5
1.2.3 金融与投资决策 6
1.2.4 自动驾驶与智能交通 6
1.2.5 自然语言处理 7
1.3 强化学习中的常用概念 8
1.3.1 智能体、环境与交互 8
1.3.2 奖励与回报的概念 9
1.3.3 马尔可夫性质与马尔可夫决策过程 9
1.3.4 策略与价值函数 10
第2章 马尔可夫决策过程 11
2.1 马尔可夫决策过程的定义 12
2.1.1 马尔可夫决策过程的核心思想 12
2.1.2 马尔可夫决策过程的形式化定义 12
2.2 马尔可夫决策过程的组成要素 13
2.2.1 状态空间与状态的定义 13
2.2.2 行动空间与行动的定义 14
2.2.3 奖励函数的作用与定义 14
2.2.4 转移概率函数的意义与定义 15
2.2.5 实例分析:构建一个简单的MDP 16
2.3 值函数与策略 18
2.3.1 值函数与策略的定义 18
2.3.2 值函数与策略的用法举例 18
2.4 贝尔曼方程 20
2.4.1 贝尔曼预测方程与策略评估 20
2.4.2 贝尔曼最优性方程与值函数之间的关系 22
2.4.3 贝尔曼最优性方程与策略改进 25
2.4.4 动态规划与贝尔曼方程的关系 28
2.4.5 贝尔曼方程在强化学习中的应用 29
第3章 蒙特卡洛方法 35
3.1 蒙特卡洛预测 36
3.1.1 蒙特卡洛预测的核心思想 36
3.1.2 蒙特卡洛预测的步骤与流程 36
3.1.3 蒙特卡洛预测的样本更新与更新规则 37
3.2 蒙特卡洛控制 39
3.2.1 蒙特卡洛控制的目标与意义 39
3.2.2 蒙特卡洛控制的策略评估与改进 40
3.2.3 蒙特卡洛控制的更新规则与收敛性 43
3.3 探索与策略改进 45
3.3.1 探索与利用的平衡再探讨 46
3.3.2 贪婪策略与? -贪婪策略的比较 47
3.3.3 改进探索策略的方法 50
3.3.4 探索策略对蒙特卡洛方法的影响 52
第4章 Q-learning与贝尔曼方程 55
4.1 Q-learning算法的原理 56
4.1.1 Q-learning的动作值函数 56
4.1.2 Q-learning算法中的贪婪策略与探索策略 58
4.1.3 Q-learning算法的收敛性与收敛条件 60
4.2 贝尔曼方程在Q-learning算法中的应用 62
4.2.1 Q-learning算法与贝尔曼最优性方程的关系 63
4.2.2 贝尔曼方程的迭代计算与收敛 65
4.2.3 Q-learning算法中贝尔曼方程的实际应用 67
4.3 强化学习中的Q-learning 69
4.3.1 ? -贪婪策略与探索的关系 70
4.3.2 Q-learning中探索策略的变化与优化 73
4.3.3 探索策略对Q-learning性能的影响分析 78
4.3.4 使用Q-learning寻找某股票的买卖点 79
第5章 时序差分学习和SARSA算法 83
5.1 时序差分预测 84
5.1.1 时序差分预测的核心思想 84
5.1.2 时序差分预测的基本公式 84
5.1.3 时序差分预测与状态值函数 85
5.1.4 时序差分预测的实例分析 86
5.2 SARSA算法 88
5.2.1 SARSA算法的核心原理和步骤 88
5.2.2 SARSA算法的更新规则 90
5.2.3 SARSA算法的收敛性与收敛条件 93
5.2.4 SARSA算法实例分析 95
5.3 Q-learning算法的时序差分更新 99
5.3.1 时序差分学习与Q-learning的结合 99
5.3.2 Q-learning的时序差分更新算法 101
第6章 DQN算法 105
6.1 引言与背景 106
6.2 DQN算法的基本原理 106
6.3 DQN的网络结构与训练过程 110
6.3.1 DQN的神经网络结构 110
6.3.2 DQN算法的训练过程 112
6.3.3 经验回放 114
6.3.4 目标网络 116
6.4 DQN算法的优化与改进 117
6.4.1 DDQN 117
6.4.2 竞争DQN 118
6.4.3 优先经验回放 122
6.5 基于DQN算法的自动驾驶程序 123
6.5.1 项目介绍 123
6.5.2 具体实现 124
第7章 DDQN算法 133
7.1 DDQN对标准DQN的改进 134
7.2 双重深度Q网络的优势 134
7.3 《超级马里奥》游戏的DDQN强化学习实战 135
7.3.1 项目介绍 135
7.3.2 gym_super_mario_bros库的介绍 136
7.3.3 环境预处理 136
7.3.4 创建DDQN模型 139
7.3.5 模型训练和测试 143
第8章 竞争DQN算法 149
8.1 竞争DQN 算法原理 150
8.1.1 竞争DQN算法的动机和核心思想 150
8.1.2 竞争DQN 网络架构 150
8.2 竞争DQN的优势与改进 151
8.2.1 分离状态价值和动作优势的好处 151
8.2.2 优化训练效率与稳定性 152
8.2.3 解决过度估计问题的潜力 152
8.3 股票交易策略系统 153
8.3.1 项目介绍 153
8.3.2 数据准备 154
8.3.3 数据拆分与时间序列 154
8.3.4 Environment(环境) 156
8.3.5 DQN算法实现 157
8.3.6 DDQN算法的实现 163
8.3.7 竞争DQN算法的实现 167
第9章 REINFORCE算法 173
9.1 策略梯度介绍 174
9.1.1 策略梯度的重要概念和特点 174
9.1.2 策略梯度定理的数学推导 175
9.2 REINFORCE算法基础 175
9.2.1 REINFORCE算法的基本原理 176
9.2.2 REINFORCE算法的更新规则 179
9.2.3 基线函数与REINFORCE算法的优化 180
第10章 Actor-Critic算法 187
10.1 Actor-Critic算法的介绍与原理 188
10.1.1 强化学习中的策略梯度方法 188
10.1.2 Actor-Critic算法框架概述 189
10.1.3 Actor-Critic算法实战:手推购物车游戏 189
10.2 A2C算法 197
10.2.1 A2C算法的基本思想 198
10.2.2 优势函数的引入 198
10.2.3 A2C算法的训练流程 199
10.2.4 A2C算法实战 200
10.3 SAC算法 202
10.3.1 SAC算法的核心思想 202
10.3.2 熵的作用及其在SAC算法中的应用 203
10.3.3 SAC算法实战 204
10.4 A3C算法 206
10.4.1 A3C算法的核心思想 206
10.4.2 A3C算法的训练过程 207
10.4.3 A3C算法实战 207
第11章 PPO算法 211
11.1 PPO算法的背景与概述 212
11.1.1 强化学习中的策略优化方法 212
11.1.2 PPO算法的优点与应用领域 213
11.2 PPO算法的核心原理 213
11.2.1 PPO算法的基本思想 213
11.2.2 目标函数与优化策略的关系 214
11.2.3 PPO算法中的策略梯度计算 215
11.3 PPO算法的实现与调参 215
11.3.1 策略网络结构的设计 215
11.3.2 超参数的选择与调整 218
11.4 PPO算法的变种与改进 221
11.4.1 PPO-Clip算法 221
11.4.2 PPO-Penalty算法 224
11.4.3 PPO2算法 230
第12章 TRPO算法 233
12.1 TRPO算法的意义 234
12.2 TRPO算法的核心原理 234
12.2.1 TRPO算法的步骤 234
12.2.2 信任区域的概念与引入 237
12.2.3 目标函数与约束条件的构建 237
12.2.4 TRPO算法中的策略梯度计算 238
12.3 TRPO算法的变种与改进 241
12.3.1 TRPO-Clip算法 241
12.3.2 TRPO-Penalty算法 243
12.4 TRPO算法优化实战:基于矩阵低秩分解的TRPO 245
12.4.1 优化策略:NN-TRPO和TRLRPO 246
12.4.2 经验数据管理和状态空间离散化 246
12.4.3 定义环境 247
12.4.4 创建强化学习模型 247
12.4.5 创建Agent 248
12.4.6 评估TRPO算法在Acrobot 环境中的性能 249
12.4.7 评估TRPO算法在MountainCarContinuous-v0环境中的性能 250
12.4.8 评估TRPO算法在CustomPendulumEnv环境中的性能 251
12.4.9 性能可视化 251
第13章 连续动作空间的强化学习 253
13.1 连续动作空间强化学习基础 254
13.1.1 连续动作空间介绍 254
13.1.2 动作幅度问题与采样效率问题 255
13.1.3 连续动作空间中的探索问题 255
13.2 DDPG算法 256
13.2.1 DDPG算法的特点 256
13.2.2 DDPG算法在连续动作空间中的优势 257
13.2.3 DDPG算法的实现步骤与网络结构 257
13.2.4 DDPG算法中的经验回放与探索策略 262
13.3 DDPG算法综合实战:基于强化学习的股票交易策略 266
13.3.1 项目介绍 266
13.3.2 准备开发环境 266
13.3.3 下载数据 268
13.3.4 数据预处理 270
13.3.5 构建环境 271
13.3.6 实现深度强化学习算法 273
13.3.7 性能回测 276
第14章 值分布式算法 281
14.1 值分布式算法基础 282
14.1.1 值分布式算法的背景与优势 282
14.1.2 值分布式算法的基本概念 282
14.1.3 强化学习中的值函数表示问题 283
14.1.4 常用的值分布式算法 284
14.2 C51算法 284
14.2.1 C51算法的基本原理 284
14.2.2 C51算法的网络架构 285
14.2.3 C51算法的训练流程 285
14.2.4 C51算法的试验与性能评估 286
14.2.5 使用 TF-Agents训练C51代理 287
14.3 QR-DQN算法 291
14.3.1 QR-DQN算法的核心思想 292
14.3.2 QR-DQN算法的实现步骤 292
14.3.3 QR-DQN算法实战 293
14.4 FPQF算法 295
14.4.1 FPQF算法的核心思想 295
14.4.2 FPQF算法的实现步骤 295
14.4.3 FPQF算法实战 296
14.5 IQN算法 298
14.5.1 IQN 算法的原理与背景 298
14.5.2 IQN算法实战 299
第15章 基于模型的强化学习 301
15.1 基于模型的强化学习基础 302
15.1.1 基于模型的强化学习简介 302
15.1.2 模型的种类与构建方法 302
15.1.3 基于模型的强化学习算法 303
15.2 模型预测控制 304
15.2.1 模型预测控制介绍 304
15.2.2 模型预测控制实战 305
15.3 蒙特卡洛树搜索算法 307
15.3.1 MCTS算法介绍 307
15.3.2 MCTS算法实战 308
15.4 MBPO算法 309
15.4.1 MBPO算法介绍 310
15.4.2 MBPO算法实战 310
15.5 PlaNet算法 313
15.5.1 PlaNet算法介绍 313
15.5.2 PlaNet算法实战 314
第16章 多智能体强化学习实战:Predator-Prey游戏 319
16.1 Predator-Prey游戏介绍 320
16.2 背景介绍 320
16.3 功能模块介绍 321
16.4 环境准备 321
16.4.1 安装OpenAI gymnasium 322
16.4.2 导入库 322
16.5 捕食者-猎物(Predator-Prey)的环境 322
16.5.1 定义自定义强化学习环境类 323
16.5.2 定义自定义强化学习环境类 324
16.5.3 环境重置 325
16.5.4 计算捕食者和猎物的奖励 325
16.5.5 判断回合是否结束 326
16.5.6 检查动作的合法性 326
16.5.7 记录和获取状态历史 326
16.5.8 实现step方法 327
16.5.9 生成视图帧 328
16.5.10 渲染环境的视图 328
16.6 第二个环境 329
16.7 随机智能体 333
16.7.1 应用场景 334
16.7.2 实现随机智能体 334
16.8 DDPG算法的实现 335
16.8.1 信息存储 335
16.8.2 实现Actor模型 336
16.8.3 实现Critic模型 337
16.8.4 实现DDPG智能体 338
16.9 训练模型 341
16.9.1 环境初始化 342
16.9.2 创建智能体 342
16.9.3 训练循环 343
16.9.4 保存模型 345
16.9.5 训练结果可视化 345
第17章 自动驾驶系统 347
17.1 自动驾驶背景介绍 348
17.2 项目介绍 348
17.2.1 功能介绍 348
17.2.2 模块结构 349
17.3 环境准备 349
17.4 配置文件 350
17.5 准备数据文件 353
17.5.1 Carla数据处理与转换 353
17.5.2 加载、处理数据 356
17.5.3 收集、处理数据 357
17.5.4 创建数据集 362
17.6 深度学习模型 363
17.6.1 编码器 363
17.6.2 变分自编码器 368
17.6.3 定义强化学习模型 368
17.7 强化学习 371
17.7.1 强化学习工具类的实现 371
17.7.2 经验回放存储的实现 372
17.7.3 深度强化学习智能体的实现 373
17.7.4 使用SAC算法的强化学习代理的实现 375
17.7.5 实现DDPG用于强化学习 381
17.8 调用处理 384
17.8.1 生成训练数据 384
17.8.2 训练模型 385
17.8.3 收集Carla环境中的专家驾驶数据 387
17.8.4 训练自动驾驶的强化学习代理 390
17.8.5 训练DDPG智能体执行自动驾驶任务 392
17.8.6 评估自动驾驶模型的性能 393
17.9 调试运行 393
1.1 强化学习概述 2
1.1.1 强化学习的背景 2
1.1.2 强化学习的核心特点 3
1.1.3 强化学习与其他机器学习方法的区别 3
1.2 强化学习的应用领域 4
1.2.1 机器人控制与路径规划 4
1.2.2 游戏与虚拟环境 5
1.2.3 金融与投资决策 6
1.2.4 自动驾驶与智能交通 6
1.2.5 自然语言处理 7
1.3 强化学习中的常用概念 8
1.3.1 智能体、环境与交互 8
1.3.2 奖励与回报的概念 9
1.3.3 马尔可夫性质与马尔可夫决策过程 9
1.3.4 策略与价值函数 10
第2章 马尔可夫决策过程 11
2.1 马尔可夫决策过程的定义 12
2.1.1 马尔可夫决策过程的核心思想 12
2.1.2 马尔可夫决策过程的形式化定义 12
2.2 马尔可夫决策过程的组成要素 13
2.2.1 状态空间与状态的定义 13
2.2.2 行动空间与行动的定义 14
2.2.3 奖励函数的作用与定义 14
2.2.4 转移概率函数的意义与定义 15
2.2.5 实例分析:构建一个简单的MDP 16
2.3 值函数与策略 18
2.3.1 值函数与策略的定义 18
2.3.2 值函数与策略的用法举例 18
2.4 贝尔曼方程 20
2.4.1 贝尔曼预测方程与策略评估 20
2.4.2 贝尔曼最优性方程与值函数之间的关系 22
2.4.3 贝尔曼最优性方程与策略改进 25
2.4.4 动态规划与贝尔曼方程的关系 28
2.4.5 贝尔曼方程在强化学习中的应用 29
第3章 蒙特卡洛方法 35
3.1 蒙特卡洛预测 36
3.1.1 蒙特卡洛预测的核心思想 36
3.1.2 蒙特卡洛预测的步骤与流程 36
3.1.3 蒙特卡洛预测的样本更新与更新规则 37
3.2 蒙特卡洛控制 39
3.2.1 蒙特卡洛控制的目标与意义 39
3.2.2 蒙特卡洛控制的策略评估与改进 40
3.2.3 蒙特卡洛控制的更新规则与收敛性 43
3.3 探索与策略改进 45
3.3.1 探索与利用的平衡再探讨 46
3.3.2 贪婪策略与? -贪婪策略的比较 47
3.3.3 改进探索策略的方法 50
3.3.4 探索策略对蒙特卡洛方法的影响 52
第4章 Q-learning与贝尔曼方程 55
4.1 Q-learning算法的原理 56
4.1.1 Q-learning的动作值函数 56
4.1.2 Q-learning算法中的贪婪策略与探索策略 58
4.1.3 Q-learning算法的收敛性与收敛条件 60
4.2 贝尔曼方程在Q-learning算法中的应用 62
4.2.1 Q-learning算法与贝尔曼最优性方程的关系 63
4.2.2 贝尔曼方程的迭代计算与收敛 65
4.2.3 Q-learning算法中贝尔曼方程的实际应用 67
4.3 强化学习中的Q-learning 69
4.3.1 ? -贪婪策略与探索的关系 70
4.3.2 Q-learning中探索策略的变化与优化 73
4.3.3 探索策略对Q-learning性能的影响分析 78
4.3.4 使用Q-learning寻找某股票的买卖点 79
第5章 时序差分学习和SARSA算法 83
5.1 时序差分预测 84
5.1.1 时序差分预测的核心思想 84
5.1.2 时序差分预测的基本公式 84
5.1.3 时序差分预测与状态值函数 85
5.1.4 时序差分预测的实例分析 86
5.2 SARSA算法 88
5.2.1 SARSA算法的核心原理和步骤 88
5.2.2 SARSA算法的更新规则 90
5.2.3 SARSA算法的收敛性与收敛条件 93
5.2.4 SARSA算法实例分析 95
5.3 Q-learning算法的时序差分更新 99
5.3.1 时序差分学习与Q-learning的结合 99
5.3.2 Q-learning的时序差分更新算法 101
第6章 DQN算法 105
6.1 引言与背景 106
6.2 DQN算法的基本原理 106
6.3 DQN的网络结构与训练过程 110
6.3.1 DQN的神经网络结构 110
6.3.2 DQN算法的训练过程 112
6.3.3 经验回放 114
6.3.4 目标网络 116
6.4 DQN算法的优化与改进 117
6.4.1 DDQN 117
6.4.2 竞争DQN 118
6.4.3 优先经验回放 122
6.5 基于DQN算法的自动驾驶程序 123
6.5.1 项目介绍 123
6.5.2 具体实现 124
第7章 DDQN算法 133
7.1 DDQN对标准DQN的改进 134
7.2 双重深度Q网络的优势 134
7.3 《超级马里奥》游戏的DDQN强化学习实战 135
7.3.1 项目介绍 135
7.3.2 gym_super_mario_bros库的介绍 136
7.3.3 环境预处理 136
7.3.4 创建DDQN模型 139
7.3.5 模型训练和测试 143
第8章 竞争DQN算法 149
8.1 竞争DQN 算法原理 150
8.1.1 竞争DQN算法的动机和核心思想 150
8.1.2 竞争DQN 网络架构 150
8.2 竞争DQN的优势与改进 151
8.2.1 分离状态价值和动作优势的好处 151
8.2.2 优化训练效率与稳定性 152
8.2.3 解决过度估计问题的潜力 152
8.3 股票交易策略系统 153
8.3.1 项目介绍 153
8.3.2 数据准备 154
8.3.3 数据拆分与时间序列 154
8.3.4 Environment(环境) 156
8.3.5 DQN算法实现 157
8.3.6 DDQN算法的实现 163
8.3.7 竞争DQN算法的实现 167
第9章 REINFORCE算法 173
9.1 策略梯度介绍 174
9.1.1 策略梯度的重要概念和特点 174
9.1.2 策略梯度定理的数学推导 175
9.2 REINFORCE算法基础 175
9.2.1 REINFORCE算法的基本原理 176
9.2.2 REINFORCE算法的更新规则 179
9.2.3 基线函数与REINFORCE算法的优化 180
第10章 Actor-Critic算法 187
10.1 Actor-Critic算法的介绍与原理 188
10.1.1 强化学习中的策略梯度方法 188
10.1.2 Actor-Critic算法框架概述 189
10.1.3 Actor-Critic算法实战:手推购物车游戏 189
10.2 A2C算法 197
10.2.1 A2C算法的基本思想 198
10.2.2 优势函数的引入 198
10.2.3 A2C算法的训练流程 199
10.2.4 A2C算法实战 200
10.3 SAC算法 202
10.3.1 SAC算法的核心思想 202
10.3.2 熵的作用及其在SAC算法中的应用 203
10.3.3 SAC算法实战 204
10.4 A3C算法 206
10.4.1 A3C算法的核心思想 206
10.4.2 A3C算法的训练过程 207
10.4.3 A3C算法实战 207
第11章 PPO算法 211
11.1 PPO算法的背景与概述 212
11.1.1 强化学习中的策略优化方法 212
11.1.2 PPO算法的优点与应用领域 213
11.2 PPO算法的核心原理 213
11.2.1 PPO算法的基本思想 213
11.2.2 目标函数与优化策略的关系 214
11.2.3 PPO算法中的策略梯度计算 215
11.3 PPO算法的实现与调参 215
11.3.1 策略网络结构的设计 215
11.3.2 超参数的选择与调整 218
11.4 PPO算法的变种与改进 221
11.4.1 PPO-Clip算法 221
11.4.2 PPO-Penalty算法 224
11.4.3 PPO2算法 230
第12章 TRPO算法 233
12.1 TRPO算法的意义 234
12.2 TRPO算法的核心原理 234
12.2.1 TRPO算法的步骤 234
12.2.2 信任区域的概念与引入 237
12.2.3 目标函数与约束条件的构建 237
12.2.4 TRPO算法中的策略梯度计算 238
12.3 TRPO算法的变种与改进 241
12.3.1 TRPO-Clip算法 241
12.3.2 TRPO-Penalty算法 243
12.4 TRPO算法优化实战:基于矩阵低秩分解的TRPO 245
12.4.1 优化策略:NN-TRPO和TRLRPO 246
12.4.2 经验数据管理和状态空间离散化 246
12.4.3 定义环境 247
12.4.4 创建强化学习模型 247
12.4.5 创建Agent 248
12.4.6 评估TRPO算法在Acrobot 环境中的性能 249
12.4.7 评估TRPO算法在MountainCarContinuous-v0环境中的性能 250
12.4.8 评估TRPO算法在CustomPendulumEnv环境中的性能 251
12.4.9 性能可视化 251
第13章 连续动作空间的强化学习 253
13.1 连续动作空间强化学习基础 254
13.1.1 连续动作空间介绍 254
13.1.2 动作幅度问题与采样效率问题 255
13.1.3 连续动作空间中的探索问题 255
13.2 DDPG算法 256
13.2.1 DDPG算法的特点 256
13.2.2 DDPG算法在连续动作空间中的优势 257
13.2.3 DDPG算法的实现步骤与网络结构 257
13.2.4 DDPG算法中的经验回放与探索策略 262
13.3 DDPG算法综合实战:基于强化学习的股票交易策略 266
13.3.1 项目介绍 266
13.3.2 准备开发环境 266
13.3.3 下载数据 268
13.3.4 数据预处理 270
13.3.5 构建环境 271
13.3.6 实现深度强化学习算法 273
13.3.7 性能回测 276
第14章 值分布式算法 281
14.1 值分布式算法基础 282
14.1.1 值分布式算法的背景与优势 282
14.1.2 值分布式算法的基本概念 282
14.1.3 强化学习中的值函数表示问题 283
14.1.4 常用的值分布式算法 284
14.2 C51算法 284
14.2.1 C51算法的基本原理 284
14.2.2 C51算法的网络架构 285
14.2.3 C51算法的训练流程 285
14.2.4 C51算法的试验与性能评估 286
14.2.5 使用 TF-Agents训练C51代理 287
14.3 QR-DQN算法 291
14.3.1 QR-DQN算法的核心思想 292
14.3.2 QR-DQN算法的实现步骤 292
14.3.3 QR-DQN算法实战 293
14.4 FPQF算法 295
14.4.1 FPQF算法的核心思想 295
14.4.2 FPQF算法的实现步骤 295
14.4.3 FPQF算法实战 296
14.5 IQN算法 298
14.5.1 IQN 算法的原理与背景 298
14.5.2 IQN算法实战 299
第15章 基于模型的强化学习 301
15.1 基于模型的强化学习基础 302
15.1.1 基于模型的强化学习简介 302
15.1.2 模型的种类与构建方法 302
15.1.3 基于模型的强化学习算法 303
15.2 模型预测控制 304
15.2.1 模型预测控制介绍 304
15.2.2 模型预测控制实战 305
15.3 蒙特卡洛树搜索算法 307
15.3.1 MCTS算法介绍 307
15.3.2 MCTS算法实战 308
15.4 MBPO算法 309
15.4.1 MBPO算法介绍 310
15.4.2 MBPO算法实战 310
15.5 PlaNet算法 313
15.5.1 PlaNet算法介绍 313
15.5.2 PlaNet算法实战 314
第16章 多智能体强化学习实战:Predator-Prey游戏 319
16.1 Predator-Prey游戏介绍 320
16.2 背景介绍 320
16.3 功能模块介绍 321
16.4 环境准备 321
16.4.1 安装OpenAI gymnasium 322
16.4.2 导入库 322
16.5 捕食者-猎物(Predator-Prey)的环境 322
16.5.1 定义自定义强化学习环境类 323
16.5.2 定义自定义强化学习环境类 324
16.5.3 环境重置 325
16.5.4 计算捕食者和猎物的奖励 325
16.5.5 判断回合是否结束 326
16.5.6 检查动作的合法性 326
16.5.7 记录和获取状态历史 326
16.5.8 实现step方法 327
16.5.9 生成视图帧 328
16.5.10 渲染环境的视图 328
16.6 第二个环境 329
16.7 随机智能体 333
16.7.1 应用场景 334
16.7.2 实现随机智能体 334
16.8 DDPG算法的实现 335
16.8.1 信息存储 335
16.8.2 实现Actor模型 336
16.8.3 实现Critic模型 337
16.8.4 实现DDPG智能体 338
16.9 训练模型 341
16.9.1 环境初始化 342
16.9.2 创建智能体 342
16.9.3 训练循环 343
16.9.4 保存模型 345
16.9.5 训练结果可视化 345
第17章 自动驾驶系统 347
17.1 自动驾驶背景介绍 348
17.2 项目介绍 348
17.2.1 功能介绍 348
17.2.2 模块结构 349
17.3 环境准备 349
17.4 配置文件 350
17.5 准备数据文件 353
17.5.1 Carla数据处理与转换 353
17.5.2 加载、处理数据 356
17.5.3 收集、处理数据 357
17.5.4 创建数据集 362
17.6 深度学习模型 363
17.6.1 编码器 363
17.6.2 变分自编码器 368
17.6.3 定义强化学习模型 368
17.7 强化学习 371
17.7.1 强化学习工具类的实现 371
17.7.2 经验回放存储的实现 372
17.7.3 深度强化学习智能体的实现 373
17.7.4 使用SAC算法的强化学习代理的实现 375
17.7.5 实现DDPG用于强化学习 381
17.8 调用处理 384
17.8.1 生成训练数据 384
17.8.2 训练模型 385
17.8.3 收集Carla环境中的专家驾驶数据 387
17.8.4 训练自动驾驶的强化学习代理 390
17.8.5 训练DDPG智能体执行自动驾驶任务 392
17.8.6 评估自动驾驶模型的性能 393
17.9 调试运行 393
猜您喜欢



