没有合适的资源?快使用搜索试试~ 我知道了~
三值输入和二值权重的高效卷积神经网络
TBN:具有三值输入和二值权重的卷积神经网络万棣文1、 2、沈福民1、刘丽2、范铸2、秦杰3、凌少2、沈衡涛11电子科技大学计算机科学与工程学院未来媒体研究中心,成都2Inception Institute of Artificial Intelligence,阿布扎比,阿联酋3瑞士苏黎世联邦理工学院计算机视觉实验室抽象。 尽管卷积神经网络(CNN)在广义视觉任务上取得了显着的成功,但高计算和存储成本限制了其在消费电子(例如,智能手机)上的全面应用。便携式或智能可穿戴设备)。二值化网络的最新进展已经证明了在降低计算和存储器成本方面的进展,然而,与其全精度对应物相比,它们遭受显著的性能下降因此,迫切需要真正适用于消费电子产品的高度经济而有效的CNN。在这项工作中,我们提出了一个三元二进制网络(TBN),它提供了一个有效的近似标准CNN。基于加速的三进制-二进制矩阵乘法,TBN用高效的XOR、AND和比特计数操作代替标准CNN中的算术操作,从而提供了存储器、效率和性能之间的最佳折衷。TBN在应用于各种CNN架构(例如, AlexNet和ResNet),并提供32倍的内存节省和40倍的卷积运算速度。同时,TBN在ImageNet分类任务中的表现可以超过XNOR网络高达5.5% (前1名准确率),在PASCAL VOC对象检测任务中高达4.4%(mAP得分)关键词:CNN,TBN,加速,压缩,二进制运算1介绍随着深度学习的压倒性成功,卷积神经网络(CNN)已经在各种计算机视觉测试中展示了它们的能力[8,13,14,18,29,31,37- 39,41,43,45 - 47,50 ]。 有效的CNN通常包含数百万个权重参数,需要数十亿次高精度运算用于单个分类任务。因此,无论是培训具有大规模数据的CNN模型或部署CNN模型进行实时通讯作者:沈福民2D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈拟定TBN用二进制运算加速点积三元向量-1,0,1,-1,+-α,+α,-α,+α,...,+α,-α,+α带比例因子的二进制向量AND、XOR、bitcount点积1.2结果全精度输入三元输入三元矩阵f三进制im2col1,0,-1,TB卷积1.2,-0.5,0.6,1.1,2.2,3...,3.⋰⋰ ⋰ ⋰-1, 1、1,-0,0,1,-1,1,1,-1,-1,-1,0,+...签署+im2col+-1,0.4,col2im⋮ ⋮ ⋮矩阵1.7,5、2.0、1.4,-1.0,2.5,...,-13.14.15.92.6+α-α+α-α...-α,+α,-α,+α,-α,-α,...,-α,+α+α,-α,+α,..,+α,-α的产物-α,+α,-α,...,-α,+α全精度权重带比例因子的二进制权重二进制矩阵全精度结果卷积层(全精度)Fig. 1. TBN是卷积神经网络的一种有效变体。TBN的权重滤波器具有二进制值,并且其输入包含三进制值。二进制运算用于加速卷积运算。我们TBN不仅在存储和计算方面是高效的,而且具有良好的性能。这有助于在资源有限的便携式设备上使用CNN预测任务对于存储和计算中的开销具有严格的硬件需求(诸如GPU和TPU)。然而,这样的刚性硬件要求CNN的组件提供诸如虚拟现实(VR)、增强现实(AR)、智能可穿戴设备和自动驾驶汽车等的简单应用在如何降低CNN的计算和存储成本方面已经付出了大量的研究努力。现有的CNN轻量化技术包括修剪[16,17,54]、量化[5,15,35,36,48,55,58]、fac-1 [16,17,54]、量化[5,15,35,36,48,55,58]、量化[5,15,36,48,55,58]、量化[5,15,36,48,55,58]、量化[5,15,36,48,55,58]、量化[5,15,48,55,58]、量化[5,15,48,55,58]、量化[5,15,48,58]、量化[5,15,48,58]、量化[5,15,48,58,58]、量化[5,15,48,58]、量化[5,15,48,58]、量化[5torization [2,21,23,26,30,52,57],网络二值化[7,42],蒸馏[19]和其他[10,56]。由于网络二值化可以将32位全精度值降低到1位二进制值,并允许高效的卷积运算,因此它在轻量化网络以用于便携式设备上的实际使用方面具有二进制CNN [7,42]的最新进展已经提供了成功降低二进制替换的计算和存储器成本的证据在CNN中,可以对两种类型的值进行二进制化:1)卷积层和全连接层中的网络权重,以及2)到卷积层和全连接层的输入信号。将网络权值二值化可以直接导致相对于实值对应物节省32倍的存储器,同时通过避免卷积中的乘法运算而带来2倍的另一方面,同时二进制化权重和输入信号可以通过将卷积中的算术运算替换为XNOR和位计数运算来实现58倍的尽管显著降低了成本,但二进制化CNN的显著准确性下降为实际使用引入了新的性能问题。毫无疑问,这种性能下降是由于TBN3当在网络权重和逐层输入两者中粗暴地二进制化实值时,量化误差在这项工作中,我们的目标是提高二值化CNN的性能,并将三进制输入到卷积层和全连接层。三进制输入将输入信号值限制为−1、0和1,在对全精度输入信号进行二进制化时,可以显著通过将三进制分层输入与二进制网络权重相结合,我们提出了一种三进制二进制网络(TBN),它提供了性能和计算效率之间的最佳折衷。所提出的TBN方法的流水线的图示可以在图中找到。1.一、此外,引入了有效的基于阈值的近似解决方案,以最小化全精度网络权重与二进制权重之间的量化误差以及缩放因子,并且引入了使用简单的逐位运算(即,二进制点积)的加速的三进制-二进制点积方法。、XOR和AND)和位计数操作。具体来说,TBN可以提供超过其实值CNN对应物的32倍内存节省和40倍 与XNOR-Network [42]相比,在相同的内存成本和略微牺牲的效率下,TBN在图像分类任务和对象检测任务上都优于XNOR-Network。本文的主要贡献可以概括如下:– 我们提出了一个三元二进制网络,它第一次优雅地结合了三元层的输入与二进制权重,并提供了一个最佳的性能和计算效率之间的权衡。– 我们介绍了一种加速的三进制二进制点积方法,采用简单的XOR,AND和位计数操作。因此,TBN可以提供超过其实值CNN对应物的32倍内存节省和40倍加速– 通 过 结 合 各 种 CNN 架 构 ( 包 括 LeNet-5 , VGG- 7 , AlexNet ,ResNet-18和ResNet-34),TBN可以在量化神经网络中的多个数据集上实现有前途的图像分类和对象检测性能。特别是,TBN在ImageNet分类任务中的表现优于XNOR- Network[42]高达5.5%(前1名准确度)2相关工作如何通过量化对标准的全精度CNN进行轻量化已经得到了大量的研究.在本节中,我们列出了一些最近的相关工作沿着这样的研究路线,并讨论他们如何与建议的我们将这些工作大致分为以下两类:1)具有实值输入的量化权重和2)量化权重和输入。具有实值输入的量化权重:量化权值的网络可以直接减小网络规模,但是效率却降低了4D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈表1.比较TBN及其密切相关的方法在输入和权重类型,乘法累加操作(MAC)和矩阵乘法所需的二进制操作,加速比和操作类型的数量。更详细的统计分析见第4.3节。方法输入权重MAC二进制运算加速运算全精度RRn×m ×q01×+,x量化权重TTQ [60]TWN [33]BWN [42]BC [6]Rrrr{−αn,0+αp}{−α,0,−α}{−α,+α}{−1, +1}n×m×qn×m×qn×m×q0000∼2×∼2×∼2×∼2×+,-+,-+,-+,-量化输入和权重TNN [1]GXNOR [9]BNN [7]XNOR [42]HORQ [34][59]第五十九话{−1, 0,1}{−1, 0,1}{−1,+1}{−β,+β}{−β,+β} ×2{0, 1} × 2{−1, 0,1}{−1, 0,1}{−1, +1}{−α,+α}{−α,+α}{0, 1}0002×n×m4×n×m08×n×m×q5×n×m×q2×n×m×q2×n×m×q4×n×m×q4×n×m×q15×15×64×58×29×30×AND,bitcountAND,bitcountXOR,bitcountXOR,bitcountXOR,bitcountAND,bitcountTBN{−1, 0,+1}{−α,+α}n×m3×n×m×q40×AND、XOR、bitcount* 我们采用1位权重,2位激活的DoReFa网络如果输入信号保持实数值,则通过避免乘法运算而实现的改进是最基本的权重量化形式或者直接将权重值约束到二进制空间{-1,1},例如, BinaryConnect(BC [6]),或者约束权重值以及缩放因子{−α,α},例如,二进制权重网络(BWN [42])。在二进制权重之外,引入三进制权重以减小量化误差。三进制权重网络(TWNs[33])将权重量化为{−α,0,α},而训练的三进制量化(TTQ [60])通过将权重约束为非对称三进制值{−αn,0,αp}来实现更好的性能。量化权重和输入:在资源受限的环境中,与存储相比,计算效率是实时预测的一个更为关键的要求。由于量化输入信号可以潜在地用XNOR和比特计数操作来代替算术操作并且提高效率,因此提出了尝试量化网络权重和逐层输入信号两者的网络期望反向传播(EBP[49])、二元神经网络(BNN [7])、逐位神经网络[25]和XNOR网络[42]已经探索了除了二进制权重之外还对输入信号进行残酷的 以减少量化误差为目标,高阶量化方法,例如, 高阶残差量化(HORQ[34])、多比特量化方法,例如, DoReFa-Net [59]和三进制量化方法,例如,门控XNOR网络(GXNOR [9])。所提出的TBN也属于同时考虑权重和输入的网络类型。与上述旨在补偿具有降低的效率的二进制化网络的有效性的工作相比,TBN首次提供了二进制权重和三进制输入之间的优雅集成,以便提供存储器、效率和性能之间的最佳折衷TBN5˜性能我们在表1中示出了TBN和上述方法之间的这些测量的比较。还有其他种类的方法来压缩和加速CNN,例如基于预训练的方法、蒸馏等。固定点分解网络(FFN [53])将预训练模型的权重矩阵分解为两个三元矩阵和一个非负对角矩阵,从而降低了网络的计算复杂度和存储需求。三值神经网络(TNNs [1])使用包含高精度权重和三值输入的教师网络LBCNN [24]使用预定义的二进制卷积滤波器来减少可学习参数的数量。3三元-二元网络在本节中,我们将详细介绍我们提出的TBN。首先,我们提出了一些符号,并展示了如何实现卷积运算矩阵乘法。其次,我们解释了如何通过近似其全精度对应物来获得二进制权重和三进制输入。给定二元权重和三元输入,我们进一步说明它们之间的乘法最后,详细阐述了TBN的整个训练过程。3.1矩阵乘法卷积一个卷积层可以用一个三元组来表示。I∈Rc×hin×win是输入张量,其中(c,hin,win)分别表示通道、高度和宽度 W ∈Rc×h×w= Wi(i =1,…,n)是W中的第i个权重滤波器,其中n是权重滤波器的数量,并且(h,w)表示滤波器大小。*表示I和W之间的卷积运算,乘积为C∈Rn×hout×wout,其中hout=(hin+2·p−w)/s+ 1和wout=(win+2·p−w)/s+ 1,(p,s)分别表示垫和步幅参数我们将内积层称为卷积层,这与XNOR网络[42]相同正如流行的Caffe包[22]中所采用的那样,我们使用矩阵乘法来实现卷积层。具体地,通过将每个滤波器W平坦化为形状为1×q(q = c×h×w)的行向量,权重滤波器集合W可以在ri×W~∈Rn×q 处 被平 坦 化。我们使用函数tn2矩阵进行预处理斯特普岛e. W〜=ten2mat(W)。类似地,传输形式为一个子任务或一个输入张量I与过滤器大小相同,我们得到将这些向量累加后的矩阵I∈Rq×m(m=hout×wout),即I =ten 2mat(I)。让我们表示矩阵乘法的乘积~I和W~,因为i是零,并且当C~∈Rn×m时,i。e. C=WI. 最后,我们有了matrixC~ba cktooutputttensorC. 这一点是指对10个2个垫,用垫2个10表示。这是实现一个使用矩阵乘法的卷积层,其可以被概括为:C=mat2ten(W~~I),W~=ten2mat(W),~I=ten2mat(I)(1)˜6D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈2C高×宽3.2二进制权重遵循XNOR网络[42],我们采用类似的范式来估计二进制权重。具体地说,我们使用一个二进制滤波器B ∈ {− 1,+1} c×h×w和一个缩放因子t或α∈R+来对proximateafull-preisionweig htfilterW∈W使得W <$α B。最佳逼近是通过求解最小化全精度和二进制加权滤波器之间的距离的最优化问题得到的,即,α,B=arg min <$W−αB <$2。最优解α,B1B=sign(W),α=c×h ×w W1。(二)与单精度滤波器相比,通过这种简单策略获得的二进制权重滤波器可以将卷积层的存储减少32倍3.3三进制输入在XNOR网络中,将卷积层的输入量化为二进制的策略变得非常复杂。 它们取输入值的符号,以通过将输入I中的元素的绝对值相加来获得二进制输入和计算数据ix A。例如, A=I:,:,i。输入在rixK处的计算是通过将矩阵A与k ∈Rh×w的核(其中k ij=1)卷积来获得的。然而,二进制输入的缩放因子不影响XNOR网络的性能由此表明,我们放弃了输入的缩放因子,以减少不必要的计算。另一方面,具有三进制权重的TWN [33]比具有二进制权重的BWN [42]具有更好的性能为了提高二值化CNN的性能,我们将输入张量I的每个元素量化为三进制值{-1,0,1},而不使用缩放因子。我们提出以下基于阈值的三元函数f三元来获得三元输入张量T∈{− 1, 0, +1}c×hin×win:Ii>∆;Ti =f三进制(Ii,∆)=0,|我我|≤∆;−1,Ii−∆;<(三)当re∆∈R+是一个p itivehresholdparametr时。 Δc的值会影响T中的数字-1、0和1,这将极大地影响最终的精度。当当Δ等于0时,函数f三进制退化为符号函数。因此,将获得与XNOR网络相同的性能然而,当∆太大时,根据等式(3),T中的每个元素将为零,并且我们将得到最坏的结果。因此,需要一个合适的∆值然而,很难获得最佳Δ。与TWN [33]类似,我们使用以下公式计算∆:δ01-02-03张晓波(|我|)≈c×hin×win中国(4)其中δ是所有层的常数因子。我们设置δ = 0。4在实验中通过这种方式,可以快速且容易地将实值输入张量量化为三进制架构。TBN7in×w in˜˜˜ ˜ ˜˜ ˜˜˜我-1,否则我1、否则算法1 TB卷积(W,I)输入:一组权重滤波器W∈Rn×c×h×w,输入张量I∈Rc×hin×win,卷积参数包括步长s和填充p输出:卷积结果C∈Rn×hout×wout1:对于W中的第i个滤波器W,do1c×h×w W当量 (二)3: B =sign(W)//得到二进制滤波器w.r.t. 当量(二)4:W ≈αB5:结束6:δ=c×hδ计算阈值参数w.r.t. 当量(四)7:T = f三进制(I,∆)//得到三进制输入w.r.t.当量(三)8:W〜=te n2mat(W)and〜I=te n2mat(T)//矩阵w.r.t. 当量 (一)˜ ˜˜9:C = WI//加速矩阵乘法w.r.t. 当量(五)10:C=mat2te n(C〜)//将乘积转换为张量w.r.t.当量(一)3.4三元-二元点积一旦我们获得了二进制权重和三进制输入,如何实现有效的三进制-二进制乘法是我们的下一个目标。如我们所知,矩阵乘法器是基于所述dot_pr〇ct的。也就是说,所有的Cij∈C这是dotproct的结果,它是在rxW~和rxW~之间的w的最后一个时间段之间进行的i. I. 例如,Cij=W〜i·I〜j,其中re·i是tprod。uct,Wi=[Wi1,. . . ,Wiq]和Ij=[I1j,. . . ,Iqj]。 我们可以使用二进制操作来加速以二进制向量和三进制向量作为其操作数的点积。 让我们用αb表示对应于W i的二进制滤波器B,其中Wi≈ αb,b = ten2 mat(B)∈ {− 1,1} q,α是比例因子。类似地,三进制向量t∈ {−1, 0,+1}q对应于Ij。因此,我们可以用以下公式有效地实现这种特殊的点积:Cij=α(ct−2×bitcount((bXORt′)ANDt′′)),(5)其中,我们将向量t分解为两个向量t′∈ {−1, 1}q和t′′∈ {0, 1}q,如下所示:t′={1,ti=1,t′′={0, ti=0,i = 1,. . . ,q(6)所以ti=t′×t′′。ct= bitcount(t′′)=t1是一个独立的常数我我芽孢在等式(5)中,操作bitcount返回设置为1的位数的计数,并且XOR、 AND是逻辑操作。应该注意的是,b、t′、t′′中的1被认为是逻辑真,并且其他(即,t ′)被认为是逻辑真。0,-1)被认为是逻辑假。这样就可以实现高效的矩阵乘法。3.5培训TBN通过上述策略,我们可以得到一个非常快速的具有三进制输入和二进制权重的卷积层(TBConvolution),算法1演示了如何实现2:α=8D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈l=1W布里尔布里尔0,否则算法2训练L层TBN输入:输入和数据的最小字节数(X0,Y),成本C(Y,Y0),电流W(t)={W(t)}L ,并产生平均值η(t)输出:上数据线为W^(t+1),上数据线为η(t+1)1:对于l= 1至L,2 : I1=BatchNormalization(X1 -1)3:X1 = TB卷积(W1(t),I1)4:结束5:C=Backward(C,Wk(t))//标准后向传播(七)W6:W^(t+1)=UpdateteParameters(W^(t),ωC,η(t))//任何优化器(例如,ADAM)7:η(t+ 1)= UpdateLearningRate(η(t),t)//任意学习速率调度函数注意:这里的Wl与第l层TBN权重W相同(在第3.1节中提到)TBConvolution 工 作 。 在 TBN 中 , 存 在 批 量 归 一 化 层 [20] 以 在 每 个TBConvolution之前归一化输入,使得-三进制输入的1、0、1更平衡。非线性激活层(例如ReLU)是可选的,因为三元量化可以起到非 线 性 激 活 函 数 的 作 用 其 它 层 ( 例 如 , 池 化 和 丢 弃 ) 可 以 在TBConvolution之后(或在批归一化层之前)插入为了训练TBN,采用全精度梯度,并且我们使用直通估计器[4]来计算二进制和三进制量化函数的梯度,即。符号=={1,|R|<1(七)与BNN [7],XNOR-Networks [42]和HORQ [34]中使用的策略类似,我们不会在第一层或最后一层应用我们的方法算法2演示了用于训练L层三元-二元网络的过程。我们可以使用任何优化器(例如[27 ]第27话:训练。4实验由于所提出的TBN使用具有二进制权重的三进制输入来同时减少由量化引起的近似误差,但在一定程度上保持合理的性能,因此我们的实验的目标主要是回答以下三个研究问题:– Q1:与其他量化/压缩深度网络(即,XNOR网络,HORQ)在不同任务(即,图像识别和目标检测)?– Q2:与其他量化网络相比,TBN的加速速度有多快?– 问题3:不同的成分(如:三进制输入的稀疏性,激活函数的使用)?|1|<1TBN9表2.使用各种模型训练的不同CNN的分类准确度在四个数据集上。 Bo t o p -1 / t o p -5”a cc uracy代表I m ag e N ett数据集。“-“表示结果未在本文件中提供。数据集MNIST CIFAR-10 SVHN ImageNet ImageNet ImageNet模型LeNet-5VGG-7ResNet-18 ResNet-34全精度99.4892.8897.6857.2/80.2 69.3/89.2 73.3/91.4BC [6]98.8291.7397.8535.5/61.0--BWN [42]99.3892.5897.4656.8/79.4 60.8/83.0-TWN [33]99.3892.56-54.5/76.8 65.3/86.2-TTQ [60]---57.5/79.7 66.6/87.2-FFN [53]---55.5/79.0--LCNN-fast [3]---44.3/68.7 51.8/76.8-LCNN-accurate [3]---55.1/78.1 62.2/84.6-LBCNN [24]99.5192.6694.5054.9/---TNN [1]98.3387.8997.27---GXNOR [9]99.3292.5097.37---BNN [7]98.6089.8597.47 27.9/50.42--[59]第五十九话--97.647.7/---BinaryNet [51]---46.6/71.1--HORQ [34]99.3891.1897.41-55.9/78.9-XNOR网络[42]99.2190.0296.9644.2/69.2 51.2/73.2 55.9/79.1TBN99.3890.8597.2749.7/74.2 55.6/79.0 58.2/81.0* 我们采用1位权重、2位激活和32位梯度的DoReFa-Net进行公平比较。4.1图像分类数据集和配置:我们评估了我们提出的方法在四个不同的数据集上的性能,即MNIST [32],CIFAR-10 [28],SVHN [40],ImageNet(ILSVRC2012)[44],并将其与其他方法进行比较。如前所述,我们的TBN可以适应任何网络架构。因此,我们在上述数据集上使用不同的网络进行以下评估。请注意,我们采用了Adam优化器和Batch Normalization来加速训练,并且在以下所有实验中采用ReLU作为激活函数。此外,本节中使用的所有深度网络都是从头开始训练的。使用LeNet-5的MNIST结果:我们使用的LeNet-5 [32]架构是“32-C5+MP2+64-C5+MP2+512-FC+10-FC+SVM”。 它是由两个大小为5×5的卷积层,一个全连接层和一个具有10个标签的SVM分类器。具体来说,没有预处理,数据增强或预培训技能仍然是一个挑战。学习率从0.001开始,在小批量大小为200的时期15、30、45除以10我们在测试集上报告了最好的准确性从表2中所示的结果,我们观察到我们的TBN具有与HORQ相同的性能,但优于XNOR。量化输入和权重其他量化方法权重10D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈图二. (a)以及(b)在AlexNet上比较TBN和XNOR网络之间的前1和前5精度;(c)和(d)在ResNet-18上比较TBN、HORQ和XNOR网络之间的前1和前5精度;(e)和(f)比较ResNet-34上TBN和XNOR网络之间的前1和前5精度。网络占比0.17%事实上,在MNIST数据集上,这些方法之间存在细微的差异(不到1%)。CIFAR-10与VGG-7的结果:为了在CIFAR-10数据集上训练网络,我们遵循ResNet [ 18 ]中相同的数据增强方案。具体地说,我们把VGG作为一个特殊的范畴,定义为VGG-7,即:“2 ×(128-C3)+MP2 + 2 ×(256-C3)+MP2 + 2 ×(512-C3)+MP2 + 1024-FC + 10-FC + S of t max“。其中C3是3× 3卷积块,MP2是内核大小为2且步长为2的最大池化层,Softmax是softmax损失层。我们用200个小批量训练这个模型学习率也从0.001开始,每50个epoch缩放0.5结果在表2中给出。 在CIFAR-10上,我们的T B N的精度高于XNOR-Netw或k' s和B NN。然而,与HORQ和GXNOR相比,TBN的性能稍差,因为在我们的方法中对输入和权重都采用了更多的量化SVHN与VGG-7的结果:我们还使用VGG-7网络进行SVHN。由于SVHN是一个比CIFAR-10大得多的数据集,我们只训练了60个epoch的VGG-7从表2中呈现的结果,容易发现TBN、HORQ、XNOR网络、BNN、GXNOR和TNN之间的性能几乎处于相同的水平。ImageNet与AlexNet的结果:在这个实验中,我们使用AlexNet报告了我们在前1和前5个准确率方面的分类性能。TBN11表3.用于对象检测的TBN、XNOR网络和全精度CNN模型的性能(以mAP为单位)比较。所有方法都在VOC2007和VOC2012训练集的组合上进行训练,并在VOC2007测试集上进行测试方法全精度全精度XNOR网络TBN基础网络VGG-16ResNet-34ResNet-34ResNet-34Faster R-CNN73.275.654.759.0SSD 30074.375.555.159.5具体来说,AlexNet有5个卷积层和两个全连接层。我们训练网络100个epoch。学习率从0.001开始,每25个epoch除以0.1图2(a)和2(b)展示了训练和推断的分类准确度以及训练时期。实线表示TBN的训练和验证精度,虚线表示XNOR网络的精度AlexNet的最终准确率如表2所示,这说明我们的TBN在很大程度上优于XNOR网络(前1准确率为5.5%,前5准确率为5.0%)。ImageNet与ResNet的结果:除了AlexNet之外,我们还在ImageNet数据集上为ResNet-18和ResNet-34 [18]架构训练了两个三元二进制网络。我们运行了60个epochs的训练算法,minibatch大小为128。学习率从0.001开始,每20个时期缩放0.1ResNet-34采用相同的训练策略,但总共只训练了30个epoch,并且学习率每10个epoch衰减图2(c)和(d)以及图2(e)和(f)分别展示了ResNet-18和ResNet-34的分类准确度(top-1和top-5),以及用于训练和推理的时期最终结果如表2所示,它表明Ternary-Binary Network优于XNOR-Networks(ResNet-18:在top-1/top-5上提高 4.4%/4.8%, ResNet-34:在top-1/top-5上提高2.3%/1.9%同时,我们的TBN的性能与HORQ的性能具有竞争力(top1:55.6%对55.9%;前5名79.0%,ResNet-18上的78.9%)。4.2对象检测我们还评估了TBN在目标检测任务上的性能。使用各种修改的网络架构,包括Faster-RCNN [43]和Single Shot Detector(SSD [38])。我们使用ResNet-34将这些架构的基础网络我们比较了XNOR网络和全精度网络的性能。我们在PASCAL VOC数据集[11,12]上评估了所有方法,这 是 一 个 具 有 检 测 和 语 义 分 割 挑 战 的 标 准 识 别 基 准 我 们 在VOC2007trainval和VOC2012trainval(16,551张图像)的组合上训练我们的模型,并在VOC2007测试(4,952张图像)上进行测试。对象检测的比较结果在表3中示出。从表中可以看出,基于ResNet-34的模型可以实现更好的12D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈˜ ˜˜˜˜˜˜˜˜更快的R-CNN和SSD上的性能。在mAP方面,我们使用ResNet的TBN比XNOR-Networks高出4.4%,尽管与全精度网络相比有很大的差距。4.3效率在本节中,我们将说明不同方法之间的效率比较设矩阵乘法C =WI,其中W∈Rn×q,I∈Rq×m,C∈Rn×m. 为了计算C,需要n × m × q个乘法累加运算(MAC)。 如果矩阵I被量化为三进制值并且矩阵W是二进制值,则根据等式(5),矩阵乘法分别需要n × m次乘法和n × m × q次AND、XOR和比特计数操作。我们提供了我们的方法和相关的作品使用量化的输入和权重表1之间的比较。 与XNOR-Networks相比,我们的方法增加了n × m × q个二进制运算,节省了n × m个MAC,而HORQ需要的MAC和二进制运算是XNOR网络的两倍。通用计算平台(即,CPU、GPU、ARM)可以在一个时钟周期中执行L位二进制运算(L= 64,典型值1)。假设执行L位二进制运算的速度与执行乘-累加运算的速度之间的比率为γ,即MAC平均时间γ=L位二进制运算平均时间(八)因此,三元二进制网络的加速比为:γnmq γqS=γnm+3nmq=γ+3q(9)L L结果表明,加速比取决于q、L,而γ则由机器决定对于卷积层,q=c×h×w,也就是说,S与输入大小无关。 根据XNOR网络实现的加速比,我们可以安全地假设γ = 1。91. 为了使加速最大化,q应该是L. 在图3(a)中,我们说明了加速比和q,L.结果表明,增大q或L可以获得更高的加速比.表1比较了不同方法获得的加速比,其中参数固定为:γ = 1。91,L = 64,q = c × h × w =23042。 当实值输入具有二进制或三进制权重时,MAC操作可以仅由加法和减法代替,并实现2×加速[42]。同时对权值和输入进行量化的方法采用二进制运算,获得了较高的加速比(≥15倍)。具体地说,权重或输入使用的比特越多,加速比越低,但逼近误差越小。 使用我们的方法,我们获得了40倍的理论加速比,这是11倍以上的HORQ。详见补充资料。1 Intel SSE(,AVX,AVX-512)指令可以执行128(,256,512)位二进制操作。2 对于Res Net[18]中的所有卷取算法,其大小为3 × 3,2输入通道大小为256,因此我们确定q= 256× 3 = 2304。TBN13(a)(b)(c)图三. (a)不同L下的加速比与q的关系;(b)在Eq.(4),即三进制输入的稀疏性。百分比堆叠直方图显示-1,0,1的平均数的百分比w.r.t.第二卷积层的输入;(c)分类精度和百分比堆叠直方图w.r.t. 第三卷积层的输入备注。为什么不将三进制权重用于二进制输入:其实具有二进制输入的三进制(2位)权重网络使用与TBN相同的方案来加速CNN,但是需要的存储空间是TBN的两倍由于TBN具有更高的压缩率,我们从这两种等效方法中选择了TBN4.4TBN组分三进制输入的稀疏性:为了探索稀疏性和准确性之间的关系,我们改变等式中的δ。(4)在CIFAR- 10上训练一个简单的网络结构:“32-C5 + MP3 + 32-C5 + MP3 + 64-C5 + AP 3 + 10 FC + S of t max”。我们采用这种结构,因为它的简单性和灵活性的性能比较。学习策略与第节中的VGG-7相同4.1. 具有不同稀疏度的分类精度如图3(b)和3(c)所示。从这两个图中可以看出,当δ从0(XNOR网络的情况)增长然而,当δ进一步增大时,模型容量减小并且错误率迅速增大。因此,我们设置δ =0。4在我们的实验中激活功能效果:在这里,我们探讨了不同的激活功能对我们的TBN框架的影响。具体地,我们结合了三个非线性函数,即:e. ReLU、Sigm〇nd和PReLU。 如表4(a)所示,当使用非线性激活函数时,可以提高精度,并且使用PReLU可以实现最佳性能。然而,这种改进是微妙的,主要是因为我们的TBN中的三进制量化函数已经起到了激活函数的作用。14D. Wan,F.申湖,澳-地Liu,F.Zhu,J.钦湖,加-地Shao,H.沈表4. (a)TBN在使用具有差异的非线性层时的分类性能(在CIFAR-10数据集上)。“N 〇 ne”d e t e t e t t t h t t e d e t t e t e t i n e r a l a y r;(b)在量化第一/最后卷积层的输入之后,卷积层中的卷积率(%)的组合。✓表示我们量化第一层/最后一层,表示我们使用全精度输入和权重。(a)(b)第(1)款量化第一层/最后一层?如我们的框架所示,我们避免了网络第一层和最后一层的量化步骤。原因有两个方面:首先,第一层的输入具有少得多的通道(即c=3),因此效率上的加速比不是相当高。其次,如果第一层或最后一层的输入被量化,则性能将显著下降,这可以从表4(b)中看出。请注意,这里的所有结果都是基于前面提到的简单网络获得的从表中可以看出,四个网络的准确度在量化其第一层/最后一层后一致下降了很大幅度,并且当量化第一层时,性能下降尤其明显。5结论在本文中,我们首次将二进制网络权重和三进制逐层输入作为标准CNN的轻量级近似我们声称三进制输入以及二进制权重可以提供存储器、效率和性能之间的最佳折衷在TBN中引入了一种加速的三进制-二进制矩阵乘法,采用高效的XOR,AND和位计数操作,与全精度CNN相比,实现了32倍的内存节省和40倍的加速。TBN在应用于不同规模的多个数据集上的各种CNN架构时证明了其一致的有效性,并且在ImageNet分类任务上的表现也优于XNOR-Network高达5.5%(top-1准确度),在PASCAL VOC对象检测任务上高达4.4%(mAP得分)6致谢这项工作得到了国家自然科学基金项目61502081和项目61632007的部分支持,中央大学基础研究基金项目ZYGX2014Z007。基础网络非线性层第一最后XNOR TBN BWNHORQ没有一ReLU乙状PReLUResNet-2081.36 82.1579.1284.34VGG-789.49 90.8589.7890.10简单网络75.92 81.2178.6781.14✗ ✗79.11 81.21 82.66 81.12✗ ✓71.64 76.88 81.86 76.64✓✗62.85 65.57 76.61 68.69✓ ✓52.41 58.86 73.66 62.55全精度85.51TBN15引用1. Alemdar,H., 莱罗伊,V., Prost-Bocle,A., 别这样F。:资源高效的人工智能应用程序的一系列新任务。In:Neural Networks(IJCNN),2017InternationalJointConferenceon. pp. 2547-2554 IEEE(2017)4,5,92. Ambai,M.,Matsumoto,T.,Yamashita,T.,Fujiyoshi,H.:快速紧凑神经网络的三值权值在:程序国际会议学习.代表。(2017年)23. Bagherinezhad,H.,Rastegari,M.,Farhadi,A.:Lcnn:基于查找的卷积神经网络。In:Proc.IEEE会议Comp. 目视帕特识别(2017年)94. 本吉奥,Y., 我在一条路上,NCourville,A. :通过用于条件计算的随机 神 经 元 , 使 stimatitingingorpropagatitingingradients。 arXiv 预印 本arXiv:1308.3432(2013)85. Courbariaux,M.,Bengio,Y.,David,J.:深度学习的低精度算
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功