Shixin Gu作者Hao Wang编辑

自动驾驶汽车遇到交叉路口?深度强化学习来帮忙

衡量自动驾驶汽车的一大关键标准是看自动驾驶汽车能否正确穿过没有信号的交叉路口。宾夕法尼亚大学等多个机构的研究者提出使用深度强化学习来帮助自动驾驶汽车通过交叉路口,结果取得了非常优良的表现。

论文地址:https://arxiv.org/abs/1705.01196

无人驾驶汽车的研究已经不再只是识别交通灯或道路标志那样的简单过程了,它已经延伸到了生活中的很多场景中。衡量自动驾驶汽车的一大关键标准是看自动驾驶汽车能否正确穿过没有信号的交叉路口。在这篇论文中,研究者提供了一种使用深度强化学习的新策略。与当前的基于规则方法相比,这能以一种有用的方式存储和操作知识以及解读信息。这篇论文向我们表明,使用深度强化学习可以在任务完成时实现更优的表现和目标成功率等。平均成功率可高达 99.64%,一次试验成功平均所用的时间缩短到了平均 5.5 秒。但是,他们指出在稳健性提升方面还需要更多努力。

1.引言

对于人类驾驶者而言,20% 的交通事故都发生在交叉路口 [1]。自动驾驶汽车能够多好地学习通过交叉路口呢?为了成功做到这一点,必须要做到三件事:

  1. 理解车辆动态
  2. 解读其它驾驶者的意图
  3. 采取可预测的行为以便其他驾驶者有时间采取适当的响应

这应该就能平衡多个互相冲突的目标,比如安全性、效率以及最大限度减少交通中断。

已经有两类主要的基于规则的方法被应用到了交叉路口处理上:协作方法 [2] 和启发式方法 [3]。协作方法不能扩展用于一般的交叉路口处理,因为这需要车辆之间的通信。之前最佳的方法是一种基于碰撞时间(TTC:time-to-collision)的基于规则的方法 [4]。TTC 有很多优势,比如可靠性,但仍有局限性。首先,由于假设速度恒定,TTC 模型会忽视几乎所有有关驾驶者意图的信息。其次,人类驾驶者难以预测的行为会让基于规则的算法的应用变得很复杂。最后,很多情况表明使用 TCC 可能会过度谨慎,这会造成不必要的延迟。

正如该论文提到的那样,用于处理交叉路口情况的机器学习方法主要有三种,即:模拟学习、在线规划和离线学习。该论文选择了离线学习方法,并解释了模拟学习和在线规划不适用的原因。对于模拟学习而言,如果智能体发现自己处于一个并未学习过的状态,它将无法提供解决方案。在线规划则依赖于已有的准确的生成模型。图 1 展示了穿过繁忙交叉路口的过程。

图 1:穿过一个繁忙的交叉路口。红车是自动驾驶车辆,黄车是交通中的其它车。其目标是在安全地避免碰撞的同时确定沿途的速度控制方案。

2. 方法

在这一节,研究者将交叉路口处理问题看作是一个强化学习问题。他们使用了深度 Q 网络(DQN)来学习状态-动作价值 Q 函数。该方法分为 5 部分:

  • 强化学习(RL)

这部分是介绍强化学习,我将使用最简单的方式来描述强化学习的过程。在强化学习模型中,在时间 t,处于状态 s_t 的智能体根据策略 p 采取动作 a_t。然后该智能体的状态变成 s_(t+1) 并获得奖励 r_t。这被形式化为了一个马尔可夫决策过程(MDP),并使用了 Q 学习来执行优化。

  • Q 学习

这部分介绍 Q 学习,我建议读者先学习一下 Q 学习,这能帮助你更轻松地阅读这篇论文。Q 学习的本质是使用动作价值函数 Qp(s,a) 的平均值来估计实际值。当添加数据时,结果会更新。

  • 动态帧跳过

动态帧跳过是将选择简化 [5],这让智能体可以在更长的时间内选择动作,这能改善智能体的学习时间。

  • 优先经历重放

该论文使用了经历重放来破除智能体的连续步骤之间的关联。之前的轨迹由一个经历重放缓冲存储,这意味着出现次数更少的重要序列也可以得到采样。这能避免计算排序列表,在轨迹上平衡奖励的样本将会取代这种计算。

  • 状态-动作表征

由于自动驾驶汽车会使用很多传感器,所以会有大量状态和动作表征。研究者在这篇论文中提出了两种表征。第一种是连续动作(Sequential Actions),即将所需路径提供给智能体,让智能体决定加速、减速或保持速度。第二种是行动时间(Time-to-Go),即智能体决定等待或前进的时间。前者能让我们观察更复杂的行为能否带来优势;后者重在出发时间,这让我们可以探索出发时间的改变对表现水平的影响方式。

3.实验

在这一部分,研究者基于多种不同的交叉路口场景训练了两个 DQN(连续动作和行动时间)。他们将结果与启发式碰撞时间(TTC)算法进行了比较。TTC 策略使用了单个阈值来决定是否通过,这篇论文也将其用作了分析的基准。研究者使用了 Sumo 模拟器 [6] 来运行实验。这个模拟软件包可以帮助用户模拟各种不同场景下的交通状况。这能帮助建模道路网络、道路标志、交通灯、大量车辆,而且还能促进在线交互和车辆控制。如图 2 所示,这里有 5 种不同的交叉路口场景。研究者给出了一系列用于设置场景的参数以及 4 个用于评估方法的指标:成功百分比、碰撞百分比、平均时间和平均刹车时间。对于 TTC 和出发时间 DQN,所有的状态表征都忽略了遮挡情况,并且假设可以看到所有车辆。

图 2:不同交叉路口情形

连续动作网络是一个使用了 leaky ReLU 激活函数的全连接网络。其中有 3 个各有 100 个节点的隐藏层,最后的线性层有 12 个输出,对应 3 个动作(加速、减速和速度保持)和 4 个时间尺度(1、2、4、8 个时间步骤)。出发时间 DQN 网络使用了一个卷积神经网络,其有 2 个卷积层和 1 个全连接层。第一个卷积层有 32 个步幅为 2 的 6×6 过滤器,第二个卷积层有 64 个步幅为 2 的 3×3 过滤器。全连接层有 100 个节点。所有层都使用了 leaky ReLU 激活函数。最后的线性输出层有 5 个输出:单个 go 动作和一个 4 个时间尺度(1、2、4、8 个时间步骤)的 wait 动作。在实验中,经历重放缓存会保存 100 000 个时间步骤,并且有两个用于碰撞以及用于成功和超时的缓存。对于奖励,成功的奖励为 +1,碰撞的奖励为 -10,步骤成本为 -0.01。

4.结果

表 I:不同算法的比较表 I、图 3、图 4 给出了结果。我们可以看到这些特点:

  1. TTC 方法在任何场景中都没有碰撞。在 DQN 方法中,DQN Time-to-Go 的碰撞率显著低于 DQN-sequential。
  2. DQN 方法在达成目标方面比 TTC 方法高效很多。平均而言,DQN Time-to-Go 达成目标的速度比 TTC 快 28%,DQN Sequential 则比 TTC 快 19%。这意味着 DQN 方法有降低交通拥堵的潜力。
  3. 除了其中一种情况,DQN Time-to-Go 有最高的成功率,如图 3 所示。
     
    图 3:所有方法和场景的结果比较
  4. 尽管 DQN 要高效很多,但它们在最小化碰撞次数上还比不上 TTC。
  5. 在图 4 中,我们可以看到,经过速度与安全性的权衡之后,DQN 的表现全面压制 TTC。这说明设计一种零碰撞率的算法是可能的。
     
     图 4:随 TTC 阈值变化的通过时间和碰撞率之间的权衡。注意 DQN 的表现在每种情况下都绝对占优。由于比例原因,这里没有给出 Challenge 情况的结果,但结果是相似的。

由于事实上 DQN 没有实现零碰撞率,所以研究者试图找到一种解决这一问题的方法,因为零碰撞率是非常重要的。根据多任务学习 [7] 的核心原理,作者猜想在多种场景上训练将能够提升模型的表现。图 5 给出了迁移表现,表 II 和表 III 给出了具体数据。迁移表现有助于研究者了解深度网络系统的泛化能力。我们可以看到,更有难度的场景能更容易迁移到更容易的场景,但车道数量变化会产生干扰。

图 5:迁移表现。将在一种场景中训练的网络在各种不同的场景下运行,以评估每种方法的泛化能力。

表 II: DQN-Sequential 的迁移表现

表 III:DQN Time-to-Go 的迁移表现

然后研究者给出了一个定性分析。他们指出能够准确预测远处车道交通情况的 DQN 将能够在该车到达该车道时通过。另外,DQN 驾驶者还能预测即将到来的车辆是否有足够多的时间制动。研究者还解释了会有一些碰撞的原因。这些碰撞的原因是车辆几乎与即将到来的车辆插肩而过的离散化效应(discretization effects)。研究者还指出 TTC 通常会等到道路完全清空后才出发,如图 6 所示,在实际应用可不能这么做。

图 6:DQN Time-to-Go 会预测道路开放的时机,并根据可用路径的预测开始加速。TTC 会等到没有其它车辆时才前进,会错过很多机会。

5.结论

该论文提到了三大贡献。第一是结合多种近期的深度学习技术来提升表现水平的全新思想。第二是分析和比较了 DQN 与 TTC 在 5 种不同的交叉路口模拟场景中的表现情况。第三是分析了训练后的 DQN 策略在不同场景中的迁移情况。

在我看来,未来仍有两个可以改进的方向。第一是卷积神经网络架构。对于更复杂的场景,更深度的神经网络可能会好很多。我们可以在参考文献 [8] 中看到同样的结论,其中一家自动驾驶公司将深度学习视为实现可信任无人驾驶汽车的唯一可行途径,因为有大量道路状况和很多事情都很困难和微妙难解。第二是关于碰撞率。我认为应该还存在另一种将碰撞率降至零的方法,因为对于无人驾驶汽车来说,安全性是头等大事。我们无法只通过模型或算法来实现这一目标,还存在其它解决这一问题的途径。奥迪的工程师应用了毫米波雷达、激光雷达、摄像头、超声波探头等感知设备来互相补偿和验证,这也有助于汽车正确地决策。

6. 参考文献

 [1] National Highway Traffic Safety Administration, “Traffic Safety Facts, Tech. Rep. DOT HS 812 261, 2014. [Online]. Available: https://crashstats.nhtsa.dot.gov/Api/Public/Publication/812261
 [2] Hafner, Michael R., et al. "Cooperative collision avoidance at intersections: Algorithms and experiments." IEEE Transactions on Intelligent Transportation Systems 14.3 (2013): 1162-1175.

[3] Alonso, Javier, et al. "Autonomous vehicle control systems for safe crossroads." Transportation research part C: emerging technologies 19.6 (2011): 1095-1110.

[4] Minderhoud, Michiel M., and Piet HL Bovy. "Extended time-to-collision measures for road traffic safety assessment." Accident Analysis & Prevention 33.1 (2001): 89-97.

[5] Sutton, Richard S., and Andrew G. Barto. Reinforcement learning: An introduction. Vol. 1. No. 1. Cambridge: MIT press, 1998.

[6] Krajzewicz, Daniel, et al. "Recent development and applications of SUMO-Simulation of Urban MObility." International Journal On Advances in Systems and Measurements 5.3&4 (2012).

[7] Caruana, Rich. "Multitask learning." Learning to learn. Springer US, 1998. 95-133.

理论
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

马尔可夫决策过程技术

马尔可夫决策过程为决策者在随机环境下做出决策提供了数学架构模型,为动态规划与强化学习的最优化问题提供了有效的数学工具,广泛用于机器人学、自动化控制、经济学、以及工业界等领域。当我们提及马尔可夫决策过程时,我们一般特指其在离散时间中的随机控制过程:即对于每个时间节点,当该过程处于某状态(s)时,决策者可采取在该状态下被允许的任意决策(a),此后下一步系统状态将随机产生,同时回馈给决策者相应的期望值,该状态转移具有马尔可夫性质。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

多任务学习技术

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~