本书源码


附赠资源

基础篇

第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约束KL散度法

8.2.2惩罚KL散度法

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小结