没有合适的资源?快使用搜索试试~ 我知道了~
00.330.6710100.330.6710100100.330.670.670.670.671Figure 1. An illustration of a linear quantizer and our learnedlookup table (LUT) for 2-bit quantization of activations.124230可学习的查找表用于神经网络量化0Longguang Wang 1,Xiaoyu Dong 2,3,Yingqian Wang 1,Li Liu 1,Wei An 1,Yulan Guo 1 �01 国防科技大学 2 东京大学 3 RIKEN AIP0{ wanglongguang15,yulan.guo } @nudt.edu.cn0摘要0神经网络量化旨在减少权重和激活的位宽,以提高内存和计算效率。由于线性量化器(即round(∙)函数)不能很好地适应权重和激活的钟形分布,许多现有方法使用带有可学习参数的预定义函数(例如指数函数)构建量化器进行联合优化。然而,这些复杂的量化器在推理过程中引入了相当大的计算开销,因为激活量化需要在线进行。在本文中,我们将量化过程形式化为简单的查找操作,并提出学习查找表作为量化器。具体而言,我们开发了可微分的查找表,并引入了几种训练策略进行优化。我们的查找表可以与网络一起以端到端的方式进行训练,以适应不同层中的分布,并且额外的计算成本非常小。与先前的方法相比,使用我们的查找表的量化网络在图像分类、图像超分辨率和点云分类任务上实现了最先进的性能。01. 引言0深度神经网络在计算机视觉、自然语言处理和许多其他领域取得了巨大成功。然而,高计算成本和内存占用限制了它们在边缘设备上的应用。为解决这个问题,已经做出了许多努力,包括高效的架构设计[1-3]、网络剪枝[4-6]、权重分解[7,8]、知识蒸馏[9-11]和网络量化[12-14]。在这些方法中,网络量化可以显著降低计算成本,并广泛应用于实际应用(例如,类似TF-lite的推理框架[15])。神经网络量化旨在获得低位网络以减少内存占用和计算成本。位宽的减少自然引入量化误差,进而导致精度损失。网络0浮点0量化0浮点0量化0(a)线性量化器0(b)我们的查找表0裁剪0裁剪0输出0量化可以分为均匀方法和非均匀方法。在本文中,我们专注于均匀方法,因为它们可以直接部署在支持整数运算的现成硬件上[16]。早期的均匀量化方法[16-19]使用固定的线性量化器(即round(∙)函数)来量化浮点值。然而,这些量化器不能很好地适应权重和激活的钟形和长尾分布[20]。此外,不同层的分布可以有很大的变化。因此,固定量化器对于适应各种层的能力有限。为了适应不同层中权重和激活的各种分布,一些工作[14,21]采用可训练的量化器进行联合优化。这些方法使用预定义函数(例如指数函数和sigmoid函数)与可学习参数的组合来表示量化函数。由于激活量化需要在线进行推理,这些复杂的量化器引入了相当大的计算开销。在本文中,我们提出使用可学习的查找表(LLTs)将浮点值映射到量化值,用于网络量化(图1)。具体而言,量化函数被形式化为查找表(图2(a)),然后转换为one-hot分布(图2(d))进行优化。在训练过程中,我们将one-hot分布软化以调节124240我们使用温度化的softmax分布(Fig. 2(e))来以端到端的方式更新查找表和网络。此外,我们引入了几种训练策略来促进查找表的收敛,包括指数形式的比例参数和梯度重新缩放方案。由于温度化的softmax分布收敛到one-hot分布,我们的查找表学习了从连续浮点值到量化水平的自适应映射。在推理过程中,可以通过简单的查找操作实现在线激活量化,计算成本非常小。在图像分类、图像超分辨率(SR)和点云分类任务上进行了大量实验证明了我们方法的最先进性能。02. 相关工作0在本节中,我们首先简要回顾了网络量化的几个主要工作,然后讨论了这些量化方法的典型应用。02.1. 网络量化0均匀量化。均匀量化[16-19]将全精度值映射到均匀量化水平(例如{0, 1}。0对于激活的2位量化,BinaryConnect[24]首次提出使用二进制值{-1,+1}来量化权重。然后,引入了训练三值量化(TTQ)[25]来使用三进制值{-1, 0,+1}来表示权重。然而,这些网络中的激活仍然是全精度值。为了解决这个限制,Rastegari等人[26]使用比例参数对激活进行二值化。最近,DoReFa-Net[27]被开发出来,进一步量化反向传播过程中的梯度,以加速训练过程。大多数均匀量化方法使用线性量化器(即round(∙)函数)来均匀量化浮点值。然而,这些量化器没有考虑到权重和激活的钟形分布,因此不能很好地适应它们。为了使量化器适应权重和激活的分布,一些工作[14,21]对量化器进行了参数化优化。Jung等人[14]将量化器形式化为变压器和离散器的组合。然后,使用具有可学习参数的手工非线性函数作为变压器,与网络一起进行训练。Yang等人[21]使用具有可学习偏置和尺度的sigmoid函数的线性组合来表示量化函数。通过连续调整sigmoid函数的陡度,对其重新制定的量化函数进行训练。然而,由于量化激活需要在推理过程中进行在线计算,这些复杂的量化器引入了相当大的计算开销。0非均匀量化。非均匀量化[28-30]使用非均匀水平(例如{0, 1}。0对于激活的2位量化,我们使用了非均匀量化方法来量化权重和激活以匹配它们的分布。Ullrich等人[28]提出了在权重上拟合高斯混合先验模型,并使用聚类中心作为量化水平。Xu等人[29]在这个想法上进行了改进,并对权重进行了逐层聚类,将其量化为聚类中心。Zhang等人[31]使用一组浮点值作为基础,制定了非均匀量化水平。Zhou等人[32]和Miyashita等人[33]引入了对数量化器,使用二的幂值来表示权重和激活。最近,Li等人[20]进一步提出了一种附加的二的幂量化方法,使用一系列二的幂值的和来表示全精度值。然而,非均匀量化方法通常依赖于精细的硬件来实现加速[16]。02.2. 应用0大多数网络量化方法是针对图像分类任务开发的。最近,越来越多的关注开始转向它们在许多其他任务中的扩展应用,包括图像超分辨率和点云分类。图像超分辨率。神经网络的强大特征表示能力使得基于CNN的图像超分辨率方法[34-36]能够实现先进的性能。然而,这些方法的高计算和内存成本限制了它们在移动设备上的应用。已经做出了许多努力[37-43]来提高超分辨率网络的效率。具体而言,Ma等人[38]和Xin等人[40]通过对超分辨率网络进行二值化来减小模型大小并加速推理,同时保持可比较的性能。Li等人[41]使用参数化的最大值对超分辨率网络进行量化,以获得高准确性和低位模型。Hone等人[43]引入了一种分布感知的量化方案,用于自适应确定超分辨率网络的通道动态范围,以产生更好的结果。点云分类。Qi等人[44]提出了第一个基于深度学习的方法(即PointNet),直接处理原始点云。具体而言,PointNet使用多层感知机(MLPs)学习点级特征,并通过最大池化层获取全局特征进行分类。在PointNet之后,出现了许多先进的特征学习器[45-47]和聚合器[48-51],取得了更好的性能。然而,这些方法依赖于昂贵的浮点计算,计算成本高。最近,Qin等人[52]首次尝试将PointNet二值化,以实现显著的加速和节省内存。03. 方法0本文的主要思想是将量化过程形式化为可微分的查找操作。给定InOut00011001t1t1+t2t1+t2+t30(e)(b)(c)(d)(f)(a)00100.67 0.67 0.67 0.671LUTInOut0.3300.330.67100.330.67100.330.67101LUTInOut001001001101t1t2t301p1p2p3(g)00.330.67101×0.33×0.33+0.33×0.33+0.67(h)00.330.67100.330.671LUTInOut 0 0.07 0.2300.33×0.33×0.33+0.33×0.33+0.670010.20.50.31001p1p1+p2p1+p2+p30awIn this paper, we formulate the quantization process Q(·)as a lookup operation and learn lookup tables as quantizers.3.2. Lookup Table ConstructionIn this section, we first illustrate our motivation and thenintroduce the construction of our lookup tables.Motivation. As shown in Fig. 1(b), a quantization functioncan be formulated as a lookup table that maps float valuesto the quantization levels, e.g., {0, 13, 23, 1} for 2-bit quanti-zation of activations1. However, it is challenging to directlylearn lookup tables due to their non-differentiability. To ad-dress this issue, we simplify the formulation of a lookuptable to make it easier to be optimized. Specifically, thequantization function in Fig. 2(a) can be considered as aconcatenation of three scaled step functions (ε(·)):xq = 0.33(ε(x − 0.28) + ε(x − 0.39) + ε(x − 0.83)). (3)Then, the lookup table can be divided into three binary sub-tables, with each sub-table representing one step function(Fig. 2(b)). Theoretically, a step function can be formu-lated as the integral of an impulse function. Consequently,for each sub-table, we could use K auxiliary parameters{t1, t2, ..., tK} to model an impulse function (K = 3 inFig. 2(d) for simplicity) and then accumulate these param-eters to represent the binary sub-table (Fig. 2(c)). In thisway, the lookup table can be formulated as three one-hotdistributions, whose optimization has been well studied inliterature.Implementation. During the training phase, each one-hotdistribution is softened to a temperatured softmax distribu-tion {p1, p2, ..., pK} (Fig. 2(e)) to make it trainable:pi =exp(gi/τ)�Ki exp(gi/τ),(4)where gi is a learnable parameter and τ is a temperatureparameter. Then, the temperatured softmax distribution is1Intuitively, float values equaling to the quantization levels (e.g., a= 13 )should not be mapped to other quantized values in order not to intro-duce quantization error. Consequently, corresponding cells are anchoredto matched quantization levels.124250组合0累加0导数0除以0收敛0收敛0收敛0收敛0缩放0重新缩放0量化0量化0浮点数0one-hot分布0量化0量化00.2 0.7 0.3 0.6 0.5 0.8 浮点数0图2. 查找表构建示意图。为简单起见,以2位量化激活为例。0在网络中,首先构建逐层查找表。然后,执行查找操作,将全精度的权重和激活映射到它们的低位对应项。在训练过程中,我们对查找表进行软化,与网络一起进行联合优化。在推理过程中,查找表被硬化以获得低位网络。03.1. 准备工作0给定全精度网络中的权重值w和激活值a,首先将它们转换为产生ˆ w和ˆ a,如下所示:ˆ w = clip(w/s w)0ˆ a = clip(a/s a), (1)0其中 s w 和 s a 是可训练的缩放参数,clip(∙)将值剪裁到[-1,1](对于a来说是[0, 1])。然后,ˆ w和ˆ a进一步量化为�0a = s a ∙ Q (ˆ a, Q a), (2)0其中 Q w 和 Q a 是量化级别的数量,Q(∙)将浮点值映射到一组离散值(例如,{0, 1/Q a,..., Q a-1})accumulated to construct a sub-table (Fig. 2(f)). Finally, theresultant sub-tables are re-scaled and combined to producethe lookup table (Fig. 2(h)).In our experiments, gi is initialized as 0 such that thetemperatured softmax distribution is initialized as a uniformdistribution. As τ gradually decreases from a high temper-ature to a low one, the temperatured softmax distributionconverges to a one-hot distribution.Consequently, eachsub-table becomes binary and our lookup table learns anadaptive mapping from continuous float values to the quan-tization levels (Fig. 2(a)). The detailed temperature sched-uler is presented in Sec. 3.4.3.3. Differentiable Lookup OperationWith our lookup tables, lookup operation is performedto map full-precision values to low-bit ones, as shown inFig. 1(b). Given a float value (e.g., an activation value a), ˆais first calculated according to Eq. 1. Next, the lookup tableis used to find the corresponding quantization level for ˆa(e.g., Q(ˆa, Qa) = p1) to produce a based on Eq. 2. Then,a can be used as a proxy of a for forward propagation tocompute the task loss.During backward propagation, the straight-through-estimator (STE) [53] is used to calculate gradients to updatethe lookup tables (e.g., p1) and full-precision values (i.e., a):∂a∂p1= sa,∂a∂a =� 1,if a < sa0,otherwise .(5)τ(n) =�124260对于方程1中的比例参数sa,我们使用[18]中的梯度公式进行优化。这些梯度的详细推导在补充材料中提供。使用这些梯度,我们的查找表可以与网络一起进行端到端的训练。03.4. 训练策略0在本节中,我们介绍了几种训练策略来改善我们的查找表的收敛性。比例参数的指数形式。方程1中的比例参数sw和sa是用于将全精度权重和激活裁剪到[-1, 1]和[0,1]之间的正值。在我们的实验中,观察到这些比例参数在训练过程中可能变为负值,这会导致收敛问题。为了解决这个问题,我们引入辅助参数ew和ea来表示比例参数:sw =exp(ew) sa = exp(ea)。0在训练过程中,ew使用全精度权重的标准差(ln(3σw))进行初始化,ea使用第一次迭代中激活的标准差(ln(3σa))进行初始化。在第4.4节中证明,这种指数形式有助于网络实现良好的收敛性和更好的性能。0单元索引0梯度幅度0图3.查找表中不同单元之间梯度不平衡的示意图。显示了平均过100次迭代的归一化梯度幅度。0梯度重新缩放。在我们的实验中,我们观察到查找表中不同单元之间存在梯度不平衡。由于全精度激活和权重的钟形分布,在查找操作期间落入不同单元的值的数量相当不同。因此,接近0的单元的聚合梯度比接近1的单元的梯度要大得多(图3中的蓝色曲线),并且主导了查找表的优化。为了解决这个问题,第i个单元的梯度gi使用Navg√Ni进行重新缩放,其中Navg是单元中浮点值的平均数,Ni是落入第i个单元的浮点值的数量。通过我们的梯度重新缩放方案,查找表的不同单元上的梯度是平衡的,如图3所示。在第4.4节中进一步证明,我们的梯度重新缩放方案有助于查找表的良好收敛性并提高整体性能。温度调度器。方程4中的温度参数τ控制温度化softmax分布的陡峭程度。在我们的实验中,我们从高温度开始,然后将其退火到低温。具体而言,我们经验性地使用指数退火调度器来更新温度参数τ:0MNiter,n < MN iter τ 1,否则,(7)0其中τ0和τ1分别是初始和最终温度,n表示迭代索引,Niter是一个epoch中的迭代次数,M确定下降的速率。03.5. 讨论0研究表明,渐进量化(例如,对于2位量化,32→4→3→2)可以提高低位量化网络的性能[14,20]。从渐进量化的角度来看,图2中我们的查找表的训练可以被视为从10个量化级别(图2(h))到4个量化级别(图2(a))的演化。直观地说,由于(1)权重和激活之间的分布差异,(2)浮点值的各个区间(例如,[0, 0.2] vs.[0.8, 1]),以及(3)各个层次,/82/324/84/32124270表1.CIFAR-10上达到的Top-1准确率(%)。带有�标记的结果是从相应的论文中复制过来的。由于QIL和LSQ在其论文中没有在CIFAR-10上进行测试,我们使用我们自己的实现进行评估。0模型 方法 位宽(权重/激活)0ResNet-20090.50 89.90 88.20 - - - - - - PACT � [17] 91.30 91.10 89.70 - - - - - - PACT-SAWB � [54] - - 89.23 - - - 90.73 - - QIL [14] 91.5291.81 90.45 91.28 91.33 91.77 91.89 91.71 92.02 LSQ [18] 92.30 91.69 90.08 91.32 91.72 91.83 92.02 92.47 92.54 SLB � [19]91.60 - 90.60 - 91.30 91.80 92.00 91.80 92.10 LLT (Ours) 92.71 92.17 90.63 91.65 91.80 92.00 92.15 92.71 92.740VGG-Small088.20 89.90 90.50 - - - - - - QIL [14] 93.77 93.71 93.45 93.68 93.73 93.85 93.89 93.91 94.02 SLB � [19] 93.80 - 93.50 - 93.9094.00 94.00 94.00 94.10 CPQ � [55] 93.23 93.18 92.51 - - - - - - LLT (Ours) 94.20 94.03 93.83 93.90 94.02 94.10 94.10 94.1794.240渐进量化应该是自适应的。然而,现有方法中的启发式渐进量化方法[14, 20,56]在所有间隔和层上一致地减少量化级别,而不考虑它们的差异。相反,我们的查找表的演化更加灵活和自适应,如第4.4节所示。04.实验04.1.图像分类实验04.1.1 CIFAR-10上的评估0设置。CIFAR-10数据集[57]包含来自10个类别的50K训练图像和10K测试图像,大小为32×32。我们使用ResNet-20[58]和VGG-Small[59]作为量化的基线网络。它们的预训练全精度模型被用来初始化量化模型2。根据[14,16],第一个和最后一个层没有量化,以进行公平比较。实现细节在补充材料中提供。性能评估。我们将我们的方法与几种最近的均匀量化方法进行比较,包括DoReFa-Net[27],PACT [17],PACT-SAWB [54],QIL [14],LSQ[18],SLB [19]和CPQ[55]。DoReFa-Net、PACT、PACT-SAWB、LSQ和CPQ使用固定的线性量化器,而QIL采用可学习的量化器。请注意,本文重点研究均匀量化,不包括非均匀方法(例如LQ-Net [31],APoT [20]和LCQ[30])进行比较。基线网络被量化为不同的位宽进行比较。比较结果列在表1中。与全精度基线相比,我们的4/4位ResNet-20、4/4位和3/3位VGG-Small保持了可比较的准确性。对于2/2位量化,准确率分别下降了2.33%和0.27%(ResNet-20和VGG-Small)。与以前的量化方法相比,使用我们的查找表的量化模型表现更好。02对于ResNet-20,使用[20]中提供的预训练全精度模型。对于VGG-Small,我们训练了一个全精度模型进行初始化。0产生显著的性能改进。例如,我们的方法在4/4位量化中比第二好的方法提高了0.41%(92.71% vs.92.30%)和0.40%(94.20% vs.93.80%)。对于3/3位量化,我们的方法的准确率比第二好的方法(即QIL)分别提高了0.36%和0.32%(ResNet-20和VGG-Small)。对于不同位宽的权重和激活量化,我们的方法始终比其他方法产生更好的性能。这清楚地证明了我们的查找表的优越性。04.1.2 ImageNet上的评估0设置。ImageNet(ILSVRC-2012)数据集[60]包括来自1K类别的�1.2M训练图像和50K验证图像。ResNet-18被用作量化的基线网络。我们使用TorchVision库中的官方预训练模型来初始化量化网络。为了公平比较,根据[14,16],第一个和最后一个层没有量化。实现细节在补充材料中提供。性能评估。我们将我们的方法与几种最近的均匀量化方法进行比较,包括DoReFa-Net [27],ABC-Net[61],PACT [17],DSQ [16],QIL [14]和CPQ[55]。比较结果在表2中呈现。可以观察到,我们的4位模型对全精度基线有较好的表现(70.4% vs.69.8%)。此外,我们的LLT在不同的位宽上比其他量化方法有明显的优势。例如,我们的方法在3位量化中的Top-1/Top-5准确率比第二好的方法高0.3%/0.7%。04.2. 图像超分辨率实验0设置。我们使用DIV2K[62]中的800个训练图像作为训练集,并包括四个基准数据集(Set5 [63],Set14 [64],B100 [65]和Urban100[66])进行评估。EDSR [67]和RDN[34]被用作获取量化SR网络的基线。预训练的全精度模型2124280表2. 在ImageNet上达到的Top-1/Top-5准确率(%)。带有�标记的结果是从对应论文中复制的。0模型 方法 Top-1准确率 Top-5准确率032位 4位 3位 2位 32位 4位 3位 2位0ResNet-180- - - ABC-Net� [61] - 61.0 - - 83.2 - PACT� [17] 69.2 68.1 64.4 89.0 88.2 85.6 DSQ� [16] 69.6 68.7 65.2 - - - QIL� [14] 70.169.2 65.7 - - - CPQ� [55] 69.6 67.2 - 89.0 87.4 - LLT(我们的) 70.4 69.5 66.0 89.6 88.9 86.20表3. 在四个基准上实现的PSNR结果(×4 SR)。带有�和†标记的结果是从[41]和[43]复制的。0模型 数据集 基线 DoReFa-Net� [27] PACT� [17] LSQ [18] PAMS� [41] DAQ† [43] LLT(我们的)08位 4位 8位 4位 8位 4位 8位 4位 8位 4位 8位 4位0EDSR0Set5 32.46 30.19 29.57 31.52 31.39 32.34 32.27 32.12 31.59 - 32.34 32.43 32.40 Set14 28.77 27.30 26.82 28.18 28.10 28.66 28.6028.59 28.20 - 28.69 28.77 28.74 B100 27.69 26.77 26.47 27.29 27.25 27.65 27.63 27.57 27.32 - 27.61 27.71 27.70 Urban100 26.5424.22 23.75 25.25 25.15 26.49 26.34 26.02 25.32 - 26.33 26.60 26.510RDN0Set5 32.32 - - - - 32.27 32.20 32.34 30.44 - 31.96 32.37 32.26 Set14 28.71 - - - - 28.66 28.63 28.72 27.54 - 28.38 28.73 28.70 B10027.67 - - - - 27.63 27.60 27.64 26.87 - 27.38 27.68 27.66 Urban100 26.35 - - - - 26.23 26.20 26.37 24.52 - 25.73 26.33 26.290模型用于初始化3。根据[41,43],为了公平比较,只对主干块进行量化。实现细节请参见补充材料。性能评估。我们使用我们的方法和五种最新的量化方法(DoReFa-Net[27],PACT [17],LSQ [18],PAMS [41]和DAQ[43])来量化基线SR网络。DoReFa-Net,PACT和LSQ是三种通用的量化方法,而PAMS和DAQ是专门为SR网络开发的两种方法。如表3所示,我们的8位和4位模型在PSNR性能上与它们的全精度基线相当。例如,我们的4位EDSR模型在PSNR性能上与基线相当(32.40/28.74/27.70/26.51vs.32.46/28.77/27.69/26.54)。与其他量化方法相比,使用我们的查找表量化模型产生更高的PSNR结果。对于RDN的4位量化,我们的LLT优于DAQ,PSNR有显著提高(27.66/26.29 vs.27.38/25.73在B100/Urban100上)。从图4中,我们还可以看到使用我们的查找表量化的EDSR模型产生了更好的视觉质量和更清晰的细节。具体而言,我们的4位EDSR模型在第一行中准确恢复了网格,而其他模型则出现明显的失真伪影。04.3. 点云分类实验0设置。我们使用ModelNet40[68]来评估我们在点云分类上的方法。该数据集包含来自40个类别的12311个网格化CAD模型。我们采用了PointNet[44]和PointNet++ [48]作为基准。0对于EDSR,使用了官方预训练模型。对于RDN,由于官方模型是在Torch中实现的,而我们的方法是在PyTorch中实现的,因此我们使用我们的实现训练了一个全精度模型进行初始化。0表4. 在ModelNet40上达到的整体准确率(%)。0模型 方法 位宽0PointNet089.4 88.3 80.3 PACT [17] 89.4 87.9 80.8 QIL [14]89.7 88.6 82.8 LSQ [18] 90.0 88.6 84.7 LLT (Ours)90.7 89.9 87.60PointNet++092.2 92.2 89.2 PACT [17] 92.3 92.2 88.9 QIL [14]92.6 92.1 88.7 LSQ [18] 92.6 92.1 90.1 LLT (Ours)92.8 92.4 92.30tization.使用他们预训练的全精度模型进行初始化。根据[52],第一个和最后一层没有进行量化。实现细节请参见补充材料。性能评估。我们将我们的方法与四种均匀量化方法进行比较,包括DoReFa-Net [27],PACT [17],QIL[14]和LSQ[18]。使用不同方法的量化基线网络实现的结果如表4所示。与全精度基线相比,我们的4位量化模型产生了相当的准确性(例如,PointNet的90.7 vs.90.8)。此外,我们的方法在准确性上优于其他量化方法。例如,对于PointNet的2位量化,我们的LLT的准确性比第二好的方法(即LSQ)高出2.9%。04.4. 模型分析0在本节中,我们首先使用ResNet-20作为基准,在CIFAR-10上进行消融研究,以证明我们的设计选择的有效性。然后,我们进行实验分析我们的查找表。比例参数的指数形式。由于比例参数容易发生符号反转,因此我们使用指数形式(公式6)来处理。0124290Groundtruth0Groundtruth0DoReFa-Net0DoReFa-Net0PACT0PACT0PAMS0PAMS0Ours0我们的0图4. 4位量化EDSR模型产生的×4 SR的视觉结果。0表5. 在CIFAR-10上使用不同设置实现的Top-1准确率(%)。使用ResNet-20作为基准。0模型 指数形式 梯度重新缩放 位宽(权重/激活) 32/32 4/4 3/3 2/2092.44 92.02 89.81 1 � � 92.42 92.08 90.10 2 � � 92.65 92.08 90.14 3(Ours) � � 92.71 92.17 90.630引入了指数形式的公式以实现稳定的收敛性。为了证明其有效性,我们通过将模型0中的比例参数替换为指数形式(公式6)来开发了一个网络变体(表5中的模型1)。由于比例参数的符号反转在很大程度上影响网络的收敛性,模型0的准确性相对较低,特别是对于2/2位量化。通过我们的指数公式,可以实现良好的收敛性,从而获得更好的性能(90.10 vs. 89.81)。0图5进一步绘制了模型0和模型1中比例参数在训练过程中的曲线。可以观察到,模型0中的比例参数在第50和70个时期发生了剧烈波动并出现了符号反转。由于符号反转引起的收敛问题,模型0的准确性受到限制。通过我们的指数公式,模型1中比例参数的训练更加稳定,从而获得更好的性能。梯度重新缩放。引入了梯度重新缩放方案来处理查找表中不同单元之间的梯度不平衡。为了证明其有效性,我们开发了模型2,采用了梯度重新缩放方案。从表5可以看出,我们的梯度重新缩放方案使模型2获得比模型0更高的准确性(92.65/92.08/90.14 vs.92.44/92.02/89.81)。在没有梯度重新缩放方案的情况下,查找表中不同单元之间的梯度不平衡阻碍了良好的收敛性。因此,模型0的性能受到限制。通过我们的重新缩放方案,可以平衡查找表中不同单元的梯度(图3),从而实现良好的收敛性以获得更好的性能。我们进一步使用模型1和模型3来研究我们的梯度重新缩放方案对收敛性的影响。0时期0w s0图5.训练期间比例参数s w 的演化。0(a)模型1(b)模型30剪裁:9%0剪裁:66%0/ w s w / w w s0图6.2/2位量化模型1和模型3中的权重直方图。0查找表的直方图。具体来说,这些模型中的权重直方图如图6所示。在没有我们的重新缩放方案的情况下,接近0的单元格的梯度会主导查找表的训练,如3.4节所分析的那样。因此,查找表过于关注小值并剪裁了大量的大值(图6(a))。由于这些剪裁的值在训练过程中无法更新,会导致性能下降。通过我们的重新缩放方案,模型3可以平衡不同单元格上的梯度,实现良好的收敛性,如图6(b)所示。因此,可以获得更高的准确性(92.71/92.17/90.63 vs.92.42/42.08/90.10)。总体而言,通过指数形式的比例参数和梯度重新缩放方案,模型3实现了最佳性能。查找表的演化。如上所述,查找表的良好收敛对量化网络的性能至关重要。因此,我们在图7中以不同的时期展示了查找表的演化情况,以研究它们的演化过程。更多结果请参见补充材料。我们有三个观察结果:首先,激活函数的查找表的演化速度比权重的查找表快。在第10个时期,权重的查找表几乎保持不变。/2192.3791.9590.42592.6092.1490.58992.7192.1790.631392.7292.1590.62124300(b)第10个时期(准确率:86.38%)(d)第30个时期(准确率:90.14%)(c)第20个时期(准确率:88.21%)(e)第200个时期(准确率:92.71%)0权重激活函数0(a)初始0图7. 4/4位量化训练期间查找表的演化。0接近0的单元格保持不变。相反,激活函数的查找表的变化更大。我们认为,由于激活函数的分布通常比权重的分布更平缓,激活函数的查找表更容易优化。其次,对于权重的查找表,接近1的单元格比接近0的单元格更快地收敛(图7(b))。由于接近1的全精度值的数量要比接近0的值小得多,接近1的单元格更容易优化。第三,查找表的演化从浅层开始,然后逐渐深入(请参见补充材料中的图I)。总体而言,查找表的演化可以被视为一种自适应的渐进量化过程。在开始时,我们的查找表不限于4位量化,并自适应地分配更多的量化级别(图7(b))。然后,我们的查找表逐渐收敛到从浮点值到4位量化级别的映射(图7(e))。与以往的方法(例如,32→4→3→2)不同
下载后可阅读完整内容,剩余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直接复制
信息提交成功