内容简介
本书在详细阐述强化学习基本概念与基本理论的基础上,循序渐进地介绍了深度强化学习各常用算法的基本思想、算法伪代码、算法实现、基于实例的算法演示与程序分析等内容。具体介绍了Q-learning算法求解最优路径问题,SARSA算法求解最优安全路径问题,策略迭代算法求解两地租车最优调度问题,价值迭代算法求解最优路径问题,DQN?算法求解平衡系统的最优控制问题,PG算法求解双积分系统的最优控制问题,AC类算法求解股票交易的最优推荐策略,SAC算法求解机器人手臂控球平衡问题,PPO算法求解飞行器平稳着陆最优控制问题,DDPG算法求解四足机器人行走控制策略问题,TD3算法求解PID控制器参数整定问题,多智能体强化学习的基本概念与基本方法,MAPPO算法求解多智能体协作运送物体问题,IPPO算法与MAPPO算法求解协作竞争探索区域问题,MADDPG与DDPG算法求解车辆路径跟踪控制问题。
本书可作为高等院校深度强化学习课程的教材,亦可作为本科生毕业设计、研究生项目设计和广大科研人员的技术参考用书。
目录
第1章 强化学习的基本概念与基本理论 1
1.1 强化学习研究的问题及基本概念 1
1.1.1 一些强化学习研究实例 1
1.1.2 智能体 3
1.1.3 环境 4
1.1.4 状态及其观测 4
1.1.5 状态转移概率 5
1.1.6 动作 6
1.1.7 奖励 8
1.1.8 策略 12
1.2 马尔可夫决策过程 13
1.2.1 马尔可夫性质与转移概率 13
1.2.2 轨迹、回合及经验转换样本 14
1.2.3 回报及折现率 15
1.2.4 马尔可夫决策过程的数学记号及其含义 17
1.3 强化学习的基本函数 19
1.3.1 目标函数及其作用 19
1.3.2 状态价值函数及其作用 19
1.3.3 动作价值函数及其作用 21
1.3.4 Vπ(s)与Qπ(s, a)的互相表示关系 21
1.4 贝尔曼方程理论 23
1.4.1 Bellman方程及其作用 23
1.4.2 最优策略及最优状态价值函数 26
1.4.3 最优动作价值函数及其作用 27
1.4.4 Bellman最优方程及其作用 28
1.4.5 求解Bellman方程的思路 30
*1.5 神经网络的基本知识及几个重要定理 31
1.5.1 神经网络基本知识 31
1.5.2 神经网络通用近似定理 32
1.5.3 可微假设与矩阵点乘运算等基本知识 32
1.5.4 梯度及梯度下降与神经网络权值参数更新公式 34
1.5.5 数学期望基本知识 36
1.5.6 循环迭代结果的存在性与唯一性 37
1.6 本章小结 40
习题1 41
第2章 Q-learning算法求解最优路径问题 42
2.1 Q-learning算法的基本思想 42
2.2 ε-贪婪策略与时序差分算法 43
2.2.1 ε-贪婪策略及其作用 43
2.2.2 时序差分算法 44
2.3 Q-learning算法的实现 45
2.3.1 Q-learning算法的应用条件 45
2.3.2 Q-learning算法的伪代码 45
2.3.3 Q-learning算法的程序步骤 46
2.3.4 Q-learning算法的收敛性 46
2.4 Q-learning算法实例:寻找最优路径 47
2.4.1 问题说明 47
2.4.2 数学模型 48
2.4.3 基于MATLAB自带函数实现求解 48
2.4.4 基于自编代码实现求解 54
2.5 Q-learning算法的优缺点及算法扩展 60
2.5.1 Q-learning算法的优缺点 60
2.5.2 模型扩展 61
2.5.3 算法扩展 62
2.6 本章小结 62
习题2 63
第3章 SARSA算法求解最优安全路径问题 65
3.1 SARSA算法的基本思想 65
3.2 SARSA算法的实现 65
3.2.1 SARSA算法的伪代码 65
3.2.2 SARSA算法的程序步骤 66
3.2.3 on-policy和off-policy 66
3.2.4 SARSA算法的收敛性 67
3.3 SARSA算法实例:寻找最优安全路径 68
3.3.1 问题说明 68
3.3.2 数学模型 68
3.3.3 主程序代码 69
3.3.4 程序分析 70
3.4 SARSA算法与Q-learning算法对比 72
3.4.1 SARSA算法的优缺点 72
3.4.2 SARSA算法与Q-learning算法适用情况对比 72
3.4.3 最优策略对比 72
3.4.4 图像对比分析 73
3.5 本章小结 75
习题3 76
第4章 策略迭代算法求解两地租车最优调度问题 78
4.1 策略迭代算法的基本思想 78
4.2 策略迭代算法的实现 78
4.2.1 策略迭代算法的应用条件 78
4.2.2 策略迭代算法的伪代码 79
4.2.3 策略迭代算法的程序步骤 79
4.2.4 策略迭代算法的收敛性 80
4.3 策略迭代算法实例:寻找最优调度方案 80
4.3.1 问题说明 81
4.3.2 数学模型 81
4.3.3 主程序代码 82
4.3.4 程序分析 86
4.3.5 程序结果解读 88
4.4 策略迭代算法的优缺点及算法扩展 90
4.4.1 策略迭代算法的优缺点 90
4.4.2 模型扩展 91
4.4.3 算法扩展 91
4.5 本章小结 92
习题4 93
第5章 价值迭代算法求解最优路径问题 94
5.1 价值迭代算法的基本思想 94
5.2 价值迭代算法的实现 94
5.2.1 价值迭代算法的应用条件 94
5.2.2 价值迭代算法的伪代码 95
5.2.3 价值迭代算法的程序步骤 95
5.2.4 价值迭代算法的收敛性 96
5.2.5 价值迭代算法与策略迭代算法的联系与区别 96
5.3 价值迭代算法实例:寻找最优路径 97
5.3.1 问题说明 97
5.3.2 数学模型 98
5.3.3 主程序代码 98
5.3.4 程序分析 101
5.3.5 程序结果解读 102
5.4 价值迭代算法的优缺点及算法扩展 103
5.4.1 价值迭代算法的优缺点 103
5.4.2 模型扩展 103
5.4.3 算法扩展 104
5.5 本章小结 104
习题5 106
第6章 DQN算法求解平衡系统的最优控制问题 107
6.1 DQN算
前言/序言
回顾2016年,Google旗下DeepMind开发的AlphaGo程序在一场人机围棋对弈中击败了围棋大师李世石,创造了人工智能历史上的一个里程碑。而深究AlphaGo中应用的人工智能技术,其中尤以深度学习和强化学习结合所成的深度强化学习技术最为关键,它吸收了深度学习的感知能力和强化学习的决策能力,为复杂系统的感知决策问题提供了解决思路,更为人工智能的进一步发展注入了新的动力。
目前,深度强化学习在自动驾驶、机器人控制、金融投资决策、推荐系统等诸多领域中都有非常成功的应用,引起了广泛的关注与应用热潮,但相关技术的不断演进、算法原理的复杂性以及算法实现与应用等方面的诸多问题,使得入门和理解深度强化学习仍是一件难事。基于以上种种原因,作者结合相关教学与科研经验,将努力为读者系统地讲解深度强化学习的基本概念、基本理论、实现方法和实战应用,以帮助读者掌握深度强化学习的核心原理、常用算法,以及针对具体问题的研究思路。
1. 本书的亮点与特色
(1) 从强化学习基本概念到前沿算法的原理与应用逐步展开,同时满足学习与应用需求。
(2) 将基本概念定义准确,将基本理论推理清晰,将实现方法阐述明白。本书将深度强化学习知识系统完整地编撰成教程,并在书末整理了相关名词和符号的说明,便于读者全面而深入地学习该领域的知识。
(3) 围绕主流算法的原理介绍、算法实现、实践应用与拓展等展开,帮助读者更好地理解相关算法知识,从而实现利用或改编程序求解所面对的实际问题。
(4) 提供配套资源和互动支持,读者可扫描封底二维码并关注官方公众号,通过回复关键字“深度强化学习算法原理与实战”,以获取源码及彩图等配书资源的下载链接。此外,读者还可通过公众号加入学习群,进一步与本书作者及同行互相研讨交流。
2. 如何使用本书
鉴于不同读者的需求与基础差异,这里给予不同的阅读建议。
(1) 只需“会用”算法和程序:第1章、第2章、第6章、第8章和第11章~第14章基本覆盖了深度强化学习的基础知识和常用算法。其中第6章是较关键、算法程序最完整和全面的内容,应做到准确理解概念、熟练掌握算法、灵活运用程序。
(2) 从事深度强化学习研究:重点研读全书的算法部分,程序部分可以略去或选学。第3章、第4章、第5章的内容只需简单了解。
(3) 期望在产品中使用深度强化学习算法:第2章~第6章的代码程序需要重点关注。可以根据业务场景中的状态空间和动作空间来选择最相似的算法及其程序应用实例。
本书参考了很多资料,尽管在参考文献中已经提及了一部分,但这也是挂一漏万之举,在此对众多研究者的工作表示衷心的感谢!最后,特别感谢作者妻子吴淑云女士无微不至的关心和始终如一的支持。
由于作者水平有限,书中难免存在不足之处,恳请同行及广大读者批评指正。
编著者