XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
新闻稿摘要
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},
}