没有合适的资源?快使用搜索试试~ 我知道了~
7154一种简化二元神经网络徐英豪1董欣2李 玉典4苏浩3浙江大学2哈佛大学3加州大学圣地亚哥分校4电子科技大学1justimyhxu@zju.edu.cn2xindong@g.harvard.edu4daniellee2519@gmail.com3haosu@eng.ucsd.edu摘要为了减少内存占用和运行时延迟,分别探索了神经网络修剪和二值化等然而,目前还不清楚如何结合这两个世界的最好的,以获得非常小和有效的模式。本文首次定义了二进制神经网络的过滤器级剪枝问题,该问题不能简单地通过迁移现有的全精度模型结构剪枝方法来解决。提出了一种新的基于学习的方法来修剪我们的主/辅助网络框架中的过滤器,其中主网络负责学习代表性特征以优化预测性能,辅助组件作为主网络上的过滤器选择器。为了避免训练辅助分量时的梯度失配,我们提出了一种分层和自底向上的方案。我们还提供了我们的基于学习和贪婪规则的方法之间最后,我们实证证明了我们的方法应用于几个二进制模型的有效性,包括二进制NIN,VGG-11和ResNet-18,在各种图像分类数据集上。对于Ima-geNet上的二进制ResNet-18,我们只使用了78.6%的过滤器,实现了更好的测试误差49.87%(= 50. 02%-0。15%),比原来的模型。1. 介绍深度神经网络(DNN),特别是深度卷积神经网络(DCNN),在过去十年中取得了显著的进步。从第一个ImageNet Challenge获奖网络AlexNet到最近的最先进的ResNet,我们观察到DNN正在变得越来越深,越来越复杂。这些现代深度神经网络具有数百万个权重,使它们既占用内存又计算成本高。为了降低计算成本,对网络加速的研究*同等贡献压缩成为一个活跃的领域。DNN剪枝算法是一类比较流行的压缩算法,它不仅在算法上和速度上都比较有效,而且过程相对简单,直观性强。这一系列研究的动机是理论分析和实证发现,即冗余确实存在于人类大脑和几个深层模型中[8,9]。我们可以根据对象的级别对现有研究进行分类,例如连接(权重)级修剪,单元/通道/过滤器级修剪和层级修剪[30]。连接级剪枝是研究最广泛的方法,它产生稀疏网络,其权重存储为稀疏张量。虽然占用空间和I/O消耗都减少了[14],但除非利用专门设计的硬件,否则这些方法通常对计算加速的目标没有帮助。这是因为权重张量的维度保持不变,尽管许多条目被清零。作为一个众所周知的事实,随机结构稀疏矩阵上的MAC操作相比之下,结构修剪技术[30],如单元/通道/滤波器级修剪,对硬件更友好,因为它们旨在产生降低维度或具有特定结构的张量使用这些技术,可以在通用硬件上实现计算加速和内存压缩,这对于深度学习框架很常见。我们考虑一类特殊的神经网络-二元神经网络的结构网络剪枝问题。二进制神经网络是通过量化策略对一般深度神经网络进行压缩的网络。DCNN1中的卷积运算固有地涉及矩阵乘法和累加(MAC)。如果我们使用低精度(1比特或更多)定点数来近似权重和激活函数(即,神经元的数量)[4]。到1完全连接的层可以实现为卷积。因此,在本文的其余部分,我们主要关注卷积层。7155在极端情况下,如果权重和激活都被二进制化,则MAC操作甚至可以退化为布尔操作。据报道,这种二进制网络在实践中可以节省158倍的计算量和132倍的内存。然而,二值化操作经常引入-将噪声引入DNN [21],因此DNN的表示因此,二进制神经网络不可避免地需要更大的模型大小(更多的参数)来补偿表示能力的损失。虽然二进制神经网络中的布尔运算已经相当便宜,但对于低功耗嵌入式系统,如虚拟现实应用中的智能手机和可穿戴设备,甚至更小的模型仍然是非常需要的。即使量化(例如,二进制化)已经显著地减少了每个权重/神经元表示的冗余,但是我们的实验表明,就网络拓扑而言,在二进制神经网络事实上,量化和修剪是压缩神经网络的正交策略:量化降低了权值和激活等参数的精度,而剪枝则修剪了神经网络中的连接,以获得最紧密的网络拓扑结构。然而,以往的网络剪枝研究都是针对全精度模型设计的,不能直接应用于权值和激活数均为1位数的二进制神经网络。例如,通过比较二进制权重的幅度或L1范数来修剪滤波器不再有任何意义,并且它是非线性的。最小化两个二进制输出张量我们首次定义了简化二进制神经网络的问题,并尝试通过结合修剪和量化策略来学习非常有效的深度学习模型我们的实验结果表明,在二进制神经网络中的过滤器是冗余的,基于学习的修剪过滤器的选择是不断优于现有的基于规则的贪婪修剪标准(重量大小或L1范数)。我们提出了一种基于学习的方法来简化二进制具有主-辅助框架的神经网络,其中主网络负责学习代表性特征以优化预测性能,而辅助组件用作主网络上的过滤器选择器以优化效率。本文的贡献总结如下:• 我们提出了一种基于学习的二进制神经网络结构修剪方法,以显着减少滤波器/通道的数量,但仍然保持预测,在像ImageNet Challenge这样的大规模问题上的性能。• 我们证明了我们的基于非贪婪学习的方法优于经典的基于规则的方法在选择它反对修剪。我们设计了一个主-辅框架来迭代地学习和修剪特征图。理论和实验结果证明了基于规则的方法的局限性和基于学习的方法的优点此外,我们还对基于L1• 为了避免子组件的梯度不匹配,我们以逐层和自底向上的方式训练该网络方案。实验表明,迭代训练方案有助于主网络采用前几层的修剪,并找到更好的局部最优点。2. 相关工作2.1. 修剪长期以来,人们一直在以多种不同的方式探索深度神经网络修剪[15]提出了最优脑外科医生(Optimal BrainSurgeon,OBS)算法,利用损失函数的二阶导数信息,通过泰勒展开来度量权重重要性。[11]进一步使OBS适应深度神经网络,并减少了再训练时间。深度压缩[14]根据权重大小修剪连接,可以实现很大的压缩比。动态掩码[12]的思想也用于修剪。其他方法使用贝叶斯方法并利用神经元的多样性来去除权重[25,24]。然而,这些方法集中于修剪独立连接,而不考虑组信息。即使他们收获稀疏的连接,仍然很难在硬件上获得所需的加速。为了解决连接级修剪中的问题,研究人员提出通过对通道、过滤器甚至层应用稀疏约束来增加组稀疏性[30,1,27,2]。[17]利用LASSO约束和重构损耗来指导网络信道选择。[22]引入 L1-范数秩对滤波器进行剪枝,减少冗余,并采用贪婪策略保留相对重要的滤波器。[23]利用从批量归一化到修剪通道的缩放因子。为了鼓励缩放因子是稀疏的,将正则化项添加到损失函数。一方面,上述方法都是为全精度模型设计的,不能简单地移植到二进制网络中。例如,为了避免引入任何非布尔运算,二进制神经网络(如XNOR-Net)中的批量归一化通常由于所有权重和激活只有两个可能的值{1,-1},应用经典技巧(如排名过滤器)也是无效的,通过它们的L1-范数,添加LASSO约束,或最小化两个二进制向量之间的重建误差。另一方面,忽略过滤器之间的相关性的贪婪策略不能保留所有重要的过滤器。7156BBn,:浮锤梯度流权重的量化使用STE,这里将引入权重梯度失配量化的权重使用STE,这里将介绍激活梯度失配量化输入Mac激活激活的量化量化输入图1.二进制神经网络在反向传播过程中的梯度流。矩形表示权重张量,椭圆表示函数运算。在本文中,我们使用二进制运算作为一种特殊的量化函数。MAC是乘法和累加运算的缩写,或者类似于BNN中的XNOR [4]的等价替换。2.2. 量化高度和宽度。内核该层中的权重Wi∈RNi+1×Ni×Ki+1×Ki+1是连续的,最近的工作表明,全精度计算是一个很好的方法,这对于DNN的训练和推理是不必要的[13]。权重量化因此被广泛研究,例如,16位[13]和8位[10]定点数。为了实现更高的压缩和加速比,已经研究了像二进制权重[6,20]和三进制权重[32,31,29]这样的极低比特模型,这些模型可以在计算过程中去除所有乘法运算。权重量化有一个相对温和的梯度不匹配问题,如3.1.2节所分析的,许多方法可以在甚至大规模任务上实现与全精度对应方法相当的精度然而,量化网络的最终目标是用布尔运算取代所有MAC运算,这自然希望激活和权重都被量化,甚至二进制化。量化网络的激活函数具有阶跃函数的形式,它是不连续的、不可微的。梯度在反向传播期间不能流过量化激活函数。直通估计器(STE)被广泛采用来规避这个问题,在一定范围内将阶跃函数的梯度近似为1[18,3]。[5]提出了半波高斯量化(HWGQ),以进一步减少前向量化激活函数和后向ReLU之间的失配[26]。在[7]和[4]中提出的二进制神经网络(BNN)仅使用1位用于激活函数和权重,最终得到了一个非常小和更快的网络。BNN继承了量化加速策略的缺点,精度也有待进一步提高.3. 方法设Fi∈RNi×Hi×Wi表示I层二进制神经网络中第i层的二进制输入特征映射,其中Ni,Hi和Wi是输入特征映射的个数,与输入特征图Fb卷积为输出特征图Fi+1。因为权重和作用都是二进制的,为了清楚起见,我们去掉了Fb和Wb剪枝的目的是去除某些滤波器Wi,n∈N,其中N是被剪枝的滤波器的索引。如果过滤器被移除,则该层的响应输出特征图(也是下一层的输入特征图)也将被移除。因此,下一层中所有过滤器的输入通道将变得不必要。如果一个层中的所有过滤器都可以被移除,过滤器级修剪将自然升级为层级修剪。我们的方法的目标是删除尽可能多的过滤器已经紧凑,具有较差的数值属性的二进制神经网络,因此这项任务是更具挑战性的修剪全精度模型相比。3.1. 附属组件和主要网络我们借用二进制网络优化的思想来简化二进制网络。虽然这听起来很重复,但请注意,优化技术最初是为了解决量化问题而发明的,但我们将展示它可以用来解决二进制网络的修剪问题。一个新的二元网络,称为辅助组件,作为可学习的面具,筛选出冗余的功能,在主网络,这是完成分类任务的网络。辅助组件的每次更新可以被视为掩码搜索空间中的探索我们试图在辅助组件的帮助下找到该空间中的(局部)最佳掩模。培训附属网络和主要网络的过程如下:3.1.1特征学习对于第i层,辅助分量Mi∈RNi+1×Ni×Ki+1×Ki+1由一致分布初始化。7157可训练层主网固定层-11-1-1-11-1-1-11-1-1- 一个111-1个1-1图像1-1- 1个11-1个-11-1个-11-1-1个1-1-11111- 一个- 1个1 - 111-1-1个1- 一个111-1个一比一-1-11-1 个...签署-11-1个图像-1-1签署1-1签署1-1...签署一比一图像签署签署-1-11-1 个签署签署11-1个-11-1-1-1个-11一比一-11- 一个-11- 1个- 好的1 1 1-11-1个-11一比一1-1- 1个11-1个-11-1个-1...签署-11-1-1个11-11-1个-111- 一个-1个- 一个1 11-1个-11斌斌斌斌斌斌斌斌斌斌斌斌辅助器件图2.我们方法的管道图中的主网络已经经过了预训练。从左到右:第i层的子组件训练、主网络再训练和第i+1层的子组件训练。分布:Mi=U(−σ,σ)。 在实践中,σ被选择为 小于10-5。为了达到修剪过滤器的目的,第一个索引相同的所有元素共享相同的值。Mn,o1,p1,q1=Mn,o2,p2,q2,n =o,p,q. 滤波器掩码Oi∈RNi+1× Ni× Ki+1×Ki+1是来自辅助分量的输出张量。 在第一阶段,我们使用Iden(·)函数(恒等变换)来得到Oi。Oi=Iden(Mi)通过这样做,我们将浮点Mi投影到范围从0到1的二进制数。Oi中等于0的元素指示相应的过滤器被移除,并且值为1的元素暗示保留该过滤器。由于Bin(·)是不可微的,我们在反向传播中用下面的翼函数代替符号函数当训练辅助分量Mi[18,3]时,x−1x1我们应用过滤器掩码Oi来筛选主网络我,Wi=OiWif(x)=1x≥1−1x≤−1(一),其中k是逐元素乘积。 Wi表示变换后主网络的权重,其用于与输入特征图F i卷积以产生输出特征图Fi+1。然后,主网的重量工作,Wj,j∈[1,I],被设置为可训练的,而权重除了变换之外,我们还需要添加正则化项以防止所有Oi退化为1,这是一个平凡的解决方案。因此,辅助分量中训练层i的损失函数为,的辅助分量Mj,j∈[1,I]是固定的。因为辅助权重是固定的并且初始化为接近-零,它将不会在特征学习阶段起作用,因此W<$j<$Wj,j∈[1,I]. 整个二进制神经网络-argminMiL交叉熵+α·Lreg+β·Ldistill(2)Lreg=100i101工作将从零开始训练。3.1.2特征选择i:在从头开始训练整个主网络之后,我们使用二元运算符以逐层方式选择要素内尔。与先前的特征学习阶段相反,主网络的所有层Wj,j∈[1,I]的权重和辅助分量Mj,j∈[1,I]/[i]的除层i之外的权重被设置为固定的,而在为层i选择特征时,当前层M i处的辅助分量的权重是可训练的滤波器掩码0i的变换函数从Iden(·)变为Bin(·)(符号变换+线性变换),其中,L交叉熵是数据损失,L蒸馏是在(7)中定义的蒸馏损失。最后,我们将层Mj,j∈[1,I]固定在子组件中,并将层i固定在主网络中(即,Wj,j∈[1,i-1]),并在层i之后重新训练主要层(即,Wj,j∈[i,I])。自下而上的多层分层训练:我们展示了如何在上面的子组件中训练一个层。为了减轻梯度不匹配,从特征选择期间的平凡解决方案,接下来,我们为辅助组件提出了一个逐层和自底向上的训练方案:更接近子模块组件中的输入的层将被优先训练。由于第i层正在训练中,所有先前的层(应该已经被训练过)将被固定,并且后续的层将被控制。Oi=Bin(Mi)=符号(Mi)+1 2在训练过程中,初始值接近于零。这个培训计划有三个好处。7158JJ首先,与(1)一样,我们使用STE来近似符号函数的梯度根据链式规则,对于层i中的每个激活节点j,我们希望计算3.1.3管道我们的方法的流水线如下:项它测量了这个节点的re-j杰扎岛1. 初始化辅助组件M,j∈对输出中的任何错误负责。 对于二元神经网络-的作品,激活也是二进制的符号函数,需要STE的反向传播。二进制神经网络的L[1,I]的近似零σ2. 设Mj,j∈[1,I]为固定值,从头开始训练整个3. 从第一个二进制内核开始训练。每一层都与下面所示的算法相同:Σδi=Sign′(ai)· wi+1δi+1Mi=我jjj,qQ• 变化 的 激活 功能 对于M从Q符号(ai)(三)1999年1月1日Iden(·)到Bin(·)。除了其他参数m是固定的。列车辅助部件根据(2)。伊萨岛= 1|a我|≤1(4)=·1|Mi| ≤1(6)jMi2• 固定辅助层Mj,j∈[1,I]和main其中(3)和(5)可以通过链式法则获得,(4)和(6)由STE估计,这将引入梯度在第i层W j之前的层,j∈[1,i-1],并且在第i层W j之后重新训练主要层,j ∈ [i,I]。如图1所示我们-FER(6)作为权重梯度失配问题,以及(4)作为激活梯度失配问题。这是二进制神经网络优化中的两个开放性问题,都是由算法1我们的流水线0:对于i= 1到N,做:0: 训练第i层的辅助组件:量化变换函数,如k eSign(·)。早些时候-更接近的ers(主要和附属网络)0: Oi←Bin(Mi)=Sign(Mi)+12由于链式法则的存在,对输入有更严重的梯度失配问题。从底层开始,我们可以尽早训练和修复那些难以训练的层,以用于子组件。此外,由于特征选择中的再训练部分,自底向上的训练方案也允许更早地固定底层。对于具有K层的主网络,第i层将总共重新训练i换句话说,具有最严重梯度失配问题的层的梯度是最不频繁传播的,这有效地抑制了误差的传播。其次,自底向上的逐层训练方案有助于主网络更好地适应由先前层的修剪引起的特征分布偏移。如前所述,我们的修剪方法和基于规则的方法之间的主要区别在于,我们通过关注最终的网络输出,拥有更多可学习的参数来拟合数据使用自底向上和逐层方案,即使第i层的输出发生变化,主网络中的后续层也可以通过修改其功能来适应此变化。最后也是最重要的是,我们通过这种方案获得了更高的压比。根据我们的实验,一个直接的全球训练计划导致有限的prun- ing比。有些层被过度修剪,因此损害了准确性,而有些层几乎没有修剪,0:Wi=OiWi0:固定Mj,j∈[1,N]/[j],Mi是可学习的0:固定Wj,j∈[1,N]0: 损失=L交叉熵+αLreg+βL蒸馏第0章:0: 重新训练主网络:0:固定Mj,j∈[1,N]0:固定Wj,j∈[1,i−1],Wk是可学习的,k∈[i,N]0: 损失=L交叉熵3.1.4蒸馏损失虽然修剪网络过滤器不是一个显式的迁移学习任务,但其目的是引导瘦网络学习与原始网络更相似的输出分布。该模型应该学习一个软分布,而不是像以前的传统分类器网络中提出的那样学习一个硬分布。因此,我们添加蒸馏损失以引导训练辅助组件更稳定,如图3所示。L蒸馏=(p<$q)=H(p,q)−H(p) (7)我们将p设为原始的二进制神经网络分布。因为分布是固定的,所以H(p)是一个常数,可以从L蒸馏中去除。这意味着蒸馏损失可以写为这损害了修剪率。分层方案将强制所有层离开舒适区,并允许平衡。ΣML蒸馏=−对数Σexp(zi/T)xxp(ti/T)精确度和剪枝率之间的转换。JJ7159i=1Mj=1exp(zj/T)Mexp(tj/T)7160培训辅助组件,培训辅助组件,出货损耗出货损耗我其中zi和ti表示在softmax层之前的修剪和原始网络T是[19]中定义的蒸馏损失的温度参数我们在实践中将T设为1M是类的数量。不同的是,我们的目标是优化网络的最终输出,而基于L1-范数的方法可以很好地控制下一层特征图的扰动。假设W=[w1;. . . ;wn]是原始滤波器,并且每行wi∈R1×m是一个向量化滤波器。W ′=[w′;.. . ; w′]1N88是过滤器。 对于某个输入Z∈Rm×n,每行Z的86可以被看作是从图像中采样的补丁让wi 然后,L1-范数方法最小化84下一个翼问题的上界:max<$x<$∞T<$W X−82W′X2.要看到这个,注意80780 30 60 90 120 150时代(W−W′)X=1X. . .nXǁ2Σ≤100%wiX≤2我(八)图3.辅助组件的学习曲线。红线表示没有蒸馏损失的学习曲线,红色背景表示每个时期的学习曲线方差。绿线和背景代表子公司-Σ≤wiX 1≤我Σǁ∆wi ǁ1 ǁXǁ∞≤我Σǁ∆wi ǁ1T我(九)分量学习曲线和每个时期的方差。 显然蒸馏损失使得训练过程更稳定。其中T是常数。(1)和(2)由M.kowski不等式与H o lder不等式为了使i最小化,3.2. 与基于规则的方法的比较以前的方法使用规则来排列每个过滤器的重要性,然后删除前k个最不重要的过滤器。规则可以是权重大小,例如,用L1标准或其他精心设计的标准来衡量。这方面的研究具有相同的动机,即每个滤器都有自己的重要性指示,重要性较低的滤器可以相对安全地取出。这个假设忽略了过滤器之间的交互。如前所述,基于规则的修剪算法使用贪婪显然,通过将单行wi置零,解决方案是选择具有最小L1范数的行。然而,请注意,这种策略不能简单地应用于二进制网络,因为任何滤波器的L1范数是相同形状的{−1,+1}张量总是相同的。3.4. 与基于LASSO回归的最小重构误差剪枝的关系先前的工作[16]使用LASSO回归来最小化每层的重建误差: 最小值Y−ΣL β XW<$2,<$β<$≤C′。 解决这个L最小化-i=1我ii F00修剪过滤器的方法,即, 他们假设每个过滤器行为独立和他们自己的重要性(或功能)的表征学习。我们在第3.3节对此进行了理论分析。事实上,当过滤器强相关时,独立地修剪过滤器可能会导致问题。例如,如果两个过滤器已经学习了相同的特征(或概念),则这两个过滤器可以通过基于规则的方法一起被修剪掉,因为它们的排名非常接近。显然,修剪其中一个是更好的选择。然而,几乎所有这些标准都是基于价值统计学的,并且完全不适合只有两个离散值的二进制场景。一种可能的修剪方法是穷尽地搜索最优修剪集,但这是NP困难的,并且对于具有数千个过滤器的现代DNN来说是禁止的。我们的方法使用辅助组件来“搜索”最优解。我们的软3.3. 与L1范数剪枝的关系如果我们的主网络是全精度的,基于L1范数的修剪技术将与我们的方法密切相关,问题是NP难的,所以L0正则化通常被放松到L1。在二进制/量化场景中,激活仅具有两个/若干个值,并且最小重构误差不适用。我们的方法不是最小化一层的反射误差,而是在可学习的辅助组件的帮助下关注最终的网络输出我们直接优化掩模的离散变量(也称为辅助组件),而无需松弛。4. 实验为了评估我们的方法,我们在CIFAR-10和ImageNet上对VGG-11,Net-In-Net(NIN)和ResNet-18由于我们的目标是简化二进制神经网络,其激活和权重都是1位,因此我们实验中的所有主要模型和训练设置都来自XNOR-Net [28]。据我们所知,由于我们是第一个为二元神经网络定义过滤器级剪枝的工作,我们提出了一个基于规则的方法作为基线。我们使用每个滤波器的缩放因子(MSF)的大小作为我们的修剪标准,而不是根据L1范数[22]对滤波器进行灵感来自准确度%7161[22]我们测试了除此之外,我们还做了另一个比较,我们通过我们的方法随机初始化修剪后的网络,并从头开始训练一个较小的二进制神经网络。正如[28]中所指出的,我们将第一层和最后一层的权重设置为全精度,这也意味着我们只对中间的二进制层进行修剪。我们用PFR、修剪滤波器数目与原始滤波器数目的比率以及再训练前后的错误率来衡量修剪方法的有效性。对于错误率,越小越好。PFR越大越好。对于CIFAR-10,当训练主网络时,学习率从10−4开始,并且对于每20个时期,学习率衰减等于0.1在 训 练 辅 助 组 件 时 , 学 习 率 固 定 为 10−3 对 于ImageNet,我们为辅助组件和主要工作设置了10−3的恒定学习率为了公平比较,我们控制每层的PFR,这些方法是相同的,以观察最终的再训练错误。 在图中??MSF-Layerwise是指“修剪一次并重新训练”方案,而MSF-Cascade是指“修剪并迭代地实验的前三张图是在CIFAR-10数据集上完成的最后一个数字是Imagenet上的结果。4.1. NIN和VGG 11在CIFAR 10NIN是一个全卷积网络,使用两个1×1卷积层而不是全连接层,并且具有相当紧凑的架构。VGG-11是一个高容量网络,分类. CIFAR-10上的VGG-11由8个卷积层(包括7个二进制层)和1个全连接层组成。在每个二进制卷积和激活层之间使用批归一化对于MSF分层和MSF级联,具有相同的PFR,表现比我们差。在30%~ 40%的剪枝率下,剪枝后的网络错误率仅增加1%~2%。4.1.1学习速度很重要当为不同的模型训练子模型时,观察到一个有趣的现象。我们在实验中尝试了不同的学习速率,并观察到它对最终收敛点的影响很大,如图4所示。相对较小的学习率(10−4)将收敛于较低的精度和较高的剪枝数;然而,较大的学习率(10−3)导致相反的结果。一种可能的解释是, 二进制神经网络的高维流形是2一次修剪多层过滤器并重新训练它们,直到恢复原始精度3一层一层地修剪过滤器,然后迭代地重新训练。在修剪下一层的权重之前重新训练模型,以适应修剪过程的变化。与全精度网络相比,它更加离散,因此子组件很难跳出局部最优点,跳到更好的点。此外,在二进制sce- nario中,较大的学习率将增加权重值变化的频率我们的动机是使用可学习的辅助组件来近似穷举搜索,因此使用更大的学习率将使辅助组件能够更积极地“搜索”。大的学习率可能不适合于像本文中的主网络这样的普通二进制神经网络,但它是子组件的首选。4.1.2辅助部件的灵敏度不高如第3.1.1节所述,我们使用均匀分布来初始化掩码。根据均匀分布的期望,E(PNR)= 0。其中PNR是辅助权重中正元素的数量与权重大小的比率。然而,由于我们使用Sign(·),不同的PNR可能会对结果产生很大影响我们进行了六次实验-跨不同层的不同模型的结果表明,初始化为0.4,0.6,1.0 PNR将收敛到相同的状态。但当PNR为0.2时,最终性能将很差。一个可能的原因是初始化抛出的滤波器数目太大,并且由于正则化项的存在,网络因此,我们建议将PNR初始化为大于0.4。辅助组件的学习曲线828078767472706866640 30 60 90 120时代图4.辅助组件的学习曲线。我们用不同的学习率训练子组件。这些曲线是平滑的,以便直接看到学习辅助组件的趋势。所有的虚线代表了大型企业的学习曲线。在学习率为10- 3的情况下,法线表示小学习率为10- 4的学习曲线。4.2. CIFAR 10和ImageNet与NIN和VGG-11相比,ResNet在剩余块内具有身份连接,并且具有更多的层。随着网络深度的增加,网络的容量也随之增加,从而导致更多的冗余。从实验结果中,我们发现,当识别映射网络具有下采样层时,残差块的整体灵敏度将增加。ResNet的总体结果准确度%lr_0.001 PNR_100%lr_0.001 PNR_60%lr_0.001 PNR_40%lr_0.0001 PNR_100%lr_0.0001 PNR_60%lr_0.0001 PNR_40%7162方法模型表1.总体结果原始误差(%)重新训练误差(%)PFR(%)小型网络NIN15.79%40.27%33.05%MSF-分层NIN15.79%19.28%33.05%MSF级联NIN15.79%百分之十七点三九33.05%我们的方法NIN15.79%16.89%33.05%小型网络VGG-1116.13%18.01%39.70%MSF-分层VGG-1116.13%百分之十九点五九39.70%MSF级联VGG-1116.13%18.79%39.70%我们的方法VGG-1116.13%18.03%39.70%小型网络ResNet-1812.11%23.41%39.89%MSF-分层ResNet-1812.11%16.44%39.89%MSF级联ResNet-1812.11%14.63%39.89%我们的方法ResNet-1812.11%13.61%39.89%MSF-分层ResNet-1850.02%51.33%21.40%MSF级联ResNet-1850.02%50.56%21.40%我们的方法ResNet-1850.02%49.87%21.40%表2.修剪模型的FLOP和内存使用FLOPs加速比内存使用内存节约我们的修剪模型1.46×10812.39×30.87Mbit12.11×ResNet-18 XNOR-网络1.67×10810.86×33.70Mbit11.10×全精度Res-Net 1.81×109-374.1Mbit--CIFAR-10如表(1)所示,各层的统计数据见附录。我 们 进 一 步 验 证 了 我 们 的 方 法 与 ResNet-18 在ImageNet上。α可以设置为10−7到10−9,具体取决于预期的PFR,在重新训练之前平衡准确度和修剪率在对每一层进行20个时期的再训练最终的PFR为21.4%,再训练误差从50. 02%至49。百分之八十七4.3. 效率和内存使用分析在本节中,我们将分析修剪模型的加速和内存节省,并与ResNet-18中的XNOR-Net和全精度网络进行比较。内存使用量是一个模型中所有权重的位数之和。此外,我们使用FLOPs来衡量我们修剪模型的效率。由于二进制运算可以用异或非运算和位计数64位并行实现。因此,最终的FLOPS由全精度乘法加上1/64 1位乘法组成我们保持第一个卷积层和最后一个全连接层为实值,并保持整个网络中的其他权重和激活都是二值化的。作为如表2所示,我们为ImageNet精简的ResNet-18模型的速度提高了12.39倍,并减少了12.11倍的内存使用,理论上,但我们的测试准确率优于0。与全精度ResNet-18模型相比,精度降低了15%与XNOR-Net相比,我们还实现了高达14.10%的加速比和9.09%的内存节省率,即我们的模型需要更少的内存和更少的FLOP。5. 结论本文首次定义了二进制神经网络的过滤器级剪枝问题,提出了一种新的基于学习的主/辅网络框架。在CIFAR和ImageNet上的大量实验结果表明,所提出的主/辅网络框架和新的训练方法对二进制神经网络的剪枝具有很好的效果.此外,我们的方法也是友好的修剪问题的量化网络。在未来,我们将探索更先进的学习算法作为框架的附属部分,因为基于学习的剪枝框架具有重要的价值,也将作为未来的工作。7163引用[1] J. M. Alvarez和M.萨尔茨曼学习深度网络中的神经元数量。神经信息处理系统的进展,第2270-2278页,2016年[2] S. Anwar,K.Hwang和W.宋深度卷积神经网络的结构化修剪ACM Journal on Emerging Technologies in ComputingSystems(JETC),13(3):32,2017。[3] Y. Bengio,N. L e'onard和A. 考维尔通过条件计算的随机神经元估计或传播arXiv预印本arXiv:1308.3432,2013。[4] A. Biswas和A. P. Chandrakasan。Conv-RAM:一种具有嵌入式卷积计算的节能SRAM,用于基于CNN的低功耗机器学习应用。技术论文摘要- IEEE国际固态电路会议,61:488[5] Z. Cai,X.他,J.Sun和N.瓦斯康塞洛斯通过半波高斯量化进行低精度深度学习2017年。[6] M. Courbariaux,Y. Bengio和J.大卫。Binaryconnect:在传播过程中使用二进制权重训练深度神经网络。神经信息处理系统的进展,第3123-3131页,2015年[7] M. 库尔巴里奥岛 Hubara,D. 苏德里河 El-Yaniv,以及Y. 本吉奥。二进制神经网络:训练权重和激活约束为+1或+1的深度-1. 2016年。[8] L. De Vivo,M. Bellesi,W. Marshall、E. A. Bushong,M.H. Ellisman,G. Tononi和C.奇雷利觉醒/睡眠周期中突触缩放的超微结构证据。Science,355(6324):507[9] M.德尼尔湾沙基比湖Dinh,N. De Freitas等人深度学习中的参数预测。神经信息处理系统的进展,第2148-2156页,2013年[10] T.德特默斯8-深度学习中的位近似并行。arXiv预印本arXiv:1511.04561,2015年。[11] X. Dong,S. Chen和S.锅学习通过逐层优化脑外科医生修剪深度神经网络。神经信息处理系统的进展,第4857-4867页,2017年。[12] Y. Guo,中国古猿A. Yao和Y.尘高效DNN的动态网络手术。神经信息处理系统,2016。[13] S.古普塔A。Agrawal,K. Gopalakrishnan和P.纳拉亚南深度学习,数值精度有限。在International Conference onMachine Learning,第1737-1746页,2015年。[14] S. 韩 学 习 有 效 神 经 网 络 的 权 重 和 连 接 。 NIPS , 346(8988):1500[15] B. Hassibi,D. G. Stork,G. Wolff和T.渡边最佳脑外科医生:扩展和性能比较。在第六届神经信息处理系统国际会议论文集,NIPS摩根考夫曼出版公司[16] Y. 他,X。zhang和J.太阳用于加速非常深的神经网络的通道修剪[17] Y. 他,X。zhang和J.太阳用于加速深度神经网络的通道修剪在国际计算机视觉会议(ICCV),第2卷,2017年。[18] G. 辛顿,N.Srivastava和K.斯沃斯基机器学习的神经网络Coursera,video lectures,264,2012.[19] G. Hinton,O. Vinyals和J. Dean.在神经网络中提取知识。arXiv预印本arXiv:1503.02531,2015。[20] Q. Hu,P. Wang,and J.程从hashing到cnns:通过哈希训练二进制权重网络。arXiv预印本arXiv:1802.02733,2018。[21] H. Li,S. De,Z. Xu,C. Studer,H. Samet和T.戈德斯坦训练量化网络:更深刻的理解。神经信息处理系统进展,2017年。[22] H. Li,长穗条锈菌A.卡达夫岛Durdanovic,H. Samet和H.P·格拉夫修剪过滤器以实现高效的卷积。2016年学习表征国际[23] Z. 刘,J.Li,Z.Shen,G.Huang,S.Yan和C.张某通过网络精简学习高效的卷积网络。计算机视觉(ICCV),2017年IEEE国际会议,第2755-2763页。IEEE,2017年。[24] Z. Mariet和S. SRA.多样性网络。ICLR会议记录,2016年。[25] D. Molchanov,A. Ashukha和D.维特洛夫变分丢弃稀疏化深度神经网络。2017年机器学习国际[26] V. Nair和G. E.辛顿校正线性单元改进了受限玻尔兹曼机。第27届国际机器学习会议(ICML-10)集,第807-814页,2010年[27] A. Polyak 和 L. 狼 深 度 面 部 表 示 的 通 道 级 加 速 IEEEAccess,3:2163[28] M.拉斯泰加里河谷Ordonez,J. Redmon和A.法哈迪。Xnor- net:使用二进制卷积神经网络的Imagenet分类。欧洲计算机视觉会议,第525-542页施普林格,2016年。[29] P. Wang和J.程不动点分解网络。在计算机视觉和模式识别(CVPR),2017年IEEE会议上,第3966-3974页。IEEE,2017年。[30] W. 温角Wu,Y.Wang,Y.Chen和H.李在深度神经网络中学习神经信息处理系统的进展,第10页,2016年。[31] A. Zhou,中国古柏A.Yao,Y.郭湖,加-地Xu和Y.尘 增量网络量化:低精度权值的无损cnn。arXiv预印本arXiv:1702.03044,2017。[32] C. Zhu,S.汉,H. Mao和W. J·达利经过训练的三进制量化。arXiv预印本arXiv:1612.01064,2016。
下载后可阅读完整内容,剩余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直接复制
信息提交成功