没有合适的资源?快使用搜索试试~ 我知道了~
1训练二值化深度网络丁瑞洲,秦廷武,刘泽业,戴安娜·马库斯库卡内基梅隆大学{rding,tingwuc,zeyel,dianam}@ andrew.cmu.edu摘要二 值 化 神 经 网 络 ( Binarized Neural Networks ,BNN)由于其纯逻辑计算和较少的内存访问,可以显著降低资源受限设备然而,训练BNN是困难的,因为激活流遇到退化、饱和和梯度失配问题。先前的工作通过增加激活位和添加浮点缩放因子来解决这些问题,从而牺牲BNN的能量效率。在本文中,我们提出使用分布损失显式正则化激活流,并开发了一个框架,系统地制定损失。我们的实验表明,分布损失可以不断提高BNN的准确性,而不会失去他们的能量效益。此外,配备了拟议的正则化,BNN训练被证明是强大的超参数的选择,包括优化器和学习率。1. 介绍近年来,深度神经网络(DNN)在图像,视频,语音,自然语言等各种应用中取得了巨大的成功[16,31]。然而,DNN所需的增加的计算工作负载和存储器访问计数对延迟敏感的应用和能量受限的设备造成负担。由于延迟和能耗与计算成本和内存访问计数高度相关,关于减少这两个重要的设计度量的大量研究[11,41,18,6]。二进制神经网络(BNN)[22]将网络权重和活动限制为±1,已被证明在定制硬件上非常有效[51]。我们稍后也会在SEC中展示。3.1 BNN的典型块可以在硬件中实现,仅具有几个逻辑运算器,包括XNOR门、计数器和比较器,因此大大降低了能耗和电路面积,如表1所示除了通过使整个网络二进制化带来的计算好处之外,BNNBinConv BN激活转发:向后:������������T���������=(������������,−���,���)活化前分布退化饱和度梯度不匹配导致训练图1:BNN的基本Conv-BN-Act结构(Bin- Conv:二进制卷积; BN:批量归一化)。预激活分布可能表现出退化、饱和或梯度失配问题,这导致训练困难。是由于它们的1位权重和激活而大大减少了内存占用。在极低比特DNN [9,12,28,4,46,10]上的先前工作主要集中在极低比特DNN上。位权重并使用更多位进行激活,而只有少数[22,29]针对1位权重和激活。然而,读取和写入中间结果(激活)会产生比权重更大的内存占用[35]。例如,在批量大小为32的全精度(32位)AlexNet的推理阶段, 92.7%的内存占用是由激活引起的,而只有7.3%是由权重引起因此,BNN的内存占用由于其二进制激活而显着减少。然而,训练准确的BNN需要仔细的超参数选择[1],这使得该过程比全精度对应物更困难。先前的工作已经表明,这种困难来自于有界激活函数和不可微量化函数的梯度近似[4]。即使对于全精度DNN,有界激活函数(例如,,Sig-moid或Tanh)通常会导致较低的精度相比,无界的(例如,、ReLU、Leaky ReLU或SELU)1140811409由于梯度消失问题[13,5]。对于二进制化网络,有界激 活 ( 即 , 符 号 函 数 ) 用 于 导 致 二 进 制 激 活 ,HardTanh激活函数通常用于梯度近似[22,38,46]。如图1,这些有界激活函数带来了以下挑战(出于说明目的,我们使用卷积层作为示例):(i) 退化:如果通道的几乎所有预激活都具有相同的符号,则该通道将输出几乎恒定的激活。在极端情况下,这个通道退化为常数. (ii)饱和度:如果通道的大多 数 预 激 活 具 有 比 HardTanh 阈 值 更 大 的 绝 对 值(即,、|一|≥ 1),则梯度将为零。(iii)梯度误差-表1:使用商用65 nm工艺设计套件[44]的不同计算运算符的计算能耗和电路面积。乘法器和加法器都是16位定点运算符。能源(pJ)相对成本区域(µm2)相对成本XNOR7.6×10−41×4.21×计数器7.8×10−410×5212×比较器1.1×10−214×5212×乘法器1.62109×3.0×103718×加法器4.8×10−264×1.6×10237×表2:具有不同类型的二进制化的卷积层的计算能量。match:如果预激活的绝对值始终小于阈值(即,、|一|<1),则这是纯逻辑能量(µJ)相对成本相当于使用直通估计器(STE)梯度计算[3]。虽然在训练定点DNN时,STE通常在计算阶梯函数的梯度方面表现良好,但使用STE计算Sign函数的梯度会导致比阶梯函数更大的近似误差,因此会导致更差的梯度失配[4]。由于BNN训练的困难,沿着这条轨道的先前工作已经将极低能耗的好处交换为更高的准确性。Hubara等人大大增加了每个卷积/全连接层的滤波器/神经元的数量因此,虽然一部分滤波器/神经元由于退化或梯度饱和而被阻塞,但是仍然有大量的绝对数量的滤波器/神经元可以很好地工作。同样,Mishra等人也增加了网络的宽度,以保持BNN的高精度[35]。除了增加网络参数的数量外,大量的工作通过放松精度约束而牺牲了BNN Rastegari等人 通过使用二进制卷积,然后使用带有缩放矩阵的浮点逐元素乘法来近似全精度卷积。[38]第30段。 Tang等人对激活使用多位二进制化,这需要浮点运算符来计算激活的均值和残差[46]。Lin等人使用多个二进制张量的加权和来近似每个滤波器和激活图[29]。所有这些方法都使用缩放因子来进行权重和激活,从而使得定点乘法和加法对于硬件实现是必要的。Liu等人在模型中添加了带有浮点计算的跳过连接[30]。虽然这些方法产生的模型使用XNOR卷积核,但额外的乘法和加法是不可忽略的。如表中所示。2,BNN的典型卷积层的能量成本低于其他二值化DNN。最后给出了层次设置和能量成本估算方法[22]第二十二话XNOR-Net[38] No 4.34 3×[29]第二十九话在附录6.1中介绍此外,由于BNN的硬件实现不需要数字信号处理(DSP)单元,因此它们大大节省了电路面积,因此可以使具有严格面积限制的物联网应用受益[14,8]。在本文中,我们提出了一个通用的框架,激活正则化,以解决在BNN训练过程中遇到的困难。虽然之前关于权重初始化[13]和批量归一化[24]的工作也对激活进行了正则化,但它没有解决前面提到的BNN的挑战,如第2节所述四点二。我们不是像以前的工作[13,24]那样以隐式方式正则化激活分布这种正则化被证明可以有效地减轻BNN的挑战,并不断提高准确性。具体来说,添加分布损失可以将ImageNet上BNNAlexNet [22]的Top-1准确率从36.1%提高到41.3%,并将二进制化的宽AlexNet [35]从48.3%提高到53.8%。总之,本文有以下主要贡献:(i) 据我们所知,我们是第一个为二值化网络提出显式激活正则化框架的人,该框架始终提高了准确性。(ii)实证结果表明,建议的分布损失是鲁棒的,的选择的训练超参数代码可从以下网址获得:https://github.com/ruizhoud/DistributionLoss。2. 相关工作先前的工作已经提出了各种方法来规则化全精度DNN的激活流,主要是为了11410(MaxPool)BN+标志BinConvγ处理梯度消失或爆炸问题。约费岛al.建议批量规范化以集中激活bnAconv−μIl+1分布,加速培训,实现更高的准确性,racy [24].类似地,Huang等人使用零均值和单位范数对权重进行归一化,然后使用缩放因子[20]。Shang等人将标准化思想扩展到A conv=W*I I一Il=γ−βA pool=maxpool(A bn)Il+1=符号(A池)σIl到Il+1的等价映射Il+1使用归一化传播的残差网络[42],而Ba等人和Salimans等人分别通过逐层归一化和权重重新参数化来归一化递归神经网络(RNN)此外,一些先前的工作开发了良好的初始化策略来正则化初始状态中的激活[33,48],或者提出了新的激活函数来保持跨层的稳定激活分布[27,32]。然而,全精度网络上的这些方法没有解决训练具有二进制激活的网络的困难关于二进制DNN的先前工作主要通过用多位表示和浮点缩放因子近似全精度激活来解决这个问题[46,4,35,37,34,12,29,19]。Tang等人引入了缩放层,并使用2位进行激活[46]。Cai等人使用多级激活函数进行推理,使用ReLU的变体进行梯度计算,以减少梯度失配[4]。Polino等人利用年龄知识蒸馏来指导训练并提高多位激活的准确性[37]。Lin等人使用与浮点系数相关的多个二元基来近似权重和激活[29]。虽然这些方法提高了二值化网络的准确性,但由于增加的比特和加法和乘法所需的DSP单元,它们牺牲了能量效率3. 激活正则化在本节中,我们首先展示了BNN块可以在硬件中用纯逻辑运算符实现,而其他基于缩放因子的二值化网络(包括XNOR-Net和ABC-Net)需要额外的全精度运算。然后,我们提出了一个框架,以解决激活和梯度流的问题,在训练过程中的BNN。最后,我们讨论了这个框架的有效性。3.1. 二进制DNN二进制DNN将权重和激活限制为±1,使得权重和激活之间的卷积仅使用xnor和count运算符。在本小节中,我们介绍了三种典型的二进制DNN的结构,并分析了它们的硬件含义。BNN:如图2所示,BNN [22]的基本块由二进制卷积,批归一化(BN)和可选的最大池化层组成,然后是符号激活函数。而不改变投入产出Aconv=W * IlA bn+sign=sign(A conv−μ+σβ)sign(γ)Il+1 =maxpool(Abn+sign)γ图2:卷积BNN的基本块[22]。激活I1和权重W被二进制化为±1。该块的推理可以在仅具有逻辑运算符的硬件上实现映射该块,我们可以重新排序最大池化层和符号函数,然后,将BN层和符号函数组合为卷积结果A conv和输入无关变量μ+σβ的比较器,其中μ和σ是每个通道激活的移动均值和方差,其从训练数据获得并在测试阶段固定;β和γ是BN层中的可训练参数。因此,该BNN块的推理可以在具有纯逻辑运算器的硬件中实现。这种转换也可以应用于二值化的全连接层,然后是BN,池化和符号函数。XNOR-Net:与BNN不同,XNOR-Net [38]在BN层之后近似激活A bn,其符号和比例因子由这些激活的绝对值的平均值计算,如图所示。9在附录中由于比例因子依赖于输入,因此无法消除全精度乘法和加法。ABC-Net:ABC-Net [29],如图所示。10中的卷积核,用预定义基的线性组合来近似权重和激活,因此使卷积核二值化。然而,在二进制卷积之前的近似和卷积之后的缩放操作需要无法消除的全精度3.2. 激活分布的正则化在本节中,我们首先介绍一些符号,并正式定义训练BNN时遇到的困难。 我们将A b,l,c表示为第b批数据的第l层的第c通道的预激活(在Sign函数之前的激活)。因此,Ab,l,c是一个大小为B×W×H的3D张量,其中B是批量大小,W和H是激活图的宽度和高度从这一点开始,为了避免混乱,我们将尽可能省略AA(q)表示A的元素的q分位数我们定义堕落,萨图-签署(MaxPool)BNBinConv或比较器XNOR +计数11411预激活的潜在分布惩罚退化:LD= [( A(0)− 0)+]2+[(0 −A(1))+]2> 0制定假设变性调整正则化实现差异化0A(0) 预激活易受A(0)0LD= [( A(0)−0)+]20A(V)LD= [(A(λ)−0)+]20μ−kσL D= [(|μ |−k σ)+] 2+[(0 −A)]2+[(0 −Aϵ)]2异常值(1)+(1−1)+A(0)0预激活LD= [( A(0)− 0)+]2+[(0 −A(1))+]2= 0饱和- 一零一图3:调整正则化的动机。 损失|(0)|(0)|()|(ϵ)kσ从假设直接公式化的函数(例如,退化)依赖于预激活的最小值(或最大值),因此对异常值敏感。梯度失配LS =[(|一|(0)– 1)(一)LS =[(|一|()– 1)LS= [(k<$σ− 1)+]2比率和梯度失配如下:退化:A(0)≥0或A(1)≤0饱和度:|一|(0)≥1梯度不匹配:|一|(1)≤1(一)LM =[min(1 − A(1),A(0)+1)+] 2LM =[min(1 − A(1−A),A(0)+1)+] 2LM=[(1 − |μ |− k <$σ)+] 2图4:用于制定可微分损失函数以正则化激活分布的建议框架从“退化”、“饱和”和“梯度失配”三个假设出发,我们可以分别给出它们的损失函数L D、L S和L M。我们省略哪里|一|(q)是q分位数,|一|,我们使用1,因为它是图1所示的HardTanh激活的阈值。1.一、为了缓解上述问题,我们建议在目标函数中添加分布损失以正则化激活分布。使用退化作为一个例子,一个直观的方式制定损失,以避免A和L的上标是为了更好地表示。然后使用其参数来计算可微的LD。基于来自现有技术[28,4,36]的解析法,我们假设A的值满足退化问题A是LD=[(A(0)−0)+]2+[(0−低高斯分布N(μ,(σ)2),其中μ和σA(1))+]2,其中(. )+是ReLU函数。 然而,这可能会导致过于松散的正则化,因为一个小的离群值可以使这种损失为零,如图所示。3.第三章。此外,L D的这个公式对于w.r.t. 预活化A.因此,我们提出了一个三阶段框架,包括假设制定,调整正则化和启用可微性,以系统地制定异常鲁棒和可微的正则化,如图4所示首先,基于关于激活分布的先验假设,我们可以制定一个损失函数来使不需要的分布均匀化。然后,如果这个公式使用大方差估计(例如,,样本的最大值或最小值),我们可以使用宽松的估计(例如,分位数)以增加对离群值的鲁棒性。最后,如果公式化的损失是不可微的,我们需要通过假设参数分布的类型来近似它(例如,,Gaussian),并用分布参数逼近不可微估计。退化。我们首先将损失函数中的退化假设公式化为LD=[(A(0)−0)+]2+[(0−A(1))+]2。为了使损失函数对异常值更鲁棒,我们通过使用松弛分位数来调整正则化,可以通过样本均值和标准差估计在3D张量上。因此,我们可以用µ−k<$ σ来表示n分位 数 , 其 中 k<$ 是 由 n 确 定 的 常 数 。 因 此 ,LD=[ ( µ−k<$σ−0 ) +]2+[ ( 0− ( µ+k<$σ ) )+]2=[(|µ|−k <$σ)+]2.饱和度 饱和问题可以通过LS=[(|一|(0)-1)+]2,其中|一|(0)是最小值,|一|.通过调整正则化,我们有L S=[(|一|()−1)+]2. 由于LD已经消除了退化问题,我们发现,简单地假设A具有零均值(即,,N(0,(σ)2))在经验上工作良好。因此,损失函数被公式化为LS=[(k <$σ−1)+]2。梯度不匹配。当大多数激活位于[-1,1]范围内时,向后传递只是简单地使用STE进行符号函数的梯度计算,从而导致梯度失配问题。因此,我们可以将损失公式化 为LM=[min( 1−A ( 1 ) ,A ( 0 )+1)+]2 。类似地,放松正则化导致L M=[min(1 −A(1−k),A(k)+1)+]2。 在高斯假设下,我们有LM=[min ( 1−µ−k<$σ , µ−k<$σ+1 )+]2=[(1−|µ|−k <$σ)+]2.然后,在训练阶段,我们添加第b批输入数据的分布损失:1−1,其中LD=[(A(1)−0)+]2+ [(0−A(1−1))+]2。然后,-1A()0A(1−1)1-1μ−kσ0ϵμ+k1ϵσ- 一零- 一零-1A(0)01A11412使LD可微,使其适合逆推函数,Lb= Σ Lb,l,c=Σ Lb,l,c+Lb,l,c+Lb,l,c,(2)在gation训练中,我们首先假设一个参数化的分布,DLDLl,cD S Ml,c11413DLCECE第b批的总损耗为:不同参数初始化种子的实验。网络结构和培训计划的详细信息,B总b+λLb(三)每个数据集如下:其中Lb是交叉熵损失,λ是平衡损失的系数。3.3. 对拟议分配损失的直觉提出了分布损失来减轻纯逻辑二值化网络的训练问题。与全精度网络相比,BNN使用有界激活函数,因此表现出梯度饱和和失配问题。通过正则化激活,分布损失保持了反向传播算法的有效性,从而可以加速训练并提高精度。由于分布损失改变了优化目标,一个问题可能是它将导致远离交叉熵损失函数的全局最优的优化。然而,先前的理论[43,25,7]和经验[23]工作表明,深度神经网络可以具有许多高质量的局部最优解。Kawaguchi证明了在一定条件下,每个局部极小值都是全局极小值[25]。 通过实验,Im et al. 表明使用不同的优化器,实现的局部最优值非常不同[23]。这些见解表明,增加分布损失可能会使训练偏离原始最优值,但仍然可以导致具有高准确性的新最优值。此外,分配损失诊断活化流的不良状况,因此可以实现更高的精度。我们的实验结果证实了这一假设。4. 实验结果在 本 节 中 , 我 们 首 先 评 估 CIFAR-10 、 SVHN 、CIFAR-100和ImageNet上拟议的分布损失对准确性的提高。然后,我们可视化正则化激活分布的直方图。最后,我们分析了我们的方法的超参数选择的鲁棒性。4.1. 精度改进培训配置。我们对CIFAR-10和SVHN使用完全卷积的VGG风格网络,对CIFAR-100使用ResNet。 所有这些都使用Hubara等人建议的ADAM优化器[26]。[22]第20段。 对于用分布损失训练的BNN(BNN-DL),我们计算每个二进制激活函数之前的激活损失( 即 , 使 用 HardTanh 进 行 梯 度 计 算 的 符 号 函数)。 除非另有说明,我们将系数k分别设置为LD、L S和L M的1、0.25和0.25,并将λ设置为2。为了显示统计学显著性,将CIFAR-10和SVHN的所有实验在五个时间段内平均CIFAR-10。网络结构可以用公式表示为:x C-xC-MP-2x C-2x C-MP-4x C-4x C-10 C-GP,其中x C表示具有x个滤波器的卷积层,MP和GP分别表示最大池化和全局池化层。3×3滤波器大小用于所有卷积层。我们将x改变为不同的值({128,179,256,384}),以探索准确性和能量成本之间的权衡,如表3中的网络2-5所示我们还为CIFAR-10训练了一个没有两个4x每个卷积层具有二进制化的权重,并且后面是批量归一化层和符号激活函数。学习率时间表遵循BNN作者的代码[21]。所有网络都经过200个epoch的训练。SVHN。SVHN的网络结构与CIFAR-10相同,只是x从{51,64,96,128},由表3中的网络6-9示出。初始学习率值为1 e-2,并在时期20、40和45衰减10倍。我们总共训练了50个epoch。CIFAR-100。我们使用ResNet的完整预激活变体[17],其中20层用于CIFAR-100。先前的工作已经表明,在没有缩放层的情况下训练基于ResNet的BNN是困难的[49]。由于在基于ResNet的BNN中,主路径激活和剩余路径激活没有匹配的尺度,直接将两个激活相加会导致训练困难。因此,我们在这两个激活之后添加两个批量归一化层,以保持稳定的激活规模。与CIFAR-10和SVHN类似,我们也改变了每层的过滤器数量网络结构的详细信息见附录6.3。初始学习率被设置为1 e-4,并且每80个epoch减少3倍这些网络被训练了300个epoch。CIFAR-10、SVHN和CIFAR-100的结果。 如表3所示,BNN-DL的准确度始终高于基线BNN。BNN和BNN-DL之间的精度差距通常大于它们的标准差。使用t检验,所有网络1- 9的p值都小于0.005,这表明我们的改进具有统计学意义。除了精度结果,我们还显示了每个网络的计算能量成本,通过对单个输入图像的推理的每个操作的能量进行求和而获得。注意,该成本不包括存储器访问的能量,这对于推理阶段中的BNN和BNN-DL是相同的。我们还在图中可视化了准确性和能源成本之间的权衡。5.在大多数情况下,具有较小模型尺寸的BNN-DL可以实现与具有较大尺寸的BNN相同或更高的精度分布损耗的使用提高了测试精度,主要是因为它使激励和增益规则化。L=L11414表3:分布损失下的精度改进网络深度定义为卷积层的数量,而网络宽度定义为最大层中的滤波器数量。最佳结果以粗体显示。CIFAR-10和SVHN的所有准确度在具有不同权重初始化的五个实验中平均数据集网络ID深度/宽度参数存储能量消耗(μJ)精度(平均值±标准差)(%)图5:CIFAR-10、SVHN和CIFAR-100的准确度和能量帕累托最优曲线。CIFAR-10和SVHN的误差条显示了测试准确度的标准偏差。梯度流在训练阶段,使网络可以更好地适应数据集。如图6,在几个时期之后,BNN-DL的训练损失始终低于BNN基线。对于大多数实验,发现分布损失收敛到一个非常小的数字(例如,初始值的1/10000)。这表明网络可以很容易地通过分布损失进行正则化,从而改善了训练过程的其余部分。与现有技术的比较。我们还将我们的结果与之前在二进制网络上的工作进行了比较,如表4所示。对于CIFAR-10和SVHN,我们遵循Hou等人的相同网络配置。,并将数据集分为训练集、验证集和测试集[19]。表4显示,通过在训练BNN时仅应用分布损失,可以实现比基线BNN [22],XNOR-Net [38]和LAB [19]更高的准确性。我们还显示了模型的归一化能量成本。由于XNOR-Net和LAB使用缩放因子进行权重和激活,因此需要进行全精度运算,因此XNOR-Net和LAB需要4。比BNN和BNN-DL节省5倍的能量。我们使用16位定点乘法器和加法器,而不是32位浮点运算器。(a) (b)CIFAR-10,网络-5(c)(d)SVHN,network-9(e)(f)CIFAR-100,网络-12图6:有或没有分布损耗的不同网络的训练损耗和测试精度曲线。CIFAR-10和SVHN的曲线宽度为2个标准偏差范围。因为先前的量化工作表明,16位定点操作通常足以保持精度[15]。对于CIFAR-100,报告1位权重和低位激活的最接近的工作是Polino等人。 [37],他们使用7.9MB ResNet和2位激活CIFAR-100,这可能比我们的5.6MB模型具有更大的能量成本,并且我们的准确性结果超过了他们的大幅度。ImageNet上的结果。在小数据集上显示了分布损失的有效性之后,我们扩展了我们的分析-BNNBNN-DL15/2560.4 MB0.3080.61 ±0.4983.33 ±0.3227/5120.6 MB的内存0.4787.54 ±0.3889.13 ±0.23CIFAR-10 37/7161.1 MB0.9388.99 ±0.1390.28 ±0.2847/10242.3 MB大小1.8990.09 ±0.1091.01 ±0.0957/15363.8 MB4.2390.68 ±0.1191.56 ±0.1667/2040.09 MB0.0896.23 ±0.1596.57 ±0.12SVHN77/2560.15兆字节0.1296.53 ±0.1196.95 ±0.1087/3840.3 MB0.2797.15 ±0.1597.34 ±0.0597/5120.6 MB的内存0.4797.34 ±0.0797.51 ±0.031020/10245.6 MB大小53.760.4068.17CIFAR-100 1120/153612.6兆字节120.964.5771.5311415表4:在不同数据集上的准确度和计算能量方面,与使用1位权重和激活的现有技术的比较。最佳结果以粗体显示。数据集模型纯逻辑能量成本 精度表5:对优化器、学习率和网络结构选择的鲁棒性.CIFAR-10用于说明结果。BNN[22]是1× 87.13%[38]第三十八话没有4.5×87.38%BNNBNN-DL实验室[19]没有4.5×87.72%势头66.02%89.37%BNN-DL是的1×89.90%Nesterov68.66%89.22%BNN [22]是的1×96.50%亚当88.12%89.62%[38]第三十八话没有4.5×96.57%RMSProp87.39%90.24%实验室[19]没有4.5×96.64%lrinit =1e-182.19%89.60%BNN-DL是的1×97.23%lrinit =5e-388.12%89.62%BNN [22]没有1×60.40%lrinit =2e-4 85.62% 88.73%CIFAR-100DQ-2位[37]没有-49.32%VGG88.12%89.62%BNN-DL没有1×68.17%ResNet-1885.71%百分之九十点四七SIS 到 更 大 的 图 像 数 据 集 -ImageNet ILSVRC-2012[39]。我们考虑AlexNet,它是现有技术中最常用的二进制DNN网络 [22,38,52,46,35]。我们将BNN-DL 与 基 线 BNN [22] , XNOR-Net [38] , DoReFa-Net[52],Compact Net [46]和WRPN [35]进行比较。BNN对整个网络使用二进制化的权重[22],而XNOR-Net和DoReFa-Net保留了第一个卷积层和最后一个全连接层,具有全精度权重[38,52]。紧凑网络对第一层使用全精度权重,但对最后一层进行二进制化,并使用2位用于激活[46]。WRPN将XNOR-Net的滤波器数量加倍,并对第一层和最后一层使用此外,BNN使用64和192个滤波器,而其他网络使用96和256个滤波器(或者像WRPN那样将这些数字加倍)用于前两个卷积层。我们使用与先前工作相同的设置来训练我们的BNN- DL,除了在与紧凑网络进行比较时使用1位激活而不是2位。学习率策略遵循先前的实现[21],但从0.01开始。如表6所示,BNN-DL始终优于基线模型的准确性除了BNN之外的所有基线模型都使用比例因子来近似激活,而我们保持它们二进制化。因此,我们的模型也具有较低的能源成本比以前的模型。此外,我们强调,我们的BNN-DL可以优于紧凑网,虽然我们使用更少的位激活。4.2. 正则化激活分布为了显示分布损失的正则化效果,我们绘制了基线BNN和我们提出的BNN-DL的预激活的分布。更具体地说,我们在CIFAR-10上对网络2进行推理,并在具有256个滤波器的第四卷积层的二进制化激活函数之前,在批处理归一化层之后提取(浮点)激活在那里-表6:与具有基于AlexNet的拓扑的ImageNet上的现有技术的比较。我们使用与先前工作相同的模型结构,除了紧凑网络使用2位进行激活,而我们只使用1位。具有分布损失的训练始终优于先前的工作。模型基线我们Top-1Top-5Top-1Top-5BNN [22]百分之三十六点一百分之六十点一41.3%百分之六十五点八XNOR-网络[38]百分之四十四点二百分之六十九点二百分之四十七点八71.5%[52]第五十二话43.5%-百分之四十七点八71.5%[46]第四十六话46.6%71.1%47.6%71.9%[35]第三十五话百分之四十八点三-53.8%77.0%因此,对于256个输出通道中的每一个,我们都可以在整个数据集上获得其值。然后,为了说明的目的,我们分别从基线BNN和我们提出的BNN-DL中选择四个通道,并绘制这些每个通道值的直方图,如图所示7.第一次会议。基线BNN的四个通道从图我们可以看到,BNN采用的良好的权重初始化策略[13]和批量归一化[24]并不能解决分布问题。为了证明BNN-DL能够应对这些挑战,我们计算了这256个通道中每个通道激活的标准差,以及它们的正比率,即正值的比例。如图8、BNN-DL的标准差比BNN的标准差更加规则化和集中化。具有非常小的标准偏差的通道,如图2中的中间两个直方图7a在BNN-11416DL中很少见到,而BNN在小标准差区域具有长尾这表明在没有显式正则化的情况下,批量正则化层的比例因子可以收缩到非常小的值,从而导致梯度失配问题。从图8中,我们还可以11417(a) 基线BNN(b) 用配电网损耗图7:BNN训练的激活分布(a)没有- out或(b)有分布损失。每个直方图指的是一个通道的激活。在(a)中,左侧直方图中的通道显示生成问题,中间两个显示梯度失配,右侧显示饱和问题。σ是标准偏差,图8:每个通道激活的标准差和阳性比率的观察到BNN的正比率具有更多的极值(即,,接近0或1的那些)。这表明,退化问题减少了分布损失。有趣的是,我们可以看到BNN-DL的阳性比率也偏离0.5。我们推测这是因为以0为中心的激活更容易发生梯度失配,因此受到LM的惩罚。4.3. 对超参数选择的稳健性分布损失的另一个好处是它的鲁棒性训练超参数的选择。先前的工作[1]表明,BNN的准确性对训练优化器敏感。我们通过使用不同的优化器训练BNN观察到相同的然而,当训练具有分布损失的BNN时,这些优化器可以得到一致的改进,如表5所示。我们在本小节中使用CIFAR-10进行实验。我们使用与Zagoruyko等人相同的权重衰减和学习率时间表。[50]对于Mo-mentum和Nesterov,将初始学习率更改为1 e-4。我们使用与Hubara等人相同的设置。[21]对于亚当。每个模型训练200个epoch,并报告最佳测试精度。然后,我们改变了Hubara等人的学习率时间表。的实现[21],通过将每个时期的学习率缩放一个常数。表5示出了BNN-DL对学习率值的选择更鲁棒此外,我们还证明了BNN-DL可以很好地适用于具有堆叠卷积层的VGG风格网络和ResNet-18,表7:具有不同正则化水平的CIFAR-10上的BNN-DL的准确度 λ = 0表示基线BNN。λ0 0.2 2 20 200 2000Acc. (%)87.3990.1290.1690.1890.61 90.20包括跳过连接。VGG类型的网络使用表3中的网络2ResNet-18结构使用预激活变体[17],并添加了如第4.1. 由于BNN具有非正则化的激活,因此在训练过程中保持激活流需要更仔细地选择超参数值。然而,分布损失将正则化应用于激活,使网络更容易训练,因此降低了对超参数选择的敏感性我们还证明了分布损失对引入的超参数λ系数的选择是鲁棒的,λ系数表示分布损失的正则化水平如表7所示,通过将λ从0.2变化到2000,BNN-DL的准确度始终高于基线BNN。如第4.1,分布损失在最初的几个时期迅速衰减到一个小的幅度,我们发现这适用于很宽的λ范围。鲁棒性分析表明,分布损失是一个方便的工具,以正则化激活,而不需要太多的超参数调整。5. 结论在本文中,我们解决了用1位权重和1位激活训练BNN的困难。困难来自于可能导致退化、饱和和梯度失配问题的未正则化激活流我们提出了一个框架,通过制定我们的假设,调整正则化和启用可微性,从而将这种见解嵌入到损失函数中,从而明确惩罚可能导致训练问题的激活分布。我们的实验表明,用提出的分布损失训练的BNN具有规则化的激活分布,并且始终优于基线BNN。所提出的方法可以显着提高最先进的网络使用ImageNet数据集上的AlexNet的1位权重和激活的准确性。此外,该方法对训练超参数的选择,包括学习率和优化器的鲁棒性。这些结果表明,分布损失通常有利于二值化网络的训练,这使得能够在移动设备上进行延迟和能量高效的推理。确认这项研究得到了NSF CCF Grant No. 1815899,和NSF 奖 号 ACI-1445606 在 匹 兹 堡 超 级 计 算 中 心(PSC)。11418引用[1] M.阿利扎德Fernnel-Marqus,N. D. Lane和Y.加二进制神经网络优化的系统研究。在2019年国际学习代表会议上。[2] J. L. Ba,J.R. Kiros和G. E.辛顿层归一化。arXiv预印本arXiv:1607.06450,2016。[3] Y. Bengio,N. L e'onard和A. 考维尔通过条件计算的随机神 经 元 估 计 或 传 播 arXiv 预 印 本 arXiv : 1308.3432 ,2013。[4] Z. Cai,X. He,J. Sun,and N.瓦斯康塞洛斯通过半波高斯量化进行低精度arXiv预印本arXiv:1702.00953,2017。[5] Z.陈河,巴西-地叮T W. Chin和D.马库列斯库理解标签粒度对基于cnn的图像分类的影响。2018年IEEE数据挖掘研讨会(ICDMW),第895-904页。IEEE,2018年。[6] T.- W.钦河,巴西-地Ding和D.马库列斯库Adascale:使用自适应缩放进行实时视频对象检测。arXiv预印本arXiv:1902.02910,2019。[7] A. Choromanska,M.赫纳夫湾Mathieu,G. B. Arous,以及Y. 乐存。多层网络的损耗面在Arti-智能和统计,第192-204页[8]F.孔蒂河Schilling,P. D. Schiavone、A. Pullini、D. 罗西F. K. Gürkaynak,M.Muehlbe rghuber,M.高奇岛洛伊G. Haugou等人物联网终端片上系统,用于安全和节能的 近 传 感 器 分 析 。 IEEE Transactions on Circuits andSystems I:Regular Papers,64(9):2481[9] M. Courbariaux,Y.Bengio和J.P. 大卫Binaryconnect:在传播过程中使用二进制权重训练深度神经网络。神经信息处理系统的进展,第3123-3131页,2015年[10] R.叮,Z。柳河,巴西-地Blanton和D.马库列斯库使用高精度存储和节能照明减轻负载。ACM Transactions onReconfigurable Technology and Systems(TRETS),11(3):17,2018。[11] R.叮,Z。柳河,巴西-地Shi,D. Marculescu和R.布兰顿Lightnn:填补传统深度神经网络和二值化网络之间的空白。在2017年大湖区超大规模集成电路研讨会的会议记录中,第35-40页。ACM,2017。[12] J. Faraone,N.弗雷泽,M。Blott和P.H. 梁Syq:学习对称量化以实现高效的深度神经网络。在IEEE计算机视觉和模式识别会议论文集,第4300-4309页[13] X. Glorot和Y.本吉奥。了解训练深度前馈神经网络的困难。第十三届人工智能和统计国际会议论文集,第249-256页,2010年[14] G. Gobieski,N. Beckmann,和B.露西娅智力在边缘之外:间歇性嵌入式系统的推理。arXiv预印本arXiv:1810.07751,2018。[15] S. 古普塔A。Agrawal,K.Gopalakrishnan和P.纳拉亚南深度学习,数值精度有限。在内部-机器学习会议,第1737-1746页,2015年。[16] K.他,X。Zhang,S. Ren和J. Sun.用于图像识别的深度残 差 学 习 。 在 Proceedings of the IEEE conference oncomputer vision and pattern recognition,pages 770[17] K.他,X。Zhang,S. Ren和J. Sun.深度剩余网络中的身份映射。在欧洲计算机视觉会议上,第630-645页。施普林格,2016年。[18] Y. He,J. Lin,Z. Liu,H.王湖,澳-地J. Li和S.韩Amc:Automl,用于移动设备上的模型压缩和加速。在欧洲计算机视觉会议(ECCV)的会议记录中,第784-800页[19] L.侯角,澳-地Yao和J. T.郭深度网络的损失感知二值
下载后可阅读完整内容,剩余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直接复制
信息提交成功