吴思凡 杜煜 徐世杰 杨硕 杜晨
(1.北京联合大学,北京 100101;2.北京市信息服务工程重点实验室,北京 100101)
主题词:智能车 汇入车流 异步优势动作评判算法 长短期记忆神经网络 时间复杂度收敛速度
汇入车流是交通流研究的典型场景[1]。目前,智能车辆决策系统的决策行为与机动车驾驶员的决策行为还存在较大差异,导致智能车辆在汇入行为中极易发生事故。汇入车流的方法主要分为两大类:传统方法和基于机器学习的方法。
传统汇入车流方法主要包括合作式方法[2]、博弈式方法[3]以及探索式方法[4]。Marinescu[5]等人采用一种车-车合作式汇入车流的算法,利用高速公路车辆之间以及高速公路和入口匝道车辆之间的协作实现高效汇入;Kita[6]等人提出一种基于博弈论的车辆汇入模型,汇入车辆和主路上直行的车辆均独立行驶并预测对方的行为,该模型可以用来解释入口合并端的交通行为;Horst[7]等人提出一种基于碰撞时间(Time-to-Collision)模型的经典探索式汇入车流算法,该模型及其变种算法已经在美国城市挑战赛中得到应用,在交叉口、匝道等汇入场景中有良好表现[8-9],虽然该方法可靠性和安全性高,但仍然是基于规则的算法,其假定车速恒定,不能有效地预测车辆的意图,且车辆的行为过于谨慎。
伴随智能车辆邻域机器学习的不断发展,应用机器学习解决汇入车流的技术也趋于成熟。苏锑[10]等人提出一种基于分类回归树的智能车辆汇流决策方法,采用遗传算法搜索以获取通行量最大的决策方案,以寻优获得的大量汇流决策序列为样本,训练分类回归树,选取车辆自身信息及与周围车辆的关系以描述环境特征,运用分类回归树描述环境特征与决策结果的映射关系,获得一种通行量最优的汇流决策方法。王尔根[11]等人采用贝叶斯网络预测汇入行为,将历史汇入行为影响因素考虑到汇入模型中,分别采用双层图法和期望最大化(Expectation Maximization,EM)算法建立结构学习和参数学习,针对特定场景能获得较高的汇入成功率。
大多数传统方法还处于规则化模型阶段,没有结合车辆历史决策行为且不具备探索能力;而机器学习需要大规模先验数据,无法对突发情况做出合理的决策行为,同时训练模型时间过长。因此,本文提出基于长短期记忆-异步优势动作评判(Long Short-Term Memory-Asynchronous Advantage Actor-Critic,LSTM-A3C)算法的汇入车流模型,该模型能有效预测周围环境并与之交互。通过与深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)汇入车流模型[12]及A3C汇入车流模型对比,验证本文汇入模型的高效性和合理性。
LSTM-A3C 算法在A3C[13]算法中加入LSTM[14]神经网络,在动作-评判(Actor-Critic,AC)[15]的评判网络(Critic Network)中加入LSTM 神经网络,使其在连续的时间段内预测连续的时间序列。
图1 描述了强化学习模型中智能车辆与环境交互的过程。智能车辆在每个时刻t观测环境状态st,采取对应的动作at,环境根据智能车辆采取的动作返回奖励rt,并进入下一个状态(t+1),通过多次交互迭代,智能车辆根据总奖励R获得最优的汇入策略。
图1 智能车辆与环境交互过程
LSTM-A3C 算法摒弃深度强化学习经验池回放(Experience Replay)[16]的方法,平行运行多个CPU 核心[17],异步地对每个局部网络(Local Net)代理环境进行更新。
在LSTM-A3C 中,总网络(Global Net)策略π(at|st;θ)和值函数V(st;θv)的参数分别用θ和θv表示,每个代理网络策略π(at|st;θ′)和值函数的参数分别用θ′和θ′v表示。当到达设定的步数tmax或者完成1 个回合后,π(at|st;θ)和V(st;θv)被更新一次。
在动作网络(Actor Network)中,采用梯度下降(Gradient Descent)[18]计算动作网络损失函数aloss:
其 中,A(st,at,θ,θ V)为优势函数(Advantage Function)[19]:
式中,γ∈(0,1]为折扣因子;k≤tmax,本模型设k=20。
将策略π的熵加入到目标函数中[20],扩大算法搜索范围:
式中,β为超参数;H为策略π的熵。
在评判网络中,采用时间差分误差(TD-error)[21]计算网络损失函数closs,第i个时间步损失函数被定义为:
同时,在评判网络中,加入单层LSTM 神经网络来预测连续时间序列下的策略问题。LSTM神经网络框架如图2所示。
图2 LSTM神经网络
在LSTM 神经网络中,通过输入门(Input Gate)、遗忘门(Forget Gate)、输出门(Output Gate)控制之前状态和当前状态的记忆和遗忘程度,使神经网络具有长期记忆功能。
在算法优化方面,LSTM-A3C采用RMSProp[22]方法,每个局部网络单独维护梯度用于更新参数:
汇入模型训练中,LSTM-A3C算法同时为多个局部网络分配任务,当到达设定的步tmax或者完成一个回合,每个局部网络更新参数到全局网络,待下一个步骤开始时,全局网络通过AC网络更新参数到每个局部网络,结合本文的汇入车流模型,算法框架如图3所示。
图3 A3C网络框架
网络参数如表1 所示,参数设定引用文献[13]的参数值。
表1 LSTM-A3C网络参数设定
本文将仿真道路的主路分为3 个车道,匝道分为2 个车道,主路最高限速为80 km/h,匝道最高限速为60 km/h,仿真道路长度约为300 m,起点在距匝道入口约为70 m 处,如图4 所示,其他环境参数如表2 所示。
图4 道路仿真环境搭建
表2 环境参数设定
本文采用的仿真智能车辆长为4.11 m,车宽1.75 m,车高约为1.6 m。仿真车辆车顶装有64 线激光雷达和GPS接收机,前保险杠面罩中心装有4线激光雷达和毫米波雷达,行李箱装有惯性导航系统。本文假设雷达探测范围位前、后各120 m,左、右各10 m,探测精度为0.1 m,雷达运行时可准确估计出障碍物的位置和车辆运动时的相对速度且控制不会延迟。雷达数据以代理车为中心,按照给定的搜索范围进行搜索,直接输出代理车和环境车的数据,其他数据由仿真环境直接获得。
图5 所示为车辆汇入匝道场景,其中,车道1~3 为主路,车道4~5为匝道,代理车从起始位置开始,根据周围环境车速度的变化,可能做出的决策行为有加速汇入或减速汇入。选择适当的汇入动作和时机汇入车流,达到终止位置。
图5 车辆汇入匝道场景
根据对汇入行为的研究,本文采用文献[23]由代理车速度、环境车速度、车辆间横向距离、车辆间纵向距离构成的状态集S进行描述。S采用四元组,交互过程为观测当前环境下状态sp,代理车采取动作ap,p为当前状态汇入步数,经过时间0.1 s(环境刷新周期)后,进入下一个状态(p+1),并获得奖励rp,如此迭代,直到一个回合结束,得到状态{sp,sp+1,sp+2,…}、动作{ap,ap+1,ap+2,…}。其中{sp,sp+1,sp+2,…}属于状态集S,动作{ap,ap+1,ap+2}属于动作空间A,动作空间A用代理车瞬时加速度描述,采用一元组,动作空间的范围为-4~2.5 m/s2。将每个时刻加速度的变化转化为该时刻速度的变化,同时考虑到代理车和环境车的安全性与舒适性,本文将代理车和环境车的加速度范围均设为-4~2.5 m/s2。
奖励函数分为惩罚设置和奖励设置,为使代理车尽快达到终止位置,设置每步惩罚rp1=-0.1。同时,为使代理车学习到合理的汇入策略,设置奖励函数:
当汇入步数p>10 时,代理车处于环境车前方,此时,如果代理车速度高于环境车速度,设置每步奖励:
当汇入步数p>10 时,代理车处于环境车后方,此时,如果代理车速度小于环境车速度,设置奖励:
当车辆横向距离小于2.2 m,纵向距离处于安全范围内时,车辆发生碰撞,惩罚为rend=-20;当车辆成功达到终点位置时,rend=10。安全范围Sf计算公式为:
式中,vhost、vtar分别为代理车速度和环境车速度,由激光雷达测得;D为最小反应距离,取D=1 m。
总奖励函数为:
式中,T为本回合汇入总步数。
本文采用Python 语言搭建仿真环境,在Tensorflow中搭建神经网络框架,计算机配置为:Windows 10系统,i5-6300 HQ 处理器(主频为2.3 GHz),16 GB 运行内存。最大训练回合为20 000回合,在每个回合中,环境车的初速度定为14~22 m/s 内的随机数值,加速度设置为-4~2.5 m/s2内的随机数值,代理车的初速度设为16 m/s。设置每回合最大限定步数为30步,超过最大限定步数则视为发生碰撞,模型训练和模型测试均在Python搭建的仿真环境中运行。
本文主要验证在汇入匝道的场景中,根据环境变化,代理车采取的应对策略和训练时间的变化,通过记录成功汇入车流的次数和训练模型的时间来描述模型学习的结果,如图6、图7所示。
图6 LSTM-A3C模型汇入成功率
图7 LSTM-A3C模型训练时间
由图6 可知,在开始阶段,模型汇入成功率持续增加,伴随训练次数的增加,模型成功率在2 000回合时达到稳定,并且在训练结束时,成功率达到90%。
由图7 可知,模型训练次数与训练时间呈线性、正比关系,模型在单位回合内的时间并不会增加,且在训练结束时,训练时间约为480 s。
针对不同环境车的速度变化,采用模型测试了3个典型的主路车行驶状态,环境车速分别高于、低于和等于代理车车速(代理车初始速度为16 m/s),测试条件和结果如表3所示。
表3 不同环境车行驶状态下测试条件和结果
测试过程中:当环境车做匀减速运动时,代理车采取减速运动,但速度始终高于环境车的速度,在汇入匝道过程中,代理车始终保持在环境车的前方;当环境车做匀加速运动时,由于环境车的速度高于代理车的速度,环境车始终在代理车前方,代理车全程保持接近匀速状态汇入主路;当环境车做匀速运动时,为避免危险,代理车选择减速让行。
采用DDPG 算法汇入匝道模型和A3C 汇入匝道模型与本文模型进行对比验证。通过检测汇入成功率、模型收敛速度和模型的时间复杂度评判模型的质量。
DDPG算法[24]同样采用AC网络结构,用连续动作空间描述动作的变化。同时采用经验回放机制,将状态集四元组存储在记忆库中,定期对网络参数进行更新。
3种算法采用相同的四元组状态集描述每个时刻的观测状态,加速度变化范围为-4~2.5 m/s2,网络参数与奖励函数保持一致。对比结果如图8、图9和表4所示。
图8 训练时间曲线对比
由图8 和图9 可知:DDPG 汇入模型相比于本文模型与A3C汇入模型花费更多训练时间;伴随训练次数的增加,A3C 和本文汇入模型没有更多额外的时间消耗,而DDPG汇入模型由于采用了经验回放机制,在智能体与环境的交互过程中,会造成不必要的内存消耗和计算量消耗,同时单位回合运行时间伴随训练次数的增加而增加;在模型收敛速度方面,A3C 汇入模型和本文汇入模型在训练前期的第1 000~2 000 回合已达到收敛,而DDPG 汇入模型在10 000 回合时才达到基本收敛状态。由此可见,在训练模型消耗时间方面和收敛速度方面,A3C模型和本文模型相比于DDPG模型有着明显的优势,在汇入成功率方面,本文汇入模型又优于A3C汇入模型,故本文模型有更好的实用性和适应性。
图9 成功率曲线对比
表4 模型对比结果
本文提出基于LSTM-A3C智能车辆汇入模型,并与DDPG 汇入模型、A3C汇入模型进行了对比。仿真结果表明,LSTM-A3C模型在收敛速度和训练时间方面明显优于DDPG 模型,在汇入成功率方面也优于A3C 和DDPG。在应用过程中,模型可以根据不同环境车速度变化采取恰当的汇入策略,提高了无人驾驶车辆在匝道汇入过程中的智能化水平。相比于其他强化学习汇入模型,LSTM-A3C 汇入模型更适合应用于匝道汇入场景。但由于该模型目前只应用于简单的环境场景中,如何将模型应用于多车复杂环境进行测试将会是下一步的研究重点。