强化学习自动驾驶论文阅读(四)
(一)paper传送门
Reinforcement Learning with Uncertainty Estimation for Tactical Decision-Making in Intersections
(二)背景知识
强化学习(RL)-------------------------------《Reinforcement Learning:An Introduction》第二版
Double DQN (DDQN)----------------------https://zhuanlan.zhihu.com/p/97853300
随机先验函数 (RPF)------------------------https://zhuanlan.zhihu.com/p/106394048
Bootstrapped DQN -----------------------------https://zhuanlan.zhihu.com/p/78273736
贝叶斯方法 ---------------------------------------
(三)摘要
本文利用贝叶斯强化学习,赋予智能体评估模型推荐的行动的能力,通过模拟十字交叉路口自动驾驶,与DDQN算法比较,该方法具有优势。其实就是,本文通过自举经验回放训练了一个ensemble RPF模型,估计Q值的分布,然后使用Q值的分布来估计推荐行动的不确定性,同时也提供agent采取决策的置信度,因此,利用不确定性信息选择未知情况下的安全动作,可以有效消除training distribution内的所有碰撞,以及training distribution外的大部分碰撞。为了方便理解,可以思考一个问题:如果我们将agent放在高速路上训练,测试的时候放在agent从未遇到的十字路口的时候,agent会根据输入的状态帧输出动作吗?答案是:会。这是一个很严重的问题,因此我们必须要让agent能对自己的动作做出评估才行,贝叶斯概率理论正好能一定程度解决这事。(不确定性的重要性可以看Bootstrapped DQN那篇博客)
(四)内容
1 问题
自动驾驶过程是很复杂的,依赖手动预测所有可能情况是不可能的,因此RL作为一种可以从经验轨迹学习的end-to-end方法逐渐被应用到自动驾驶领域,但是传统的RL,agent无法评估决策的不确定性。尽管,目前一些RL研究基于贝叶斯概率理论来评估不确定性,但是侧重于对探索进行优化,并没有提供agent采取决策的置信度。
2 主体
1>APPROACH
这里,DDQN相关知识略。
DDQN的损失函数为:
<1> Bayesian reinforcement learning
传统DDQN的一个制约根据Q值的最大似然估计选择动作,没有考虑采取动作的风险,也就是Q值分布的方差。目前,在一些研究中,使用replay memory中的不同子集来训练一个神经网络ensemble,来提供Q值的分布。一个大佬,在上面的ensemble方法中每个ensemble member 添加了randomized prior function (RPF),这正好提供了一个很好的贝叶斯后验分布(具体的看背景知识提到的blog)。
其中,f、p分别为两个神经网络。
损失函数变为:

算法流程如下:
很直觉,k∈(1,K)表示ensemble member;ν ∼ U{1,K}平衡探索和利用,类似Thompson sampling,其他的都是常规操作。
<2> Confidence criterion
作者这里定义ensemble members的Q值标准差与均值之比来表示agent选择不同动作的不确定性:
作者指出当agent完全训练之后,选择动作的方式:
其中,Csafe是一个阈值,我理解这个意思是通过阈值的设定使training distribution中的组合(s,a)被采纳,反之拒绝。作者提出这个值可以通过观察训练分布内测试集的cv值来确定,后面会详细提到。这里有个细节,当不都满足上式的置信度标准时,总不能不采取动作了吧,因此选择一个fallback action(其实就是后面提到的‘give way’,但是赋予agent较大的加速度,总不能慢慢启动吧)。
2>IMPLEMENTATION
本文在不同交叉口场景下测试了ensemble RPF方法,该方法可以获得不同动作的不确定性估计,利用不确定性信息拒绝不安全行为,减少碰撞次数。另外,作者在这里使用了一个小trick:设置agent的超时时间最多为20s,且该段episode不会放入replay memory中,因为由时间限制导致的终止状态不属于MDP的一部分。
<1> Simulation setup
两种十字路口:
状态表示:
很直觉的看出各个参数表示的意义。这里需要指出,我们的agent(红色)速度为10m/s,其他的车辆(4辆)遵循Intelligent Driver Model(IDM)方法:
<2> MDP formulation
状态空间:
需要指出,peg是指我们的agent到目的地的距离;a表示加速度;j是指其他车辆。
动作空间:{‘take way’,‘give way’,follow(1,2,3,4)}六种决策。
奖励设定:
其实很直觉看出作者的想法,具体的建议看paper。
<3> Network architecture
这里有一个细节,作者通过以前的研究指出将相同的权值应用于描述周围4个车辆的输入的网络架构,可以获得更好的性能,并加快训练过程,很直觉,后面很类似dueling DQN。
<4> Baseline method
作者这里为了公平,测试期间,采取了一些相同的参数。
3 仿真结果
1> Within training distribution

需要指出,虚线表示平均成功率,实线表示平均回报。阴影部分表示标准差(不同网络参数和不同training episodes,因为测试是固定的)。

如上图,需要指出,cv是在测试episodes时的变化,深色区域表示10%-90%,浅色区域表示1%-99%(episodes),当训练100万步之后,cv平均值为0.04,99%的值为0.15,因此设定cvsafe=0.2。
如上图,碰撞发生时间t=0之前,cv的变化。很直觉,在采取错误的动作碰撞之间,估计的不确定性显著增加了。
2> Outside training distribution
有一个细节,这里的4辆车速度设置为一定值。
上图为,4辆车的速度在(10,20)变化时,碰撞率以及至少一次违反置信标准的事件的比例。图(a)很明显的表现出本文提出的方法可以选择未知情况下的安全动作。
上图,一个碰撞的例子(蓝色车辆以20m/s的速度经过路口),证明了本文采取的方法具有良好的效果。
(五)结论
这篇文章来自于瑞典哥德堡沃尔沃集团等,理论性很强。本文结果证明了使用贝叶斯强化学习在十字交叉路口情形下进行策略决策的有效性。ensemble RPF方法可用于估计推荐动作的置信度,结果表明,经过训练的agent对于training distribution之外的情况具有较高的不确定性。重要的是,该方法还表明了training distribution中罕见事件的高不确定性,因为不确定性的参与,对于部署到现实世界中也有实际意义。当然,作者也指出的该方法的不足之处:需要训练k个神经网络,计算复杂度比较高。另外,作者也指出了:不确定性信息可以用来识别agent不知道的情况,并据此指导训练过程,进一步研究这一问题是今后工作的主题;未来工作的另一个主题是如何更系统地设置cvsafe的参数值,以及如何在训练过程中自动更新值。
作者小渣:这篇文章比较难理解,而且,我感觉这是一篇初稿,很多东西没介绍清楚,缺一些图。不过,作者的思想很清晰,隐隐约约有推理的能力。
