本书源码
附赠资源
基础篇
第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.2.1Gym包介绍
3.2.2定义游戏环境
3.2.3游戏环境操作方法介绍
3.3定义Q表
3.4强化学习的一般过程
3.4.1数据池的必要性
3.4.2异策略和同策略
3.5定义play函数和数据池
3.5.1定义play函数
3.5.2定义数据池
3.6使用时序差分方法更新Q表
3.7QLearning算法
3.8SARSA算法
3.9实现无数据池的SARSA算法
3.10小结
第4章DQN算法
4.1DQN算法介绍
4.2平衡车游戏环境
4.3定义神经网络模型
4.4数据部分的修改
4.4.1play函数的修改
4.4.2数据池的修改
4.5实现DQN算法
4.6双模型
4.7加权的数据池
4.8Double DQN
4.9Dueling DQN
4.10Noise DQN
4.11小结
第5章策略梯度
5.1基于策略的算法
5.2一个直观的例子
5.3数学表达
5.4小结
第6章Reinforce算法
6.1基于策略的算法
6.2组件修改
6.2.1游戏环境
6.2.2神经网络模型
6.2.3play函数
6.3Reinforce算法
6.4去基线
6.4.1去基线的目的
6.4.2实现去基线
6.5熵正则
6.5.1动作分布概率收敛太快的弊端
6.5.2熵
6.5.3实现熵正则
6.6小结
高级算法篇
第7章AC和A2C算法
7.1时序差分和策略梯度的结合
7.2AC算法介绍
7.3实现AC算法
7.3.1定义模型
7.3.2训练critic模型
7.3.3训练actor模型
7.3.4执行训练
7.4A2C算法介绍
7.5实现A2C算法
7.6小结
第8章近端策略优化
8.1重要性采样
8.2惩罚与裁剪
8.2.1约束KL散度法
8.2.2惩罚KL散度法
8.2.3重要性采样裁剪法
8.3优势函数
8.4广义优势估计
8.5小结
第9章PPO算法
9.1在离散动作环境中的应用
9.1.1定义模型
9.1.2训练value模型
9.1.3训练action模型
9.1.4执行训练
9.2在连续动作环境中的应用
9.2.1倒立摆游戏环境介绍
9.2.2定义模型
9.2.3定义play函数
9.2.4训练value模型
9.2.5训练action模型
9.2.6执行训练
9.3小结
第10章DDPG和TD3算法
10.1DDPG算法概述
10.1.1确定的动作
10.1.2异策略化
10.2优化方法
10.3缓解过高估计
10.4DDPG算法实现
10.4.1定义模型
10.4.2定义工具类和辅助函数
10.4.3定义训练过程
10.5TD3算法实现
10.5.1定义模型
10.5.2定义训练过程
10.6小结
第11章SAC算法
11.1SAC算法简介
11.1.1考虑动作的熵
11.1.2异策略化
11.2实现SAC算法
11.2.1定义模型
11.2.2定义工具类和辅助函数
11.2.3训练value模型
11.2.4训练action模型
11.2.5执行训练
11.2.6关于alpha的调整
11.3SAC算法的简化版实现
11.3.1定义模型
11.3.2训练value模型
11.3.3训练action模型
11.3.4执行训练
11.4在连续动作环境中的应用
11.4.1定义模型
11.4.2value模型的输入和输出
11.4.3修改工具类和辅助函数
11.4.4训练value模型
11.4.5训练action模型
11.4.6执行训练
11.5小结
第12章模仿学习
12.1模仿学习简介
12.2在离散动作环境中的应用
12.2.1定义数据集
12.2.2定义模型
12.2.3执行训练
12.2.4测试
12.3在连续动作环境中的应用
12.3.1定义数据集
12.3.2定义模型
12.3.3执行训练
12.3.4测试
12.4小结
多智能体篇
第13章合作关系的多智能体
13.1多智能体简介
13.1.1有通信的情况
13.1.2训练时有通信的情况
13.1.3无通信的情况
13.2合作关系游戏环境介绍
13.3定义A2C算法
13.4有通信的实现
13.4.1定义模型
13.4.2修改play函数
13.4.3执行训练
13.5训练时有通信的实现
13.5.1修改模型
13.5.2执行训练
13.6小结
第14章对抗关系的多智能体
14.1对抗关系的多智能体简介
14.2纳什均衡简介
14.3游戏环境介绍
14.4无通信的实现
14.4.1定义模型
14.4.2执行训练
14.5训练时有通信的实现
14.5.1定义模型
14.5.2执行训练
14.6小结
扩展算法篇
第15章CQL算法
15.1离线学习简介
15.2离线学习中Q值过高估计的问题
15.3CQL算法是如何抑制Q值的
15.4实现CQL算法
15.4.1数据集介绍
15.4.2封装数据集
15.4.3定义算法模型
15.4.4执行训练
15.5小结
第16章MPC算法
16.1MPC算法简介
16.1.1假环境学习
16.1.2最优动作搜索
16.2实现MPC算法
16.2.1定义假环境
16.2.2定义动作函数
16.2.3训练假环境
16.2.4重写动作函数
16.2.5动作学习
16.3小结
第17章HER目标导向
17.1HER算法概述
17.1.1稀疏反馈的游戏环境
17.1.2放置假目标点
17.2HER算法实现
17.2.1游戏环境介绍
17.2.2定义算法模型
17.2.3定义数据池
17.2.4执行训练
17.3小结
框架篇
第18章SB3强化学习框架
18.1SB3简介
18.2快速上手
18.3模型的保存和加载
18.4多环境并行训练
18.5Callback类
18.6综合实例
18.7使用SB3 Contrib
18.8小结