本书从强化学习的基础入手,以非常直观易懂的例子和实际应用来解释其中的每个概念,接着介绍一些前沿的研究及进展,这些进展使得强化学习可以超过其他(人工)智能系统。本书的目的不仅在于为读者阐释多种前沿强化学习算法背后的数学原理,而且也希望读者们能在各自的应用领域中实际运用这些算法及类似的先进深度强化学习智能体。
本书从强化学习的基本模块开始,涵盖了流行的经典动态规划方法和经典强化学习方法,如价值迭代和策略迭代;同时也包括一些传统的强化学习算法,如时序差分学习、SARSA和Q学习。在此基础之上,本书介绍了适用于现代强化学习环境和智能体的深度学习和辅助工具。本书继而开始深入研究深度强化学习的概念,并介绍相应的算法,如深度Q网络、双DQN、竞争DQN、(深度)同步演员-评论家,(深度)异步优势演员-评论家和深度确定性策略梯度。在每一个介绍这些概念的理论/数学原理的章节之后都附有可用于这些智能体实现的代码。
第1章 强化学习简介:AI智能体背后的智能
1.1 什么是人工智能,强化学习与它有什么关系
1.2 理解强化学习的基本设计
1.3 强化学习中的奖励和确定一个合适的奖励函数所涉及的问题
1.4 强化学习的状态
1.5 强化学习中的智能体
1.6 小结
第2章 强化学习的数学和算法理解:马尔可夫决策过程与解决方法
2.1 马尔可夫决策过程
2.2 贝尔曼方程
2.3 动态规划和贝尔曼方程
2.4 价值迭代和策略迭代方法
2.5 小结
第3章 编码环境和马尔可夫决策过程的求解:编码环境、价值迭代和策略迭代算法
3.1 以网格世界问题为例
3.2 构建环境
3.3 平台要求和代码的工程架构
3.4 创建网格世界环境的代码
3.5 基于价值迭代方法求解网格世界的代码
3.6 基于策略迭代方法求解网格世界的代码
3.7 小结
第4章 时序差分学习、SARSA和Q学习:几种常用的基于值逼近的强化学习方法
4.1 经典DP的挑战
4.2 基于模型和无模型的方法
4.3 时序差分(TD)学习
4.4 SARSA
4.5 Q学习
4.6 决定探索和利用之间概率的算法(赌博机算法)
4.7 小结
第5章 Q学习编程:Q学习智能体和行为策略编程
5.1 工程结构与依赖项
5.2 代码
5.3 训练统计图
第6章 深度学习简介
6.1 人工神经元深度学习的基石
6.2 前馈深度神经网络(DNN)
6.3 深度学习中的架构注意事项
6.4 卷积神经网络用于视觉深度学习
6.5 小结
第7章 可运用的资源:训练环境和智能体实现库
7.1 你并不孤单
7.2 标准化的训练环境和平台
7.3 Agent开发与实现库
第8章 深度Q网络、双DQN和竞争DQN
8.1 通用人工智能
8.2 GoogleDeep Mind和AlphaGo简介
8.3 DQN算法
8.4 双DQN算法
8.5 竞争DQN算法
8.6 小结
第9章 双DQN的代码:用£衰减行为策略编码双DQN
9.1 项目结构和依赖关系
9.2 双DQN智能体的代码(文件:DoubleDQN.py)
9.3 训练统计图
第10章 基于策略的强化学习方法:随机策略梯度与REINFORCE算法
10.1 基于策略的方法和策略近似介绍
10.2 基于价值的方法和基于策略的方法的广义区别
10.3 计算策略梯度的问题
10.4 REINFORCE算法
10.5 REINFORCE算法中减少方差的方法
10.6 为REINFORCE算法选择基线
10.7 小结
第11章 演员-评论家模型和A3C:异步优势演员-评论家模型
11.1 演员-评论家方法简介
11.2 演员-评论家方法的概念设计
11.3 演员-评论家实现的架构
11.4 异步优势行动者-评论家实现(A3C)
11.5 (同步)优势演员-评论家实现(A2C)
11.6 小结
第12章 A3C的代码:编写异步优势演员-评论家代码
12.1 项目结构和依赖关系
12.2 代码(A3C_MasterFile:a3c_master.py)
12.3 训练统计图
第13章 确定性策略梯度和DDPG:基于确定性策略梯度的方法
13.1 确定性策略梯度(DPG)
13.2 深度确定性策略梯度(DDPG)
13.3 小结
第14章 DDPG的代码:使用高级封装的库编写DDPG的代码
14.1 用于强化学习的高级封装的库
14.2 Mountain Car Continuous(Gym)环境
14.3 项目结构和依赖关系
14.4 代码(文件:ddpg_continout_action.py)
14.5 智能体使用MountainCarContinous-v0环境
参考文献