算法工程师要失业?Waymo尝试用AutoML自动生成机器学习模型

2019-01-17 23:00:59·  来源:智车科技  
 
Waymo十周年之际,发布了自动驾驶机器学习模型的构建思路,原来很多内部机器学习架构是由 AutoML 完成的。这种自动机器学习算法在激光雷达分割任务中,比人工创
Waymo十周年之际,发布了自动驾驶机器学习模型的构建思路,原来很多内部机器学习架构是由 AutoML 完成的。这种自动机器学习算法在激光雷达分割任务中,比人工创建的网络质量更高。在代理端到端搜索中,甚至发现了卷积、池化和反卷积操作的创造性组合,不禁让人感叹算法工程师要失业?
 
AutoML 全称是 Automated Machine Learning,是2014年以来,机器学习和深度学习领域最炙手可热的领域之一。2017年5月,谷歌在I/O大会上推出基于TensorFlow 框架下的AutoML,它可以通过神经网络来设计神经网络,节省人工设计的时间,其对专业知识的较低,让非机器学习专家也能轻松上手。而在近日waymo十周年上曝光,其AutoML 已经用来设计应用于自动驾驶上的机器学习算法。
 
在Waymo,机器学习几乎应用在自动驾驶系统的每个角落。它可以帮助无人车感知周围环境,了解世界,预测其他人的行为方式,并预测他们的下一步行动。
 
以感知为例,Waymo的系统采用了神经网络的组合,使无人车能够解读传感器数据、识别物体,并随着时间的推移跟踪它们,从而对周围的世界有一个深入的了解。这些神经网络的创建通常是一项耗时的任务,优化神经网络架构以实现在自动驾驶汽车上运行所需的质量和速度是一个复杂的微调过程,需要花费工程师数月时间完成任务。
 
通过与谷歌AI大脑团队研究人员合作,应用AutoML将前沿研究付诸实践,以自动生成神经网络。更重要的是,这些最先进的神经网络比工程师手动微调质量更高和速度更快。
 
Waymo 为了将自动驾驶技术应用到不同的城市和环境中,需要以极快的速度优化现有模型以适应不同的场景。恰好 AutoML 能够做到这一点,并高效,持续地提供大量的ML解决方案。
应用现有的AutoML框架进行迁移学习
 
Auto ML能否为汽车生成高质量、低延迟的神经网络?
 
质量往往是衡量一个神经网络产生的答案的准确性的标准,延迟数据决定了神经网络提供答案的速度,也称为推理时间。由于自动驾驶是一项需要无人车快速做出决定以保证安全的系统,因此神经网络需要保证在低延迟下进行。运行在Waymo无人车上的大多数网络,延迟都少于10毫秒,这比部署在数千台服务器上的数据中心中的许多网络都要快。
 
Google AI团队在2018年4月发表的论文(Learning Transferable Architectures for Scalable ImageRecognition )中,能够自动探索超过12,000种架构来完成 CIFAR-10 数据集的经典图像识别任务,其中发现的自我创建的NAS单元比手工创建神经网络更好。将在CIFAR-10上学到的知识转移到自动驾驶任务中,它可以很好的完成语义分割的任务,比如将LiDAR点云中的每个点标识为汽车,行人,树等。
NAS单元处理神经网络中前两个层的输入
 
通过构建一种自动搜索算法,在卷积网络架构(CNN)中探索数百种不同的NAS单元组合,进行 LiDAR 分割任务训练和评估模型。如果采用人工微调,只能探索有限数量的架构,但通过这种方法,自动探索了数百个。
 
相比人工微调优化神经网络,AutoML输出的神经网络做到了低延迟、高质量效果。
 
初步成功后,Waymo将相同的搜索算法应用于另外两个与交通车道检测和定位相关的任务,迁移学习技术也适用于这些任务,最后能够在无人车上部署三个新训练和改进的神经网络。
 
端到端搜索:从头开始搜索新的架构
 
发现AutoML巨大潜力后,Waymo开始思考是否可以更进一步、更广泛地寻找能够提供更好结果的全新架构。不局限于NAS单元,可以更直接地找到延迟在限定范围内的架构。
 
进行端到端搜索往往需要手动探索数千个架构,需要大量的计算成本。找到单一架构需要在多个GPU的计算机上训练好几天,这意味着搜索单个任务需要数千天的计算时间。相反,通过设计一个代理任务:一个缩小的激光雷达分割任务,可以在几个小时内解决。
 
这就意味着需要找到一个与最初的细分任务足够相似的代理任务。在确定代理任务上的架构质量与原始任务上的架构质量之间的良好相关性之前,对几个代理任务设计进行试验。然后,启动一个类似于AutoML论文的搜索,完成一个端到端代理搜索。这是这个概念第一次应用在激光雷达数据上。
代理端到端搜索:在按比例缩小的代理任务中探索数千个架构,将100个最佳应用程序应用于原始任务,验证并部署最佳的最佳体系结构。
通过使用几种搜索算法,优化质量和延迟。查看不同类型的CNN架构并使用不同的搜索策略,如随机搜索和强化学习,能够为代理任务探索10,000多种不同的架构。通过使用代理任务,在Google TPU集群上花费一年多的计算时间现在只需要两周时间。在NAS单元之外,我们发现了比以前更好的神经网路,它在相同的质量下,神经网络的延迟降低20-30%;具有更高质量的神经网络,错误率降低8-10%,与以前的架构具有相同的延迟。
左图展示了在一组简单的架构上随机搜索发现的大约4000个架构。每个点都是一个经过训练和评估的架构。实线表示不同推理时间约束下的最佳架构,红点表示用迁移学习构建的网络的延迟和性能。在这种随机搜索中,网络学习效果不如迁移学习。右图中,黄色和蓝色的点表示另外两种搜索算法的结果。黄色的是对一组精致架构的随机搜索。蓝色的那个使用了强化学习,探索了6000多个架构。它产生了最好的结果。这两个额外的搜索发现,该网络明显优于迁移学习的网络。
 
在搜索中发现的一些架构采用了卷积、池化和反卷积操作的创造性组合,如下图所示。这些架构最终非常适合最初的激光雷达分割任务,并将部署在Waymo的自动驾驶汽车上。
由代理端到端搜索发现的一种神经网络结构。
 
Waymo与Google AI合作,应用 AutoML 在无人驾驶上的实践仅仅是个开始。对于激光雷达分割任务,传输学习和代理端到端搜索都提供了比人工创建更好的网络,这些机制应用到新的任务类型上,可以改善许多其他的神经网络。这一发展为未来的ML工作开辟了新的道路,并提高了Waymo的自动驾驶技术的性能和能力。
 
看到这里是不是觉得很兴奋,自己费尽心思搭的神经网路,AutoML 只需很短的时间就能得出高质量的网络结构。当然,目前谷歌只开源了轻量级 AutoML 框架—— AdaNet。 
分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号