摘要:卷积神经网络推算过程在计算和存储的消耗上都存在瓶颈。尤其将模型部署在边缘设备上,比如手机。甚至,卷积神经网络在高性能服务器上的训练也是高消耗的,尤其是卷积层和全链接层的乘法运算。为了减轻这个总是,本文提出通过卷积移位和全链接移位代替乘法运算。提出两个移位模型DeepShift-Q和DeepShift-PS。转换ResNet18、ResNet50、VGG16、GoogleNet为移位模型并时行训练,结果是准确率均高于原模型。并且,移位的ResNet18模型在GPU上的训练时间,相比较原模型减少了25%。
简介:减少深度神经网络推算和训练的资源消耗、时间消耗、存储要求是研究人员正在努力实现的。深度神经网络正在越来越多地用在移动设备和物联网上,这些边缘设备一般能力较低,存储的预算也受限。
然而,不同存储能力的计算平台之间的交互也是卷积神经网络的主要能力要求。如果设备和云之间的交互成为可能,模型大小将影响连接的成本。对于移动设备和物联网的应用,模型优化、规模减少、演算更快和降低计算成本都是值得研究的领域。降低深度学习计算的碳排量也是急待研究的。
在一些模型中,将模型的参数从高精度的32位浮点型转化为较低精度的表示,比如16位、8位或更低的精度。
DeepShift NetWorks:
如公式1所示,深度移位的基本概念是用移位和符号翻转代替乘法,输入为二进制表示,用x位移p位表示2^p*x,是左移还是右移则由p的正负确定:
按位移动可以替代乘以正数,因为对于任意实数p,2^p均大于0。但在神经网络的训练中也需要乘以负数,因些,用符号翻转实现乘以负数。
我们引入新的操作,线性移位和卷积移位,在前向计算部分,用按位移动和符号翻转代替乘法运算。对线性运算Y=WX+b和卷积运算Y=W
X+b,被替换为移位矩阵P和符号矩阵S的运算。
以下有两种尝试移位的方法,DeepShift-Q和DeepShift-PS。
以下图示,
(a)表示将乘法计算转化为移位运算。
(b)表示将线性运算中的乘法用移位替代。
(c)表示将卷积运算中的乘法用移位替代。