
强化学习:从原理到实践
对强化学习算法的综合性讲解书籍
作品简介
本书是对强化学习算法的综合性讲解书籍,内容包括主要的强化学习算法的实现思路讲解,以及主要的优化方法的原理讲解。本书介绍的每个算法都分为原理讲解和代码实现两部分,代码实现是为了通过实验验证原理部分的可行性。通过本书的学习,读者可以快速地了解强化学习算法的设计原理,掌握强化学习算法的实现过程,并能研发属于自己的强化学习算法,了解各个算法的优缺点,以及各个算法适用的场景。
本书共18章,分为强化学习基础篇(第1章和第2章)介绍了强化学习中的基本概念。强化学习基础算法篇(第3~6章)介绍了QLearning算法、SARSA算法、DQN算法、Reniforce算法。强化学习高级算法篇(第7~12章)介绍了AC演员评委算法、A2C优势演员评委算法、PPO近端策略优化算法、DDPG深度确定性策略梯度算法、TD3双延迟深度确定性策略梯度算法、SAC柔性演员评委算法、模仿学习算法。多智能体篇(第13章和第14章),介绍了在一个系统中存在多智能体时,各个智能体之间的合作、对抗等关系,以及各个智能体之间的通信策略。扩展算法篇(第15~17章)介绍了CQL离线学习算法、MPC环境学习算法、HER目标导向算法。SB3强化学习框架篇(第18章),介绍了强化学习框架SB3的使用方法。
本书将使用最简单浅显的语言,带领读者快速地了解各个主要的强化学习算法的设计思路,以及实现过程。通过本书各个章节的学习,读者可以掌握主流的强化学习算法的原理和实现方法,能够让读者知其然也知其所以然,做到融会贯通。
李福林,一个在IT领域摸爬滚打十多年的老程序员、培训师,精通多种IT技术。分享了多部AI技术教程,受到了读者的广泛赞誉。现任职于阳狮集团,担任算法工程师。教学风格追求化繁为简,务实而不空谈,课程设计思路清晰,课程演绎说理透彻,对AI领域技术有自己独到的见解。
作品目录
内容简介
作者简介
前言
本书主要内容
阅读建议
致谢
基础篇
第1章 强化学习概述
1.1 强化学习的定义
1.2 玩耍和学习
1.3 对比传统方法
1.4 基于表格的直观示例
1.5 一般的学习过程
1.6 小结
第2章 Q函数和时序差分
2.1 一个直观的例子
2.2 数学描述
2.3 精确计算Q函数是困难的
2.4 寻求Q函数
2.5 小结
基础算法篇
第3章 基于表格的强化学习方法
3.1 代码运行环境说明
3.2 游戏环境
3.3 定义Q表
3.4 强化学习的一般过程
3.5 定义play函数和数据池
3.6 使用时序差分方法更新Q表
3.7 QLearning算法
3.8 SARSA算法
3.9 实现无数据池的SARSA算法
3.10 小结
第4章 DQN算法
4.1 DQN算法介绍
4.2 平衡车游戏环境
4.3 定义神经网络模型
4.4 数据部分的修改
4.5 实现DQN算法
4.6 双模型
4.7 加权的数据池
4.8 Double DQN
4.9 Dueling DQN
4.10 Noise DQN
4.11 小结
第5章 策略梯度
5.1 基于策略的算法
5.2 一个直观的例子
5.3 数学表达
5.4 小结
第6章 Reinforce算法
6.1 基于策略的算法
6.2 组件修改
6.3 Reinforce算法
6.4 去基线
6.5 熵正则
6.6 小结
高级算法篇
第7章 AC和A2C算法
7.1 时序差分和策略梯度的结合
7.2 AC算法介绍
7.3 实现AC算法
7.4 A2C算法介绍
7.5 实现A2C算法
7.6 小结
第8章 近端策略优化
8.1 重要性采样
8.2 惩罚与裁剪
8.3 优势函数
8.4 广义优势估计
8.5 小结
第9章 PPO算法
9.1 在离散动作环境中的应用
9.2 在连续动作环境中的应用
9.3 小结
第10章 DDPG和TD3算法
10.1 DDPG算法概述
10.2 优化方法
10.3 缓解过高估计
10.4 DDPG算法实现
10.5 TD3算法实现
10.6 小结
第11章 SAC算法
11.1 SAC算法简介
11.2 实现SAC算法
11.3 SAC算法的简化版实现
11.4 在连续动作环境中的应用
11.5 小结
第12章 模仿学习
12.1 模仿学习简介
12.2 在离散动作环境中的应用
12.3 在连续动作环境中的应用
12.4 小结
多智能体篇
第13章 合作关系的多智能体
13.1 多智能体简介
13.2 合作关系游戏环境介绍
13.3 定义A2C算法
13.4 有通信的实现
13.5 训练时有通信的实现
13.6 小结
第14章 对抗关系的多智能体
14.1 对抗关系的多智能体简介
14.2 纳什均衡简介
14.3 游戏环境介绍
14.4 无通信的实现
14.5 训练时有通信的实现
14.6 小结
扩展算法篇
第15章 CQL算法
15.1 离线学习简介
15.2 离线学习中Q值过高估计的问题
15.3 CQL算法是如何抑制Q值的
15.4 实现CQL算法
15.5 小结
第16章 MPC算法
16.1 MPC算法简介
16.2 实现MPC算法
16.3 小结
第17章 HER目标导向
17.1 HER算法概述
17.2 HER算法实现
17.3 小结
框架篇
第18章 SB3强化学习框架
18.1 SB3简介
18.2 快速上手
18.3 模型的保存和加载
18.4 多环境并行训练
18.5 Callback类
18.6 综合实例
18.7 使用SB3Contrib
18.8 小结
图书推荐