@Rays
2017-08-27T09:37:43.000000Z
字数 1011
阅读 1653
未分类
摘要: 近期不少企业纷纷发布了使用深度神经网络的应用。一些应用需要在没有因特网连接条件下运行、计算速度必须很快并且结果可靠、或是存在隐私上的考虑,这时不可能在服务器上运行神经网络。Google研究人员Sujith Ravis提出了一种新方法,该方法同时训练两个神经网络,其中一个可高效运行于移动设备上。
作者: Roland Meertens
正文:
近期不少企业纷纷发布了使用深度神经网络的应用。神经网络需要做大量的计算,鉴于此,它们通常运行于具备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