Deepshift论文翻译

DeepShift:迈向无乘神经网络

  • 摘要

卷积神经网络(CNN)在移动环境中的部署,其高计算量和功耗预算被证明是一个主要瓶颈。 卷积层和完全连接的层,由于它们大量使用乘法,是该计算预算的主要贡献者。 本文建议通过引入两个新的运算来解决此问题:卷积移位和完全连接移位,它们将乘法全部替换为按位移位和符号翻转。 为了进行推断,两种方法都可能只需要6位即可表示权重。 这套神经网络体系结构(使用卷积移位和完全连接的移位)被称为DeepShift模型。 我们提出了两种训练DeepShift模型的方法:DeepShift-Q训练约束为2的幂的常规权重,Deep Deep-PS训练直接的shift和sign flip的值。 从头开始训练ResNet18体系结构的DeepShift版本,我们在CIFAR10数据集上获得了92.33%的准确性,在Imagenet数据集上获得了Top-1 / Top-5的准确性为65.63%/ 86.33%。 从零开始在ImageNet上训练VGG16的DeepShift版本,导致Top-5准确性下降不到0.3%。 将GoogleNet的经过预先训练的32位浮点基线模型转换为DeepShift并对其进行了3个时期的训练,结果Top-1 / Top-5精度为69.87%/ 89.62%,实际上比原始模型高 。 在各种众所周知的CNN架构上进行了进一步的测试。 最后但并非最不重要的一点是,我们实现了卷积移位和完全连接的移位GPU内核,与未优化的基于乘法的GPU内核相比,在推断ResNet18时,延迟时间减少了25%。 该代码可从https://github.com/mostafaelhoushi/DeepShift在线获得。

  • 介绍

深度神经网络越来越多地面向移动和物联网应用。 边缘设备的功耗和价格预算较低,并且内存大小受限制。 此外,内存和计算之间的通信量在CNN的电源需求中也起着重要作用。 此外,如果有必要在设备和云之间进行通信(例如在模型更新等情况下),则模型大小可能会影响连接成本。 因此,对于移动/ IoT推理应用而言,模型优化,尺寸减小,更快的推理和更低的功耗是研究的关键领域。

       正在考虑采用多种方法来满足此需求,因此,这些工作可以分为几类。 一种方法是从头开始构建高效的模型,从而产生新颖的网络体系结构,然而事实证明这是一项需要大量培训资源才能尝试多种体系结构变体以找到最佳拟合的任务。 另一种方法是从大模型开始,然后修剪它。 由于网络中的许多参数中有一些是冗余的,对输出的贡献不大,因此根据对输出的贡献为每个参数分配一个等级。 低等级参数可以省掉(修剪),而不会影响精度。 另一种技术是从大模型开始,然后通过对较小的位宽浮点数或定点数进行量化来减小模型大小。 在某些情况下,对量化模型进行重新训练以重新获得一些准确性。 这些技术的主要吸引力在于它们可以轻松地应用于各种类型的网络,不仅可以减小模型大小,还可以在底层硬件上减少复杂的计算单元。 这样可以减少模型的占用面积,减少工作内存(和缓存),在支持平台上更快地进行计算并降低功耗。 而且,一些优化技术用更便宜的op1 arXiv:1905.13298v3 [cs.LG] 2020年1月16日版本代替了乘法,例如二进制XNOR运算或按位移位。

       二进制XNOR技术在小型数据集(如MNIST或CIFAR10)上可能具有较高的准确性,但在复杂的数据集(如Imagenet)上则具有较高的失真度。 另一方面,已证明按位移位技术在Imagenet上显示出最小的精度下降。

本文提出了一种方法,分别用基于位移的卷积和线性运算代替基于规则乘法的卷积和线性运算(又名全连接层或矩阵乘法),以减少CNN的计算和功率预算 。 在元素上应用按位移位运算在数学上等效于将其乘以2的幂。我们将我们的工作与其他4种类似的方法进行了比较,这些方法用按位移位和符号翻转来代替乘法:INQ [18],LogNN [13]和LogQuant  [2]。 我们提出两种方法:DeepShift-Q和DeepShift-PS。 我们的两种DeepShift方法都基于间接或直接训练移位值(即2的幂)和符号翻转,而INQ,LogNN和LogQuant则基于将32位浮点权重舍入为2的幂 据我们所知,本文是第一个提出直接训练位移值的论文,这是本文的主要新颖之处。

       本文做出了以下贡献:

•我们引入了2种不同的方法来训练DeepShift网络,即具有2个权重的幂的神经网络:每种方法都在运行时以及在训练时计算参数梯度时训练2的幂(请参阅第2节)。

       •我们针对每种训练方法进行了实验,结果表明,可以从头开始或从预先训练的全权重训练MNIST,CIFAR-10和Imagenet上的DeepShift网络,并达到接近状态的状态。 最新结果(请参阅第4节)。

       •我们开发了基于按位移位的矩阵乘法和卷积GPU内核,使用该内核内核可以运行DeepShift ResNet18架构,其推理时间比未优化GPU内核的基线ResNet18模型快25%(请参阅第5.1节)  )。

       可以在https://github.com/mostafaelhoushi/DeepShift上在线获得使用这两种方法训练和运行DeepShift网络的代码。

  • DeepShift网络

如图1所示,本文的主要概念是将乘法替换为按位移位和符号翻转。 如果输入数字的基本二进制表示形式x是整数或定点格式,则位(其中是整数)向左(或向右)的按位移位在数学上等同于乘以 2的正(或负)次幂:

为简单起见,如果为正,我们将使用<< 隐式表示左移,如果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值