学习人类良好驾驶习惯还不够,Waymo仿真突发状况要让自动驾驶汽车更可靠

Alphabet旗下的自动驾驶汽车子公司Waymo近日公开训练自动驾驶汽车的研究成果,通过大量的真人驾驶数据,创建神经网络模型,不只学习正常情况的驾驶数据,Waymo还合成其他状况的数据,让模型学习如何应对行车中的干扰,该模型不但能够在充满挑战的仿真环境下正常驾驶,还能在封闭的真实环境中,驾驶真的车辆。

近几年,许多研究用监督式深度神经网络,通过大量已标示的数据,来快速改善模型的准确率,尤其是物体感知和预测模型,而Waymo同样地也使用了这个方法,通过真人驾驶示范的数百万英里行车数据当成训练数据,用监督式深度学习方法,不过,要训练出像真人一样的驾驶模型,光是模仿大量的真实行车数据还不够,为了能让模型更可靠,Waymo团队还加入了额外的信息,除了仿真好的行为之外,也要仿真不好的情况。

Waymo团队创建了深度神经网络ChauffeurNet,让模型向真人专家学习,该模型通过观察中等程度的程序,来产生驾车轨迹,由于输入的程序,不直接处理原始的传感器数据,因此能够分解感知任务,研究团队也能将真实和仿真数据集成,用于迁移学习。输入模型的程序是个从上而下的场景环境数据,包含地图、周边物体、交通信号灯、车辆运动等数据。

ChauffeurNet模型在写下预测驾驶轨迹的点之后,会用该点作为下一个预测轨迹点的依据,不断重复执行输出驾驶轨迹,模型包含10个轨迹点,这些输出结果会送到控制器中,转换为控制命令,像是如何驾驶或加速。除此之外,Waymo研究团队也应用一个独立的感知深度学习网络PerceptionRNN,在驾驶移动的过程中,预测周围移动物体。

ChauffeurNet模型内部分为两个网络,卷积网络FeatureNet和AgentRNN,FeatureNet从输入的数据中计算一系列的特征,再由AgentRNN负责收集FeatureNet过去呈现的图片,模型再输出预测结果,这些预测结果被用来更新AgentRNN的输入数据,为下一次的预测做准备。

图片来源:Waymo

训练模型的部分,Waymo用大约60天的驾驶数据来训练模型,还加入past motion dropout技术,来确保模型不会一直只根据过去的运动推断,并且对环境产生正确相对应行动,如此一来,模型能够学习适当地应对交通状况,像是遇到交通信号灯会做出正确的判断,但是,即便用大量的数据训练模型,还是会有模型没有遇过的状况。

训练数据通常只有包括在好的情况下驾驶范例,为了训练自驾模型面对的不好的情况能力,Waymo研究团队加入扰乱驾驶行车轨迹,起点和终点不变,但是轨迹产生偏差,来教导模型如何从扰乱的情况中恢复,另外,Waymo也合成了与道路边缘或是物体碰撞的数据,利用合成数据和附注的奖励机制,让模型学会如何应对不好的情况,举例来说,经过训练的模型能够绕过停在路边的车辆,回到正常的行车轨道继续行驶。

不过,要打造全自动的自驾系统,必须解决真实世界中长尾效应的问题,深度学习模型在缺乏数据的场景中,还是存在许多问题,深度学习模型能够识别与训练数据相关性,但是无法通过观察相关性来创建因果模型,也不能主动测试虚拟条件下的情况,要创建因果模型必须知道真人驾驶行为的原因,以及面对特定状况会如何反应,了解原因才能让自动驾驶汽车模型变得更安全。

现在Waymo自动驾驶汽车使用的行车规划模型是结合了机器学习和明确的推论系统,持续评估各种不同场景的可能性,来做出最佳的驾驶决策,该模型已经过1,000万英里的道路测试,和数十亿英里的仿真测试,Waymo表示,现在的模型离全机器学习模型还很远,目前Waymo还持续在研究因果模型的难题。