02 端到端搜索:从头开始搜索新的架构
被最初成功的结果所鼓舞,接着就是更进一步、更广泛地寻找能够提供更好结果的全新架构,通过不局限于组合已经发现的NAS单元,可以更直接地寻找考虑到严格的延迟需求的架构。
执行端到端搜索通常需要手动探索数千个架构,这需要大量的计算成本。探索单一架构需要在具有多个GPU卡的数据中心计算机上进行几天的培训,这意味着搜索单个任务需要数千天的计算时间。相反,通过设计了一个代理任务:一个缩小的激光雷达分割任务,可以在几个小时内解决。
Waymo团队必须克服的一个挑战,是找到一个与最初的细分任务足够相似的代理任务。在确定代理任务上的架构质量与原始任务上的架构质量之间的良好相关性之前,对几个代理任务设计进行了试验。然后,启动了一个类似于AutoML论文的搜索,但现在是代理任务:一个端到端代理搜索。这是这个概念第一次应用在激光雷达数据上。
图二:代理端到端搜索:在一个缩小的代理任务上探索数千个架构,将100个最佳架构应用于原始任务,验证和部署car上最好架构中的最好架构
Waymo使用了几种搜索算法,对质量和延迟进行优化,因为这对车辆非常重要。观察不同类型的CNN架构,使用不同的搜索策略,如随机搜索和强化学习,能够为代理任务探索超过10,000种不同的架构。通过使用代理任务,在谷歌TPU集群上需要一年以上计算时间的任务只需要两周时间。
当我们刚刚转移了NAS单元,结果发现了比以前更好的网络:
在相同的质量下,神经网络的延迟降低20-30%;
具有更高质量的神经网络,错误率降低8-10%,与以前的架构具有相同的延迟。
图三 :1)第一个图展示了在一组简单的架构上随机搜索发现的大约4000个架构。每个点都是一个经过培训和评估的架构。实线表示不同推理时间约束下的最佳体系结构,红点表示用转移学习构建的网络的延迟和性能。在这种随机搜索中,网络学习效果不如迁移学习
图三:2)在第二张图中,黄色和蓝色的点表示另外两种搜索算法的结果。黄色的是对一组精致架构的随机搜索。蓝色的那个使用了强化学习,就像在[1]中一样,探索了6000多个架构。它产生了最好的结果。这两个额外的搜索发现,网络明显优于迁移学习的网络
在搜索中发现的一些架构显示了卷积、池化和反卷积操作的创造性组合,如下图所示。这些架构最终非常适合最初的激光雷达分割任务,并将部署在Waymo的自动驾驶汽车上。
图四:由代理端到端搜索发现的一种神经网络结构
03 接下来是什么
Waymo的Auto ML实验仅仅是个开始。对于激光雷达分割任务,传输学习和代理端到端搜索都提供了比人工制作更好的网络,现在有机会将这些机制应用到新的任务类型上,这可以改善许多其他的神经网络。
这一发展为未来的ML工作开辟了新的令人兴奋的道路,并将提高Waymo的自动驾驶技术的性能和能力,并继续与谷歌AI大脑的合作。