本文为 AI 研习社编译的技术博客,原标题 :
AutoML: Automating the design of machine learning models for autonomous driving
作者 | Waymo TeamFollow
翻译 | ciky奇、Ophria、谢玄xx
校对 | 邓普斯•杰弗 审核 | 酱番梨 整理 | 立鱼王
原文链接:
https://medium.com/waymo/automl-automating-the-design-of-machine-learning-models-for-autonomous-driving-141a5583ec2a
作者: Shuyang Cheng and Gabriel Bender*
在Waymo,机器学习几乎在自动驾驶系统的每个部分都起着关键作用。它可以让汽车看到周围环境,感知和了解世界,预测其他人的行为方式,并决定他们的下一步行动。
感知:我们的系统采用神经网络的组合,以便我们的车辆能够识别传感器数据、识别物体并随着时间的推移跟踪它们,以便它能够深入了解周围的世界。这些神经网络的构建通常是一项耗时的任务;优化神经网络架构以实现在自动驾驶汽车上运行所需的质量和速度是一个复杂的微调过程,我们的工程师要完成一项新任务可能要花费数月时间。
现在,通过与Brain团队的谷歌AI研究人员合作,我们将前沿研究付诸实践,用来自动生成神经网络。更重要的是,这些最先进的神经网络比工程师手动微调的质量更高,速度更快。
为了将我们的自动驾驶技术带到不同的城市和环境,我们需要以极快的速度优化我们的模型以适应不同的场景。AutoML使我们能够做到这一点,高效,持续地提供大量的ML解决方案。
我们的合作始于一个简单的问题:AutoML能否为汽车生成高质量和低延迟的神经网络?
“质量”可以衡量神经网络产生结果的准确性。“延迟”可以测量网络提供答案的速度,也称为“推理时间”。由于驾驶是一项活动,要求我们的车辆使用实时反馈并考虑到我们系统的安全--关键性质,因此我们的神经网络需要低延迟运行。大多数直接在我们车上运行的网络都可以在不到10毫秒的时间内提供结果,这比在数千台服务器上运行的数据中心部署的许多网络更快。
在他们最初的AutoML论文[1]中,我们的Google AI同事能够自动探索出超过12,000种架构来解决CIFAR-10这种经典图像识别任务:将一张小图像识别为10个类别中的一种,如一辆汽车,一架飞机,一只狗等。在后续的一篇文章[2]中,他们发现了一系列神经网络构建块,称为NAS单元,它可自动构建出比手工制作的用于CIFAR-10以及相似任务更好的网络。通过这次合作,我们的研究人员决定使用这些单元自动构建用于自动驾驶特定任务的新模型,从而将在CIFAR-10上学习到的知识迁移到我们领域中。我们的第一个实验是使用语义分割任务:将LiDAR点云中的每个点识别为汽车,行人,树等。
One example of a NAS cell. This cell processes inputs from the two previous layers in a neural net.
为此,我们的研究人员搭建了一种自动搜索算法,用于在卷积网络架构(CNN)中探索数百种不同NAS单元的组合,为我们的LiDAR分割任务训练和评估模型。当我们的工程师手工对这些网络进行微调时,他们只能探索有限数量的架构,但是通过搭建自动搜索算法,我们可以自动探索数百种架构。我们发现模型较之前手工制作的模型有两方面的改进:
有些在相似质量情况下具有显著低延迟;
其他在相似延迟情况下具有更高的质量;
鉴于此初步的成功,我们将相同的搜索算法应用于与交通车道检测和定位相关的两个附加任务中。迁移学习技术也适用于这些任务,我们能在汽车上部署三个新训练和改进的神经网络。
我们受初步实验结果鼓舞,因此我们决定进一步更广泛地搜索可以提供更好结果的全新架构。不将自己限制于已经发现的NAS单元中,我们可以直接考虑那些有严格延迟性要求考虑的架构。
进行端到端搜索通常需要手动探索数千种架构,这会带来很大计算成本。探索单一架构需要在具有多GPU卡的数据中心计算机上进行数天训练,这意味着需要数千天的计算才能搜索这个单一任务。相反,我们设计了一个代理任务:减轻LiDAR分割任务,使任务可以在几个小时内解决。
团队必须克服的一个挑战是找到一个与原始分割任务足够相似的代理任务。在确定该任务的体系结构质量与原始任务的体系结构质量之间的良好相关性之前,我们尝试了几种代理任务设计。然后我们启动了一个类似于原始AutoML论文的搜索,但现在在代理任务:一个代理端到端的搜索。这是首次将此概念应用于激光雷达数据。
代理端到端搜索:在缩小的代理任务上探索数千种架构,将100种最佳架构应用于原始任务,验证和部署汽车上最好的架构。
我们使用了几种搜索算法,对质量和延迟进行了优化,因为这对车辆至关重要。我们观察了不同类型的CNN架构,并使用了不同的搜索策略,例如随机搜索和强化学习,我们能够为代理任务探索超过10000种不同的架构。通过使用代理任务,在一个Google TPU集群上花费一年的计算时间只花了两周。我们发现了比我们刚转移NAS细胞时更好的网络:
神经网络具有20-30%的低潜伏期和相同质量的结果。
神经网络的质量更高,错误率低至8-10%,与以前的体系结构具有相同的延迟。
1)第一个图显示了在一组简单的架构上随机搜索发现的大约4000个架构。每一点都是经过培训和评估的体系结构。实线标记了不同推理时间约束下的最佳体系结构。红点表示使用传输学习构建的网络的延迟和性能。在这个随机搜索中,网络不如转移学习中的网络好。
2)在第二个图中,黄色和蓝色点显示了其他两种搜索算法的结果。黄色的是对一组精炼的架构的随机搜索。Blue One使用了如[1]所示的强化学习,探索了6000多个架构。结果最好。这两个额外的搜索发现网络比转移学习的网络要好得多。
搜索中发现的一些架构显示了卷积、池和反卷积操作的创造性组合,如下图所示。这些架构最终非常适合我们最初的激光雷达分割任务,并将部署在Waymo的自动驾驶车辆上。
代理端到端搜索发现的一种神经网络结构。
我们的汽车试验才刚刚开始。对于我们的激光雷达分割任务,传输学习和代理端到端搜索都提供了优于手工制作的网络。我们现在也有机会将这些机制应用于新类型的任务,这可以改善许多其他神经网络。
这一发展为我们未来的ML工作开辟了新的令人兴奋的途径,并将提高我们的自驱动技术的性能和能力。我们期待着继续我们的工作与谷歌人工智能,所以请继续关注更多!
[ 1 ] Barret Zoph and Quoc V. Le. 搜索的神经结构与强化学习。ICLR,2017年。
[ 2 ] Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le, 学习可扩展图像识别的可转移体系结构。CVPR,2018年。
Waymo和Google之间的合作是由Waymo的Matthieu Devin和Google的Quoc Le发起和赞助的。这项工作由Waymo的Shuyang Cheng和Google的Gabriel Bender和Pieter Jan Kindermans共同完成。多谢维希·提鲁马拉什蒂的支持。
Waymo和Google团队成员(左起):Gabriel Bender、Shuyang Cheng、Matthieu Devin和Quoc Le
想要继续查看该篇文章相关链接和参考文献?
点击【AutoML:无人驾驶机器学习模型设计自动化】或长按下方地址:
https://ai.yanxishe.com/page/TextTranslation/1441
AI研习社今日推荐:雷锋网雷锋网雷锋网
CMU 2018 秋季《深度学习》课程将教你学习深度神经网络的基础知识,以及它们在众多 AI 任务中的应用。课程结束后,期望学生能对深度学习有足够的了解,并且能够在众多的实际任务中应用深度学习。
加入小组免费观看视频:https://ai.yanxishe.com/page/groupDetail/18