本文是一篇计算机应用论文,本文主要研究基于深度强化学习的单智能体自动驾驶控制研究,包含对于 SAC 算法的改进,以及在仿真自动驾驶环境中的车辆控制智能体训练及测试。具体来说:1. 针对 SAC 算法中需要手动设定超参数温度系数 α 的问题,以及之前的自适应温度系数中会引入新的超参数问题,本文提出了完全自动熵调节的 SAC 算法(SACTA),让 α 参与到策略函数的优化过程中,随整个算法的训练过程自适应地优化调节。经两个连续控制任务的实验证明,完全自动熵调节的 SAC 算法在减少手动设定超参数的情况下,能达到与 SAC 算法相近的表现。
第一章 绪论
1.1 研究背景与意义
在经济持续发展的大背景下,道路上的车辆不断增多,根据国家统计局的数据,截止 2020 年,我国私人汽车的保有量已经达到 28087 万辆,且 5 年来持续保持增长[1]。而随着汽车的增多,其引发的交通问题也随之凸显出来。2019 年,我国城市中交通高峰时长前十的城市每天拥堵时间长达 1.7 小时[2];根据世卫组织(World Health Organization)在 2018 年的报告,全球每年有 135 万人丧生与交通事故[3]。
针对日益严重的交通拥堵与交通事故,能够将人类从驾驶任务中解脱出来的自动驾驶(Autonomous Vehicle)则成为了引发关注的解决方案[4]。根据美国国家公路交通安全管理局的统计,94%的交通事故是由人类失误引起的[5];而且,根据美国未来能源保障组织(Securing America’s Future Energy)的一篇报道预测,如果能够实现自动汽车的广泛部署,那么通过缓解道路拥堵、减少事故伤亡、降低能源消耗以及通过重新分配驾驶时间增加社会生产力,到 2050 年,自动驾驶每年的社会效益将达到近 8000 亿美元[6]。
社会对自动驾驶技术的发展需求与日俱增,同时伴随着计算机算力的增长,深度学习展现出的强大能力推动着整个人工智能领域的快速发展[7],而人工智能的成果则促使自动驾驶从实验室走上了公路,诸如 Tesla 的 ModelS[8],Google 公司的 Waymo[9],国内的百度 AppoloGo[10] 等已经经过了多轮真实驾驶环境测试。尽管在研究和市场上发展火热,然而目前的自动驾驶产品还没有完全普及[11],其部分问题在于,目前的基于控制论的车辆控制方式没有稳健泛用的控制能力,难以做到普适性[12]。
深度学习效果的不断提升也推动了强化学习的进步,强化学习在与深度学习结合后,进入了飞速发展的阶段。当前,强化学习在发展中逐渐成为稳健而高效的实用工具,在棋牌游戏[13],电子游戏[14],机械控制[15,16]等领域都表现卓越,随着强化学习算法的数据利用率以及稳定性的不断拔高[15],利用强化学习智能体来控制各种各样的器械,包括汽车、无人机等,已经展现出更多的可行性。
1.2 国内外研究现状
1.2.1 强化学习研究现状
强化学习(Reinforcement Learning, RL)的概念最早由 Minsky 在 1954 年首次提出,其思想是让智能体在环境中通过反复试错(Trial and Error)获取奖惩反馈,通过反馈调整行为进而学习某一技能[22]。同样在 1954 年,Bellman 提出了解决动态系统中最优控制问题的方法——动态规划(Dynamic Programming)[29],并于 1957 年提出了序贯决策问题的抽象模型——马尔科夫决策过程(Markov Decision Process, MDP)的随机离散版本[23],其中动态规划求解所用的方程也被称为 Bellman 方程。MDP 至今也被作为强化学习问题的抽象模型,而 Bellman 方程在后续的强化学习算法的求解过程中起到关键作用,这两个元素都是现代强化学习的基本要素之一。
1983 年,Barto 与 Sutton 将试错学习与时序差分方法(Temporal Difference, TD)相结合,提出了演员—评论家算法(Actor-Critic, AC) [24],随后两人又在 1988 年将蒙特卡洛方法与动态规划结合,提出了 TD (γ)算法[25],TD (γ)后来在 1995 年由 Tesauro 与人工神经网络结合,在双陆棋中做到接近大师水平,是强化学习早期的惊人成就[26]。1989 年,Watkins 结合 TD 方法与最优控制理论,提出了后来最为广泛应用的 Q-leanring 算法,Q-learning 以表格的方式统一记录不同情况下不同决策的预期收益,拓展了强化学习的应用领域[27]。2000 年,Sutton 提出了直接对反馈的奖惩总和求导的策略梯度算法(Policy Gradient, PG),其直接用梯度上升的方式优化策略,是现今基于策略方法(Policy-based Method)的基础[28]。不过此时强化学习受困于维度灾难[29],发展和应用进入迟缓阶段。
进入到深度学习时代后,强化学习与深度学习结合成为了一条新的发展方向,名为深度强化学习(Deep Reinforcement Learning, DRL),在深度网络的帮助下,强化学习智能体得以接收并处理高维度的状态信息(例如图片等高维向量)。2013 年,Mnih 提出了将深度学习与 Q-learning 结合出的成果深度 Q 网络(Deep Q Network,DQN[30, 31]) ,并实现了利用强化学习智能体游玩部分雅达利红白机游戏。
第二章 背景理论
2.1 强化学习
本章简要解释研究所需的强化学习基本理论,包括强化学习的定义和本文常用的元素与概率,并进一步从分类上阐释强化学习的理论,最后分别介绍了两个基础的算法作为强化学习和深度强化学习的示例,旨在为之后强化学习的算法研究和应用于自动驾驶控制的工作奠定理论基础。
2.1.1 强化学习的定义和基本元素
强化学习鼓励智能体与外部环境反复交互试错,通过环境的反馈来引导智能体的行动,进而完成某项指定的任务。举例来说,假如人类想要训练狗接飞盘,那么当狗接住飞盘就给予夸奖(正反馈),当狗没有接住飞盘就给予训斥(负反馈),而狗为了得到更多的夸奖便会尽可能去接住飞盘。在这个例子中,狗是智能体,而人,飞盘,以及狗的活动场地则都是外部环境的一部分。
强化学习的流程可以概括为——让智能体在环境中反复试错,用奖励来激励智能体学习优秀的策略,使其在观察到不同的环境状态时采取合理的行动,以求获得尽量多的奖励回报。强化学习的框架如图 2.1 所示。
2.2 深度强化学习
传统的强化学习以表格,多元函数,核函数等方式来表达值函数或者策略[62],这些方法在低维的简单状态空间中足以适用,但难以感知处理高维的复杂状态空间(例如:围棋盘面,电子游戏图片),而深度学习[63]的崛起给了强化学习新的发展思路,深度强化学习(DRL)是强化学习与深度学习结合的产物,其解决了智能体在高维空间的感知决策问题,成为了人工智能领域中新的研究热点
双网络延迟深度确定性策略梯度(TD3)算法是 Scott Fujimoto 在 2018 年人工智能顶会 International Conference on Machine Learning (ICML)提出的连续控制强化学习算法[21]。TD3 具有无模型,基于值,演员-评论家结构的特性。
在离散控制中,这一操作相较容易,仅需要根据 Q 函数在有限的可选动作中找到具有最大 Q 值的动作即可;然而在有无数可选动作的连续动作空间中,如何找出最佳动作就成为了一个问题。理论上讲,单独的最优化算法来求解 看似可行,但在每次与环境交互时都要求解一次最佳动作,这一流程耗时费力,难以在实际应用中实现。
为了解决这一问题,DPG 提出借助一个策略函数 ,在每次与环境交互时给出一个确定的动作 a 作为决策。这一想法基于连续动作空间中,动作值函数 对于动作参数是可微的,由此,策略函数便可以直接根据函数 对于动作的梯度来调整自身的参数,进而优化策略以获取更高的 Q 值。最终,求解最优动作的问题,被转化成了调整策略函数以获取尽量大的 Q 值:
有了策略优化的方式,再结合标准的 Q-learning 方式保持优化 Q 函数,让策略函数依据更接近最优的 Q 函数来调整策略,强化学习智能体便有了在连续动作空间中不断优化自己的能力。虽然 DPG 和 DDPG 足以用于连续控制,但是其存在对超参数过于敏感的问题,TD3 在 DDPG 的基础上加入了双 Q 网络(double Q network) [74],延迟策略更新(delayed policy update)这些技巧,进一步提高 DPG 这类算法的性能和稳定性。在连续控制实验中,TD3 表现出了出色的样本效率和稳定性,相较于同样流行的 PPO[34]和其前身 DDPG,TD3 在得到较少样本的条件下,同时获得了更高环境奖励,并且在多次实验中表现没有明显波动。
第三章 完全自动熵调节的 SAC 算法 ....................................... 23
3.1 问题描述 .......