基于强化学习的无人驾驶车辆行为决策方法研究进展
2021-05-12张佳鹏
张佳鹏,李 琳,朱 叶
(上海理工大学 光电信息与计算机工程学院,上海 200000)
当今社会逐渐向着智能化的方向发展,无人驾驶变成了一个十分受关注的热点。自动驾驶车辆的系统架构可以分为环境感知、行为决策、运动控制3个部分。环境感知系统[1-2]能够利用摄像头、雷达等车载传感器与计算机视觉、传感器信息融合技术来感知环境信息。行为决策系统[3]用来对环境及自车信息进行理解并做出合理的驾驶行为决策。运动控制系统[4]能够根据决策系统给出的控制信号来控制车辆的运动。如果将环境感知模块比作自动驾驶车辆的眼睛和耳朵,将运动控制模块看作自动驾驶车辆的手和脚,那么行为决策模块就相当于是自动驾驶车辆的大脑,是实现自动驾驶最为核心的技术。
强化学习[5]作为一种新兴的人工智能算法,其通过智能体与环境不断的交互产生评价性的反馈信号,并利用反馈信号不断改善智能体的策略,最终使智能体能够自主学习到适应环境的最优策略。该方法在序贯决策问题上表现出了强大的优越性和灵活性。在自动驾驶决策领域,基于规则的传统行为决策方法[6-9]缺乏对动态变化环境的适应能力,于是研究人员尝试使用强化学习算法来得到适应性强的决策模型。文献[10]使用强化学习算法为一个具有14自由度的仿真车辆建立决策模型,帮助自动驾驶车辆在仿真环境中完成沿道路行驶的任务。文献[11]将跟车行驶场景建模为马尔科夫决策过程模型(Markov Decision Process,MDP),并使用Q-Learning算法为该模型求解最优的跟车策略,最终通过多次不同情况下的仿真实验验证了算法的有效性。
基于强化学习算法的决策模型虽然取得了初步的成功,但仍存在很多缺陷:(1)决策模型的精度较低。传统强化学习算法采用低维的状态空间和离散的动作空间建立模型,这导致自动驾驶车辆只能根据粗糙的感知做出粗糙的决策,无法在复杂的环境中很好的应用;(2)决策模型的广度不够。传统强化学习算法只能针对某一种驾驶场景或驾驶任务进行设计,训练完成后的决策模型只能够在该类场景下发挥作用,无法像人类驾驶员一样采用一个决策模型就能综合处理多种驾驶任务;(3)在真实的道路交通环境中存在一些不确定因素,例如车载传感器的噪声、传感器范围受限或受到遮挡以及周围其他的交通参与者意图未知等。而基于传统强化学习的决策模型属于确定性推理模型,在环境中存在不确定因素的条件下进行决策难以保证行车安全。
本文对近年来基于强化学习的决策模型在提高决策精度、提高决策广度、应对不确定因素以提高行车安全这3个方面的研究进展进行介绍,以期为后来的研究者提供参考。
1 决策精度的提升
基于传统强化学习算法的决策模型采用低维的环境信息来组成状态空间,少量离散的动作值来组成动作空间,训练完成后得到的决策模型只能依据简略的环境信息给出粗糙的驾驶行为。这种精度较低的决策模型无法在具有复杂信息的驾驶环境中发挥良好的作用。
深度强化学习算法[12]将深度学习[13-14]的表征能力与强化学习的决策能力相结合,显著地提升了强化学习模型中状态空间以及动作空间的维度和规模,使智能体能够根据高维特征输入给出精密的动作输出,为提高复杂场景下的决策精度提供了方向。文献[15]首次将卷积神经网络(Convolutional Neural Network,CNN)与Q-Learning算法相结合提出了深度Q网络算法(Deep Q Network,DQN)。训练完成后的DQN算法在Atari游戏中的表现超过了人类专家。文献[16]进一步将DQN算法与蒙特卡洛树搜索算法(Monte Carlo Tree Search,MCTS)相结合开发出了AlphaGo程序。AlphaGo在动作空间更大,策略更复杂的围棋游戏上先后击败了人类顶级棋手李世石和柯洁。文献[17]基于DQN算法的理念提出了深度确定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG),成功将深度强化学习扩展到连续动作域中,使其在20多个具有连续高维动作空间的物理任务上取得了较好的性能。OPENAI团队使用深度强化学习算法在状态空间和动作空间更加复杂的DOTA2游戏中战胜了人类顶级玩家。鉴于在复杂空间问题上的优异表现,深度强化学习算法被研究人员引入到自动驾驶车辆的行为决策领域,用来提高决策模型的精度。
文献[18]提出了一种基于DQN算法的车道保持(Lane Keeping)决策模型。该方法以高维相机图像特征作为状态输入,以离散化后的方向盘转角作为动作输出,采用DQN算法计算出最优状态动作价值,使得自动驾驶车辆能够在匀速行驶的基础上根据高维传感器图像输入选择合适的方向盘转角,达到以端到端方式控制车辆的目的。文献[19]提出了一种基于DQN算法的复杂动态城市道路环境下的自主制动决策系统,车辆与行人在随机的环境中进行交互,障碍物的位置会随着时间的变化而变化,每一次的碰撞风险也会随之变化。该研究将驾驶场景建模为一个马尔科夫决策过程,然后采用深度Q网络算法来学习制动策略,使得自动驾驶车辆能够利用从传感器获取的障碍物信息以及自身速度等特征,在遇到碰撞风险时自主决定何时进行制动以及制动的程度大小。DQN算法虽通过提高状态空间的维度,增加动作空间的规模,极大提高了决策模型的精度,但其依旧采用离散的动作空间,这在一定程度上限制了模型的精度。
基于DDPG算法在连续空间控制问题上的优异表现, 文献[20]提出了一种基于DDPG算法的车道跟随(Lane Following,LF)的决策模型。该模型使用连续的动作空间,并在TORCS仿真环境中对算法的有效性进行验证并与DQN算法进行对比。该研究结果证明,基于DDPG算法的决策模型能够更加平滑和精准地完成单车道行驶。 文献[21]将文献[20]中的方法从仿真环境扩展了到真实环境中,以高维单眼图像作为状态输入,以方向盘转角和速度等连续值作为动作输出,根据车辆行驶的距离给出奖励,然后采用DDPG算法来求解最优的决策模型,并通过实车测试验证了该模型在真实驾驶环境中的有效性。 文献[22]提出了一种基于DDPG算法的跟车行驶(Car Following, CF)决策方法。该研究将跟车场景建模为一个马尔科夫决策过程模型,然后采用DDPG算法来求解最优的跟车策略,并在一个贴近真实的VISSIM高可靠性仿真驾驶环境中验证算法的有效性。实验结果表明,在保证驾驶舒适度的前提下,与经典的自适应巡航控制和智能驾驶员模型相比,训练后的车辆的跟车效率分别提高了7.9%和3.8%。
综上所述,基于深度强化学习的决策模型能够有效地提高决策模型的精度。但是精度提高的同时也增加了策略学习的复杂度,造成算法的收敛困难,鲁棒性差。因此,在提升决策模型精度的同时保证算法能够快速收敛并提高模型的鲁棒性是未来的研究重点。
2 决策广度的提升
全自动驾驶是一个十分复杂的问题,其中包含多种不同的驾驶场景:车道保持、跟车行驶、换道、超车、交叉口通行等。基于传统强化学习算法的行为决策系统只能够针对某一种驾驶场景进行设计。针对跟车行驶场景得到的决策模型只能够用于跟车行驶,无法应用于换道(Lane Changing,LC)场景,更无法像人类驾驶员一样能够综合处理各种场景下的驾驶任务。使用传统的强化学习算法综合学习多个驾驶任务往往会产生维数灾难。为了解决这个问题,研究人员将分层的思想引入到强化学习理论中。
自然界中大部分的复杂系统都具有分层结构。从理论角度讲,层次结构为从简单进化为复杂提供了可能性;从动力学角度讲,复杂系统具有可分解性,这一特性使其行为过程和描述方式更加简化。从这个角度来讲,一个复杂的强化学习问题可以通过分层的方式加以简化。分层强化学习[23]致力于将一个复杂的强化学习问题分解成几个子问题并分别解决,可以取得比直接解决整个问题更好的效果。它能够缓解维数灾难,是解决大规模强化学习问题的潜在途径。分层是通过抽象实现的,分层强化学习中常用的抽象技术[24-25]包括状态空间分解、时态抽象、状态抽象。其中,时态抽象是最为常用的一种分层技术。由于能够通过任务分解进行多任务学习的优点,分层强化学习算法被研究人员引入到自动驾驶的决策领域,用于增加决策模型的决策广度。
文献[26]提出了一种基于分层强化学习的多场景行为决策方法,该方法将驾驶任务划分为高层任务级与底层控制级两个层次。其中,高层任务级采用一些离散量如道路行驶、进入交叉口、进入停车区域等作为状态空间,以左转、右转、换道、停车等高层选项作为动作空间;底层控制级以速度、车身角度等动力学参数作为状态空间,以方向盘转角、加速度等底层连续控制量作为动作空间。使用时序逻辑为高层动作选项设定约束,并根据车辆两层状态以及是否满足约束来给出奖励。然后,使用DQN算法来学习高层任务级策略,采用DDPG算法来学习底层控制级策略。最终使得自动驾驶车辆能够先根据高层状态执行相应的高层任务级驾驶策略,并在高层选项的基础上根据车辆的底层状态执行底层控制级策略,用以完成复杂的驾驶任务。文献[27]提出一种基于分层强化学习的多车道巡航场景下的多任务决策方法。多车道巡航场景中包含着多种驾驶任务:车道保持、跟车行驶和换道等,是一个复合多个驾驶任务的复杂场景。该研究利用空间抽象技术将多车道巡航场景下的驾驶任务分为高层任务级与底层控制级,其中高层任务包括车道保持、换道、跟车行驶,底层控制层针对不同的高层任务执行不同的底层控制策略。在SimpleTraffic仿真模拟器中的实验表明,分层决策模型能够很好地完成多车道巡航场景下的驾驶任务。
由上述的研究成果可知,分层强化学习算法通过分层的方法将一个复杂的驾驶任务分解为多个相对简单的子任务,可以在不产生维度灾难的情况下实现多任务学习,增加了决策模型的广度。但是,高层任务分解目前是通过人工实现的,这种分解方法费时费力且容易忽视任务之间的某些内在联系或造成任务之间的重叠或者空白。使算法能够自主学习到合理的分层是未来研究的重点。另外,底层控制策略也并不完美,存在一定程度的震荡,造成这种现象的原因也需要进一步研究。
3 应对不确定因素
基于传统强化学习的决策模型属于确定性的推理模型,只能适用于环境状态完全已知的驾驶环境。在真实的交通场景中,由于传感器噪音、范围受限、受遮挡以及其他交通参与者意图未知等因素的存在导致自动驾驶车辆无法准确的得到全部的环境信息。确定性推理模型忽略了这些不确定因素的潜在影响,可能会导致决策系统做出错误的决定并引发严重的后果。因此,使车辆的决策系统在不确定条件下给出合理的行为决策并保证行车安全是一个非常重要的问题。
部分可观测马尔科夫决策过程(Partially Observable Markov Decision Process,POMDP)[28-30]是一种基于不确定性的序贯决策模型,它假设系统的状态信息无法直接观测得到,而是部分可知的。POMDP引入了信念状态空间(Belief State Space)的概念,它能够根据环境状态的观测值推理出环境状态有可能的真实值及其发生的概率。早在1971年,研究人员就提出了利用信念状态空间求解POMDP模型的精确算法,并从理论上证明精确算法是可以获得最优解的,但是计算复杂度会随着问题的规模呈指数级增长。鉴于POMDP模型精确求解的困难性,后来的研究人员以精确算法为基础开发出了多种高效的近似算法。研究人员将POMDP模型引入自动驾驶车辆的决策系统中,用来规避不确定因素可能会给决策带来的风险。
传感器噪声、感知范围受限或受到遮挡是各类驾驶场景下普遍都存在的一种不确定因素。其他交通参与者的速度、位置、角度等信息会因为传感器噪声的存在而无法准确测量,确定性的推理模型基于不准确的信息做出决策就可能会导致危险的情况发生。文献[31]研究了在传感器具有噪声的条件下完成跟车行驶的行为决策方法。该研究使用一个POMDP模型将传感器噪声带来的不确定因素纳入考虑之中,使用信念空间表示当前真实状态的概率分布,并且采用了一种在信念状态空间中采样的QMDP值算法来近似求解模型的最优策略,在尽可能减少计算复杂度的情况下得到具有抗干扰性的决策模型。实验证明,该决策模型能够使自动驾驶车辆在不同的感知置信度下表现出不同程度的保守性,规避行车中可能存在的风险,保证了行车安全。文献[32]提出了传感器噪声的条件下进行全自动驾驶时的换道决策方法。该研究将换道场景建模为一个POMDP模型,并采用一个两步算法来求解最优策略。该方法首先使用两个信号处理网络对POMDP模型的信念状态空间进行处理,得到一个简化的信念状态空间。然后,采用QMDP值方法与盲策略(Blind Policy,BP)计算价值函数的上下界,并结合分支界限树搜索(Branch and Bound Tree Search)算法来在线求解当前信念空间下的最优策略。实验证明,该方法相对于传统基于规则的方法以及传统强化学习方法能够更加谨慎更加安全的做出换道决策。虽然上述方法[31-32]都取得了成效,但是其POMDP模型中的状态空间、动作空间、奖励函数等都是针对相应的驾驶场景专门设计的,难以推广到其他驾驶场景中使用。于是,研究人员又提出了将带有不确定因素的驾驶场景建模为一个连续空间的POMDP模型,并采用连续状态分层贝叶斯模型结合值迭代算法来求解最优策略[33]。这个方法的好处在于它不仅能够针对当前的驾驶任务做出安全可靠鲁棒性强的决策,还能够针对不同的驾驶场景自动进行优化而无需重新设计POMDP模型中的状态量或其他参数。
另一类重要的不确定因素是其他交通参与者的意图。自动驾驶车辆往往要与其他交通参与者共同在道路上行驶,不同的交通参与者的意图不同。通过感知其他交通参与者当前的意图以及在该意图下有可能的产生的运动能够提高行车安全。但是,由于人类行为的多样性和微妙性以及没有测量人类意图的传感器,得到其他交通参与者的意图往往比较困难。文献[34]提出了一种假设有限个未知意图集合来构造实际模型的方法。该方法首先为集合中的每个意图构造一个运动模型;然后将这些模型与其他环境信息一起组合成一个混合可观测马尔科夫决策过程(POMDP的一种结构化变体);最终采用相应的强化学习算法为模型求解最优策略。仿真实验结果表明,该方法具有较强的识别意图和有效利用环境信息进行决策的能力。文献[35]提出将其他交通参与者的意图建模为子目标位置,将其运动模型建模为以意图为条件的隐变量,然后使用一个两层的规划算法来计算驾驶策略。其中,高层使用Hybird A*算法来规划出一条穿越其他交通参与者的无碰路径。底层利用POMDP模型来计算车辆沿该路径行驶时的速度。虽然将意图建模为子目标的方法在复杂应用中取得了成功,但是在一定程度上受到了特定环境的限制,缺乏通用性。文献[36]则提出了一种融合道路环境与车辆运动意图的道路态势模型。其中,车辆的运动意图是通过车辆的反应推断出来的,即观察到的车辆状态与道路环境代表的参考车辆状态的偏差。这种意图模型具有更强的通用性。然后,将道路态势模型融入POMDP模型中,通过DESPOT算法在线求解最优策略。文献[37]将其他交通参与者的意图建模为一个隐马尔可夫模型,它能够输出其他交通参与者的横向意图(左转、右转、直行)与纵向意图(屈服程度)。然后使用POMDP模型来对相应的驾驶环境进行建模并求解最优策略。该研究在一个交叉口的场景下对环境的有效性进行验证,实验结果证明该方法能够帮助自动驾驶车辆安全高效地通过交叉口。
由上文的总结与分析可知,基于POMDP的决策模型能够极大地提升自动驾驶车辆在具有不确定因素的环境中行车的安全性。但是这种方法也存在计算复杂度高的缺点,难以在复杂空间场景中应用。因此开发一种高效且具有低复杂度的策略求解方法是未来研究的重中之重。另外,开发出更加精确的意图感知模型也是非常有意义的。
4 结束语
本文总结了基于强化学习的无人驾驶车辆行为决策算法的相关研究进展,从提高决策精度、提高决策广度以及应对不确定因素这3个方向进行系统性的描述。可以看出,基于深度强化学习、分层强化学习、POMDP的决策模型已经在相应的方向上取得了突破性的进展,但是依旧面临着许多问题:深度强化学习可以提高决策模型的精度但同时也增加了模型的训练复杂度,导致模型难以收敛;分层强化学习提升了决策模型处理复杂任务的能力,但是任务分解却费时费力。POMDP模型的求解复杂度太高也限制着它在复杂场景中的进一步应用。
根据上述问题,基于强化学习的行为决策方法未来的研究重点集中为以下3个方面:(1)通过驾驶员数据预训练或改进经验回放机制等方法提升深度强化学习的训练效率,加快模型收敛速度;(2)使用监督学习帮助分层强化学习自主学习合理的任务分解方式,避免人工分解的麻烦;(3)在已有算法的基础上继续开发更加高效POMDP求解算法,降低计算复杂度。