Google 研究人员提出在移动设备上运行神经网络的新技术

  • Roland Meertens
  • 盖磊

2017 年 8 月 29 日

话题:GoogleApple语言 & 开发AI

近期不少企业纷纷发布了使用深度神经网络的应用。神经网络需要做大量的计算,鉴于此,它们通常运行于具备 GPU 计算服务器的 SaaS 上。但是一些应用需要在没有因特网连接条件下运行、计算速度必须很快并且结果可靠、或是存在隐私上的考虑,这时不可能采用运行于服务器上的神经网络。

最近,多家企业宣布正致力于实现运行于移动设备上的神经网络。Apple 已经在 WWDC 2017 大会上发布了 CoreML 平台。Google 正在实现称为“Tensorflow Lite”移动设备通用 Tensorflow 工具集。Google 还发布了一些已预先训练的图像识别模型,开发人员可以根据自身需求在效率和准确性上做出权衡

虽然开发人员可以在移动设备上运行他们的神经网络算法,但在构建快速神经网络应用上的可选方法依然有限。一类方法需要开发人员降低他们的神经网络规模,这通常会导致准确性的降低。另一类方法是在训练整个神经网络后降低浮点精度,这对性能的影响难以估量。还可以使用其它一些先期算法,例如 Facebook 的 AI 研究负责人 Yann Le Cun 提出的OBD 算法(Optimal Brain Damage)。这些神经网络推理优化方法都没有得到广泛的采用。

为此,Google 研究人员 Sujith Ravi 提出一种新方法,即同时训练两个神经网络。其中一个是完备的神经网络,称为“训练网络”。另一个神经网络占用内存很小,表示了输入和训练网络中间结果,称为“投影网络”。它使用了高效函数,并学习自训练网络。一旦两个神经网络都被训练好可供使用,较大的网络依然运行在服务器上,较小的高效网络可被用户下载到智能手机上。

Sujith Ravis 已将论文提供在 ArXiv 上。论文中还对多个常用数据集上得分更好所需的比特位数进行了讨论。

查看英文原文: Google Researcher Invented New Technology to Bring Neural Networks to Mobile Devices

GoogleApple语言 & 开发AI