虽然Waymo已于美国当地时间12月5日宣布正式商用,但外界对Waymo的技术细节知之甚少。
Waymo 也很清楚,这种信息差距会让外界对其技术信心下降。
这就是 Waymo 需要改变的地方——发布更多技术细节并增强公众信心。
美国当地时间 12 月 11 日,Waymo 在其官方博客上首次发布了一些技术细节——如何使用名为“ChauffeurNet”的深度循环神经网络【循环神经网络(RNN)】构建全球最流行的机器人。
经验丰富的司机。
Waymo 想要打造的最有经验的机器人驾驶员,就像任何优秀的驾驶员一样,需要通过识别周围的物体来感知和理解周围的世界,预测他们的下一步行为,然后在遵守交通规则的情况下安全驾驶。
。
近年来,利用大量标记数据进行深度神经网络的监督训练已经在很多领域得到应用,特别是在感知和预测领域,可以快速提升技术水平。
Waymo 在这一领域也得到广泛应用。
随着神经网络在感知领域的成功,接下来的想法是 Waymo 已经拥有超过 10,000 英里的自动驾驶数据。
它能否使用纯监督的深度学习方法来训练最有经验的驾驶员?因此,数据专家创建了一个神经网络,它不仅可以模拟驾驶,而且足够强大,可以在具有挑战性的情况下驾驶真实的汽车进行测试。
然而,单纯模仿大量“好司机”的驾驶习惯并不能创造出强大可靠的自动驾驶技术。
相反,Waymo 发现了从良好的感知和控制中指导简化学习任务的价值,同时,除了模仿“好司机”的驾驶习惯外,它还模仿了“坏司机”的不良驾驶行为,并附加了坏的驾驶行为。
驾驶行为。
训练更好的驾驶行为。
1. 创建 ChauffeurNet 为了通过模仿“好司机”来驾驶,Waymo 创建了一个名为“ChauffeurNet”的深度循环神经网络(RNN),它通过观察场景的中级表示作为输入来发出驾驶轨迹。
中间层的表示不直接使用原始传感器数据,从而分解感知任务并允许真实数据和模拟数据的结合,以便于学习。
如下图所示,该输入表示由自上而下(鸟瞰)的环境视图组成,其中包含地图、周围物体、交通灯状态和汽车轨迹等信息。
该网络还提供类似谷歌地图的路线,引导车辆到达目的地。
ChauffeurNet 在每次迭代中输出未来驾驶轨迹上的一个??点,同时将预测点写入内存,该点将在下一次迭代中使用。
从这个意义上来说,RNN 并不是传统的,因为它的记忆模型是经过精心设计的。
ChauffeurNet 的轨迹输出由 10 个未来点组成,然后将其馈送到低级控制器,该控制器将其转换为转向和加速等控制指令,使其能够驾驶汽车。
此外,还使用了一个单独的“PerceptionRNN”头,它迭代地预测环境中其他移动物体的未来,并且该网络与预测软件驱动的 RNN 共享属性。
未来的一种可能性是在预测其他因素的反应同时选择我们自己的驾驶轨迹的过程中进行更深层次的交叉。
驾驶员模型呈现的输入和输出从左到右为:路标、交通灯、速度限制和路线。
底行从左到右:当前智能体框、动态框、过去智能体姿势和输出未来智能体姿势。
ChauffeurNet 有两个内部部分:FeatureNet 和 AgentRNNA。
agentRNN 使用渲染过去代理姿势的图像、由渲染输入的卷积网络“FeatureNet”计算的一组特征,以及最后一个剂量框渲染图像。
外显记忆可以预测未来。
预测未来智能体组成的智能体对的自上而下的鸟瞰图。
这些预测用于更新 AgentRNN 的输入,以便预测下一个时间步骤。
2. 模仿“好司机” Waymo 使用相当于 60 天“好司机”驾驶数据的示例来训练模型,同时添加训练技术,以确保网络不是简单地继续从过去的动作推断,而是对环境做出适当的响应。
正如我们之前的许多人,包括 20 世纪 80 年代的 ALVINN 项目所发现的那样,纯粹模仿“好司机”给出的模型可以稳定模型,只要条件不与训练中看到的偏差太大。
跑步。
该模型学会了对停车标志和交通信号灯等交通管制做出适当的反应。
然而,会存在偏差,例如对轨迹引入扰动或将其放置在碰撞附近,这将导致其表现不佳,因为在训练过程中可能永远不会看到它,即使在使用超过这些确切情况的大量数据进行训练时也是如此。
通过纯模仿学习训练的智能体被困在停放的车辆后面,并且在沿着弯曲的道路行驶时无法从偏离的轨迹中恢复。
上面两个动画的注释:蓝绿色路径代表输入路径,黄色框代表场景中的动态物体,绿色框代表Agent,蓝点代表Agent过去的位置,绿点代表Agent过去的位置代表预测的未来位置。
3.“合成的坏司机”源自现实世界驾驶的“好司机”的驾驶行为通常只包括在良好情况下驾驶的例子,因为出于明显的原因,我们不希望我们的“好司机”驾驶到接近的地方。
碰撞或爬山限制只是为了向神经网络展示如何从这些情况中恢复。
为了训练网络摆脱困境,模拟或合成合适的训练数据是有意义的。
一个简单的方法是包含我们干扰“好司机”的实际驾驶轨迹的示例。
这种扰动使轨迹的起点和终点保持不变,偏差主要发生在中间。
这教会神经网络如何从干扰中恢复。
不仅如此,这些扰动还会产生与其他物体或道路限制发生合成碰撞的例子,我们教网络通过添加防止此类碰撞的显式损失来避免这种情况。
这些损失使我们能够利用领域知识来指导学习,以便更好地泛化到新情况。
通过将当前 Agent 位置(红点)拉出车道中心,然后拟合新的平滑轨迹,Agent 沿着车道中心返回到原始目标位置,从而扰动轨迹。
这项工作演示了一种使用合成数据的方法。
除了我们的方法之外,还可以对高度交互或罕见的情况进行广泛的模拟,同时使用强化学习(RL)来调整驾驶策略。
然而,进行强化学习需要我们准确地模拟环境中其他道路参与者的真实行为,包括其他车辆、行人和骑自行车的人。
因此,我们当前的工作重点是纯粹的监督学习方法,请记住我们的模型可用于创建自然行为的“智能代理”来指导强化学习。
4. 实验结果我们看到纯模仿学习模型如何无法在停放的车辆周围移动,并在偏离轨道时被卡住。
通过一系列综合和辅助示例,ChauffeurNet 的模型现在可以成功绕过停放的车辆 (1) 并从轨迹偏差中恢复,继续沿着弯曲的道路平稳行驶 (2)。
12 在下面的示例中,我们在模拟器的闭环设置中演示了 ChauffeurNet 对日志示例中正确因果因素的响应。
在动画 3 中,我们看到 ChauffeurNet 代理在停车标志(红色标记)处完全停止。
在动画 4 中,我们从渲染路径中删除了停止标志,看到代理不再完全停止,从而验证网络正在对正确的因果因素做出响应。
34 在 GIF 5 中,我们看到 ChauffeurNet 代理停在其他车辆后面(黄色框),然后随着其他车辆向前移动而继续前进。
GIF 6,我们从呈现的输入中删除其他车辆,并看到代理自然地沿着路径继续前进,因为其路径中没有其他对象,从而验证网络对场景中其他车辆的响应。
在 GIF 7 中,ChauffeurNet 代理停止等待交通灯从黄色变为红色(注意交通灯渲染强度的变化,显示为车道中心的曲线),而不是盲目跟随其他车辆。
经过模拟测试后,我们用 ChauffeurNet 替换了总体规划模块,并用它在我们的私人测试赛道上驾驶克莱斯勒 Pacifica 小型货车。
视频显示车辆成功地沿着弯曲车道行驶、处理停车标志并转弯。
动画 8 演示了 PerceptionRNN 在日志示例上的预测。
回想一下,PerceptionRNN 可以预测其他动态对象的未来运动。
红色轨迹代表场景中动态物体过去的轨迹;绿色轨迹代表每个物体在接下来两秒内的预测轨迹。
注:GIF 5、6、7、8 均超过 2M。
它们已经被长时间压缩,编辑无法满足微信要求的规格,所以请移到文字后面,找到传送门。
下面的动画变得越来越复杂,展示了Waymo在这方面的思考以及由于变量的增加而对技术要求的提高,从而训练出经验更丰富的自动驾驶驾驶员。
5.总结长尾理论、因果关系和终身学习。
全自动驾驶系统需要能够处理现实世界中发生的长尾情况。
尽管深度学习在许多应用中取得了相当大的成功,但如何处理训练数据的缺乏仍然是一个悬而未决的问题。
此外,深度学习可以识别训练数据中的相关性,但它不能通过纯粹观察相关性来构建因果模型,也不能在模拟中主动测试反应事实。
了解“好司机”的行为方式以及他们对什么的反应对于建立因果驾驶模型至关重要。
因此,仅仅模仿大量“好驾驶员”的驾驶行为是不够的,了解原因可以更容易理解如何改进这样的系统,这对于安全关键型应用尤为重要。
此外,如果这些改进能够以增量和有针对性的方式进行,那么系统就可以不断学习并不断改进。
这种类型的持续终身学习是机器学习社区的一个活跃的研究领域。
如今,Waymo 车辆上运行的规划器将机器学习和显式推理相结合,不断评估大量可能性,并在各种不同场景中做出最佳驾驶决策,这些决策已经在超过 10,000 英里的道路上磨练出来。
数十亿英里的测试模拟。
因此,完全机器学习系统取代 Waymo 规划器的门槛非常高,尽管来自此类系统的组件可以在 Waymo 规划器中使用,或者可以用于在模拟测试部门期间创建更现实的“智能代理”规划。
Waymo 这次公布的是软件细节。
我们希望 Waymo 未来能够公布更多细节。
除了技术软件细节外,还包括 Waymo One 的硬件解决方案、成本和运营细节。
车志军将持续关注自动驾驶领域最好的学习对象Waymo。