基于考虑状态分布的深度确定性策略梯度算法的端到端自动驾驶策略
王庭晗, 罗禹贡, 刘金鑫, 李克强    
清华大学 汽车安全与节能国家重点实验室, 北京 100084
摘要:端到端方法是实现自动驾驶的方法之一,而自动驾驶的场景较为丰富,不同场景的特征差别较大,这使得基于强化学习的端到端自动驾驶方法训练时的随机性衰减速度难以确定,若衰减过快,在面对新场景时无法获得较好的自动驾驶效果,反之则会使得算法难以快速收敛。针对这一问题,该文提出了一种基于输入状态分布筛选的随机策略和经验回放方法,将当前输入的状态数据和已保存的状态数据之间的距离进行对比,根据不同的距离选择不同的随机策略参数,同时在经验回放时提高出现频率较低场景的回放概率。仿真结果表明:该算法在训练后期面对与前期数据分布差异较大的场景时仍有足够的探索能力,提高了基于深度确定性策略梯度算法的端到端自动驾驶策略在全新工况下的车道保持能力。
关键词端到端自动驾驶    强化学习    随机策略    经验回放    
End-to-end self-driving policy based on the deep deterministic policy gradient algorithm considering the state distribution
WANG Tinghan, LUO Yugong, LIU Jinxin, LI Keqiang    
State Key Laboratory of Automotive Safety and Energy, Tsinghua University, Beijing 100084, China
Abstract: End-to-end control is one approach for self-driving. However, end-to-end self-driving methods based on reinforcement learning have troubles dealing with widely varying driving scenarios. The learning algorithm cannot easily determine the random decline velocity during training for complex scenarios. If the velocity is too fast, the algorithm will not obtain a reasonable policy for new scenarios, while if the velocity is too slow, the algorithm will not converge fast. A random policy and experience replay method based on the state distribution is developed here to improve the random decline velocity selection. The various random process parameters are selected based on the distance between the present state and the saved states. In addition, the replay probability of various scenes that occur less frequently is also increased. Simulations show that the algorithm has sufficient exploration ability in the later stage of the training when faced with scenes having very different situations from the situations in the early stages, which improves the lane keeping ability of the end-to-end self-driving approach based on the deep deterministic policy gradient (DDPG) in new situations.
Key words: end-to-end self-driving    reinforcement learning    random policy    experience replay    

自动驾驶是目前研究的热点之一,因其能够提高车辆的安全性、动力性、经济性和舒适性而受到学术界和工业界的广泛讨论。为了实现自动驾驶,经过几十年的探索,目前主要有“感知-决策-控制”方法[1]和端到端自动驾驶方法,这两种方法各有其独特优势,本文则是对端到端自动驾驶方法进行研究。

端到端自动驾驶方法所采用的算法主要包括深度学习和强化学习算法。虽然相比于强化学习算法,深度学习算法有着其效果受到训练集制约且无法进行多目标优化的缺点,但是由于强化学习算法难以处理图像等高维数据,早期的端到端自动驾驶方法均以深度学习为主[2-5]。随着深度学习和强化学习算法相结合的深度强化学习算法的发展,它在游戏控制[6-7]、水下无人机控制[8]、四旋翼控制[9]、机械臂控制[10]、围棋[11]等多个领域展现出了极佳甚至超越人类的效果,有越来越多的学者开始将该方法应用到端到端自动驾驶中。

早期,Michels等[3]、Silver等[12]、Lange等[13]对端到端自动驾驶方法进行了探讨,但是由于算法理论的局限和计算能力的限制,仅在某些验证场景中取得一定的效果。随着DeepMind团队的Mnih等[14]采用深度强化学习方法实现了端到端的自动控制过程,并将其用于玩Atari游戏,实现了突破,关于基于深度强化学习的端到端自动驾驶方法的研究才越来越多。Youssef等[15]将控制指令输入至深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法中,使得端到端自动驾驶方法能够根据全局路径控制车辆在交叉路口的行驶。Chiang等[16]以带噪声的雷达激光点云为输入,实现了较为鲁棒的端到端控制下室内机器人循迹和点对点导航功能。Zou等[17]结合DDPG算法和模仿学习(imitation learning,IL)方法,利用专家数据加速算法训练。Liang等[18]为了提高DDPG算法在高维动作空间中的探索效率,利用专家数据对动作空间进行约束,保证算法始终在可行的区域内探索。Chen等[19]提出人在环深度强化学习方法,通过人类驾驶员给出的模糊评价改进深度神经网络回报模型。张斌等[20]针对DDPG算法非法动作过多的问题,提出基于失败经验纠错的DDPG算法,将某一次失败的所有数据全部归类为失败经验,但是未针对吸收态单独优化,且未进行端到端车辆控制。

虽然基于深度强化学习的端到端自动驾驶方法已经取得了一些成绩,但当驾驶场景较多时,该方法仍然存在后期训练时探索能力不足、难以获得较好策略的问题;另外,若吸收态比例极低,在进行经验回放时难以对吸收态附近的状态进行充分训练,会导致算法在训练过程中难以获得较好的效果。针对以上问题,本文提出一种基于输入状态分布筛选的随机策略和经验回放方法,通过考虑状态分布的随机策略加强算法对未知状态集合的探索能力,并通过考虑即时回报的经验回放机制强化算法对吸收态附近状态的处理效果,以提高算法的性能。

1 考虑状态分布的深度确定性策略梯度算法 1.1 问题描述

本文采用强化学习实现端到端自动驾驶,以车载单目前视摄像头拍摄的图像为输入,以方向盘转角、油门踏板开度、刹车踏板开度为控制命令,因此需要首先将问题转化为强化学习问题。强化学习算法一般用于求解Markov决策过程,而Markov决策过程要求随机过程具有Markov性,即系统下一时刻的条件概率仅依赖于当前时刻的系统特性,而与之前的时刻无关。在端到端自动驾驶过程中,若已知当前车辆前方道路图像、当前车速、当前油门踏板开度、方向盘转角和刹车踏板开度,可以认为下一时刻的车辆前方道路图像和车速由以上五者完全确定,而与过去时刻无关,因此可以认为端到端自动驾驶过程具有Markov性。

转化后的强化学习问题如下:

已知一个无模型Markov决策过程<S, A, R, γ>。其中:S为状态集,S={s|s=<image, v>},即所有车辆前方道路图像与车速构成的二元组组成的集合;A为动作集,A={a|a=<steer_angle, acc_pedal, break_pedal>},即所有方向盘转角、油门踏板开度、刹车踏板开度构成的三元组组成的集合,方向盘转角取值范围为[-1, 1],油门踏板开度和刹车踏板开度取值范围为[0, 1]; R为所有即时回报构成的集合,表示在系统状态s下,智能体采取动作a得到下一时刻的状态s′后,智能体所获得的奖励,即R: S×A×S→ℝ;γ∈(0, 1)表示折扣因子,为一常数。试求最优驾驶策略π,使得期望累计回报最大。期望累计回报为

$ {\rm{E}}\left( {{G_t}} \right) = {\rm{E}}\left( {\sum\limits_{i = 0}^\infty {{\gamma ^i}{r_{t + i}}} } \right). $

其中: t为时间,rt+it+i时刻获得的即时回报,Gt为累计回报。

1.2 考虑状态分布的深度确定性策略梯度算法

由于1.1节的强化学习问题的输入维度较高,且输出为连续动作,因此本文采用DDPG算法进行求解,算法中一共涉及到4个网络:

1) 待评估动作网络πe:与环境交互,根据输入的状态s计算动作a

2) 待评估值函数网络Qe:计算状态s和动作a下的Qe值,在训练时为当前动作网络提供梯度;

3) 目标动作网络πt:根据输入的状态s计算动作a

4) 目标值函数网络Qt:根据输入的状态s和动作a计算Qt值,用于训练待评估值函数网络。

对于待评估值函数网络,其损失函数的计算方法为

$ \begin{array}{l} {L_{\rm{c}}} = \frac{1}{m}\sum\limits_{i = 1}^m ( r + \gamma {Q_t}\left( {s', a', {w_{{\rm{ct}}}}} \right) - \\ \;\;\;\;\;\;\;\;\;\;\;{Q_{\rm{e}}}\left( {s, a, {w_{{\rm{ce}}}}} \right){)^2}. \end{array} $

其中:wce为待评估值函数网络的参数集合,wct为目标值函数网络的参数集合,m为训练批量。

对于待评估动作网络,其损失函数的计算方法为

$ {L_\pi } = - \frac{1}{m}\sum\limits_{i = 1}^m {{Q_{\rm{e}}}} \left( {s, \pi , \left( {s, {w_{\pi {\rm{e}}}}} \right), {w_{{\rm{ce}}}}} \right). $

其中wπe为当前策略网络的参数集合。

由于确定性策略会使得强化学习算法易陷入局部最优,因此在强化学习训练过程中都会采用随机策略强化对状态空间的探索性,本文采用Ornstein- Uhlenbeck(OU)随机策略[21],该策略表达式为

$ {\pi _{{\rm{OU}}}}\left( {a\left| s \right.} \right) = {\pi _{\rm{e}}}\left( {a\left| s \right.} \right) + \alpha \left( {\theta \left( {\mu - {\pi _{\rm{e}}}\left( {a\left| s \right.} \right)} \right) + \sigma \varepsilon } \right). $

其中:α, θ, μ, σ为常数,ε~u(0, 1)。该策略通过调节α的大小控制随机性。

在算法运行时,考虑到最后算法希望获得一个确定性策略,为了保证值函数的正确,策略的随机性会随着训练次数的增加而降低。基于强化学习的端到端自动驾驶方法训练过程中,随着算法效果的提升,车辆行驶距离越来越远,所遇到的场景种类也越来越多。在这种情况下,传统的随着训练次数增加随机性逐渐降低的随机策略并不能满足训练后期对算法探索能力的要求。针对这一问题,本文提出了考虑状态分布的随机策略,计算保存数据状态的均值,以及保存数据到均值的距离均值,将该距离均值与当前状态到保存数据状态的均值的距离进行比较,若差异较大则增大随机策略的随机性,否则降低随机策略的随机性。

考虑无模型的Markov决策过程<S, A, R, γ>,当前时刻为t,当前状态为st,随机策略采用OU策略,经验回放池包含nr条数据,则经验回放池为B={<si, ai, ri, si+1>|i=t-nr, t-nr+1, …, t-1}。通过聚类等方法将经验回放池中的状态映射至低维空间中,记该映射为g,则经验回放池中的状态在该映射下输出的均值和标准差分别为:

$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\overline {g\left( {{s_{\rm{r}}}} \right)} = \frac{1}{n}\sum\limits_{i = 0}^{\mathop r\limits^{n - 1} } {g\left( {{s_{t - {n_{\rm{r}}} + i}}} \right)} , \\ {\rm{std}}\left( {g\left( {{s_{\rm{r}}}} \right)} \right) = \frac{1}{{{n_{\rm{r}}}}}{\left( {\sum\limits_{i = 0}^{\mathop r\limits^{n - 1} } {\left\| {g\left( {{s_{t - {n_{\rm{r}}} + i}}} \right)} \right.} - \left. {\overline {g\left( {{s_{\rm{r}}}} \right)} } \right\|\mathop 2\limits^2 } \right)^{\frac{1}{2}}}. \end{array} $

其中:sr为经验回收池中数据的当前状态,‖·‖2为二范数。

若当前状态满足

$ {\left\| {g\left( {{s_t}} \right) - \overline {g\left( {{s_{\rm{r}}}} \right)} } \right\|_2} > {\rm{std}}\left( {g\left( {{s_{\rm{r}}}} \right)} \right), $

则OU策略中控制随机性的参数α′由下式计算,

$ \alpha ' = \max \left\{ {\alpha , 0.5} \right\}. $

其中α为未进行调节时的参数。

在端到端自动驾驶方法中,由于状态为图像,难以进行数据分布计算,而根据视觉同步定位与地图构建(simultaneous localization and mapping,SLAM)方法的原理,可以通过图像判断车辆的行驶距离,故车辆的行驶距离隐含在图像当中,因此本文考虑采用行驶距离进行状态分布评估。

1.3 即时回报函数设计

为了实现车道保持功能,并使车辆尽可能快速行驶,在即时回报函数设计时同时考虑了2个因素:车辆中心与车道中心线的距离以及车速。具体的即时回报函数为

$ r = \left\{ \begin{array}{l} \frac{{v/\left( {{\rm{km}} \cdot {{\rm{h}}^{ - 1}}} \right)}}{{50}}\left( {1 - 2\frac{{\Delta d}}{L}} \right), \;\;\left| {\frac{{\Delta d}}{L}} \right| \le 0.5 \wedge 5 \le v/\left( {{\rm{km/}}{{\rm{h}}^{ - 1}}} \right) \le 120;\\ - 1, \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;0.5 < \left| {\frac{{\Delta d}}{L}} \right| \le 1 \vee v < 5{\rm{km/h}} \vee {\rm{v}} > 120{\rm{km/h;}}\\ - 20, \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left| {\frac{{\Delta d}}{L}} \right| > 1. \end{array} \right. $

其中: v为车辆速度,km/h;Δd为车辆中心到车道中心线的距离,m;L为车道宽度,m。当$ \left| {\frac{{\Delta d}}{L}} \right| \le 0.5 $且5 km/h≤v≤120 km/h时,车辆行驶速度正常,并且处于较为靠近车道中心线的位置,因此此时车辆获得的即时回报随着车速的上升而增加,随着车辆中心到车道中心线的距离的上升而减小;当$ 0.5 < \left| {\frac{{\Delta d}}{L}} \right| \le 1 $时,车辆偏离了道路中心线但未驶出车道,当v < 5 km/h或v>120 km/h时,车辆速度过慢或超速,这些状态虽然允许车辆达到,但是车辆不应长期处于这些状态下,为了让车辆尽可能不处于这些状态或进入这些状态后快速调整,因此即时回报设置为-1;当$ \left| {\frac{{\Delta d}}{L}} \right| > 1 $时,车辆驶出车道,为了让车辆不驶出车道,并且当车辆进入该状态时仿真立刻停止,因此该状态下的回报应小于$ \left( { - 1} \right) \times \left( {1 + 0.9 + {{0.9}^2} + \cdots } \right) = \frac{{ - 1}}{{1 - 0.9}}{\rm{ = - }}10 $以保证即使车辆长期处于回报为-1的不理想状态,也不会为了获得更大的回报而驶出车道,最终根据经验选取-20为该状态下的即时回报。

1.4 终止条件设计

训练过程中为了防止车辆在低回报区域长时间停留,需要设置终止条件,以加快训练速度。本文参考文[22],设计了如下终止条件:

1) 驶出车道。若车辆驶出车道,则终止当前仿真并重新开始。

2) 车速过低。若车辆在连续150步内车速始终低于10 km/h,则终止当前仿真并重新开始,同时设置即时回报值为-1。

3) 行驶方向错误。若车辆行驶方向与要求相反,则终止当前仿真并重新开始。

1.5 考虑即时回报的经验优先回放机制设计

传统的经验优先回放方法根据时序差分误差决定优先回放的权重[23]。在经验回放池中,数据的时序差分误差是不同的,若优先使用误差较大的数据进行训练,则会加快算法的收敛速度。然而,由于采样概率的调整使得经验回放池中的数据不再满足神经网络训练的基本假设,即概率同分布,因此需要对损失函数进行调整,

$ {L_{\rm{c}}} = \frac{1}{m}\sum\limits_{i = 1}^m {{w_i}{{\left( {{y_i} - {Q_{\rm{e}}}\left( {{s_i}, {a_i}} \right)} \right)}^2}} . $

其中: yi为待评估值函数的标签值,wi为优先级权重系数。

在自动驾驶训练过程中,由于车辆驶出车道便重新开始仿真,即车辆处于车道外为吸收态,因此采集到的经验回放池中大部分为车道内的数据,在车道边缘以及压线的数据较少。传统的优先回放根据不同状态下的时序差分误差大小进行选取,难以保证对吸收态附近状态的充分训练。为克服传统方法的不足,在进行经验回放时,从经验回放池中选取的数据中应有1/3为即时回报小于0的数据,以保证值函数和动作函数对吸收态附近状态的拟合效果。与优先回放类似,此时也需要对损失函数进行调整,

$ \begin{array}{l} {L_{\rm{c}}} = \frac{1}{m}\left( {\frac{m}{{3n}}} \right.\sum\limits_{i = 1}^{\frac{m}{3}} ( {r_{in}} + \gamma {Q_{\rm{t}}}s{'_{in}},a{'_{in}} - \\ \;\;\;\;\;\;\;{Q_{\rm{e}}}\left( {{s_{in}},{a_{in}}} \right){)^2} + \frac{{2m}}{{3\left( {{n_{\rm{r}}} - {n_{{\rm{rn}}}}} \right)}} \cdot \\ \sum\limits_{i = 1}^{\frac{{2m}}{3}} {\left. {{{\left( {{r_{i{\rm{p}}}} + \gamma {Q_{\rm{t}}}{s_{i{\rm{p}}}},{a_{{\rm{ip}}}} - {Q_{\rm{e}}}\left( {{s_{i{\rm{p}}}},{a_{i{\rm{p}}}}} \right)} \right)}^2}} \right)} . \end{array} $

其中:nrn为经验回放池中即时回报小于0的数据条数;<sin, ain, rin, sin, ain>为即时回报小于0的数据中的状态、动作、即时回报、下一时刻状态、下一时刻动作;<sip, aip, rip, sip, aip>为即时回报大于等于0的数据中的状态、动作、即时回报、下一时刻状态、下一时刻动作。

综上,本文提出的算法伪代码见图 1所示的算法1。

图 1 算法1伪代码

1.6 策略网络与值函数网络设计

算法输入图像为64×64像素的灰度图。由于单帧图像不包含速度信息,因此将车辆速度也输入至神经网络中。根据输入规模设计了图 2所示的网络结构。值函数网络和动作网络均包含3层卷积层和3层全连接层。二者的卷积网络部分结构相同:第1层卷积核大小为8×8,通道数为16,步长为4×4,激活函数为ReLu;第2层卷积核大小为4×4,通道数为32,步长为2×2,激活函数为ReLu;第3层卷积核大小为3×3,通道数为64,步长为1×1,激活函数为ReLu。随后进行扁平化处理。值函数网络与动作网络的全连接层的区别在于值函数网络将动作和速度均输入到全连接层中,而动作网络仅将速度输入到全连接层中,输入方法为直接将动作与速度(或速度)添加至将特征图扁平化后所得到的向量的结尾:第1层全连接网络神经元数量为512,激活函数为ReLu;第2层神经元数量为128,激活函数为ReLu;第3层为32,激活函数为ReLu。值函数网络输出单一数值,输出层激活函数为线性函数;而动作网络输出方向盘转角(-1~1)、油门踏板开度(0~1)和刹车踏板开度(0~1),激活函数分别为tanh、sigmoid和sigmoid函数。

图 2 (网络版彩图)网络结构示意图

2 仿真验证 2.1 仿真平台

本文采用TORCS软件(the open racing car simulator)作为仿真验证平台。这是一款在强化学习领域较为常用的仿真平台,能够为用户提供车辆环境描述(例如,是否处于车道内、附近的障碍物的位置等)、车辆状态描述(例如,剩余燃料、发动机转速、挡位等)以及当前游戏状态描述(例如,平均每圈所需时间、圈数等);还能提供不同视角的图像,并可在车辆间切换;控制器可执行典型的车辆控制操作,包括离合器、换挡、加速、刹车、方向盘。TORCS能够满足本文算法训练的需求。

本文选择TORCS中的CG Speedway number 1赛道作为仿真场景(如图 3所示)。该赛道拥有较长的直道以及多种弯道,适用于验证高速情况下的自动驾驶效果。赛道情况如图 4所示,在该场景中,车辆从1号弯道出发,逆时针行驶一圈后回到起点。

图 3 (网络版彩图)仿真场景截图

图 4 赛道俯视图

另外,在该场景中,不同路段差别较大。在0~500 m内,视野内的无关物体较少,路面较为平坦,弯道曲率较小,如图 5所示;在500~1 500 m内,开始出现部分无关物体,且出现了曲率较大的路段,如图 6所示;在1 500~2 000 m内,赛道周围的无关物体较多,车道线形状不同,且路面有较大的起伏,如图 7所示。

图 5 (网络版彩图)赛道0~500 m内的路面情况

图 6 (网络版彩图)赛道500~1 500 m内的路面情况

图 7 (网络版彩图)赛道1 500~2 000 m内的路面情况

2.2 仿真结果及分析

图 4所示的仿真场景中训练时,未进行调整的控制随机性的参数α′随训练幕数的变化情况为

$ \alpha ' = {\rm{max}}\left\{ {1 - \frac{n}{{300}},0} \right\}. $

其中n为训练幕数。易知,当训练幕数超过300后,α′降为0。

下面对比了本文提出的基于考虑状态分布的DDPG算法(以下简称“算法1”)、具有经验回放调整的DDPG算法(以下简称“算法2”)以及传统DDPG算法(以下简称“算法3”)。由于该赛道总长度为2 000 m,而车辆起步时速度较慢,故当行驶距离超过2 200 m时即停止并重新开始,这样做一方面能加快算法的整体运行速度,另一方面能够获得起点附近车辆处于高速条件下的数据。

图 810分别对比了3种算法经过多次重复运行后在训练阶段的车辆平均速度、最大速度以及行驶距离随时间的变化情况,其中红色部分是算法1的训练结果,蓝色部分是算法2的训练结果,绿色部分是算法3的训练结果。考虑到每次运行时由于计算机运算速度存在一定程度的浮动,而TORCS仿真环境在未接收到新指令时不会暂停而是按照原有的指令继续进行仿真,从而导致相邻指令的时间间隔不同,每次运行的结果存在一定程度的浮动,故图 8中展示了平均速度、最大速度、行驶距离在多次训练后的平均值(深色曲线)以及相应的分布范围(浅色区域)。

图 8 (网络版彩图)车辆平均速度随训练幕数的变化

图 9 (网络版彩图)车辆最大速度随训练幕数的变化

图 10 (网络版彩图)车辆行驶距离随训练幕数的变化

图 89中可以看出,3种算法均能有效地考虑速度对即时回报的影响,实现基本的自动驾驶功能,平均速度在100 km/h左右,最大速度约为120 km/h;由于仿真时如果车辆驶出赛道,则仿真立刻停止,因此从图 10中可以看出:传统的DDPG算法由于未能对采集的数据进行合理利用,无法在全部赛道上实现车道保持功能;考虑经验回放调整的DDPG方法能够获得一定的驾驶效果,在训练后期有时能够驶完全程;而本文提出的基于考虑状态分布的DDPG算法,能够在训练后期驶完全程,保持较好的自动驾驶效果,且比仅考虑经验回放调整的DDPG算法驾驶效果提升更快,最终的驾驶效果也更优。

具体来说,在图 10中,3种算法在前150幕的训练效果类似,在150~300幕时,随机化参数α′降至0.5以下,并且算法已经获得了初步的驾驶效果,保存的数据中驶出赛道的数据比例极低。此时,对于算法3来说,在新的场景下既不具有足够的随机探索能力,对新场景中的非正常驾驶状态训练也不足,导致在之后的训练中难以提升;而对于算法2来说,虽然随机探索能力不足,但是对新场景下正常和非正常驾驶状态都能够进行充分学习,因此能继续提升驾驶效果;对于算法1来说,由于仍然具备了足够的探索能力,在250幕左右,面对曲率较大的4号、5号弯道,可以比算法2更快地学习到正确的驾驶策略,在400幕左右,面对最后的直道场景,尽管周围的无关物体,例如看台、脚手架等(参见图 7),在视野中占据了较大面积,环境较为复杂,算法1较算法2仍能更快地学习到正确的驾驶策略,最终能够较为稳定地驶完全程,而算法2的效果提升缓慢,尽管有时能够驶完全程,但是其平均行驶距离仍未达到2 000 m。

3 结论

针对端到端自动驾驶训练过程中,由于不同训练时间段的场景差别较大,而训练后期算法随机性较差,从而导致训练后期在新场景中无法获得较好自动驾驶效果的问题,本文提出了一种基于输入数据状态分布筛选的随机策略和经验回放方法,通过对比当前输入的状态数据和已保存的状态数据之间的距离,根据不同的距离选择不同的随机策略,同时在经验回放时提高出现次数较少的状态的回放概率。随后本文进行了仿真验证,并得到如下结论:在对输入状态的多样性估计不足、随机性衰减较快的情况下,本文提出的经验回放方法使得值函数对于出现次数较少的状态也能较好拟合,在探索能力不足的情况下能够对不同场景的数据进行充分学习,而且本文提出的基于输入数据状态分布筛选的随机策略方法在训练后期面对与前期数据分布差异较大的场景时仍有足够的探索能力,加快了算法在新场景下的训练速度,提高了基于强化学习算法的端到端自动驾驶方法面对新场景时的车道保持能力。

然而,本研究目前仅采用通过行驶距离判断状态分布的方法,应用场景较为有限,未来将在本研究的基础上进一步探讨状态空间聚类问题。

参考文献
[1]
张新钰, 高洪波, 赵建辉, 等. 基于深度学习的自动驾驶技术综述[J]. 清华大学学报(自然科学版), 2018, 58(4): 438-444.
ZHANG X Y, GAO H B, ZHAO J H, et al. Overview of deep learning intelligent driving methods[J]. Journal of Tsinghua University (Science and Technology), 2018, 58(4): 438-444. (in Chinese)
[2]
POMERLEAU D A. Alvinn: An autonomous land vehicle in a neural network[M]. San Francisco, USA: Morgan Kaufmann Publishers, 1989: 305-313.
[3]
MICHELS J, SAXENA A, NG A Y. High speed obstacle avoidance using monocular vision and reinforcement learning[C]//Proceedings of the 22nd International Conference on Machine Learning. New York, USA, 2005: 593-600.
[4]
LANGE S, RIEDMILLER M, VOIGTLÄNDER A. Autonomous reinforcement learning on raw visual input data in a real world application[C]//The 2012 International Joint Conference on Neural Networks (IJCNN). Brisbane, Australia, 2012: 1-8.
[5]
JOCHEM T M, POMERLEAU D A, THORPE C E. Vision-based neural network road and intersection detection and traversal[C]//Proceedings of 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. Pittsburgh, USA, 1995: 344-349.
[6]
LAMPLE G, CHAPLOT D S. Playing FPS games with deep reinforcement learning[C]//Proceedings of the 31st AAAI Conference on Artificial Intelligence. San Francisco, USA, 2017: 2140-2146.
[7]
MNIH V, KAVUKCUOGLU K, SILVER D, et al. Playing Atari with deep reinforcement learning[C]//NIPS Deep Learning Workshop. Lake Tahoe, USA, 2013.
[8]
GAYA J O, GONÇALVES L T, DUARTE A C, et al. Vision-based obstacle avoidance using deep learning[C]//Proceedings of 2016 XIII Latin American Robotics Symposium and IV Brazilian Robotics Symposium (LARS/SBR). Recife, Brazil, 2016: 7-12.
[9]
GIUSTI A, GUZZI J, CIREŞAN D C, et al. A machine learning approach to visual perception of forest trails for mobile robots[J]. IEEE Robotics and Automation Letters, 2016, 1(2): 661-667. DOI:10.1109/LRA.2015.2509024
[10]
LEVINE S, PASTOR P, KRIZHEVSKY A, et al. Learning hand-eye coordination for robotic grasping with deep learning and large-scale data collection[J]. The International Journal of Robotics Research, 2018, 37(4-5): 421-436. DOI:10.1177/0278364917710318
[11]
SILVER D, HUANG A, MADDISON C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489. DOI:10.1038/nature16961
[12]
SILVER D, BAGNELL J A, STENTZ A. Learning from demonstration for autonomous navigation in complex unstructured terrain[J]. The International Journal of Robotics Research, 2010, 29(12): 1565-1592. DOI:10.1177/0278364910369715
[13]
LANGE S, RIEDMILLER M. Deep auto-encoder neural networks in reinforcement learning[C]//The 2010 International Joint Conference on Neural Networks (IJCNN). Barcelona, Spain, 2010: 1-8.
[14]
MNIH V, KAVUKCUOGLU K, SILVER D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533. DOI:10.1038/nature14236
[15]
YOUSSEF F, HOUDA B. Deep reinforcement learning with external control: Self-driving car application[C]//Proceedings of the 4th International Conference on Smart City Applications. Casablanca, Morocco, 2019: 1-7.
[16]
CHIANG H T L, FAUST A, FISER M, et al. Learning navigation behaviors end-to-end with AutoRL[Z/OL]. (2018-02-01)[2020-08-09]. https://arxiv.org/abs/1809.10124.
[17]
ZOU Q J, XIONG K, HOU Y L. An end-to-end learning of driving strategies based on DDPG and imitation learning[C]//Proceedings of the 2020 Chinese Control and Decision Conference (CCDC). Hefei, China, 2020: 3190-33195.
[18]
LIANG X D, WANG T R, YANG L N, et al. CIRL: Controllable imitative reinforcement learning for vision-based self-driving[C]//Proceedings of the European Conference on Computer Vision (ECCV). Cham, Germany: Springer, 2018: 584-599.
[19]
CHEN J, WU T, SHI M P, et al. PORF-DDPG: Learning personalized autonomous driving behavior with progressively optimized reward function[J]. Sensors, 2020, 20(19): 5626. DOI:10.3390/s20195626
[20]
张斌, 何明, 陈希亮, 等. 改进DDPG算法在自动驾驶中的应用[J]. 计算机工程与应用, 2019, 55(10): 264-270.
ZHANG B, HE M, CHEN X L, et al. Self-driving via improved DDPG algorithm[J]. Computer Engineering and Applications, 2019, 55(10): 264-270. DOI:10.3778/j.issn.1002-8331.1806-0324 (in Chinese)
[21]
UHLENBECK G E, ORNSTEIN L S. On the theory of the Brownian motion[J]. Physical Review, 1930, 36(5): 823-841. DOI:10.1103/PhysRev.36.823
[22]
杨顺, 蒋渊德, 吴坚, 等. 基于多类型传感数据的自动驾驶深度强化学习方法[J]. 吉林大学学报(工学版), 2019, 49(4): 1026-1033.
YANG S, JIANG D Y, WU J, et al. Autonomous driving policy learning based on deep reinforcement learning and multi-type sensor data[J]. Journal of Jilin University (Engineering and Technology Edition), 2019, 49(4): 1026-1033. (in Chinese)
[23]
OU Y N, LIU L F, WEI Q, et al. A novel DDPG method with prioritized experience replay[C]//Proceedings of the 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC). Banff, Canada, 2017: 316-321.