没有合适的资源?快使用搜索试试~ 我知道了~
距离感知量化:解决网络量化问题的一种新方法
52710距离感知量化0金道亨 李正赫 咸凡燮 * 延世大学 电气与电子工程学院0https://cvlab.yonsei.ac.kr/projects/DAQ0摘要0我们解决了网络量化的问题,即将权重和/或激活的位宽减小以减轻网络架构的负担。量化方法使用舍入函数将全精度值映射到最近的量化值,但该操作不可微分。使用基于梯度的优化器训练量化网络主要有两种方法。首先,直通估计器(STE)用身份函数的导数替代舍入函数的零导数,导致梯度不匹配问题。其次,软量化器在训练时用连续函数近似舍入,而在测试时利用舍入进行量化。这样可以减轻梯度不匹配问题,但会导致量化器间隙问题。我们在一个统一的框架中解决了这两个问题。为此,我们引入了一种新型量化器,称为距离感知量化器(DAQ),主要由距离感知软舍入(DASR)和温度控制器组成。为了减轻梯度不匹配问题,DASR使用基于我们的洞察力的核心软argmax来近似离散舍入,该洞察力认为量化可以被形式化为全精度值和量化值之间的基于距离的分配问题。控制器根据输入自适应地调整DASR中的温度参数,解决量化器间隙问题。在标准基准测试中的实验结果表明,DAQ在各种位宽下明显优于现有技术,而无需任何额外的技巧。01. 引言卷积神经网络(CNN)在计算机视觉领域取得了重要进展,如图像识别[27, 48],目标检测[2, 43]和语义分割[7,34]。然而,更深[15,46]和更宽[45]的CNN需要大量的参数和FLOP,使得现代网络架构难以部署在边缘设备上(例如移动电话,电视或无人机)。最近的研究集中在压缩网络以减轻0* 通讯作者0� 10距离0� !0� " arg0� 1 ( , �! )0离散器(舍入函数)0量化0输出0: 量化值 : 全精度值 : 不可微分0图1:离散器接收全精度输入,然后将其分配给最近的量化值,例如本例中的q1。我们将离散器的分配过程解释如下:首先计算全精度输入和量化值q1和q2之间的距离,然后应用argmin运算符在距离上选择量化值。由于该运算符是不可微的,无法使用基于梯度的优化器对量化网络进行端到端训练。(最佳效果请查看彩色版本。)0网络架构。修剪[14]和蒸馏[16]是网络压缩的代表性技术。修剪删除网络中的冗余权重,蒸馏鼓励紧凑网络具有与大型网络获得的特征类似的特征。通过这些技术压缩的网络仍然利用浮点计算,这表明它们不适合偏好功耗效率的边缘设备进行定点运算。网络量化[42]是一种将全精度权重和/或激活转换为低精度权重和/或激活的替代方法,从而实现定点推理,同时减少内存和计算成本。量化方法通常使用阶梯函数作为量化器,其中它将全精度值归一化到量化间隔内,并使用离散器(即舍入函数)将归一化值分配给最近的量化值[11, 12,22]。由于舍入的导数在几乎所有地方都为零,基于梯度的优化器无法用于训练量化网络。为了解决这个问题,直通估计器(STE)[3]将舍入的导数替换为身份或硬tanh函数的导数进行反向传播。然而,这会导致前向和后向传递之间的梯度不匹配问题,使得训练过程变得嘈杂并降低了52720测试时间的量化性能[11, 31,47]。最近的方法使用软量化器来近似离散舍入,对于前向和后向传递都使用sigmoid[47]或tanh[12]函数,缓解了梯度不匹配问题,同时在训练时保持可微分性。另一方面,这些方法在推理时使用离散量化器。也就是说,它们在训练和测试时利用不同的量化器(软量化器和离散量化器),导致量化器间隙问题[36,47]。通过逐渐增加sigmoid函数中的温度参数[47],可以缓解量化器间隙问题,使得软量化器最终在训练时转化为离散量化器,但这会导致不稳定的梯度流。本文介绍了一种距离感知量化器(DAQ),在统一框架中缓解了梯度不匹配和量化器间隙问题。我们的方法基于这样的洞察力,即离散器(即舍入)通过首先计算全精度输入和量化值之间的距离,然后应用argmin运算符来选择最近的量化值(图1)。在此基础上,我们提出了一种距离感知软舍入(DASR),它使用核心软argmax[28]准确地近似离散舍入,同时保持可微分性,缓解了梯度不匹配问题。我们还引入了一个温度控制器,根据全精度输入和量化值之间的距离自适应地调整DASR中的温度参数。这使得DASR具有与离散舍入相同的输出,解决了量化器间隙问题。我们将DAQ应用于各种网络架构的权重和/或激活量化,并在标准基准测试上取得了最先进的结果,清楚地证明了我们方法的有效性。据我们所知,这是第一个同时缓解梯度不匹配和量化器间隙问题的方法。本文的主要贡献总结如下:•我们提出了一种新颖的可微分离散舍入函数近似方法,称为DASR,允许端到端训练量化网络,同时缓解梯度不匹配问题。0•我们引入了一个温度控制器,自适应地调整DASR中的温度参数,以解决量化器间隙问题。0•我们在标准基准测试上取得了新的最佳结果,并对我们的方法进行了广泛的分析,证明了DAQ的有效性。02.相关工作网络量化。早期的网络量化工作主要集中在将网络权重单独离散化为二进制[9, 19, 32]、三进制[29,52]或多位[18, 50],但这仍然需要大量的计算成本来0方法 梯度不匹配 量化器间隙 前向 后向 训练 测试0基于STE的[3] 舍入 恒等舍入 舍入 QNet [47] sigmoid sigmoidsigmoid 舍入 我们的 DASR w/ β � DASR w/ β � DASR w/ β � 舍入0表1:梯度不匹配(左)和量化器间隙(右)问题的量化方法比较。我们用 β � 表示0由我们的温度控制器调整的温度参数。我们在前向和后向传递中都使用相同的DASR和 β �,缓解了梯度不匹配问题。此外,调整温度使得在训练阶段使用的DASR在测试时具有与离散舍入相同的输出,解决了量化器间隙问题。0处理全精度激活。然后,权重和激活都被量化[20, 42,51],在内存和准确性方面取得更好的折中。最近的方法利用非均匀量化级别[5,49]或过渡点[39]来最小化量化误差。其他方法提出学习量化间隔[11, 12,22]或激活的剪切范围[8]。这些方法使用阶梯函数作为量化器,离散器是一个舍入函数。由于舍入函数的梯度几乎处处为零,训练量化网络受到梯度消失问题的困扰。STE通过将舍入函数的零导数替换为连续函数的导数来避免这个问题[3]。具体来说,它在前向传递中利用舍入,在后向传递中使用恒等函数或tanh函数。尽管STE允许使用基于梯度的优化器训练量化网络,但前向和后向传递之间的梯度不匹配会严重降低量化性能。相比之下,我们在前向和后向传递中都使用相同的量化器,缓解了梯度不匹配问题(表1(左))。软量化器使用sigmoid[47]或tanh[12]函数来近似离散舍入。这样可以在训练时在前向和后向传递中使用连续函数,缓解了梯度不匹配问题。然而,这些方法在推理时使用舍入函数进行量化,这会导致量化器间隙问题。也就是说,软量化器和离散量化器的输出不同,严重降低了量化性能。为了避免量化器间隙问题,QNet[47]通过在sigmoid函数中逐渐增加温度参数来将软量化器逐渐转化为离散量化器。然而,随着参数的增加,软量化器的梯度会消失或爆炸,导致不稳定的梯度流。DSQ[12]将软量化器与STE结合起来。具体而言,它在前向传递中使用离散量化器,而在后向传递中利用软量化器的导数。这缓解了推理中的量化器间隙问题,但使用STE会导致梯度不匹配。我们的方法类似于软量化器,因为两者都近似于x = (2b − 1)clip(ˆx, min = l, max = u) − lu − l,(1)wq = 2 Q( ˆw)2b − 1 − 1, aq = Q(ˆa)2b − 1,(2)o = swqaq,(3)52730归一0距离感知软舍入(DASR)0软分配0量化0输出0�(�$) �$0全精度0输入0温度0(�)0自适应0温度0(��)0温度控制器0距离分数0估计0图2:DAQ概述。我们的量化器Q主要由带有温度控制器的DASR组成。DAQ首先对全精度输入ˆx进行归一化。DASR输入归一化的输入,并计算与量化值的距离分数。然后将输入分配给最近的量化值Q(ˆx)。对于分配,我们利用了带有自适应温度β�的argmax的可微版本,该温度从我们的控制器中获得。0离散argmax,同时保持可微性,缓解了梯度不匹配问题。相反,我们不利用如sigmoid或tanh之类的连续函数进行近似,还通过自适应地调整温度参数(表1右侧)在一个统一的框架中解决了量化器间隙问题。与我们的工作密切相关,RQ[36]定义了在量化网格上的分类分布,并使用Gumbel软argmax运算符[21]对量化值进行采样。SHVQ[1]设计了一个码本,它是一组有限的向量(即码字)用于向量量化,然后使用软argmax[6]将向量(例如网络参数)分配给码字之一。然而,它们[1,36]也遭受量化器间隙问题,因为软量化器和离散量化器的输出不相同。此外,RQ在训练过程中执行随机量化,而在推理过程中以确定性方式量化网络。这种训练和推理阶段之间的不匹配显著降低了性能[25]。我们通过使用核心软argmax[28]设计DASR来避免这个问题,在训练和推理阶段都以确定性方式量化网络。0可微argmax。argmax运算符在数组中找到最大值的索引。涉及argmax运算符的CNN无法通过基于梯度的优化器进行训练,因为它不可微。软argmax[6]是argmax的可微版本,已应用于立体匹配[23]和关键点检测[17]。将软argmax运算符与Gumbel噪声[13]结合使用,将分类分布松弛为具体分布,实现可微的采样过程[21,37]。随着运算符中的温度增加,软argmax运算符变为离散argmax,但代价是不稳定的梯度流动。SFNet[28]引入了一个核心软argmax,它将高斯核与软argmax结合起来,更准确地近似离散argmax,而不使用大的温度参数。我们利用核心软argmax进行网络量化。我们建议自适应地调整核心软argmax中的温度参数。0如后面所示,这解决了量化器间隙问题,消除了核心软argmax和离散argmax之间的差异。03. 方法在本节中,我们简要介绍了我们的DAQ(第3.1节)。然后详细描述了DAQ的每个组件,包括DASR(第3.2节)和温度控制器(第3.3节)。3.1. 概述使用均匀的b位量化,我们的量化器Q将全精度输入ˆx(可能是权重ˆw或激活ˆa)映射到均匀的量化值Q(ˆx)∈{0, 1, ..,2^b-1}(图2)。为此,我们首先在量化区间内对全精度输入ˆx进行剪裁和归一化,由上界u和下界l边界[12,22]参数化,如下所示:0其中x是归一化输入。然后,我们使用温度控制器应用DASR,并重新调整DASR的输出,将归一化输入x分配给最近的量化值Q(ˆx),这将在第3.2节和第3.3节中描述。最后,我们将量化权重Q(ˆw)或激活Q(ˆa)线性缩放到[-1,1]和[0,1]的范围内,如下所示:0其中wq和aq分别是权重wq和激活aq的(缩放后的)量化张量的元素。使用量化权重和激活,卷积输出o如下获得:0其中�和s分别是卷积运算符和可学习的标量参数,用于调整卷积输出的尺度。φ(x; β) =�i∈{f,c}mx(qi; β)qi.(5)mx(qi; β) =exp(βkx(qi)dx(qi))j∈{f,c} exp(βkx(qj)dx(qj)),(6)0.00.20.40.60.81.00.00.20.40.60.81.0soft assignment ( (x; ))transition point=4=6=12=24sigmoid ( =100)rounding0.00.20.40.60.81.0normalized input (x)0.00.51.01.52.02.53.03.54.0derivatives ((x; ))transition point=4=6=12=24Figure 3: Illustrations of soft assignments with different tempera-ture parameters β (top) and corresponding derivatives (bottom), forthe case of the normalized input x being limited within the range of[0,1]. For comparison, we also plot a sigmoid function, exploited asa soft quantizer in [47]. We can see that the discrepancies betweensoft assignments and the rounding are significant especially nearthe transition point. They can be reduced by raising the temperatureparameter. This, however, causes a vanishing gradient problem forthe inputs near quantized values. (Best viewed in color.)centered on the nearest quantized value (i.e., qf or qc) for thenormalized input x. The output of the kernel kx(q) becomeslarger as q approaches to the nearest quantized value, whichhas an effect of retaining the distance score for the nearestquantized value, while suppressing the other one. This sug-gests that the distance probability is distributed with oneclear peak around the nearest quantized value, and our softassignment process approximates the discrete argmax well.For example, we can see from Fig. 3(top) that the soft assign-ment φ approximates the discrete rounding more accuratelythan the sigmoid function adopted in soft quantization [47],even with a much smaller temperature, preventing a gradientexploding problem.3.3. TemperatureThe temperature parameter β adjusts a distribution ofthe distance probability mx, and it thus influences the softassignment φ. The soft assignment with a fixed temper-ature parameter has the following limitations. (1) Smalltemperature parameters (e.g., β = 4 in Fig. 3(top)) cause527403.2. DASR舍入函数将全精度输入映射到最近的量化值。这个分配过程可以看作是以下两个步骤:首先,计算全精度值和量化值之间的距离。其次,通过在距离上应用argmin运算符选择最近的量化值,但这是不可微分的。受此启发,我们提出了DASR来近似离散舍入函数,使用可微分的分配运算符。这种近似允许在前向和后向传递中使用相同的量化器,从而缓解梯度不匹配问题。与两步过程类似,DASR接受在Eq中的归一化输入x。 (1),并计算相对于量化值q的距离分数。∈q,其中q是可能的量化值集合,即{0,1,..,2b−1}。然后,它通过核软argmax[28]将输入分配给一个非常接近最近量化值的浮点数。接下来,我们详细描述DASR。距离分数。给定归一化输入x,我们计算各个量化值q∈q的距离分数如下:dx(q) = exp(−|x−q|)。0距离分数随着归一化输入x接近量化值q而增加,反之亦然。请注意,计算距离分数的计算成本随着位宽(即可能的量化值)的增加而呈指数增长。为了解决这个问题,我们仅计算与归一化输入x最近的两个量化值qf和qc之间的距离分数,其中qf和qc分别通过floor和ceil函数获得,即qc−qf=1。软分配。我们可以通过对与两个量化值qf和qc相关的距离分数应用离散argmax函数,将归一化输入x分配给最近的量化值,但是这个函数不可微分。相反,我们建议使用核软argmax[28]来近似离散argmax,同时保持可微分性。我们定义了一个软分配φ(x;β)用于归一化输入x,其中β是温度参数,作为两个量化值qf和qc的加权平均值,加权因子是距离概率mx(图3(顶部)):0距离概率mx通过将温度参数β应用于距离分数dx,通过softmax函数获得如下:0其中kx是一维高斯核函数0归一化输入(x)0.00.20.40.60.81.0normalized input (x)0.00.20.40.60.81.0outputtransition pointx1x2(x; =4)(x; =6)(x; =12)(x; =24)(x; =*)f( (x; =*))Figure 4: Illustrations of the output φ(x; β = β∗) in Eq. (9) (grayline), and its rescaled version using a function f in Eq. (10) (blackline). Computing the soft assignment with the adaptive tempera-ture β∗ has an effect of sampling output values (colored circles)from different functions for individual inputs (dotted lines). (Bestviewed in color.)a quantizer gap problem, which is problematic particularlywhen a normalized input x is close to a transition point. (2)Large temperature parameters (e.g., β = 24 in Fig. 3(top))alleviate the quantizer gap problem. This, however, leadsto a vanishing gradient problem. For example, the deriva-tive of the soft assignment converges to zero rapidly, as thenormalized input x moves away from a transition point inFig. 3(bottom), i.e., approaches to a quantized value. Accord-ingly, exploiting a temperature parameter fixed for all inputssuffers from quantizer gap or vanishing gradient problems.Temperature controller.We adjust the temperature pa-rameter β adaptively according to the distance between anormalized input and a transition point, such that we mini-mize the quantizer gap without suffering from the vanishinggradient problem. Specifically, we raise the temperature forthe inputs near the transition point in order to address thequantizer gap problem. On the other hand, we lower thetemperature for the inputs distant from the transition point,alleviating the vanishing gradient problem. To implementthis idea, we define an adaptive temperature β∗ as follows:β∗ =γ|sx(qf) − sx(qc)|,(7)0.00.60.81.00.51.01.52.02.53.03.54.0(x; =4)(x; =6)(x; =12)(x; =24)set of gradientsobtained with *�qf + λ,x ≤ qtqc − λ,x > qt,(9)52750其中γ是一个正常数,sx(qi)是一个加权(距离)分数,定义为:sx(qi) = kx(qi)dx(qi)。(8)0当输入接近过渡点时,加权分数sx(qf)和sx(qc)变得相似。在这种情况下,方程(7)中的分母减小,自适应温度因此增加,从而减轻量化器间隙问题。相反,当输入远离过渡点时,自适应温度减小,避免梯度消失问题。自适应温度β�根据输入变化,而温度反过来改变了软分配的形状。0归一化输入(x)0导数0点x1 x20图5:具有不同温度的软分配函数的导数示例(虚线),以及使用不同函数获得的单个输入的一组梯度(灰线)。使用相应的自适应温度β�计算单个输入的梯度(彩色圆圈)。 (最佳观看颜色)0分配函数(图3),表明为每个输入应用了不同的软分配函数。例如,对于图4中的点x1,其对应的自适应温度值为4,其分配是通过函数φ(x; β =4)计算的。对于点x2,分配是通过函数φ(x; β =6)计算的,与x1使用的函数不同,因为温度发生了变化。通过为所有输入应用不同的函数,我们可以得到一组可以通过将自适应温度β�插入到Eq.(5)中的软分配来表示的分配集合(详见补充材料):0φ(x; β = β�) =0其中λ = 1 / (eγ + 1),我们用qt表示过渡点,定义为(qf +qc) /2。从图4可以看出,从不同的软分配函数中采样得到的分配集合与单个离散函数的输出值相同(图4灰线)。类似于在前向传播中获得分配集合的过程,通过不同的函数进行反向传播获得单个输入的梯度(图5)。也就是说,每个输入的梯度是从具有相应自适应温度的软分配函数中获得的。例如,图5中的点x1和x2的梯度分别使用相应函数的导数φ'(x; β =4)和φ'(x; β =6)计算得到。这对于缓解梯度消失问题非常有效,尤其是当温度设置为较大值时(例如,图3(顶部)中的β =24)。请注意,自适应温度β�在前向和反向传播中都被视为每个输入的超参数。总之,利用每个输入的不同函数可以计算反向传播的梯度,同时保证前向传播的梯度计算。LQ-Nets [49]70.3-62.6 (−7.7)64.9 (−5.4)68.2 (−2.1)69.3 (−1.0)-68.0 (−2.3)69.3 (−1.0)PACT [8]70.4-62.9 (−7.5)64.4 (−6.0)68.1 (−2.3)69.2 (−1.2)-68.1 (−2.3)69.9 (−0.5)QIL [22]70.2--65.7 (−4.5)69.2 (−1.0)70.1 (−0.1)65.8 (−4.4)--QNet [47]70.353.6 (−16.7)63.4 (−6.9)---66.5 (−3.8)69.1 (−1.2)70.4 (+0.1)RQ [36]69.5----62.5†(−7.0)---DSQ [12]69.9--65.2 (−4.7)68.7 (−1.2)69.6†(−0.3)---LSQ [11]70.1--66.8 (−3.3)69.3 (−0.8)70.7 (+0.6)---LSQ+ [4]70.1--66.7 (−3.4)69.4 (−0.7)70.8 (+0.7)---IRNet [41]69.6-----66.5 (−3.1)--Ours69.956.2 ( 13.7)64.6 ( 5.3)66.9 ( 3.0)69.6 ( 0.3)70.5 (+0.6)67.2 ( 2.7)69.8 ( 0.1)70.8 (+0.9)52760方法位宽(W/A)FP 1/1 1/2 2/2 3/3 4/4 1/32 2/32 3/320表2:在ImageNet[10]的验证集上对ResNet-18[15]的定量结果。我们报告了top-1准确率以进行比较。我们用“W”和“A”表示权重和激活的位精度,分别表示全精度和完全量化模型的准确率。粗体数字表示最佳性能。括号中的数字表示与全精度模型相比的准确率改进或降低。0通过提供与离散舍入相同的输出,但具有λ的偏移量(图4),可以获得以下函数中的输出重新缩放:0f(y)=y-qt01-2λ+qt0我们可以获得0f(φ(x;β=β�))=0当qf,x≤qtc,x>qt时,我们可以得到0这对应于DAQ的输出(即Q(ˆx))。很明显,公式(11)中的重新缩放输出提供了与舍入函数完全相同的值,这表明我们的DAQ在测试时即使使用舍入也不会出现量化器间隙问题(见表6中的最后一行)。我们在补充材料中总结了整个量化过程。4.实验4.1.实验细节实现细节。我们对ResNets[15](即ResNet-18、-20和-34)和MobileNet-V2[44]的权重和/或激活进行量化。根据[22,38]的做法,除了MobileNet-V2,我们不对所有网络架构的第一层和最后一层进行量化。我们根据CIFAR-10[26]验证集1上的性能选择最佳参数,将公式(7)中的常数γ设置为2,将权重和激活的高斯核kx的标准差分别设置为1和2。我们使用网格搜索来设置这些参数。0训练。使用SGD优化器分别对ResNets和MobileNet-V2使用学习率为1e-2和5e-3进行权重训练。我们使用Adam优化器学习量化参数,如公式(1)中的下界l和上界u,以及公式(3)中的比例因子s。01我们将CIFAR-10[26]的训练集分为训练集和验证集,用于网格搜索。0优化器[24]的学习率为1e-4。所有参数的学习率都按照余弦退火策略[35]进行调度。对于ResNet-20架构,我们在CIFAR-10[26]上使用批量大小为256训练量化网络400个时期,权重衰减设置为1e-4。其他网络在ImageNet[10]上使用批量大小为256和160进行100个时期的训练,分别对应ResNet-18和-34以及MobileNet-V2。对于ResNet-18和-34,权重衰减设置为1e-4,除了低位量化(即1/1、1/2和2/2位设置),我们使用较小的权重衰减5e-5,参考[11]。对于MobileNet-V2,权重衰减设置为4e-5。我们不使用权重衰减来学习量化参数。初始化。所有量化网络中的权重都是从全精度预训练模型中初始化的。我们在将权重输入量化器之前对其进行标准化[30]。我们将权重量化器中的下界和上界初始化为-3和3。激活量化器中的下界和上界分别通过输入激活层的标准差σA的-3σA和3σA进行初始化,除非量化器的输入由ReLU预激活。在这种情况下,我们将下界固定为零,并且仅使用3σA的初始化学习上界。4.2.结果我们使用包括ResNet-18、-20、-34[15]和MobileNet-V2[44]在内的网络架构对我们的方法进行评估,并与CIFAR-10[26]和ImageNet[10]上图像分类的最新技术进行性能比较。ImageNet。ImageNet数据集[10]提供了大约120万个训练图像和5万个验证图像,涵盖了1,000个类别以及相应的真实类别注释。我们分别在训练和验证集上训练和评估量化网络。我们使用top-1准确率来衡量性能。我们在表2中展示了ResNet-18的top-1准确率,以及52770方法 位宽(W/A) FP 1/1 1/2 2/2 3/3 4/4 1/320LQ-Nets [49] 73.8 - 66.6 (-7.2) 69.8 (-4.0) 71.9 (-1.9) - - QIL [22] 73.7 - - 70.6 (-3.1) 73.1 (-0.6) 73.7 (+0.0) - DSQ[12] 73.3 - - 70.0 (-3.3) 72.5 (-0.8) 72.8 (-0.5) - IRNet [41] 73.3 - - - - - 70.4 (-2.9) 我们的方法 73.3 62.1 (-11.2) 69.4(-3.9) 71.0 (-2.3) 73.1 (-0.2) 73.7 (+0.4) 71.9 (-1.4)0表3:在ImageNet [10]的验证集上对ResNet-34[15]的定量结果。我们报告了用于比较的top-1准确性。W/A:权重/激活的位精度;FP:全精度模型的结果。0方法 位宽(W/A) FP 4/40PACT [8] 71.8 61.4 (-10.4) DSQ [12]71.9 64.8 (-7.1) PROFIT [38] 71.971.6† (-0.3) 我们的方法 71.9 70.0†(-1.9)0表4:在ImageNet [10]的验证集上对MobileNet-V2[44]的定量结果。我们报告了用于比较的top-1准确性。W/A:权重/激活的位精度;FP:全精度模型的结果;†:完全量化模型的结果。0与最新技术进行比较。表2中的所有数字都来自各篇论文,LSQ[11]的数字除外。我们从这个表中观察到五件事:(1)我们的方法在低位量化(即1/1、1/2、1/32、2/32位设置)方面的top-1准确性方面明显优于最新技术。LSQ[11]和LSQ+[4]在4/4位设置中稍微比我们的结果好,但使用了更准确的全精度模型。高性能模型为优化量化网络提供了更好的初始化。(2)我们的方法对网络进行二值化(即1/1和1/32位设置)非常有效,优于专为网络二值化设计的IRNet[41]。这也证明了DASR在缓解梯度不匹配问题方面的有效性。正如[31]所述,随着权重和/或激活的位宽变小,梯度不匹配问题变得更加严重。(3)我们的方法比其他缓解梯度不匹配问题的软量化器[12, 36,47]表现更好。这表明解决量化器间隙问题显著提高了性能。(4)我们的方法比其他学习量化间隔[11, 12,22]或使用STE学习激活剪裁范围[8]的类似量化器的方法给出更好的结果。(5)我们可以在各种位宽下使用我们的量化方法,并始终实现最先进的性能,而其他方法可能只适用于特定设置。表3和表4显示了与02 它使用了ResNet的预激活版本,与标准架构不同。我们从LSQ+[4]的工作中获取数字,其中LSQ是使用标准ResNet复现的。3它在1/1位设置中显示了58.1的top-1准确性,但使用了添加了额外残差连接的Bi-Real结构[33]的ResNet-18。为了公平比较,我们只报告了与我们相同的网络架构下IRNet的结果。0方法 位宽(W/A) FP 1/1 1/320DoReFa [51] 90.8 79.3 (-11.5) 90.0 (-0.8) LQ-Net[49] 92.1 - 90.1 (-2.0) DSQ [12] 90.8 84.1 (-6.7) 90.2(-0.6) IRNet [41] 91.7 85.4 (-6.3) 90.8 (-0.9)我们的方法 91.4 85.8 (-5.6) 91.2 (-0.2)0表5:在CIFAR-10 [26]的测试集上对ResNet-20[15]的定量结果。我们报告了用于比较的top-1准确性。W/A:权重/激活的位精度;FP:全精度模型的结果。0使用ResNet-34 [15]和MobileNet-V2[44]的最新技术。我们的方法在低位量化(例如1/1、2/2和1/32位)方面优于最新技术,并且在3/3和4/4位设置中与QIL[22]的准确性相同。QIL使用渐进学习技术[53],从高到低的精度顺序训练量化网络,这在计算上是要求很高的。相比之下,我们的方法直接微调全精度模型以实现目标精度的量化网络。请注意,我们的方法在从全精度模型中提高/降低准确性方面表现最佳。表4表明,我们的方法也对轻量级网络架构(即MobileNet-V2)进行量化非常有效。请注意,PROFIT[38]专门设计用于量化轻量级网络架构,并且在训练时使用了许多启发式方法(例如渐进学习[22, 53]和蒸馏[40,53]),这需要更多的训练时间和计算成本,与我们的方法相比。0CIFAR-10。CIFAR-10数据集[26]包含用于图像分类的10个对象类别的50k训练和10K测试图像。我们使用训练集训练量化网络,并报告测试集上的Top-1准确率。我们在表5中使用ResNet-20架构[15]与现有技术进行定量比较。我们可以清楚地看到我们的方法优于现有技术,再次证实了我们方法的有效性。4.3.讨论我们对DASR进行了消融分析,并将我们的温度控制器与其他缓解量化器间隙问题的方法进行了比较。我们报告了在CIFAR-10的测试集上使用1/1位ResNet-20[15]的Top-1准确率。有关DAQ的更多分析可以在补充材料中找到。050100150250300350400102030405060708052780类型 温度 测试时间(β) 舍入 DASR0软argmax010 11.7(-75.1) 86.8 2010.2(-44.4) 54.6 6010.0(-27.3) 37.3 150 - -0核软argmax04 13.5(-76.2) 89.7 848.8(-37.2) 86.0 1269.9(-10.9) 80.8 2459.6(-3.8) 63.8 β* 85.8(-0.0)85.80表6:我们方法的不同argmax运算符和温度参数的变体的定量比较。我们还报告了在测试时通过DASR获得的结果,而不是通过舍入函数,即在训练和测试时使用相同的量化函数来量化器间隙问题的影响。请注意,此情况下的权重和激活(自适应温度β*的结果除外)是全精度值,而不是量化值。括号中的数字是全精度和量化模型之间的准确率下降。0可微分的argmax。我们在表6的第三列中比较了我们方法的不同变体的量化性能。我们使用DASR来训练具有不同argmax运算符和温度参数的量化网络,并在测试时利用舍入函数作为离散器。为了量化器间隙问题的影响,我们还报告了在表6的第四列中利用DASR进行测试的结果,即在训练和测试时使用相同的量化函数。请注意,DASR使用固定温度输出浮点数,如第3.3节所述,表示第四列的结果(自适应温度β*除外)是使用全精度权重和激活而不是量化值获得的。从前四行可以看出,由于温度参数的增加,由量化器间隙引起的准确率下降减小。然而,这会导致不稳定的梯度流动,降低性能,即使在
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功