没有合适的资源?快使用搜索试试~ 我知道了~
5262×∼× ∼ ××超球面量子化:更小更精确的模型刘丹1,陈曦1,陈马2,刘雪11麦吉尔大学2香港城市大学mail.mcgill.ca,{xi.chen11,xue. liu} @mcgill.ca,chenma@cityu.edu.hk摘要模型量化使得能够在资源受限的设备下部署深度矢量量化旨在通过用全精度嵌入索引模型权重来减小模型大小,即,码字,而索引在计算期间需要恢复到32位二进制和其他低精度量化方法可以将模型大小减少到32,但是,以相当大的精度下降为代价。在本文中,我们提出了一个有效的三进制量化框架通过集成超球面学习、修剪和重新初始化,我们提出的超球面量化(HQ)方法减小了全精度和三进制权重之间的余弦距离,从而减小了三进制量化过程中直通梯度估计器的偏差与现有的工作相比,在类似的压缩水平(30,40),我们的方法显着提高了测试精度,并减少了模型的大小。1. 介绍尽管在现实世界的应用中取得了可喜的成果,但深度神经网络(DNN)模型通常包含大量参数,使其无法部署在边缘设备上。已经进行了大量的研究,以通过量化和修剪来减少DNN模型的大小和计算开销。修剪带来了高稀疏性,但在没有定制硬件的情况下无法利用压缩和加速的优势[25]。基于量化器的量化,如矢量量化和乘积量化,显著减少了模型磁盘占用空间[67,53,7],但其内存占用空间大于低精度量化方法[12,60,10,83,37],因为计算中涉及的实际权重值保持全精度[12]。超低精度量化,例如,二进制[33,11,10],三进制[37,83]和2位量化[82,8,18],具有快速推断,效率和低内存占用[60],但由于不准确的权重,[22][78]第78话逐步离散权重可以克服这种不可微性[52,34,9],即减小前向通道中的量化权重与后向通道中的全精度权重之间然而,它仅在4位(或更高)精度下表现良好,因为超低位量化器可能严重损坏权重幅度,导致权重不稳定[22]。直观地说,三进制量化几乎不影响权重的符号,使得权重向量[62]的方向变化相对于其幅度更稳定。最近,许多研究[48,49,47,15,13,59,5]表明角度信息[45]保留了特征图中的关键语义我们提出了超球面量化(HQ),这是一种结合修剪和重新初始化的方法[20,81],以产生具有较小内存/磁盘占用的精确三元DNN模型。我们首先使用超球形学习方法[49]预训练DNN模型,以保留模型权重的方向信息[62],然后应用我们提出的方法将全精度权重推近最后,我们将直通估计器(STE)[2]与逐渐增加的阈值相结合以实现三进制量化过程。我们的主要贡献总结如下:• 我们证明,简单地整合修剪和重新初始化可以显着减少的三进制量化器所造成的权重差异的影响。我们统一的修剪和量化阈值,以进一步优化量化过程。• 我们的方法在DNN模型的大小精度权衡方面显着优于现有的作品。例如,在ImageNet上,我们的方法可以将ResNet-18模型从45 MB压缩到939 KB(48压缩),而精度仅比原始精度低4%这是最好的结果之间的现有结果(43×,准确度下降6.4%)。5263×∈∈−√|我|{1}|| |}|||我|2. 相关工作2.1. 超球面学习超球面学习旨在研究权重向量的方向[62]对DNN模型的影响。[62]发现将模型权值方向信息从其大小中分离出来可以加速训练。[49]表明,权重向量的方向信息,与权重大小相反,保留了有用的语义意义的特征图。[47,15,72]提出将正则化应用于超球面上的角度表示,以增强人脸识别任务中的模型泛化能力。[46,47,15,13,59,5,44]进一步研究了超球面学习的经验2.2. 量化低位量化方法将权重和激活的浮点值转换为低位值[10,11,60,54]。这些方法可以大大降低CPU推理过程中的计算成本[71]。例如,二进制量化[10,11]将全精度权重压缩为1位表示,从而将内存占用量显著减少32。基于量化的权重量化,例如乘积量化[21]和矢量量化[23,4,67],专注于优化大小-精度权衡,并且可以通过将权重值分组到码本来显著压缩磁盘占用空间。常见的方法通过k均值聚类权重[67,75,66,23],并通过最小化网络中的重建误差进一步微调聚类中心[19,67,75]。压缩比和AC-没有定制的硬件就不能利用加速只有结构化修剪方法可以减少推理延迟,并且更容易加速[30,38],因为模型的原始权重结构被保留。非结构化修剪使用标准,如梯度[56,35]和幅度[26,55]信息,以去除单独的权重;结构化修剪[38,32,1]旨在基于类似的标准移除卷积层的不重要信道。彩票假设[20]表明存在稀疏子网络,可以从头开始训练[81]从权重初始化的角度研究了彩票假说,指出权值的符号是彩票假说的关键前提。修剪后的重新训练[20,81]揭示了网络结构和性能之间的联系。此外,我们的研究结果表明,经过剪枝和重新初始化后的训练可以产生更精确和高度压缩的三元权重,这超越了目前的模型压缩方法,具有广泛的应用场景。3. 初步和注释3.1. 超球面模型超球面神经网络层的一般表示[49]是:y=(WTx),(1)其中W Rn× m是权重矩阵,xRn是层的输入向量,函数,y∈Rm是输出特征向量。 的精确度权衡可以通过改变数字来调整的群体。 [26]应用基于k-means的矢量量化,输入向量x和每个列向量wj满足∈RnofW使用修剪和霍夫曼编码来进一步减小模型大小。然而,码本通常由32位浮点数组成[67,53],计算期间的内存占用是未压缩的。对于所有j=1,., M.3.2. 三值量化器在这项工作中,三进制量化器是:一些混合精度量化方法克服了低比特和基于聚类的方法的缺点1中文( 简体)∆>,通过强化学习[73],整数规划-明[3],和微分神经架构搜索[74],W=三元(W,)=第0章:|wij|≤Δ,(二)以便在模型权重中应用不同的位宽,优化推理时间和模型大小。 然而,喜忧参半-1:wij∆<-,由于使用8到32位权重,精度仍然不能有效地压缩模型大小。其他混合精度量化方法根据各种措施为层权重分配不同的位宽,包括硬件[73,77]和二阶信息[17,65]。其 中 , W 是 全 精 度 权 重 , Iij 是 阈 值 ,Iij=iwij>Iij[37],并且Iij表示第j列向量w j中的总非零值。当n =0时,Ternary(·)变成了Binary(·)运算的变体。并且<$(w< $Tx)=<$(< $1w<$Tx)s.t. w<$∈{−1,0,1}。2.3. 修剪J3.3. 修剪|I∆|J剪枝包括结构化和非结构化方法。它可以大大压缩冗余,保持较高的精度.非结构化剪枝带来了高稀疏性,但可以-非结构化修剪[26]定义为:W′=Prune(W,r)=W<$M,(3)IJ5264⊙≤∥ ∥ ∥∥n公司简介JJS(W,W)=m√n |wi j|.(给定一个全精度W和它的三进制形式W,我们寻求在超球面M|我|IJS.T. 0S ≤1,D=1 −l||j=1i =1Hypersphere训练r = r1修剪重新初始化。r = r2三值量化-α α-101-101-一零一-1- - 0∆1全精度称重超球面全精度权重中间全精度重量最终三元权重图1:我们提出的方法的整体预处理和三进制量化过程(第4.1节)。α=1、|I∆|r1=r1,r2=rh。虚线方块表示预处理步骤。“修剪重新初始化。” processS(W,W),i. e. ,减少D(第4.1.1、4.1.2节)。我们寻求在“三元量化“之前使D最小化哪里表示逐元素乘法。掩模M选择W中最高r%的较小权重:M= Mask(W,r)= Sign(|三元(W,N)|其中,R =阈值(W,r),并且00和w−∈R<0的平均值。(a)当稀疏度固定时,由于衰减的权重,|µ|正在向零靠拢(b)当我们迭代地执行修剪和重新初始化时,|µ|随着稀疏性的增加,|w|随着时代的增长。当量(10)-(11)表明,用比率r剪枝可以增加余弦相似度(W′,W′)。然而,我们仍然需要一个适当的修剪比率来保持模型量化阈值λ(等式2)2)将剪枝和量化统一起来,将量化看作是剪枝阈值。Ternary()的不可微性被STE绕过[2]:转发:不好好表现。 例如,w= [0. 3,0。2,0。0001],w′=[0. 3,0。2,0],w=[1,1,1],且w′=[1,1,0],则W=三元(W,)(12)(w′,w′)=0. 98比吃得多(w)=0. 八十 如果我们进一步对w′进行修剪,那么我们有w′′=[0。3,0,0],向后:Ewn=[1,0,0],(w′ ′,w′ ′)=1. 0的情况。 很明显,w“不能像w"那样表现得那么好。=∂W∂Wˆ ∂WS≈T¯E你好。(十三)4.1.2零漂移和迭代重新初始化除了修剪比r之外,Eq.(5)表明,也与Wij有关。在本节中,我们讨论了衰减的权重如何对产生负面影响,以及如何通过定期重新初始化来消除这种影响。STE基本上忽略量化操作,并且用一个恒等函数来近似它。随着训练误差的增加,阈值应逐渐增加,并且在模型收敛后,这种增加应减缓(图10)。(3)第三章。因此,我们直接使用平均梯度来更新修剪阈值:n权重衰减和学习率将权重值推向零或零附近[16,58,31]。学习率=wii=1∈w和wi= 0。(十四)起着与重量衰减类似的作用(参见等式(8)在的工作[27]。 当水在火车上向零漂移时-其中,w我= 0被忽略。 火车-(图)2a),(W,W)也减少了(等式2)。(5))。然而,这种零漂移现象阻碍了精确的三进制量化,因为减少了(W,W)扩展了量化搜索空间。 我们通过W = Ternary(W,0)重新初始化权重,以抵消衰减权重的负面影响。图图2a示出了具有固定修剪稀疏性的零漂移现象我们的实验结果表明,它的erat iv e修剪和重新初始化可以增加 (W,W)并防止腐烂重量的负面影响(表5、6)。一旦我们周期性地修剪,重新初始化和重新训练模型,我们总是有一个更大的(表5,6)和零漂移是缓解(图。2b,表5)。4.2. 具有统一阈值的初始化误差很大,导致阈值快速增加。随着模型逐渐收敛,训练误差将减小,阈值增长将减慢(图10)。(3)第三章。模型稀疏性随着学习阈值的增加而逐渐增加。如果在模型收敛后继续量化,则准确度开始降低4.3. 实现细节4.3.1训练算法我们提出的方法如算法1所示。我们用rl = 0的比率修剪模型。3到rh= 0。7基于[50,83]。整个过程可概括为:i)超球面学习架构的预训练[49];ii) 迭代预处理模型权重,即,修剪与W接近W在预处理步骤中,我们仍然模型以目标稀疏性rh为目标,并通过W=需要执行权重量化和修剪,以进一步增加S(W,W)。我们将逐步增加三元(W,0)后,每修剪(图。iii)三进制量化,通过STE更新权重和权重我5267·⊙⊙W----⊙W0.80稀疏性阈值精度0.00150.800.003稀疏性阈值精度0.750.700.00100.750.700.0020.650.00050.650.0010.600.00000.600.000时代(a) ImageNet上的ResNet-18时代(b) ImageNet上的ResNet-50图3:三进制量化过程中稀疏度、阈值和精度的趋势蓝色区域表示模型稀疏性。算法1HQ训练方法1:输入: 输入x, 超球面神经网络其中,rl= 0。3,rh= 0. 7,步长δ = 0。01.第二章: 结果:用于推理的三比一。预处理:4:r=rl5:whiler
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功