本书源码 附赠资源 基础篇 第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小结