文 / Google Brain 团队软件工程师 Mingxing Tan
卷积神经网络 (CNN) 现已广泛应用于图像分类、面部识别、物体检测和其他许多领域。但遗憾的是,由于移动端模型需要小巧、快速、准确,所以为移动设备设计 CNN 非常具有挑战性。虽然科研人员已经为设计和改进移动端模型做出了巨大努力,先后推出 MobileNet 和 MobileNetV2 等模型,但人工创建高效率模型依旧面临挑战,因为有太多可能性需要考虑。在 AutoML 神经架构搜索最新进展的启发下,我们希望了解移动端 CNN 模型的设计是否也可以从 AutoML 方法中获益。
在《MnasNet:面向移动端的平台感知神经架构搜索》(MnasNet: Platform-Aware Neural Architecture Search for Mobile) 一文中,我们探讨了一种使用强化学习设计移动端模型的自动化神经架构搜索方法。为了解决移动设备的速度限制,我们明确地将速度信息纳入搜索算法的主要奖励函数中,以便该搜索能够识别在准确度和速度之间达到良好折中的模型。通过这种方式,MnasNet 能够找到运行速度比手工设计的最先进的 MobileNetV2 模型快 1.5 倍,比 NASNet 快 2.4 倍的模型,同时达到相同的 ImageNet top 1 准确率。
在以往的架构搜索方法中,需要通过另一个代理(例如 FLOPS)来考虑模型速度,而我们的方法则是通过在特定平台(例如本研究中使用的 Pixel 手机)上执行模型来直接测量模型速度。鉴于每类移动设备都有其自己的软件和硬件特质,并且可能需要采用不同的架构来实现准确度和速度之间的最佳折中,因此使用这种方式,我们可以直接测量在现实作法中可以达到的速度。
关于我们的方法,其整个流程主要由三部分组成:一个基于 RNN 的控制器,用于学习模型架构并进行采取;一个训练器,用于构建和训练模型以获得准确度;还有一个推理引擎,可使用 TensorFlow Lite 在真实手机上测量模型速度。我们构想出了一个多目标优化问题,以期同时实现高准确度和高速度,并且采用带有自定义奖励函数的强化学习算法来寻找帕累托最优解(例如,能够达到最高准确度但又不会拉低速度的模型)。