本书循序渐进、深入系统地讲解了强化学习的核心原理、主流算法与工程实践,内容丰富、层次清晰、通俗易懂。全书共12章,涵盖从基础知识、经典算法,到深度强化学习、策略优化方法,再到离线强化学习、模型强化学习、多任务与多智能体系统等前沿内容。书中不仅详细介绍了Q-learning、DQN、PPO、TRPO、GRPO等算法的原理与推导,还配套了多个完整实战案例,如Atari游戏、CartPole平衡控制、迷宫导航系统、机械臂抓取、多智能体博弈等,帮助读者快速掌握从算法理解到项目落地的全流程技能。本书语言简洁直观,图文结合,配有大量实战项目和训练结果分析,同时覆盖了市面上同类图书较少涉及的内容,如强化学习在大模型中的新应用(GRPO)、元强化学习的系统构建,以及工业级多智能体训练框架,极具实用性与前瞻性,是学习强化学习开发技术与实战应用的理想工具。
本书适合具有Python基础、了解机器学习或深度学习初步知识的读者阅读,尤其适合人工智能开发者、AI工程师、机器人研究人员、自动化系统设计者,也可作为高校人工智能相关专业的教材或教学参考书,以及企业培训课程的技术参考资料。
第1章 强化学习基础与核心概念 001
1.1 强化学习基础知识 001
1.1.1 强化学习的诞生背景 001
1.1.2 强化学习的核心思想与要素 002
1.1.3 强化学习与其他机器学习方法的区别 003
1.1.4 强化学习的挑战 004
1.2 强化学习的应用领域概览 005
1.2.1 机器人控制与路径规划 005
1.2.2 游戏与虚拟环境 006
1.2.3 金融与投资决策 006
1.2.4 自动驾驶与智能交通 007
1.2.5 自然语言处理中的应用 008
1.3 强化学习的理论基础:马尔可夫决策过程 009
1.3.1 MDP的概念和定义 009
1.3.2 策略、值函数(V, Q)和贝尔曼方程 010
1.4 OpenAI Gym环境初探 011
1.4.1 OpenAI Gym简介 011
1.4.2 MountainCar环境 012
1.4.3 CartPole环境 016
第2章 强化学习的经典求解方法 022
2.1 动态规划:策略迭代与值迭代 022
2.1.1 策略迭代 022
2.1.2 值迭代 027
2.2 蒙特卡洛方法:从经验中学习 031
2.2.1 蒙特卡洛预测 031
2.2.2 蒙特卡洛控制 035
2.2.3 探索策略 039
2.3 时序差分学习 044
2.3.1 TD(0)预测和SARSA 045
2.3.2 Q-learning:离策略学习的代表 045
2.3.3 综合实战:使用Q-learning解决网格世界问题 050
第3章 深度Q网络:从游戏突破到通用值函数逼近 055
3.1 Q-learning的局限与深度化的必要性 055
3.1.1 数据相关性问题:Q-learning 面临的挑战 055
3.1.2 目标值的不稳定性:传统方法的缺陷 056
3.1.3 高维状态空间的困难:对深度化的需求 057
3.2 DQN的核心思想与突破 058
3.2.1 经验回放:打破数据相关性 059
3.2.2 目标网络:稳定学习目标 060
3.3 DQN算法流程与实现细节 061
3.3.1 DQN的神经网络结构 062
3.3.2 训练循环:从环境交互到参数更新 063
3.3.3 目标网络的更新过程:权重同步时机与方法 071
3.3.4 超参数的选择与调整:学习率、折扣因子等的影响 072
3.4 综合实战:用DQN玩转Atari游戏 074
3.4.1 Atari游戏环境介绍 075
3.4.2 具体实现 075
第4章 DQN算法的演进 086
4.1 Double DQN 086
4.1.1 DQN算法的问题剖析 086
4.1.2 Double DQN的核心思想 087
4.1.3 Double DQN的算法流程与实现要点 088
4.1.4 综合实战:使用Double DQN实现超级马里奥游戏 090
4.2 Dueling DQN 104
4.2.1 Dueling DQN的动机 104
4.2.2 Dueling DQN网络架构设计 105
4.2.3 综合实战:使用Dueling DQN实现二维网格世界导航任务 106
4.3 优先级经验回放 113
4.3.1 优先级经验回放的动机 114
4.3.2 优先级定义与采样策略 114
4.3.3 重要性采样校正 115
4.3.4 综合实战:比较DQN中普通经验回放和PER在CartPole问题中的表现 116
第5章 策略梯度方法:直接优化策略 121
5.1 策略梯度定理:理论基础 121
5.1.1 策略梯度的定义与意义 121
5.1.2 与值函数方法的对比分析 122
5.1.3 策略梯度定理的适用场景与局限性 123
5.2 REINFORCE:蒙特卡洛策略梯度算法 125
5.2.1 算法原理与实现 125
5.2.2 基线的引入与作用 129
5.3 综合实战:CartPole平衡控制与LunarLander软着陆 137
5.3.1 背景介绍 137
5.3.2 实验环境与任务建模 137
5.3.3 具体实现 138
5.3.4 运行结果与分析 145
第6章 Actor-Critic算法:融合价值与策略—149
6.1 Actor-Critic原理 149
6.1.1 策略梯度与值函数结合的动机 149
6.1.2 Actor与Critic的角色分工 150
6.1.3 策略评估与策略改进的闭环 151
6.1.4 经典AC算法流程 152
6.1.5 综合实战:使用经典AC算法解决CartPole-v1平衡问题 154
6.2 A2C算法 159
6.2.1 优势函数的数学原理 160
6.2.2 蒙特卡洛与TD误差的优势函数估计 161
6.2.3 GAE技术 161
6.2.4 综合实战:A2C算法实现与优势估计方法比较 162
6.3 A3C算法 165
6.3.1 并行化架构设计 165
6.3.2 异步梯度更新与锁机制 166
6.3.3 探索策略:熵正则化在A3C中的应用 167
6.3.4 综合实战:A2C和A3C的性能对比 168
6.4 SAC算法 171
6.4.1 熵正则化与探索激励 171
6.4.2 SAC算法核心设计 173
6.4.3 综合实战:基于SAC算法的机械臂抓取任务 174
第7章 TRPO算法核心知识与应用实践 182
7.1 TRPO基础知识 182
7.1.1 TRPO算法的诞生背景 182
7.1.2 TRPO算法的意义 183
7.2 TRPO算法的核心原理 184
7.2.1 信任域概念的引入 184
7.2.2 构建目标函数与约束条件 185
7.2.3 综合实战:使用TRPO解决CartPole平衡问题 187
7.3 综合实战:基于低秩矩阵的TRPO优化 194
7.3.1 优化策略:NN-TRPO 和 TRLRPO 194
7.3.2 项目介绍 195
7.3.3 经验数据管理和状态空间离散化 195
7.3.4 定义环境 197
7.3.5 创建强化学习模型 198
7.3.6 创建代理 201
7.3.7 评估TRPO在CustomAcrobotEnv环境中的性能 208
7.3.8 评估TRPO在Mountain-CarContinuous-v0环境中的性能 210
7.3.9 评估TRPO在Custom-PendulumEnv环境中的性能 212
7.3.10 性能可视化 214
第8章 OpenAI的PPO和DeepSeek的GRPO 218
8.1 PPO算法的核心知识和应用 218
8.1.1 PPO的推出背景 218
8.1.2 PPO算法的基本思想 219
8.1.3 综合实战:使用PPO算法解决CartPole平衡问题 221
8.2 GRPO算法的核心知识和应用 226
8.2.1 GRPO的诞生背景 226
8.2.2 GRPO算法的基本原理 227
8.2.3 GRPO算法的数学推导 229
8.2.4 GRPO在DeepSeek-R1模型中的作用和表现 230
8.2.5 库TRL 231
8.2.6 综合实战:使用GRPO算法训练数学问题解答模型 233
第9章 离线强化学习:从历史数据中学习策略 242
9.1 离线RL的核心挑战 242
9.1.1 分布偏移 242
9.1.2 外推误差 243
9.1.3 数据质量依赖性 244
9.2 约束策略优化 245
9.2.1 常用的约束策略优化方法介绍 245
9.2.2 综合实战:比较三种约束策略优化方法的性能 246
9.3 基于不确定性的方法 251
9.3.1 常用的基于不确定性的方法介绍 251
9.3.2 综合实战:比较三种基于不确定性的方法的性能 252
9.4 模仿正则化 260
9.4.1 常用的模仿正则化方法介绍 261
9.4.2 综合实战:评估AWAC、IQL和ORL方法的性能 262
第10章 前沿技术:基于模型的强化学习 276
10.1 基于模型和无模型的强化学习介绍 276
10.1.1 核心区别 276
10.1.2 基于模型的强化学习方法的优势 278
10.1.3 无模型的强化学习方法的优势 279
10.1.4 基于模型和无模型的强化学习方法的结合策略 280
10.1.5 综合实战:迷宫环境中的障碍物检测与奖励分配 282
10.2 学习环境动力学模型 289
10.2.1 模型表示形式:确定性模型与随机模型 290
10.2.2 模型学习的损失函数 291
10.2.3 常用模型学习技术 292
10.2.4 处理部分可观测性 293
10.2.5 综合实战:基于模型的CartPole动力学学习与规划 294
10.3 利用模型进行规划 303
10.3.1 规划的基本概念:开环规划与闭环规划 303
10.3.2 经典规划方法 304
10.3.3 采样式规划方法:蒙特卡洛树搜索 305
10.3.4 采样式规划方法:模型预测控制 306
10.3.5 轨迹采样与策略改进 308
10.3.6 综合实战:用采样规划方法解决一个网格世界问题 309
10.4 集成规划与学习:前沿技术介绍 316
10.4.1 学习规划器:端到端训练 317
10.4.2 MuZero:统一学习、规划与表示的典范 317
10.4.3 其他前沿方法简述 318
第11章 多任务与元强化学习 320
11.1 多任务学习:共享知识解决多个任务 320
11.2 元强化学习:快速适应新任务 320
11.3 综合实战:基于元强化学习的迷宫导航系统 320
第12章 多智能体强化学习实战:火星殖民地游戏 321
12.1 项目背景介绍 321
12.2 功能介绍 321
12.3 运行环境 321
12.4 智能体核心逻辑 321