没有合适的资源?快使用搜索试试~ 我知道了~
LQ-Nets:用于高精度和紧凑型深度神经网络的张东青*、杨娇龙*、叶东强子 *、华刚微软研究院zdq z eros@gmail. comjiaoyan@microsoft. 我知道你的意思。c omganghua@microsoft. Com抽象。虽然权重和激活量化是深度神经网络(DNN)压缩的有效方法,并且具有利用位操作来提高推理速度的很大潜力,但是在量化模型和全精度模型之间的预测准确性方面仍然存在明显的差距为了解决这个差距,我们提出联合训练量化的位操作兼容的DNN及其相关量化器,而不是使用固定的手工量化方案,例如均匀或对数量化。我们的学习量化器的方法适用于网络权重和激活任意位精度,我们的量化器很容易训练。在CIFAR-10和ImageNet数据集上进行的综合实验表明,我们的方法对于各种网络结构(如AlexNet,VGG-Net,GoogLeNet,ResNet和DenseNet)都表现良好,在准确性方面超过了以前的量化方法。代码可在https://github.com/Microsoft/LQ-Nets关键词:深度神经网络·量化·压缩1介绍深度神经网络,特别是深度卷积神经网络,在计算机视觉和更广泛的人工智能领域取得了巨大的成功然而,大的模型尺寸和高的计算成本仍然是许多应用的巨大障碍,特别是在一些有限的存储器和计算资源的受限设备为了解决这个问题,最近对降低DNN的模型复杂度的兴趣激增。代表性的技术包括量化[6,34,29,54,52,21,39,53,22,3,55,9,18]、修剪[13,12,17,36]、低秩修剪[15,17,18]、低秩修剪[16,19]、低秩修剪[17,19]、低秩修剪[18,19]。分解[7,8,24,27,38,51,49]、散列[4]和故意架构设计[23,19,50]。在这些方法中,基于量化的方法以非常低的精度表示网络权重,因此与其浮点对应物相比,产生高度紧凑的此外,已经表明,如果网络权重和激活都被正确量化,则可以通过按位运算有效地计算卷积运算[39,21],从而实现无需GPU的快速推理。*作者贡献均等。这项工作是在DY在MSR实习时完成的2D. 张,J.Yang,杨氏D.Ye和G.华尽管通过现有的基于量化的方法[6、34、29、54、52、21、39、53、22、3、55、9、18]实现了有希望的结果,但是在量化的DNN与它们的全精度对应物之间仍然存在相当大的准确度差距例如,使用最先进的方法[3],具有1位权重和2位激活的50层ResNet模型[15]可以在ImageNet验证集上实现64.6%的top-1图像分类准确率[40]。然而,全精度参考值为75.3% [15],即,由量化引起的绝对精度下降高达10.7%。这项工作致力于推动网络量化算法的极限,以实现更好的精度与低精度的权重和激活。我们发现现有方法通常使用简单的手工制作的量化器(例如,均匀或对数量化)[11,31,53,22,37,52]或在网络训练期间固定的其他预先计算的量化器[3]。然而,人们永远不能确定简单量化器是网络量化的最佳选择。此外,不同网络甚至不同网络层中的权重和激活的分布可能有很大不同。我们认为,一个更好的量化器应该适应的权重和激活,以获得更多的灵活性。为此,我们提出联合训练量化的DNN及其相关联的量化器。所提出的方法不仅使量化器可学习,而且使它们与逐位操作兼容,以保持适当量化神经网络的快速推理优点我们的量化器可以优化,通过反向传播在一个标准的网络训练管道,我们进一步提出了一种算法的基础上量化误差最小化,从而产生更好的性能。所提出的量化可以应用于网络权重和激活两者,并且可以实现任意比特宽度此外,可以应用具有非共享参数的逐层量化器以获得进一步的flexibility。我们将通过您的“LQ -网络”查询这两个网络。我们在CIFAR- 10 [25]和ImageNet [40]数据集上使用图像分类任务评估了我们的LQ-Net。实验结果表明,它们在AlexNet [26],VGG-Net[41],GoogLeNet [42],ResNet [15]和DenseNet [20]等各种网络结构中表现非常好,远远超过了以前的量化方法2相关工作大量的工作已经致力于减少DNN模型的大小和提高推理效率的实际应用。我们简要回顾现有的方法如下。紧凑型网络设计:为了实现快速推理,一种策略是精心设计紧凑的网络架构[32,42,23,19,50]。例如,网络中的网络[32]通过微网络增强 了 局 部 建 模 , 并 通 过 全 局 平 均 池 化 替 换 了 昂 贵 的 全 连 接 层GoogLeNet [42]和SqueezeNet [23]利用1×1卷积层来计算之前的约简LQ-Nets:高精度和紧凑DNN的学习量化3该实验室采用3×3或5×5的胆固醇单元。类似地,ResNe t [15]应用了具有1 × 1约束的“bot tle-neck”结构,而该结构不依赖于具有规范参数的设计。最近提出的计算高效的网络结构MobileNet [19]和ShuffleNet [50]采用了[5,48]中提出的深度卷积或组卷积来降低计算成本。网络参数降低:大量的努力致力于减少现有网络中的参数数量[13,12,17,36,7,8,24、27、38、51、49、4、35、28、45、10、46]。例如,通过利用滤波器权重的冗余,一些方法使用它们的低秩近似来替换预先训练的权重[7,8,24,27,38,51,49]。在[13,12]中研究了连接修剪以减少AlexNet和VGG-Net的参数,其中在完全连接的层上实现了显着减少最近在ResNet等现代网络架构上取得了有希望的结果[17,36]。另一种类似的技术是通过结构化稀疏性来正则化网络,以获得硬件友好的DNN模型[35,28,45]。还探索了其他一些方法,如哈希和矢量量化[44],以降低DNN模型的复杂性[4,10,46]。网络量化:我们的方法也属于另一类现有方法,通过量化训练低精度DNN。这些方法可以进一步分为两个子类别:仅对权重执行量化的那些方法与权重和激活两者。对于仅加权量化方法,Courbariaux et al.[6]将权重限制为-1和1这两个可能的值(即,二进制化或一位量化)。他们使用随机二值化在小数据集上获得了有希望的结果。Rastegari等人[39]后来证明,具有优化比例因子的确定性二进制化近似全精度权重在更深的网络结构和更大的数据集上工作得更好。为了获得更好的准确度,在[34,29,54,52,9,18]中探索了三进制和其他多比特量化方案在[52]中表明,通过增量分组量化和重新训练,用5位量化网络在后者方面,Hubara et al.[21] Rastegari et al.[39]建议将权重和激活二进制化为-1和+1。这样,卷积运算可以通过有效的逐位运算来实现,从而大幅加速。为了解决显著的精度下降,在[53,22,37,43,30,33]中进一步研究了多位量化。量化函数的流行选择是均匀量化[53,22]。Miyashita等人[37]使用对数量化,并通过移位运算提高推理效率Cai等人[3]提出了二进制化网络权重,同时使用多个位量化激活通过拟合半波高斯分布的概率密度函数计算的单个激活量化器被应用于所有网络层并且在训练期间被固定。在Tang et al.[43] Li et al.[30]中,每个位用于对来自先前位的残差近似误差进行二进制化。4D. 张,J.Yang,杨氏D.Ye和G.华nn我们所提出的方法可以量化的权重和激活任意位宽。不同于以往的大多数方法,我们的量化器是自适应学习网络训练过程中。3LQ-Nets:学习量化在本节中,我们首先简要介绍神经网络量化的目标然后,我们将详细介绍我们的量化方法,以及如何在标准网络训练管道中使用它来训练量化的DNN模型。3.1准备工作:网络量化深度神经网络中的主要操作是交错的线性和非线性变换,表示为z=σ(wT a),(1)其中w∈RN是权重向量,a∈RN是由前一网络层计算的输入激活向量,σ(·)是非线性函数,并且z是输出激活。1卷积层由多个卷积滤波器组成,其中C,H和W分别是卷积滤波器通道的数量,内核高度和内核宽度全连接层可以被看作是一种特殊类型的卷积层。现代深度神经网络通常具有数百万个权重参数,这会导致大量的存储器占用。同时,权值与特征向量之间的大量内积运算导致了较高的计算代价。内存和计算成本是移动电话等资源受限设备上的许多应用程序的巨大障碍。网络量化的目标是用几个比特表示浮点权重w和/或激活a。通常,量化函数是分段常数函数,其可以被写为Q(x)=ql,如果x∈(tl,tl+1],(2)其中q,l,l = l,…L是量化级别,并且(tl,tl+1)是量化间隔。量化函数将量化区间内的所有输入值映射到对应的量化级别,并且量化值可以仅由log2L比特编码。也许最简单的量化器是用于二进制量化的符号函数[21,39]:如果x ≥ 0,则Q(x)=+1或-1。对于2位或更多位的量化,最常用的量化器是均匀量化函数,其中所有量化步长ql+1-ql都相等[53,22]。一些方法使用对数量化,其均匀地量化对数域中的数据[37]。量化网络权重可以生成高度紧凑和内存-高效DNN模型:使用n位编码,压缩率为32或641为了简洁起见,我们省略了等式1中的偏置项(一).LQ-Nets:高精度和紧凑DNN的学习量化5×106×105conv2_1_1,过滤器#1,平均值:0.00,标准:0.09 conv4_3_2,过滤器#1,平均值:0.00,标准品:0.04conv2_1_1,平均值:0.76,标准值:0.956×107conv4_3_2,平均值:0.48,标准品:1.143.1×107403020100电话:021 - 88888888传真:021-88888888100806040200-0.1-0.0500.050.164200 2 4 683.0510500 5 10 15 20图图1:在CIFAR-10上训练的ResNet-20网络的不同层的权重(左两列)和激活(右两列)分布所有测试集图像用于获得激活统计。与32位或64位浮点表示相比此外,如果权重和激活两者都被适当量化,则等式1中的内积为:(1)可以通过诸如XNOR和POPCNT的逐位运算来计算,其中XNOR是非逻辑运算,并且POPCNT是位串中的1的个数这两种操作都可以在大多数通用计算平台(如CPU和GPU)上在一个或几个时钟周期内处理至少64位,这可能导致64倍的加速比。23.2可学习量化器一个最佳的量化器应该为输入数据分布:∫Q*(x)= argminQp(x)(Q(x)-x)2dx,(3)其中p(x)是x的概率密度函数。我们永远不能确定流行的量化器,如均匀量化器是否是网络权重和激活的最佳选择图在图1中,我们展示了一个训练好的浮点网络中的权重和激活的统计可以看出,分布可以是复杂的并且跨层不同,并且均匀的量化器对于它们不是最佳当然,如果我们训练一个量化的网络,权重和激活分布可能会改变。但是,我们永远不能确定任何预定义的量化器是否对我们的任务是最佳的,并且不适当的量化器很容易危及最终的准确性。为了得到更好的网络量化器,提高量化网络的准确性,我们提出了联合训练网络和量化器。其背后的见解是,如果优化器是可学习的,并通过网络训练优化,它们不仅可以最小化量化误差,而且可以适应训练目标,从而提高最终的精度。训练量化器的一种简单方法是直接优化网络中的量化级别{ql}。2我们建议读者参考[21,39],了解有关不同硬件平台上的按位运算和加速分析的更多细节6D. 张,J.Yang,杨氏D.Ye和G.华3位:基v=[v1,v2,v3]Tv1+v2图2:2位(左)和3位(右)情况下我们的可学习量化器的图示。对于每种情况,左图显示了如何通过基向量生成量化级别,右图说明了相应的量化函数。训练然而,这样的朴素策略将使得量化函数与逐位操作不兼容,这是不期望的,因为我们想要保持量化神经网络的快速推理优点。为了解决这个问题,我们需要限制我们的量化函数到一个与位操作兼容的子空间。但是如何在训练中将量化器限制在这样的空间里呢?我们的解决方案受到位操作兼容的统一形式量化的启发(参见[53])。均匀量化本质上是将浮点数映射到具有归一化因子的最近的定点整数,其关键属性是位操作兼容可以通过比特的线性组合来分解量化值。具体地,由K位二进制编码表示的整数q实际上是基向量与二进制编码向量b=[bl,b2,… bK]T当rebi∈{0,1}时,i. 例如,.1b1 Σ2q=0,。(四)...2K−1...BK为了学习量化器,同时保持它们与逐位操作兼容,我们可以简单地学习由K个标量组成的基向量。具体地,我们的可学习量化函数简单地以以下形式Qours(x,v)= vT el,ifx∈(tl,tl+1],(5)其中v∈RK是可学习的浮点基,el∈{− 1, 1}K,对于l = l,. . .,2 K枚举从[-1,. . .,-1]至[1,. . . ,1]。3对于K比特量化,2K个量化级别由下式生成:ql= vTel,其中l = l,. . . 、2K。 给定{ql},假设q1
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功