XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
publication

XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks

Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, Ali Farhadi.
European Conference on Computer Vision. ECCV 2016. Amsterdam, The Netherlands. October 2016.
实验室新闻台

新闻稿摘要

本节特意采用记者式新闻稿的语气,面向普通读者撰写。

Allen Institute for AI 和华盛顿大学的研究人员开发了一种方法,能够大幅缩小并加速通常需要昂贵、耗电的 GPU 才能运行的图像识别神经网络。由 Mohammad Rastegari 和 Ali Farhadi 领导的研究团队攻克了一个简单但意义重大的问题:标准卷积神经网络将其内部参数存储为 32 位浮点数,并执行数十亿次高精度乘法来对单张图像进行分类,这使得它们对智能手机和其他资源受限设备而言并不实用。他们的解决方案在一篇论文中描述了两种相关的方法——Binary-Weight-Networks 和 XNOR-Networks——它用单个比特(本质上只是正一或负一)替换了那些全精度数字,并用现代 CPU 能高效处理的快速 XNOR 和位计数指令替换了昂贵的乘加运算。二值权重版本将内存使用量削减了约 32 倍,并在大规模 ImageNet 基准上与标准 AlexNet 的全精度准确率相当,而更激进的 XNOR-Net(它将存储的滤波器和流经网络的数据都二值化)以损失部分准确率为代价,实现了约 58 倍的卷积运算加速。至关重要的是,研究人员引入了一个简单的缩放因子——本质上是原始权重的平均幅值——它部分补偿了二值化过程中损失的信息,他们表明,正是这一细节将他们的结果与早期的二值化尝试区分开来,后者在 ImageNet top-1 准确率上落后了超过 16 个百分点。其实际意义在于,强大的图像识别模型可以在手机或可穿戴设备的普通 CPU 上实时运行,而无需云端卸载或专用硬件。

摘要

我们提出了两种对标准卷积神经网络的高效近似方法:Binary-Weight-Networks 和 XNOR-Networks。在 Binary-Weight-Networks 中,滤波器用二值近似,从而节省 32 倍的内存。在 XNOR-Networks 中,滤波器和卷积层的输入都是二值的。XNOR-Networks 主要使用二值运算来近似卷积。这使得卷积运算快 58 倍,并节省 32 倍内存。XNOR-Nets 提供了在 CPU(而非 GPU)上实时运行最先进网络的可能性。我们的二值网络简单、准确、高效,并且能够处理具有挑战性的视觉任务。我们在 ImageNet 分类任务上评估了我们的方法。AlexNet 的 Binary-Weight-Network 版本的分类准确率仅比全精度 AlexNet 低 2.9%(在 top-1 度量上)。我们将我们的方法与近期的网络二值化方法 BinaryConnect 和 BinaryNets 进行了比较,在 ImageNet 上以巨大优势超越了这些方法,top-1 准确率高出 16% 以上。

引用

@inproceedings{rastegari2016xnor,
  title = {XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks},
  author = {Rastegari, Mohammad and Ordonez, Vicente and Redmon, Joseph and Farhadi, Ali},
  year = {2016},
  booktitle = {European Conference on Computer Vision. ECCV 2016},
  url = {http://arxiv.org/abs/1603.05279},
}