没有合适的资源?快使用搜索试试~ 我知道了~
FATNN:快速准确的三值神经网络
5219×个联系我们×个FATNN:快速准确的三值神经网络Peng Chen,Bohan Zhuang,Chunhua Shen数据科学AI,莫纳什大学,澳大利亚摘要三值神经网络(TNNs)由于在推理中潜在地快几个数量级以及比全精度对应物更高的功率效率而受到很多关注。然而,仅利用3个量化级别就需要2比特来编码三进制表示 其结果是,传统的TNN有相似的内存消耗和速度相比,标准的dard 2位模型,但有较差的代表性能力。此外,TNN和全精度网络之间在精度上仍然存在显著差距,阻碍了它们在实际应用中的部署。 为了解决这两个挑战,在这项工作中,我们首先表明,在一些温和的约束下,三元内积的计算复杂度可以减少2。其次,为了缓解性能差距,我们精心设计了一个依赖于实现的三进制量化算法。所提出的框架被称为快速和准确的三进制神经网络(FATNN)。 图像分类实验表明,我们的FATNN超越了国家的最先进的一个显着的利润率的准确性。更重要的是,在几个平台上分析了不同精度的加速比评估,这为进一步的研究提供了一个强有力的基准 。 源 代 码 和 模 型 可 在 以 下 网 址 获 得 :https://github.com/MonashAI/QTool1. 介绍深度卷积神经网络(DCNN)配备了高性能计算和大规模数据集,已成为大多数计算机视觉任务的基石。然而,将DCNN算法部署到具有有限计算资源的移动/嵌入式边缘设备的重大障碍是不断增长的计算复杂性-为了实现良好的准确性,模型变得非常繁重。为了解决这个问题,大量的研究工作已经花费在模型压缩上.代表性的方法包括模型量化[49,47],净*PC和BZ贡献相等。这项工作的一部分是在所有作者都在阿德莱德大学的时候完成的。CS为通讯作者,邮箱:chunhua@me.com工作修剪[23,51]和轻量级模型的神经架构搜索[52,27]。在本文中,我们专注于模型量化,它通过表示具有低精度权重和激活的网络来降低模型的复杂性。网络量化的目的是将量化区间内的连续输入值映射到相应的量化级别,并相应地分配低精度量化值。其中激活和权重都被量化为三进制的TNN是特别感兴趣的,因为大多数计算可以用位操作来实现,从而完全消除乘法。然而,对于常规TNN存在两个限制。第一个限制是TNN的低效实现。具体地,1、0、1的三进制表示需要2比特来编码,其中浪费了一个状态。因此,对于量化网络的常规逐位实现[47,44],三进制内积的复杂度与标准2位对应物相同另一个限制是相当大的准确性下降比较,由于更紧凑的容量与全精度同行。为了处理这些缺点,我们引入了一个新的框架,工作,称为FATNN,我们共同设计的基础三进制实现的计算和量化算法。在实现方面,我们充分利用了三进制表示的属性,设计了一系列的位操作来完成三进制内积,提高了效率。特别是,FATNN将TNN的计算复杂度降低了2,解决了现有的效率瓶颈。与以前的作品相比,几乎没有算术运算存在于所提出的实现。此外,FATNN可以在几乎所有类型的设备(如CPU,GPU,DSP,FPGA和ASIC)上有效地工作,并提供基本的位操作指令。此外,我们设计了兼容的三进制量化算法,根据温和的限制,从底层实现。使用学习量化器的早期工作提出学习量化值[44]或寻求学习量化区间[20,13]。然而,大多数算法假设量化器的步长是均匀的,这在优化网络时仍然可能是非最优的5220×个联系我们×个联系我们Σ−x=x·2 其中x∈{−1,1}(实际上-m mΣ−hav ey=y·2,其中y∈{−1,1}。基地dkk×个--性能为了使低精度的离散值充分拟合数据分布的统计,我们建议参数化的步长的每个量化级别和优化它们的近似梯度。此外,我们建议校准跳跃连接和低精度分支之间的分布,以进一步提高性能。整体方法可用于量化激活和权重,并与反向传播和随机梯度下降的现有方法一起工作。我们的主要贡献总结如下:• 我们提出了一个三进制量化流水线,在其中我们共同设计的底层实现和量化算法。据我们所知,建议的FATNN是第一个解决方案被应用在通用平台上特定于TNN,而以前的加速方法只针对专用硬件(FPGA或ASIC)。• 我们设计了一个快速的三进制内积实现,灰TNN的复杂性降低了2,同时保持位操作兼容的优点。然后,我们设计了一个高精度的三进制量化al-根据所施加的约束实现• 我们评估FATNN的执行速度,并在各种平台上与其他位配置进行比较。此外,对图像分类任务的实验表明,我们的FATNN的性能优越的几个有竞争力的国家的最先进的approaches。2. 相关工作模型量化旨在将权重、激活甚至反向传播梯度量化为低精度,以产生与其浮点对应物相比高度紧凑的DCNN模型因此,网络推理中的大多数乘法运算可以由更有效的加法或按位运算代替。特别是,BNN[36,17,46,4,5,42,38,14,28],其中权重和激活都被量化为二进制十元,据报道,与全精度对应物相比,具有潜在的32存储器压缩比,以及高达58的CPU加速。然而,BNN仍然遭受相当大的性能下降问题,阻碍了它们的广泛部署。为了在准确性和复杂性之间进行权衡,研究人员还研究了三进制[22,48]和更高位量化[47,8,13,50,26]。通常,量化算法旨在解决两个核心挑战。第一个挑战是设计精确的量化器以最小化信息损失。早期的作品使用手工制作的启发式量化器[47],而后来的研究建议根据数据调整量化器,基本上基于匹配原始数据分布[47,6],最小化量化误差[44,9]或直接用随机梯度下降优化量化器[8,20,2]。此外,另一个挑战是近似不可微分量化器的梯度。为了解决这个问题,大多数研究都集中在通过损失感知优化[16],正则化[12,9,1],知识蒸馏来[49,30],熵最大化[31,33]和放松的最优mization [29,43,21,41].除了量化算法设计之外,实现框架和加速库[18,7,39,19]对于扩展要部署在节能边缘设备上的量化技术是不可或缺的例如,TBN[40]专注于三元激活和二元权重网络的实现。daBNN[45]针对ARM CPU设备上BNN的推理GXNOR-Net [11]将TNN视为一种稀疏BNN,并提出了专用硬件平台上的加速解决方案。RTN [24]在量化之前利用额外的线性变换以获得更好的TNN性能。与GXNOR-Net类似,RTN展示了它们在专用设备(FPGA和ASIC)上实现的好处。然而,很少有工作针对提高推理效率的TNN通用计算平台。在本文中,我们建议共同设计的底层实现和量化算法,以达到理想的效率和准确性的同时。3. 推理加速3.1. 初步由于内积运算是卷积神经网络中的基本运算之一,消耗了大部分的执行时间,因此本文主要研究内积运算的加速问题。值得首先回顾的是,在以前的文献中,两个量化向量之间的内积是如何计算的对于BNN,其中权重和激活都被二进制化为1,1是两个长度为N的向量x,y之间的内积。可以使用逐位运算来导出:x·y=2·popcount(xnor(x,y))-N,(1)其中popcount对位向量中的位数进行计数。此外,对于具有更多比特的量化,输入向量可以用二进制基的线性组合来分解 例如,M位向量X可以被编码为m=M 1m Nm=0实际实现,1和1分别由0和分别为1)。 类似地,对于另一K位向量y,我们k=K 1k Nk=0中指定的二进制内积当量(1)可用于计算更高位内积。通常,两个量化向量之间的内积是5221∈∈--⊙··联系我们联系我们联系我们联系我们··ΣΣ联系我们数据编解0012’b00−1个可以配制成M−1K−1x·y=αm βk(xm⊙yk),(2)m=0k=0其中,特别用于表示等式2的公式中的二进制内积。(1),αRM和βRk分别是编码X和y的尺度。具体地,αm=2m和βk=2k用于均匀定点量化[47,25],而α和β成为非均匀量化的可训练尺度[44,2]。相当大的加速可以实现方程。(1)和方程(2)因为所有的计算都可以用位运算[17,10,39]来实现,因此完全消除了乘法。3.2. 加速的动机如果假设等式(1)中的BNN的计算复杂度为(1)为O(N),则等式(1)中的较高比特量化的计算复杂度为O(N)。(2)时间复杂度为O(M K N)。我们可以发现,更高的比特量化算法获得更好的任务精度,在增加的计算复杂度的代价。特别地,对于TNN情况,对于1、0、1的数据表示需要2比特。因此三进制内积的计算复杂度为O(4N),与标准的2位计数器相同,但是浪费了一个量化级(2位最多可以表示4个量化级)。因此,在Eq.(2)使得TNN在实际中对标准2位模型的吸引力较小。为了充分释放TNN的潜力,我们进一步观察到等式中的二进制内积。(1)是加速的核心,因为它的乘法和累加分别由位运算符XNOR和PopCount实现。由于BNN中内积的输入被限制为1,1,乘法结果也在集合一,一 ,我们称之为艾蒂乘法结果可以通过输入向量之间的xnor直接获得,并且它具有仅存在两个状态的属性,因此可以通过简单地计数状态“1”(或状态“1”)的数量来使用popcount因此,Eq.(1)对于xnor和popcount启用相同的并行度1,其中ALU寄存器被充分利用。有趣的是,我们发现三进制量化值1,0,1也符合“非溢出”的艾蒂因此,TNN有可能以与乘法相同的并行度方式执行(即,与乘法相同的并行度)。,XNOR)和累积(即,popcount)操作。此外,我们可以使用这个属性来设计一个新的三进制内积实现,减少了O(2N)的复杂性。表1-在所提出的解决方案中采用的量化数据空间和编解码器空间之间的对应映射。2’b01和2’b10均编解码器的设计具有“popcount(codec)”属性=数据+13.3. 三元网络加速我们现在详细说明快速三进制内积实现的设计。首先,值得注意的是,在实际实现中,三进制值1、0、1将由相应的编解码器表示。我们精心设计的逻辑级三进制值和它们的实现级编解码器之间的映射,如表1所示。有趣的是,我们观察到一个属性,即每个值的编解码器中的“1”的数量等于该值加一。因此,我们可以计算两个三进制向量x,y∈ {−1,0,1}N如下:x·y=popcount(TM(x,y))-N,(3)其中TM()指示三进制乘法,N是向量长度。由方程式(3)中,我们首先通过popcount(TM(x,y))计算编解码器空间中的内积,其由纯位操作组成。然后,我们简单地从结果中减去N,以将其转换为逻辑级三进制向量的内积其次,我们说明了设计纯位操作TM()的方法2。为了便于理解,三进制乘法的真值表在表2中列出。由于需要两个比特来对三进制输入值和三进制乘法结果进行编码,因此关于编解码器存在16种可能性。从表2中,我们观察到表中的大多数行,除了粗体的行,仍然遵循xnor规则:xnor=(xc∧yc),(4)其中,x_c和y_c分别是x和y中的元素的编解码器表示因此,三进制乘法可以实现与固定的异常情况一起由xnor。在回顾了xnor正确情况和异常情况之后,我们总结出异常情况仅在两个操作数都为0时发生。因此,三进制乘法结果可以通过定位如果没有检测到“零操作数”,则结果为0。ter是否是XNOR不正确的情况)。总的来说,我们的三进制乘法的实现包括三个步骤:1):通过xnor获得中间结果1相同的并行度表示处理的数据量是每个指令相同。补充文件的S1节中有更多解释。2我们在等式中遵循C/C++语法。比如说,&表示5222--- -------- -- -|∼表2-三进制乘法的真值表。xc·yc=zc1(2'b00)1(2'b00)1(2'b11)1(2'b00)0(2'b01)0(2'b10)1(2'b00)0(2'b10)0(2'b01)1(2'b00)1(2'b11)1(2'b00)0(0(0(0(0(0(0(0(1(1(1(1(操作2):识别0操作数。3):修复例外并获得三进制乘法结果。第一步很容易通过Eq.(四)、对于第二步骤,我们在这里引入辅助变量auxi,其是编解码器2’b01中的预定义常数。实际上,辅助变量auxi指示零值变量(0值的一个编解码器是2’b01),其充当掩码以获取操作数中的特定位然后,我们建议使用以下位操作来识别0switch= (( y c>>1)&auxi )(( y c1<< )&aux1),(五)mask=switch∧yc,(6)利用移位和掩码操作,等式(1)(5)实际上导致操作数中两个序列位的交换Af-因此,Eq.(6)通过区分操作数是否为0(在编解码器2′b01或2′b10中)来生成掩码信息。具体地,在Eq.如果检测到0操作数,则(6)将为2′b11,否则为2′b00。在识别0操作数之后,我们可以轻松地修复异常并获得最终的三进制乘法结果:TM(·)=(掩模&auxi)|((mas k)&xnor)。(7)如果掩码是2′b11(检测到0操作数),则等式(1)(7) 减少到等于0的Aux1如果面具为2′b00,则Eq. 公式(7)变为xnor,其中,可以在表2中检查正确性。在实践中,我们使用权重参数(yc)来生成在训练之后确定的掩码注1我们可以从Eq.(3)所提出的三元内积的计算复杂度为O(2N)。换句话说,FATNN可以将TNN的计算复杂度从O(4N)降低到O(2N),这是一个非常简单的算法。5223------联系我们联系我们显著提高了效率(内存消耗不变)。因此,即使TNN没有充分利用2位的表示能力,他们幸运地享受更快的实现比标准的2位模型。此外,我们的解决方案可以适应通用计算平台,如CPU,GPU和DSP。注意,等式2中引入的额外位操作可以被替换(5)、(6)和(7)对于部署具有可忽略的运行时开销,因为这些额外的位操作比等式(5)、(6)和(7)中的累加操作快得多。(3)3.我们进一步在实验部分提供了广泛的基准测试结果,以证明我们的分析。对算法的约束。从上面讨论的公式可以得知,所设计的三进制实现对量化算法有一定的要求。限制因素概述如下:• 网络的三进制值限于1、0、1。允许一个且仅一个附加的高精度系数来调整量化值的尺度。一个以上的比例系数将打破方程。(三)、它指示了诸如TTN [48]的方法,其中学习了两个可训练变量(Wp,Wn)不能应用于我们的方法。• 当应用ReLU非线性时,激活量化存在特殊情况,这导致非负数据范围。在这种情况下,我们建议将激活的三进制值修改为0、1、2。该修正不与推理过程中的第一约束冲突,它导致输出上的附加常数(简单地在训练后固定的结果上添加权重4. 约束三值量化4.1. 再论量化函数量化函数可以被分类为统一的[13,47]和非统一的[44,20特别地,LSQ [13]提出参数化均匀步长并实现最先进的性能。在本节中,我们展示了参数化步长的原理可以应用于解决非均匀三进制量化。让我们首先考虑三元权重量化。特别地,我们通过引入两个可学习参数α1,α2来参数化三个步长。以这种方式,全精度数据被划分为具有量化阈值α1/2、α2/2的三个级别,其中每个步长可以在训练期间相应地调整。 然后 我们定义数据的权重量化器Qw(p;α1,α2由比例因子参数化的pα1α2 具体-Qw(p;α1,α2)通过应用3参考补充资料S1部分的实施细节5224转换BNReLUConvBNReLU转换BNReLUConvBNBNReLU--⌊·⌉。⌊·⌉·12按顺序进行三个逐点操作:归一化,satu-x x率和圆。归一化:由于我们进行非均匀量化,因此首先分别通过尺度因子α1和α2对张量元素进行归一化。该操作旨在将数据从浮点域映射到量化域。饱和:一旦归一化,在量化域的范围之外的张量元素被截断。相应地:clip(p;β1,β2)=min(max(p,β1),β2),其中标量限幅 β1、β2独立于全精度数据范围。Round:我们将使用表示为的银行家舍入将张量元素归一化和定制为最接近的整数。将上述逐点运算放在一起,权重量化函数可以写为:图1 -(a).典型的残留块。(b).校准之间的不同分支,通过插入一个额外的批归一化(BN)层到身份映射路径。Qw(p)= clip(p/α1,−1,0)ifp0clip(p/α2,0,1)、(8)[44]通过封闭形式近似和QIL [20]更新量化器,引入额外的非线性变换。为了简单起见,等式(8)可以重新写成统一的形式:Q w(p)= clip(p/α,−1,0)+clip(p/α,0,1)。(九)在优化过程中仔细调整的信息和超参数,我们的FATNN直接参数化和更新的量化区间,通过有效的随机梯度分解。气味,其在第5部分中显示出更好的性能。由于银行家舍入是不可微的,因此我们使用直通估计器(STE)[3]通过舍入函数近似梯度作为传递操作,并正常区分所有其他操作[32]。对于激活量化,存在两种情况。一方面,如果p在实域中(例如,使用PReLU或Tanh作为非线性),激活量化器与Qw()相同。另一方面,如果p在非负域中(适用于ReLU激活),则量化值应作相应调整。在这种情况下,激活量化器变为:Q a(p)= clip(p/α1,0,1)+clip(p − α1)/α2,0,1)。注意,我们学习每个量化层的权重和激活的独立步长备注2上述非均匀步长量化算法可以很容易地集成到一般的深度学习训练框架中。值得注意的是,该算法满足3.3节中导出的所有约束,这些约束仅对量化值有要求,而对量化阈值没有要求。我们在补充文件的第S2节中进一步可视化非均匀步长,以提供更多见解。该算法具有学习非均匀量化阈值的特点,这与两类方法不同。与使用统一步长的方法[47,8,13]相比,我们的FATNN具有更灵活的步长,以更好地拟合数据分布的统计数据。此外,不同于非均匀LQ-Net4.2. 残差块在量化文献中已经示出,高精度跳跃连接对于减少累积量化误差和缓解由于不可微量化函数而导致的通过低精度网络传播梯度的困难是必不可少的。然而,很少有工作关注的影响,量化的分支融合的残留架构。如图1(a)所示,逐元素加法的两个输入(非负块输入X(来自先前的残差块)和批量归一化层的输出)的分布两个输入之间的大的协变量移位导致输出张量的方差和值范围扩大。它可能不会对全精度网络造成问题,因为具有32位精度的表示能力足以对所有信息进行编码。然而,由于当将扩大的值范围量化为一组有限的离散值(例如,离散值)时恶化的量化误差,这可能导致低精度网络的信息损失增加。三进制量化)。为了解决这个问题,我们建议校准跳跃连接和低精度分支之间的如图1(b)所示,可以通过在身份映射跳过连接路径中插入额外的批量归一化层来完成校准。校准有助于对齐逐元素加法的两个输入,从而在输出张量在后续块中被量化时减小量化误差。请注意,额外的内存消耗是有限的,因为批处理规范化层(一)(b)第(1)款(十)5225×个×个×个×× ××× ××× ×(a) 高通821 GPU上的加速(b)高通835 GPU上的加速(c) Nvidia 2080Ti GPU图2-仅引入几个参数(即,在训练之后,每个都有两个标量当前一层是卷积层时,我们利用BN融合。否则,由BN层引入额外计算,通常在校准分支中。但是,运行时开销对于部署来说是微不足道的,因为BN的计算成本比卷积层的计算成本低几个数量级。在实践中,我们发现所有“未融合”BN层的执行时间5. 实验5.1. 加速度在本文中,我们提出了一个快速的三进制内积实现与O(2N)的复杂性,这是潜在的2比以前的作品[47,44]的实现速度。 为了进一步证明其在实践中的有效性,我们开发了二进制,三进制和2位卷积的加速代码(在C++和OpenCL)4。测量不同设备上的实际执行时间。我们涵盖了嵌入式端设备(Qual- comm 821和 Qualcomm 8355 ) 和 服 务 器 端 设 备 ( Nvidia 2080Ti),以展示我们的解决方案的灵活性。我们在所有设备上保持实验设置相同。(a)逐层加速首先,我们在图2中报告了逐层加速,其中测试了具有六种不同形状配置的卷积层(内核大小=3 3,填充=1,步幅= 1,相同数量的输入和输出通道以及批量大小= 1)。对于图2中每个平台上的前四种情况,我们将通道数固定为64,并将分辨率从28增加到224。对于最后两种情况,我们修复了4我们在补充材料的第S1节中包含了实施细节。5我们分别在搭载高通821/835芯片的Google Pixel和小米6手机上进行了实验任何具有相同芯片的平台都有望产生类似的结果。分辨率为56,通道数从64增加到256。我们在图2中报告了Qualcomm 821、835和Nvidia 2080Ti平台上的三进制和2位模型之间的相对加速比。从图2中,我们观察到,与2位量化相比,所提出的具体地,三进制卷积层是1。六比二2在高通821平台上速度更快,1. 四比二5在Qual- comm 835平台上更快,2。四比三。5在Nvidia2080Ti平台上更快。不同平台上加速比的差异是由不同设备的宏体系结构引起的。更多详细结果和分析见补充文件第S3节。(b)整体加速除了逐层分析之外,了解一些经典网络的整体速度也很有趣我们在表3中展示了ImageNet上ResNet-18和ResNet- 34的所有量化层(不包括第一层和最后一层,同时包括非线性和跳过连接层)的整个执行时间。我们将批处理大小设置为1。从表3中,我们可以了解到,2位和三进制模式- els运行速度比理论加速比二进制对应(分别为2和4)。此外,与2位模型(最后一列)相比,三进制模型的加速再次表明,我们提出的FATNN可以比2位模型或传统的TNN快2(c)消融研究在注释1中,我们声称额外位操作的影响是可忽略的。为了验证影响,我们在表4中的不同设备上测试了第5.1.1节中介绍的六种情况的确切执行时间。将第3.3节中描述的实施的总执行时间作为基线。然后,我们测量相对于额外位操作的成本,并在表4中列出绝对时间和相对比率。从表4中,我们观察到影响与器件和层5226×个表3“bin”表示二进制,“ter”表示三进制。‘Q821’和‘Q835’分别指示高通821和高通835的平台。我们运行5次,并报告结果的平均值和标准差。装置网络斌之三2比特箱与之三斌 vs. 2比特 之三vs. 2比特Q835ResNet-18ResNet-3412.1± 0.225.3± 0.320.1± 0.242.1± 0.543.0± 0.787.0± 1.51.71.73.63.42.12.1Q821ResNet-18ResNet-3415.7± 0.332.3± 0.625.2± 0.351.4± 0.652.3± 1.0105.2± 2.11.61.63.33.32.12.0表4‘base’ indicates the total layer-wise execution time (“extra”表示等式1中描述的额外位操作的逐层执行时间。(5)-(7)。我们报告绝对时间和相对比率。我们运行5次并报告平均结果。‘Q821’, ‘Q835’ and ‘2080Ti’ indicate the platforms of Qualcomm821, Qualcomm 835 and Nvidia 2080Ti,装置case1case2case3案例4案例5案例6Q821基地5941190342512373363113202额外61人(10.3%)56人(4.7%)36人(1.1%)21人(0.2%)95人(2.6%)676人(5.1%)Q835基地4851007284711023260612122额外155人(32.0%)150人(14.9%)471人(16.5%)177人(1.6%)5人(0.2%)268人(2.2%)2080Ti基地1215.52992.535.588.5额外1人(8.3%)1人(6.5%)3人(10.3%)2.5(2.7%)1.5(4.2%)1.5(1.7%)形状.在Qualcomm 821、Qualcomm 835和Nvidia 2080Ti上,额外位操作的相对比率范围从0. 2%至10。3%、0.2%至32。0%和1. 7%至10。3%的评价病例。此外,32的发生。0%的比率仅发生在小的输入形状(c= 64,w= h= 28)上,而大多数较大的输入尺寸具有相对小的比率。结合第5.1.2节中的整体加速,我们可以得出结论,额外的位操作对总执行时间的影响很小。5.2. 量化精度我 们 在 ImageNet [37] 数 据 集 上 进 行 了 实 验 。ImageNet包含约120万个训练和50 K个验证图像,涉及1,000个对象类别。 为了验证所提出的辅助学习策略的有效性,我们比较了各种代表性的量化方法,包括均匀方法LSQ [13]和DoReFa-Net [47]以及非均匀方法LQ-Net [44],HWGQ [6]和QN [43]。还包括面向三元的量化方法,例如RTN [24],TBN [40]和LSB [34]。其他数据集(如CIFAR-10)的比较见补充文件的第S4节。(a)ImageNet评估实验装置。对于ImageNet分类,所有图像都被重新缩放,其中较短的边缘为256。训练图像然后被随机裁剪成224 224.之后,使用平均值和标准偏差对图像进行归一化。无额外增强除了随机水平翻转之外,都被执行验证图像遵循类似的过程,不同之处在于随机裁剪被替换为中心裁剪并且不应用翻转我们在ResNet模型上进行实验[15]。与以前的作品[47,44]一样,我们不量化第一层和最后一层。在LSQ [13]和IR-net [35]之后,我们在训练过程中利用权重归一化和标准批量归一化来使优化更加稳定。如果没有特别提及,则初始学习速率被设置为1 e-2并且采用余弦退火衰减。其他默认超参数包括:SGD优化器,动量为0。9,2 e-5的权重衰减,以及90的最大训练时期。对于所有量化层中的权重和激活,量化相关参数α1和α2我们在量化开始时使用预训练的全精度权重初始化量化网络。性能分析。首先,我们比较与当前最好的执行量化算法LSQ,它学习一个统一的步长,从而直接与我们的FATNN。为了进行公平的比较,我们在与FATNN完全相同的训练过程我们在表5中报告量化结果。从表5中,我们观察到在三进制情况下,在所有比较架构上,我们的FATNN相对于LSQ的稳定Top-1准确度改进。该结果有力地证明了所提出的分布感知量化策略的有效性。需要强调的是,我们的FATNN根据表3将LSQ的实现速度提高了两倍,同时仍然实现了最先进的精度。第二,为了进行全面的比较,我们5227×个表5 LSQ的结果基于我们自己的实现。算法的结果,包括TBN,RTN,LSB,LQ-Net,HWGQ,DoReFa-Net和QN,直接引用自原始论文。方法A/WResNet-18ResNet-34ResNet-50Top-1Top-5Top-1Top-5Top-1Top-532/3269.889.173.391.476.192.9FATNN(我们的)特尔66.0 86.469.889.172.490.6LSQ [13]特尔64.7 85.669.088.871.290.1RTN [24]特尔64.5-----TBN [40]ter/155.679.058.281.0--最低有效位[34]ter/162.083.6----LSQ [13]2/164.9 85.869.188.871.090.0LQ-Net [44]2/162.6 84.366.686.968.788.4HWGQ [6]2/159.6 82.264.385.764.685.9[47]第四十七话2/153.4-----QN [43]2/163.4 84.9----还包括“2位激活和二进制权重”网络的结果我们可以从表5中了解到,我们的FATNN能够在非均匀量化算法(诸如LQ-Net、HWGQ和QN)上实现稳定的精度增益例如,FATNN在ResNet-18上的Top-1准确度上优于LQ-Net3.4%这证明了我们基于梯度的方法学习步长的优越性此外,与均匀量化算法(例如DoReFa-Net和LSQ)相比,我们还在各种架构上实现了最佳性能。这进一步表明,所采用的算法可以更好地拟合数据分布的统计量,以减少量化误差。表6- ‘C’ implies the dis- tribution calibration between the skipconnection and the low- precision方法A/WNCTop-1Top-532/3269.889.132/32✓69.688.9LSQ [13](基线)特尔64.785.6FATNN(我们的)特尔✓65.486.2特尔✓✓66.086.4(b)消融研究在本节中,我们进一步研究了第4节中提出的分布感知量化策略(包括非均匀量化函数和残差块的校准)对最终性能的影响。我们在ImageNet上使用ResNet-18进行实验,并在表中报告结果6. 我们观察到,分支校准策略deti- orates在全精度设置的性能,导致- ing 0。Top-1精度下降2%。相比之下,校准策略带来0. 在Top-1精度方面,我们的三元FATNN的性能提高了6%。通过实例证明,残差块校正是针对低精度网络而设计的此外,非均匀步长量化的FATNN进一步带来0。7%的Top-1准确度提高,这证明参数化的量化阈值可以有效地拟合数据分布的统计量。6. 结论本文提出了一种快速三值神经网络FATNN。具体而言,我们强调,底层实现和量化算法是高度相关的,应该共同设计。从实现的角度来看,我们利用“非溢出”的 因此,我们的FATNN可以实现2比传统的TNN的复杂性此外,我们设计了一个有效的量化算法,在accor-舞蹈的约束条件的实施。大量的图像分类实验表明,FATNN提高了以前的TNN在执行时间和量化精度。此外,所提出的量化算法不构成任何约束的网络结构设计和任务损失函数。这意味着,所提出的方法可以利用其他任务,如对象检测和分割。 同时,对最近的Transformer架构上的三值量化进行探索也是有价值的,这是未来工作的一部分。因此,我们提倡重新思考TNN的价值,并希望FATNN可以作为进一步研究的强有力的基准。5228引用[1] Yu Bai,Yu-Xiang Wang,and Edo Liberty.Proxquant:通过邻近算子量化的神经网络。在Proc. Int. Conf.学习.Repren. ,2019年。[2] Chaim Baskin、Eli Schwartz、Evgenii Zheltonozhskii、Natan Liss 、 Raja Giryes 、 Alex M Bronstein 和 AviMendelson。Uniq:用于神经网络非均匀量化的均匀噪声注入。arXiv预印本arXiv:1804.10969,2018。[3] YoshuaBengio,NicholasL e'onard和AaronCourville。通过随机神经元估计或传播梯度以进行条件计算。arXiv预印本arXiv:1308.3432,2013。[4] Joseph Bethge,Marvin Bornstein,Adrian Loy,HaojinYang,and Christoph Meinel.从头开始训练竞争性二元神经网络。arXiv预印本arXiv:1812.01965,2018。[5] Joseph Bethge , Haojin Yang , Christian Bartz , andChristoph Meinel.学习训练二进制神经网络。arXiv预印本arXiv:1809.10463,2018。[6] 蔡兆伟,何晓东,孙健,努诺. 通过半波高斯量化进行低精度深度学习 在proc IEEE会议Comp. 目视帕特识别,第5918-5926页[7] Tianqi Chen,Thierry Moreau,Ziang,Lianmin Zheng,Eddie Yan , Haichen Shen , Meghan Cowan , LeyuanWang,Yuwei Hu,Luis Ceze,et al.TVM:用于深度学习的自动化在USENIX Symp.操作系统设计&实现,第578- 594页,2018年。[8] Jungwook Choi,Zhuo Wang,Swagath Venkataramani,Pierce I-Jen Chuang , Vijayalakshmi Srinivasan , andKailash Gopalakrishnan. Pact:量化神经网络的参数化裁剪激活。arXiv预印本arXiv:1805.06085,2018。[9] Yoojin Choi,Mostafa El-Khamy,and Jungwon Lee.通过正 则 化 学 习 低 精 度 深 度 神 经 网 络 。 ArXiv ,abs/1809.00095,2018。[10] Matthieu Courbariaux , Yoshua Bengio 和 Jean-PierreDavid。Binaryconnect:在传播过程中使用二进制权重训练深度神经网络。在Proc. Adv. Neural Inf.过程系统,第3123-3131页[11] Lei Deng,Peng Jiao,Jing Pei,Zhenzhi Wu,and GuoqiLi. Gxnor-net:在统一的离散化框架下训练具有三进制权重和激活的深度神经网络,而无需全精度存储器。神经网络,100:49[12] Ruizhou Ding , Ting-Wu Chin , Zeye Liu , and DianaMraculescu.正则化激活分布以训练二值化深度网络。在proc IEEE会议Comp. 目视帕特识别,第11408-11417页[13] Steven K Esser,Jeffrey L McKinstry,Deepika Bablani,Rathinakumar Appuswamy,and Dharmendra S Modha.已学习步长量化。在Proc. Int. Conf.学习. Repren. ,2020年。[14] Yiwen Guo,Anbang Yao,Hao Zhao,and Yurong Chen.网络素描:在深层网络中开发二元结构正在进行IEEE会议对比可见光帕特识别,第5955- 5963页[15] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.用于图像识别的深度残差学习 在proc IEEE Conf.Comp.目视帕特识别,第770-778页[16] 陆厚及郭炳湘。深度网络的损失感知权重在Proc. Int.Conf.学习. Repren. ,2018年。[17] Itay Hubara、Matthieu Courbariaux、Daniel Soudry、RanEl-Yaniv和Yoshua Bengio。二值化神经网络在Proc. Adv.Neural Inf.过程系统,第4107-4115页,2016年。[18] Andrey Ignatov 、 Radu Timofte 、 William Chou 、 KeWang、Max Wu、Tim Hartley和Luc Van Gool。AI基准:在安卓智能手机上运行深度神经网络。欧洲药典配置文件可见,2018年。[19] Benoit Jacob、Skirmantas Kligys、Bo Chen、MenglongZhu、Matthew Tang、Andrew Howard、Hartwig Adam和Dmitry Kalenichenko。神经网络的量化和训练,有效的整数算术推理。 在proc IEEE Conf. Comp.目视帕特识别,2018年。[20] Sangil Jung、Changyong Son、Seohyung Lee 、JinwooSon、Jae-Joon Han、Youngjun Kwak、Sung Ju Hwang和Changkyu Choi。学习通过优化量化间隔与任务损失来量化
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)