没有合适的资源?快使用搜索试试~ 我知道了~
2040100120707274767880124340实例感知动态神经网络量化0Zhenhua Liu 1,2, Yunhe Wang 2, Kai Han 2, Siwei Ma 1,3, Wen Gao 1,301北京大学计算机科学学院视觉技术国家工程研究中心2华为诺亚方舟实验室3彭城实验室{liu-zh,swma,wgao}@pku.edu.cn,{yunhe.wang,kai.han}@huawei.com0摘要0量化是减少深度神经网络内存和计算成本的有效方法,其中完整精度的权重和激活使用低位值表示。现有量化方法中,大多数层的位宽是静态的,即对给定数据集中的所有样本都相同。然而,自然图像具有丰富的内容和多样性,对于所有样本使用通用的量化配置并不是最优策略。本文提出了对每个图像进行低位量化,并开发了一种动态量化方案来探索其最佳位宽。为此,建立了一个轻量级的位控制器,并与给定的神经网络一起进行训练以进行量化。在推断过程中,任意图像的量化配置将由控制器生成的位宽确定,例如,具有简单纹理的图像将分配较低的位宽和计算复杂度,反之亦然。在基准测试中进行的实验结果表明,所提出的动态量化方法在准确性和计算复杂度方面实现了最先进的性能。代码将在https://github.com/huawei-noah/Efficient-Computing和https://gitee.com/mindspore/models/tree/master/research/cv/DynamicQuant上提供。01. 引言0深度卷积神经网络(CNN)在包括图像处理[14,27],视频理解[5],自然语言处理[15]和语音识别[49]在内的广泛智能应用中取得了显著的成果。然而,这些模型对存储和计算资源的需求过高,以实现令人满意的性能,这限制了它们在移动和嵌入式设备上的部署。因此,如何有效地压缩和加速CNN是迫切需要解决的问题。0Bit-FLOPs (G)0准确率,ImageNet,Top-1(%)0PACTPACT+DQ0DoReFaDoReFa+DQ0图1.在ImageNet数据集上应用DQNet对ResNet50的结果。提出的DQNet可以轻松嵌入主流量化框架以获得更好的性能,例如DoReFa [51]和PACT [8]。10对于实际应用而言,模型压缩和加速方法已经进行了广泛的探索,例如修剪[16, 18, 30, 39],张量分解[24,38]和知识蒸馏[20,26],旨在在保持原始网络架构的同时缩小其规模。量化是另一种有效的方法,通过使用低位整数值表示网络中的权重和激活,可以减少复杂性,这对于应用程序非常方便,因为它不会改变网络架构并且易于部署。例如,Zhou等人[51]提出将权重和激活约束为低位值,并在反向过程中使用“硬tanh”函数[2]近似符号函数,以避免零梯度问题。[8, 12, 48,50]中的后续方法利用灵活的比例因子和训练策略来优化量化模型以获得更好的性能。01 Bit-FLOPs的计算结果是权重位宽、激活位宽和FLOPs(乘法和加法操作)的乘积。124350尽管上述方法在提高低位量化网络性能方面做出了巨大努力,但通常忽略了给定数据集中每个实例的多样性。事实上,在计算机视觉中,特别是在视觉识别任务中,如[35,37]所讨论的那样,如何有效处理困难和容易的示例是一个普遍问题。为此,吴等人[44]提出在推理过程中从预训练网络中选择一小部分层,并减少总体计算复杂性。程等人[7]指出,单一的网络架构对于给定数据集中的所有样本来说并不足够代表性,并利用实例级网络变化算法。这些方法主要是基于深度神经网络处理不同样本所需资源通常是各不相同的事实而发展起来的。例如,经过良好训练的网络很容易识别只包含一只狗的图像,但很难识别街景中的遮挡自行车。因此,我们有动机探索一种能够根据不同输入图像提供更好性能和计算复杂性平衡的实例感知动态方法。在本文中,我们提出了一种新颖的网络量化方案,它根据每个输入样本的条件动态分配量化神经网络中的位宽,如图2所示。具体而言,从给定的网络架构中派生出大量具有不同位宽配置的隐藏子网络。在推理过程中,一个难以准确识别的图像将被分配一个更大的网络,反之亦然。对于任意图像,使用位控制器来预测其权重和激活层的最佳位宽序列。位控制器采用轻量级架构设计,因此其额外的计算成本可以忽略不计。量化神经网络与位控制器一起进行端到端训练,以获得更好的性能。由于我们的动态量化网络(DQNet)可以根据不同的输入图像提供最佳的位宽配置,因此处理每个样本的计算成本可以大大降低。动态计算资源分配可以在计算成本和准确性之间实现更好的平衡,优于传统的静态量化方法。在CIFAR-10和ImageNet数据集上进行的大量实验证明,DQNet可以在消耗较少的计算资源的同时实现与静态量化方法相似甚至更好的分类准确性。02. 相关工作0在这里,我们将简要介绍网络量化的当前工作,包括传统的静态量化和混合精度量化。此外,总结和分析了现有的动态推理方法。0分析。0量化为了提高硬件效率,许多研究人员提出了对权重和激活进行量化的方法,从而允许在硬件中使用较低精度的计算单元。Courbariaux等人[9]提出使用二进制值表示权重和激活,并进一步提出在XNOR-Networks[34]中对二进制权重和二进制输入应用缩放因子的计算方法。非均匀量化的概念由[32]和[1]提出。Yang等人[45]将量化函数定义为多个sigmoid函数的线性组合,具有可学习的偏置和尺度。Esser等人[13]引入了一种估计和缩放任务损失梯度的方法,该方法适用于每个权重和激活层的量化器步长。这些方法对于所有样本都使用相同的量化结构,并忽略了给定数据集的多样性和复杂性。0混合精度量化传统的量化方法通常将所有层压缩到相同的精度,这可能导致性能显著下降。解决这个问题的一种可能性是使用混合精度量化。Wang等人[41]提出了一种基于强化学习的混合精度量化方法。Dong等人[10,11]提出利用二阶(Hessian矩阵)信息来决定量化位宽,考虑每个层的量化效果。Guo等人[17]提出了一种单路径一次性方法来搜索混合精度架构。可微分架构搜索(DARTS)[28]将离散搜索空间松弛为连续搜索空间,使得可以通过梯度下降进行优化。吴等人[43]和蔡等人[4]使用DARTS来找到CNN的每个层的位分配。尽管这些方法对每个层使用不同的位宽进行量化,但它们没有考虑不同样本的计算需求是各不相同的。0动态推断最近,出现了一些专注于在不同情况下设计不同架构的动态神经网络。刘等人提出了 D 2 NN [ 29],它在给定输入时执行网络的子集神经元。王等人 [ 42]引入了使用门控网络根据前一层的激活选择性跳过卷积块的方法。黄等人开发了 MSDNet [ 21],它使用不同的资源需求训练多个分类器。于等人 [ 47]提出了可调节宽度的神经网络,它学习了一个可以在不同宽度上执行的单个神经网络。蔡等人 [ 3]提出通过解耦训练和搜索来训练一个支持多种架构设置的全能网络。陈Q(z) = γj,∀ z ∈ (uj, uj+1],(1)Q∆(z) = R( z∆) · ∆,(2)124360输入图像0每层权重和激活的位宽02位03位04位05位0层 1 层 2 层 n02位03位04位05位02位03位04位05位0层 302位03位04位05位0输出...0全连接层0比特控制器0图2. 提出的动态网络量化方法的示意图。比特控制器首先为每个输入图像生成最佳位宽序列,然后网络将根据最佳量化进行调整。0et al. [ 6 ]提出了基于注意力动态聚合多个并行卷积核的方法。这些方法考虑了数据集的复杂性或不同计算资源的限制,并进一步提高了CNN的性能。基于不同样本的所需计算复杂度各不相同的事实,我们将开发一种实例感知的量化算法,以适当分配量化神经网络的计算资源。03. 方法0在本节中,我们首先回顾传统的网络量化方法,然后描述我们的动态量化策略,以在网络准确性和效率方面获得更高的性能。03.1. 网络量化0对于任意的具有 n 个卷积层 { L 1 , ..., L n }的神经网络,存在 n 组权重 W = { W 1 , ..., W n }分别属于这些层。对于第 i 个卷积层,其权重表示为 W i ∈R c i × s i × s i × o i ,其中 s i 是卷积核大小,c i 和 o i分别是该层的输入通道数和输出通道数。给定一批训练样本X 和相应的真实标签 Y ,网络的误差可以定义为 L cls,其中 L cls可以是交叉熵损失或均方误差等。给定的深度神经网络的训练是通过解决经验风险最小化问题来进行的。基本上,传统神经网络的训练和推断都使用浮点数,即权重和激活都使用32位精度存储。模型量化方法使用低位值表示神经网络中的权重或激活,以减少计算和内存成本。为了量化权重 W i和激活 A i ,这些浮点数0权重和激活的位宽需要限制在有限的值集合中。量化函数通常定义为:0其中 ( u j , u j +1 ] 表示实数区间 ( j = 1 , ..., 2 b ) ,b是量化位宽,z 是输入值,即权重或激活。方程 ( 1 )中的量化函数将 ( u j , u j +1 ] 范围内的所有值映射到 γ j。对于这些区间的选择,常用的策略是使用统一的量化函数[ 23 , 51 ],即将上述范围等分,即0其中原始范围 ( l, r ) 被分成 2 b 个统一的区间,∆ = r − l02 b 是区间长度,R是舍入函数。为了使非可微分的量化过程能够进行端到端的优化,通常采用直通估计器[2]来近似量化函数的导数。03.2. 动态量化0尽管已经探索了大量的量化方法,但传统量化方法中的位宽通常对所有输入都是静态的。事实上,最近数据集中自然图像的多样性非常高,大多数现有的量化算法并没有考虑到它们的多样性和内在复杂性。为了精确分配计算资源,我们提出了动态量化来根据输入调整每一层的位宽。假设有 K个位宽候选,即 b 1 ,b 2 ,...,b k。动态量化旨在选择每一层的权重和激活的最佳位宽,可以通过聚合多个位宽来表示:Qi,j(z) =K�k=1pki,j · Q∆ki (z),s.t. pki,j ∈ {0, 1},K�k=1pki,j = 1.(3)Yi,j = �Wi,j ∗ �Xi,j,(4)�Wi,j = Qi,j(Wi) =K�k=1pki,j · Q∆ki (Wi),(5)Xi,j = Qi,j(Xi,j) =K�k=1pki,j · Qδki (Xi,j),(6)𝑋, 𝑊*𝑔 𝑋, 𝑊𝑌 = 𝑔( 𝑊𝑇 𝑋)***𝑝0𝑝1𝑝2𝑝3𝑝4*pk =��pk =(hk+πk)/τ124370如下所示,为每个样本分配不同的位宽:0其中 p k i,j 表示第 i 层中第 j 个样本的第 k个位宽的选择。然后,第 i 层中第 j个样本的动态量化可以表示为:0其中 ∆ k i 和 δ k i分别表示权重和激活的量化区间,同一层中的权重和激活应用相同的位宽。通过利用公式(4)-(6),对于给定的输入,动态卷积层正好是混合精度层的聚合,可以充分发挥量化神经网络的潜力。为了方便起见,在公式中省略了偏置项,实际上偏置项的量化区间∆ ki与权重的量化区间相同。使用提出的动态量化网络(DQNet)的示意图如图2所示,给定一张图像,我们的目标是在网络性能和计算负担之间提供最佳的权衡。因此,在计算的一定限制下,量化神经网络仍然可以良好地工作。然而,公式(4)-(6)不能直接进行优化,因为每一层的选择指示器 p k i,j 不是固定的,它们随输入 x变化。测试数据集无法提前获得,对于训练数据集,选择指示器的存储需求将是巨大的。例如,对于ResNet-50网络,可能的位宽配置数量为 5^50 = 8.8 × 10^340当有五个位宽候选时,对于每个样本进行预测。03.3. 动态量化的位控制器0为了解决上述的挑战性问题,我们采用了一个位控制器来预测所有层的权重和激活的位宽,通过识别每个输入样本的复杂性。在实践中,位控制器将输出一个由预测逻辑组成的向量,表示每个层中每个位宽候选的选择概率。位控制器经过精心设计,采用极小的架构,以避免明显增加生成网络的内存和计算负担。具体而言,位控制器是一个较小的网络。0位控制器:预测的比特宽度03比特 4比特 5比特0图3.使用动态量化方法训练一层的范式。该层中权重和激活的比特宽度由位控制器预测,并且只选择一个比特宽度来处理给定的输入。0主网络的前几层组成了位控制器,后面是一个MLP,实际上MLP只包含两个全连接层。通过这种方式,我们的DQNet可以以可忽略的计算量预测每一层的比特宽度。我们在第4.4节中研究了将一些层从主量化网络用于位控制器的影响。此外,位控制器与主量化网络一起进行端到端训练,并且位控制器将一次性生成所有后续层的比特宽度的预测logits。假设位控制器的输出logits为 h 1 , h 2 , ∙ ∙ ∙ , h k,则可以相应地选择比特宽度,即 p k 确定为01 ,如果 k = arg max00 ,否则。 (7)0在训练和推断过程中,每一层只选择一个比特宽度,如图3所示。为了提供一个可微分的公式来采样argmax,我们在训练过程中使用了Gumbel-softmax技巧:0j e ( h j + π j ) /τ ,(8)0其中 τ 是控制新样本近似于one-hot向量的温度参数。 π k0是遵循Gumbel分布的随机噪声,可以描述为:0π k = − log ( − log ( u k )) ,其中 u k � U (0 ,1) 。 (9)0在前向传播过程中,获得了某一层对于特定样本的比特宽度后,DQNet将相应地量化权重和激活,即(10)Ltotal = Lcls + α · max(n124380算法1:提出的动态量化方案的训练过程。输入:输入图像X 和它们的标签;权衡参数α。输出:使用我们的算法得到的动态量化神经网络。01: 设置训练DQNet的迭代次数 T 和批量大小 m 2:随机初始化网络和位控制器的权重,并对输入图像进行量03: 对于 t 从 1 到 T 的循环 4:使用位控制器输出每层不同比特宽度的概率05: 使用公式 ( 7 )生成不同比特宽度的选择的one-hot向量。06: 对于 i 从 1 到 n 的循环08: 对于第 i 个样本中的第 j 个样本,对 X i,j 和 W i 进行量化0根据不同比特宽度的选择,使用公式 ( 5 ) 和 ( 6) 对层进行处理。09: 结束循环010: 使用公式 ( 4 ) 计算第 i 层的输出。011: 结束循环012: 根据公式 ( 11 )更新整个网络,并在更新Gumbel-softmax层时使用公式 (013: 结束循环0相应地量化权重和激活,即0� W i,j = Q i,j ( W i ) = Q ∆ k0� X i,j = Q i,j ( X i,j ) = Q δ k i (X0当 k = arg max k ′ h k ′时,0其中 ∆ k i 和 δ k i是使用预测的比特宽度对权重和激活进行量化的量化间隔。在反向传播过程中,量化网络将使用公式 ( 8 )计算的梯度。值得注意的是,虽然有多个比特宽度的候选项,但实际上只需要存储权重值的最大比特宽度。由于设备的瓶颈是推断时间,权重的轻微增加的存储可以忽略不计。03.4. 优化0为了灵活控制DQNet的计算成本,我们在损失函数中添加了一个Bit-FLOPs约束项,因此总损失函数的形式为:0i =1 B i - B tar , 0) , (11)0其中B i 是第i层的Bit-FLOPs,B tar是量化网络的目标Bit-FLOPs。α是权衡因子。0关于参数的关闭对于给定的目标Bit-FLOPs,动态量化神经网络将捕捉数据集计算需求的固有变化,并为不同实例和不同层分配最佳位宽。所提出的动态量化方案的训练过程如算法1所示。04. 实验结果0在本节中,我们首先介绍DQNet的训练细节,然后展示DQNet在CIFAR-10数据集[25]和ImageNet数据集[36]上的结果。在消融研究中,我们展示了从主网络中选择前几层作为位控制器的效果以及位控制器中层数的影响。最后但并非最不重要的是,我们探索了DQNet在不同输入实例之间的计算分配。04.1. 训练细节0数据集和评估指标我们在两个基准分类数据集上评估我们的方法:CIFAR-10和ImageNet。CIFAR-10数据集包含50K个训练图像和10K个测试图像,标记为10个类别。在训练和推断过程中,我们使用类似于[19]中的简单数据增强,包括平移和翻转。ImageNet数据集包含120万个训练图像和5万个验证图像,标记为1000个类别。我们使用平移和翻转进行数据增强,并在验证集上进行测试并报告Top-1分类准确率。0位控制器对于位控制器网络,如果采用一个较小的网络,其表达能力将不足。然而,如果采用一个较大的网络,计算负担将过大,与我们的初衷相悖。为了实现最佳权衡,我们采用主网络的前几层作为位控制器,其中包括由两个全连接层组成的MLP,后面跟着输出层。这样,对于整个网络来说,额外的计算量是可以忽略的。例如,对于CIFAR-10(ResNet-20),位控制器的额外计算量为1.1%;对于ImageNet(ResNet-50),位控制器的额外计算量为0.9%。具体来说,ResNet中第一阶段(ResNet20的一个卷积层和两个残差块)的输出特征图被用作MLP的输入。0位宽候选值对于位宽候选值,我们选择接近目标位宽2的值。例如,如果目标位宽为2,则位宽候选值为{3,4,5,6,7}。02为了方便描述,我们将目标Bit-FLOPs替换为相应的位宽。实际上,目标位宽可以是一个浮点数,比传统的量化方法更灵活。124390表1.在CIFAR-10数据集上,我们将提出的DQNet与PACT和DoReFa的ResNet20性能进行比较。参考全精度模型的Top-1准确率为91.6%。这里'MP'代表混合精度。0静态量化 动态量化0方法 位数 Bit-FLOPs(G) Top-1准确率(%) 位数 Bit-FLOPs(G) Top-1准确率(%)0DoReFa [51] 3 0.34 89.9 � 3 MP 0.34 90.23 DoReFa [51] 4 0.61 90.5 � 4 MP 0.62 90.79DoReFa [51] 5 0.95 90.4 � 5 MP 0.96 91.090平均值 - 0.63 90.27 - 0.64 90.700PACT [8] 3 0.34 91.1 � 3 MP 0.36 91.38 PACT [8] 4 0.61 91.3 � 4 MP 0.65 91.60 PACT[8] 5 0.95 91.7 � 5 MP 0.98 92.010平均-0.63 91.37-0.65 91.630如果目标位宽为3,则位宽候选值为{2,3,4},因为从1位量化到3位量化性能会大幅下降。众所周知,第一个卷积层和最后一个全连接层对于识别是至关重要的,因此这两层采用8位量化,就像传统量化方法中的设置一样。0实现细节我们采用四种量化方法作为基准:DoReFa-Net[51],PACT [8],LQ-Nets [48]和LSQ[12]。我们基于这些方法进行DQNet,并展示了我们方法的有效性。我们采用PyTorch [33]和MindSpore[22]进行实现,并使用带有0.9动量的随机梯度下降(SGD)作为优化器。对于CIFAR-10数据集,学习率从0.1开始,并在第60、120、180个epoch时按0.1的比例进行缩放。权重应用L2正则化器,衰减率为0.0002。使用256的小批量大小,最大epoch数为200。对于ImageNet数据集,学习率从0.1开始,并在第30、60、85、110个epoch时按0.1的比例进行缩放。权重应用L2正则化器,衰减率为10^-4。使用256的小批量大小,最大epoch数为120。对于超参数α,对于CIFAR-10设置为0.01,对于ImageNet设置为0.05,因为这两个数据集上的分类损失量级不同。所有实验都在NVIDIAV100 GPU上进行。04.2. CIFAR-100在本节中,我们展示了在CIFAR-10数据集上使用ResNet-20模型的实验结果。具体来说,我们在表1中展示了静态量化和我们的动态量化之间的比较。对于ResNet20,可以看出DQNet的平均top-1准确率分别比DoReFa和PACT高0.43%和0.26%,在相似的Bit-FLOPs下。此外,DQNet可以节省约40%的计算量,同时实现了更好的性能。0PACT(在0.36G Bit-FLOPs中的91.38% vs. 在0.61GBit-FLOPs中的91.3%)。具体来说,DQNet的结果甚至比32位精度神经网络的准确率更好,后者的准确率为91.6%,而我们的DQNet仅使用0.98GBit-FLOPs就可以达到92.01%的准确率。更多结果可以在补充材料中看到。04.3. ImageNet0为了进一步证明DQNet的有效性,我们将其应用于一个更大的数据集-ImageNet。我们将提出的DQNet应用于四种量化方法:DoReFa-Net [51],PACT [8],LQ-Nets[48]和LSQ[12]。实验使用ResNet-50模型进行,该模型由一个卷积层、16个ResNet瓶颈块和一个最终的全连接层组成。结果如表2所示。0DoReFa-NetDoReFa-Net对权重和激活进行量化,并且还使用低位宽来量化参数梯度。从结果可以看出,动态量化相对于DoReFa-Net可以获得2.16%的平均top-1准确率提升,这是一个很大的进步。此外,3位动态量化网络的准确率甚至比5位DoReFa-Net的性能更好。0PACTPACT提出了一个参数化的剪裁激活函数,并在模型训练过程中自动优化量化尺度。PACT是一个更好的基准,我们也基于PACT进行了DQNet。结果表明,DQNet仍然可以获得显著的收益,平均Top-1准确率提高了0.45%。值得注意的是,动态量化可以节省35%的计算量,同时实现更好的top-1准确率(在61.49G Bit-FLOPs中的76.94% vs. 在95.73GBit-FLOPs中的76.7%)。0LQ-NetsLQ-Nets是一种经典的非均匀量化方法,而DoReFa-Net和PACT都是均匀量化方法。它应用可学习的量化器,可以与网络参数一起进行联合训练。124400表2.在ImageNet数据集上,使用ResNet50的DQNet与DoReFa-Net、PACT、LQ-Nets和LSQ的性能比较。参考全精度模型的Top-1准确率为76.96%。这里'MP'表示混合精度。0静态量化 动态量化0方法 位 比特FLOPs(G) Top-1准确率(%) 位 比特FLOPs(G) Top-1准确率(%)0DoReFa [51] 3 34.46 69.9 � 3 MP 34.68 71.81 DoReFa [51] 4 61.27 71.4 � 4 MP 61.3872.90 DoReFa [51] 5 95.73 71.4 � 5 MP 95.86 74.480平均值 – 63.82 70.9 – 63.97 73.060PACT [8] 3 34.46 75.3 � 3 MP 34.70 75.81 PACT [8] 4 61.27 76.5 � 4 MP 61.49 76.94PACT [8] 5 95.73 76.7 � 5 MP 96.27 77.120平均值 – 63.82 76.17 – 64.15 76.620LQ-Nets [48] 3 34.46 74.2 � 3 MP 34.75 74.89 LQ-Nets [48] 4 61.27 74.89 � 4 MP 61.3975.720平均值 – 47.86 74.54 – 48.07 75.310LSQ [12] 3 34.46 75.8 � 3 MP 34.69 76.16 LSQ [12] 4 61.27 76.7 � 4 MP 61.35 2 3 77.020平均值 – 47.86 76.17 – 48.02 76.590表3. 在ImageNet数据集上使用ResNet-50对提出的DQNet与混合精度方法HAQ和HAWQ的性能进行比较。0方法 模型 W-Bits A-Bits 比特FLOPs(G) Top-1 (%)0HAQ [41] ResNet-50 � 3 MP � 3 MP � 34.46 75.30 HAWQ [11] ResNet-50 � 2MP � 4 MP � 31.67 75.48 我们的ResNet-50 � 3 MP � 3 MP 34.59 75.810HAQ [41] ResNet-50 � 4 MP � 4 MP � 61.27 76.14 我们的ResNet-50 � 4 MP � 4MP 61.49 76.940HAQ [41] MobileNet-V2 � 3 MP � 3 MP � 2.72 70.90 我们的MobileNet-V2 � 3MP � 3 MP 2.81 71.560HAQ [41] MobileNet-V2 � 4 MP � 4 MP � 4.85 71.47 MPDNN [40]MobileNet-V2 � 4 MP � 4 MP – 69.74 AutoQ [31] MobileNet-V2 4.14 3.67 –70.8 FracBits [46] MobileNet-V2 � 4 MP � 4 MP 5.33 71.3我们的MobileNet-V2 � 4 MP � 4 MP 4.94 72.050实验结果证明了我们方法的普适性。因此,DQNet将LQ-Nets的准确性分别提高了0.69%和0.83%。0LSQLSQ引入了一种新的方法来估计和缩放每个权重和激活层的量化器步长的任务损失梯度,以便可以与其他网络参数一起学习。我们可以看到LSQ在这些方法中取得了最好的性能。然而,它仍然可以从动态量化中受益。值得注意的是,基于LSQ的DQNet的top-1准确率甚至大于全精度模型。我们认为原因是动态量化为神经网络提供了更好的正则化。0与混合精度方法的比较我们还将我们的DQNet与混合精度方法进行比较。结果如表3所示。与HAWQ[11]相比,DQNet在类似的计算成本下取得了更好的性能。请注意,HAWQ中的权重和激活的位宽是不同的,这在实践中很难实现理论上的加速。与HAQ[41]相比,DQNet在约35G和61G比特FLOPs下表现更好。使用更紧凑的模型MobileNet-V2,我们的DQNet在约3位和4位量化下分别比HAQ提高了0.66%和0.58%。04.4. 消融研究0将主网络的前几层作为位控制器的前部分显然可以减少附加的计算量。010666768697071124410图4. 使用不同的Bit-FLOPs在不同样本上对DQNet的定性结果。输入图像的上下文从上到下变得更加复杂,消耗的计算资源也变得更大。0位控制器中的卷积层数量0Top-1准确率(%)05位(额外层)5位(共享层)04位(共享层)3位(共享层)0图5.使用额外的卷积层与在位控制器中使用主网络的卷积层进行比较。0ditional computation cost. We compare the results withus- ing separate convolutional layers as the bit-controller.The experiments are conducted with ResNet18 onImageNet dataset. As shown in Figure 5, employing thefirst several layers of the main network achievescomparable results compared to using separateconvolutional layers which introduces additionalcomputation costs. We also test how the number ofshared layers between the main network and thebit-controller affect the performance of DQNet. Theexperiments are also carried out with ResNet18 onImageNet dataset. As we see in Figure 5, the results ofutilizing only one convolutional layer is terrible, which areeven worse than static quantization. The reason is that theexpression ability of bit-controller is not powerful enough.Along with the increase of the number of layers inbit-controller, the performance of DQNet becomes better.0然而,共享层不能太大,以免对主网络的多样性和正则化产生负面影响。04.5. Qualitative Results0最后,基于我们学到的动态量化策略提供了定性结果。图4展示了来自ImageNet数据集的一些样本。顶部一行显示了使用较少Bit-FLOPs正确分类的图像,而底部一行的样本利用了更多的Bit-FLOPs。结果显示,使用较少Bit-FLOPs的样本确实更容易识别,因为它们包含位于中心的单个正面视图对象,而需要更多计算的样本中出现遮挡或杂乱的背景。05. Conclusion0在本文中,我们开发了一种新颖的动态量化方案,其中每个层的权重和激活的位宽因输入实例而异。为此,我们提出使用一个轻量级的位控制器与整个网络一起进行联合训练。位控制器将预测所有层的最佳位宽,以最大限度地利用给定网络架构在每个输入图像上的冗余。具体而言,对于识别复杂度较低的图像,将分配一个便携式网络,而对于其他图像将使用较重的网络以保持识别准确性。实验结果表明,所提出的DQNet可以轻松嵌入主流量化框架,以在网络准确性和计算成本方面获得更好的结果。我们认为所提方法的好处对于特定硬件的开发将是启发性的。124420References0[1] Chaim Baskin,Eli Schwartz,EvgeniiZheltonozhskii,Natan Liss,Raja Giryes,Alex MBronstein和Avi Mendelson。Uniq: Uniform noise injectionfor non-uniform quantization of neural networks. arXivpreprint arXiv:1804.10969, 2018. 20[2] Yoshua Bengio,Nicholas L´eonard和AaronCourville。Estimating or propagating gradients throughstochastic neurons for conditional computation. arXivpreprint arXiv:1308.3432, 2013. 1, 30[3] Han Cai,Chuang Gan,Tianzhe Wang,ZhekaiZhang和Song Han。Once-for-all: Train one network andspecialize it for efficient deployment. arXiv preprintarXiv:1908.09791, 2019. 20[4] Zhaowei Cai和Nuno Vasconcelos。Rethinkingdifferentiable search for mixed-precision neural networks. InProceedings of the IEEE/CVF Conference on ComputerVision and Pattern Recognition, pages 2349–2358, 2020. 20[5] Joao Carreira和Andrew Zisserman。Quo vadis, actionrecognition? a new model and the kinetics dataset. Inproceedings of the IEEE Conference on Computer Vision andPattern Recognition, pages 6299–6308, 2017. 10[6] Yinpeng Chen,Xiyang Dai,Mengchen Liu,DongdongChen,Lu Yuan和Zicheng Liu。Dynamic convolution:Attention over convolution kernels. In Proceedings of theIEEE/CVF Conference on Computer Vision and PatternRecognition, pages 11030–11039, 2020. 30[7] An-Chieh Cheng, Chieh Hubert Lin, Da-Cheng Juan, WeiWei, and Min Sun. Instanas: 实例感知神经架构搜索.在AAAI中,页码3577-3584,2020年. 20[8] Jungwook Choi. Pact: 参数化剪辑激活用于量化神经网络.arXiv预印本arXiv:1805.06085 , 2018年. 1 , 6 , 70[9] M. Courbariaux, I. Hubara, D. Soudry, R. El-Yaniv, and Y.Bengio. 二值化神经网络:训练权重和激活限制为+1或-1的深度神经网络.arXiv预印本arXiv:1602.02830 , 2016年. 20[10] Zhen Dong, Zhewei Yao, Yaohui Cai, Daiyaan Arfeen,Amir Gholami, Michael W. Mahoney, and Kurt Keutzer.Hawq-v2: 具有Hessian感知的迹加权量化的神经网络.arXiv预印本arXiv:1911.03852 , 2019年. 20[11] Zhen Dong, Zhewei Yao, Amir Gholami, MichaelMahoney, and Kurt Keutzer. Hawq:具有混合精度的神经网络的Hessian感知量化.在2019年IEEE/CVF国际计算机视觉会议(ICCV)中,页码293-302,2019年. 2 , 70[12] Steven K Esser, Jeffrey L McKinstry, Deepika Bablani,Rathinakumar Appuswamy, and Dharmendra S Modha.学习步长量化. arXiv预印本arXiv:1902.08153 , 2019年. 1 , 6 , 70[13] Steven K Esser, Jeffrey L McKinstry, Deepika Bablani,Rathinakumar Appusw
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功