CN114781639A - 面向边缘设备多层共享码本向量量化的深度模型压缩方法 - Google Patents

面向边缘设备多层共享码本向量量化的深度模型压缩方法 Download PDF

Info

Publication number
CN114781639A
CN114781639A CN202210382736.4A CN202210382736A CN114781639A CN 114781639 A CN114781639 A CN 114781639A CN 202210382736 A CN202210382736 A CN 202210382736A CN 114781639 A CN114781639 A CN 114781639A
Authority
CN
China
Prior art keywords
model
layer
vector quantization
group
layers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210382736.4A
Other languages
English (en)
Inventor
黄明忠
刘研
赵立杰
王国刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang University of Chemical Technology
Original Assignee
Shenyang University of Chemical Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenyang University of Chemical Technology filed Critical Shenyang University of Chemical Technology
Priority to CN202210382736.4A priority Critical patent/CN114781639A/zh
Publication of CN114781639A publication Critical patent/CN114781639A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

面向边缘设备多层共享码本向量量化的深度模型压缩方法,涉及一种深度神经网络模型压缩方法,包括稀疏化训练、通道剪枝、优化权重排列、组向量量化、码本微调五个步骤。稀疏化训练:对上述各个通道评价因子进行稀疏化训练。通道剪枝:对重要性低的通道从模型中进行剪枝。优化权重排列:对通道剪枝后较小的网络模型实施权重优化排列。组向量量化:实施剪枝后的模型产生轻量化网络模型。码本微调:轻量化模型恢复模型精度。本发明用于压缩云端体积较大、结构复杂的网络模型得到便于边缘部署的轻量化模型,满足边缘设备算力资源、存储资源有限情况下的模型部署需求。有效降低模型对存储空间及算力要求,将边缘设备的算力资源、存储资源利用率最大化。

Description

面向边缘设备多层共享码本向量量化的深度模型压缩方法
技术领域
本发明涉及一种网络模型压缩方法,特别是涉及一种面向边缘设备多层共享码本向量量化的深度模型压缩方法。
背景技术
深度神经网络模型在计算机视觉、语音识别、自然语言处理、自动驾驶等领域获得广泛应用,并且在移动端与嵌入式系统的边缘设备上有巨大的应用前景。随着越来越多人工智能解决方案进入了落地阶段,由于部分场景中存在对模型计算速度、网络传输速度等要求,边缘计算的出现为上述问题提供了解决方案,其将深度模型直接部署于边缘端设备中,边缘设备接收数据后直接得出计算结果,不必依赖云端环境。但是运行深度模型需要强大的计算能力和大量的存储空间,这使得深度模型在资源受限的边缘设备上难以部署。因此,如何减少深度神经网络模型中参数数量且保证模型精度是目前需要解决的问题。
模型压缩是一种能有效解决模型尺寸大、运行效率慢等缺点的方法。参数剪枝是模型压缩的一种方法,其中结构化剪枝的最小单位是层滤波器内参数的组合,通过对通道设置评价因子可以删除整个滤波器或者某几个通道,使网络“变窄”,从而可以直接在现有软/硬件上获得有效加速,但可能会带来预测精度的下降。向量量化是另一种模型压缩方法,其主要思想是使用一组编码和码本来表示模型的参数,通过只存储编码和码本而不是原始模型庞大的参数来达成压缩存储空间的目的,但这种方法的缺点是通过增加模型运算时间换取存储空间减少,每层运算之前都需要由码本和编码还原原始参数。
发明内容
本发明的目的在于提供一种面向边缘设备多层共享码本向量量化的深度模型压缩方法,本发明结合通道剪枝和向量量化两种方法,通过通道剪枝减少模型各层通道数,有效解决向量量化模型在运算中增加运行时间的问题,且能进一步压缩模型参数存储空间。此外向量量化之前重新排列参数顺序能有效减少量化误差,以减小压缩模型的精度损失。最后向量量化采用多个层统一向量量化的方法,使多个层共享一套码本进一步压缩了模型参数存储空间。
本发明的目的是通过以下技术方案实现的:
面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述方法包括以下步骤:
步骤1,稀疏化训练:对每个通道引入一个比例因子γ作为该通道的评价因子,评价该通道在整个模型中的重要性,对上述各个通道评价因子进行稀疏化训练;
步骤2,通道剪枝:根据步骤1中产生的稀疏化评价因子计算各个通道的重要性,将重要性低的通道从模型中进行剪枝;
步骤3,优化权重排列:对通道剪枝后较小的网络模型实施权重优化排列;
步骤4,组向量量化:实施多层共享码本向量量化压缩算法压缩较小的网络模型,得到最终的适合部署于边缘设备端的轻量化网络模型;
步骤5,码本微调:使用原先训练模型的数据集再训练步骤4轻量化模型恢复模型精度。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述“稀疏化训练”中“评价因子”选取BN层中的可训练参数γ,“BN层”的输出为
Figure DEST_PATH_IMAGE001
,选取其中的γ为上述的“评价因子”;
所述“稀疏化训练”过程是优化如下损失函数
Figure 289362DEST_PATH_IMAGE002
式中(x, y)代表训练过程的输入数据和标签值,
Figure DEST_PATH_IMAGE003
代表可训练的权重矩阵,等式右边的第一项对应于CNN的正常训练损失,第二项是评价因子的稀疏诱导惩罚项,λ是两项的平衡系数,在本发明中诱导惩罚项选择L1正则项,即
Figure 301312DEST_PATH_IMAGE004
;采用次梯度下降法作为非光滑L1惩罚项的优化方法。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述步骤2“通道剪枝”,将整个网络模型中的所有BN层对应的通道的评价因子γ稀疏化后按绝对值大小排序,按照所需要的剪枝比例对应的阈值截取高绝对值的通道作为需要被保留的通道,并记录每一个BN层需要保留的通道生成剪枝配置文件;根据剪枝配置文件生成较小的模型。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述“较小的模型”,根据剪枝配置文件生成全新的较小的模型时,首先从配置文件中提取当前BN层所需要的通道数,按照通道数生成BN层实例,同时修改该BN层的前一个卷积层的输出通道数和该BN层后一个卷积层的输入通道数;迭代提取所述剪枝配置文件的所有BN层配置参数,实施上述步骤生成较小的模型。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述“通道剪枝”,使用原始的数据集再次训练完成剪枝后较小的模型,以优化模型参数恢复模型精度;优化模型参数恢复模型精度,其此剪枝-优化操作可以往复循环多次,以进一步降低模型尺寸。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述步骤4“向量量化”,在进行向量量化之前对部分卷积层和全连接层的权重进行重新排列顺序以减少向量量化的量化损失,减小量化后轻量化模型的精度损失。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述步骤3“优化权重排列”,包括以下步骤:
S31:筛选出网络模型中所有的卷积层和全连接层作为需要优化排列的层,为优化权重的排列做准备;
S32:找出每个所需优化层相对应的上一层和同一级的层;此处“所需优化层”为S31的“所有的卷积层和全连接层”;找出所有所需优化层的父子层关系保存为排列配置文件;
S33:根据“排列配置文件”取出网络中相应卷积层或全连接层的权重
Figure 32508DEST_PATH_IMAGE003
,设
Figure 25871DEST_PATH_IMAGE006
为该层权重的协方差矩阵,寻找使协方差矩阵的行列式
Figure 780201DEST_PATH_IMAGE008
最小化的一种排列
Figure DEST_PATH_IMAGE009
,经过该排列后的权重矩阵在下一步的量化操作中会产生更小的量化损失;使用排列矩阵
Figure 330262DEST_PATH_IMAGE009
重新排列该层权重顺序以及S32中与之相对应的上级层和同级层;
S34:循环迭代“排列配置文件”中的每个卷积层或全连接层,使用S33方法重新优化权重排列并替换原本网络模型中的对应层。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述步骤4“向量量化”,向量量化使用近似权重
Figure 915964DEST_PATH_IMAGE010
而不是原始权重
Figure 345808DEST_PATH_IMAGE003
来表示网络模型权重。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述“组向量量化”,不同于通常的单层内向量量化,采用多个层统一向量量化的方法,从模型中取出若干个核尺寸相同的卷积层划分为一组,以组为单位进行组向量量化,一组卷积层只生成一套码本实现组共享码本。
所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,所述“组向量量化”步骤为:
S41:设定单个组中层的数量为组尺寸,根据组尺寸将前述已优化排列模型中所有的层划分为若干个组;
S42:取出S41所述的一组层,从中依次取出每个层的权重并重设为第二维尺寸相同的二维矩阵,将多个重设尺寸后权重在第零维拼接成一个二维矩阵,形成组拼接权重;
S43:对S42中生成的组拼接权重应用SR-C聚类算法,同时向该权重添加逐渐衰减的噪声量实现聚类随机松弛,产生组共享码本
Figure DEST_PATH_IMAGE011
和组内各层所对应的编码
Figure 418061DEST_PATH_IMAGE012
将各层编码
Figure DEST_PATH_IMAGE013
和组共享码本
Figure 755502DEST_PATH_IMAGE011
保存于原模型中以替换原始模型各层权重;使用各层的编码
Figure 212022DEST_PATH_IMAGE013
和组共享码本
Figure 547188DEST_PATH_IMAGE011
可以生成模型各层权重;
S44:循环S42和S43步骤直到量化完所有组,并完成替换层编码和保存各组的组共享码本。
本发明压缩方法适用于存在BN(Batch Normalization)层的深度神经网络。
本发明的优点与效果是:
本发明方法用于压缩云端体积较大、结构复杂的网络模型得到便于边缘部署的轻量化模型,实现满足边缘设备算力资源、存储资源有限情况下的模型部署需求。在保证模型精度的前提下,有效降低模型对存储空间及算力的要求,将边缘设备的算力资源、存储资源利用率最大化。
将通道剪枝与向量量化结合实现压缩模型参数数量的同时提高模型运行速度。
在量化之前对权重进行重新排列减少量化损失,有助于保持量化后模型的精度。
向量量化过程中进一步提出了网络多层共享码本向量量化的方案,即组向量量化,使模型参数存储空间得到再次压缩,进一步减小了模型尺寸。
附图说明
图1为本发明面向边缘设备多层共享码本向量量化的深度模型压缩方法流程图;
图2为本发明通道剪枝操作流程图;
图3为本发明重新优化权重排列过程中,层与层之间成组的上下级关系示意图;
图4为本发明向量量化过程示意图,图中由码本
Figure 338427DEST_PATH_IMAGE011
和编码
Figure 417241DEST_PATH_IMAGE013
共同构成的近似权重
Figure 728268DEST_PATH_IMAGE010
可以近似于原始权重
Figure 499915DEST_PATH_IMAGE003
图5为组向量量化操作示意图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本实施例公开了一种面向边缘设备多层共享码本向量量化的深度模型压缩方法,如图1所示。为了便于理解,本实施例使用Pytorch深度学习框架以resnet18为主干网络构建并训练完成一个六分类神经网络模型,此原始模型尺寸为42.77MB,其六分类准确率为98.96%。压缩此网络模型包括以下5个步骤:
S1,稀疏化训练:由图2所示稀疏化训练是通道剪枝的一部分,选取网络模型中BN层的可训练参数γ作为通道评价因子,其中BN层的输出公式为
Figure 512870DEST_PATH_IMAGE014
。具体做法是在损失函数中添加L1正则项作为惩罚因子,损失函数表示为:
Figure DEST_PATH_IMAGE015
式中
Figure 208425DEST_PATH_IMAGE016
代表训练过程的输入数据和标签值,
Figure DEST_PATH_IMAGE017
代表网络层的参数,等式右边的第一项对应于CNN的正常训练损失,第二项是评价因子的稀疏诱导惩罚项,λ是两项的平衡系数,L1正则项表示为
Figure 560909DEST_PATH_IMAGE018
。采用次梯度下降法作为L1惩罚项的优化方法,损失下降迭代过程为
Figure DEST_PATH_IMAGE019
其中
Figure 565774DEST_PATH_IMAGE020
是损失函数
Figure DEST_PATH_IMAGE021
Figure 816758DEST_PATH_IMAGE022
处的一个次梯度,
Figure DEST_PATH_IMAGE023
为次梯度的迭代步长,它满足
Figure 299692DEST_PATH_IMAGE024
经过稀疏化训练后的
Figure DEST_PATH_IMAGE025
变得稀疏化,本发明的稀疏性是指模型参数的部分子集的值为零这一属性。
S2,通道剪枝:根据待压缩模型各通道对应的评价因子,计算各通道的重要性评分。具体地,可包括步骤S21至S23:
S21:对于第n个通道,其重要性评分:
Figure 585311DEST_PATH_IMAGE026
,其中
Figure DEST_PATH_IMAGE027
为第n个通道的缩放系数,
Figure 761077DEST_PATH_IMAGE028
为第n个通道在BN层中对应的参数
Figure DEST_PATH_IMAGE029
。n=1,2,...N,N为待压缩模型中通道的总个数。本实施例中resnet18模型中共有17个BN层,它们所对应的通道数分别为[64, 64, 64, 64,64, 128, 128, 128, 128, 256, 256, 256, 256, 512, 512, 512, 512],一共有3904个通道。
S22:根据重要性评分以及预设的剪枝率,设定重要性阈值
Figure 499357DEST_PATH_IMAGE030
,其中
Figure DEST_PATH_IMAGE031
为重要性阈值,
Figure 785982DEST_PATH_IMAGE032
为所有通道的重要性评分的集合,
Figure 660528DEST_PATH_IMAGE034
为将对象按照降序排列并选取接近或等于p位置的数输出。因此集合I中大于重要性阈值t的通道即是将要被保留的通道,记录下这些被保留的通道所在BN层中的位置序号以及该BN层在网络中的位置并保存为剪枝配置文件。本实施例中选定0.8为剪枝率,即剪枝掉80%的通道,经过此步骤后,17个BN层保留下来的通道数分别为[9, 14, 8, 13, 14, 41, 31, 36, 51, 89, 56,61, 81, 113, 62, 96, 5],保留通道总数为780。
S23:迭代剪枝配置文件中所有的BN层的配置,根据每个BN层保留下来的通道数创建新的BN层和与之对应的上一层的输出通道数和下一层的输入通道数,此处的“上一层”和“下一层”皆为卷积层。按照剪枝配置文件中保留下的通道位置序号导入原始模型中相对应的参数,完成剪枝操作得到较小的模型。
此处,本实施例的通道剪枝操作已经完成,剪枝结果为:模型的尺寸为8.93MB,在原始数据集上进行恢复精度训练后其分类准确率为98.16%。与原始模型相比,模型尺寸减小了79.1%,模型精度仅仅下降了0.8%,精度下降在可接受范围内。
S3,优化权重排列:对部分卷积层和全连接层的权重进行重新排列顺序,具体包括步骤S31至S34:
S31:筛选出网络模型中所有的卷积层和全连接层作为需要优化排列的层,为优化权重的排列做准备。
S32:找出每个所需优化层相对应的上一层和同级层。如图3所示以resnet18结构图中的六个残差块为例。从寻找层4a的排列开始,它的父层是层3c。此外,层3c和2c必须为残差结构共享相同的排列。通过归纳,层1c和1d也是这样,它们现在都是最初的层4a的父层。这些父层有他们自己的子层(分别是2a、3a和4d),所以这些必须被算作4a的同级层,并且必须与4a共同使用相同的排列。但是需要注意,所有的b层和c层都是没有同级层的,因此可以有自己独立的排列矩阵。找出所有上述的父子层关系保存为排列配置文件。
S33:根据S32所述“排列配置文件”将网络中所有的卷积层的权重提取出来,设
Figure DEST_PATH_IMAGE035
为该层权重
Figure 944879DEST_PATH_IMAGE036
的协方差矩阵,创建
Figure DEST_PATH_IMAGE037
个容纳行序号的列表来最小化
Figure 419723DEST_PATH_IMAGE035
的对角元素的乘积,每个列表的容量是
Figure 254912DEST_PATH_IMAGE038
个元素。然后,计算
Figure 436494DEST_PATH_IMAGE036
每一行的方差,并将每一行索引分配给导致最低列表方差的非满列表。最后,通过交错存储列表中的行来获得排列矩阵
Figure DEST_PATH_IMAGE039
,这样同一存储列表中的行就可以相隔
Figure 688484DEST_PATH_IMAGE040
行放置。使用所述行序号列表重新排列该层权重顺序以及S2中与之相对应的上级层和同级层。
在本实施例中,由于resnet18中仅存在1*1卷积和3*3卷积,对于3*3卷积设定d为9即卷积核的大小,使卷积核整体进行重新排列;对于1*1卷积设定d为1。
S34:循环迭代S32所述“排列配置文件”中的每个卷积层和全连接层,使用S33所述方法重新优化模型中所有权重排列并替换原本网络模型中的对应层。
S4,组共享码本向量量化:不同于通常的单层内向量量化,本发明采用组向量量化的方法,一组层只生成并共享一套码本。如图5所示,具体步骤包括S41至S44:
S41:设定组尺寸
Figure DEST_PATH_IMAGE041
的值,从前述已优化排列的模型中提取
Figure 401356DEST_PATH_IMAGE041
个核尺寸相同的层划分为一组,一共分为若干组,并取出它们的权重;
本实施例中考虑到要保证模型的精度,设定组尺寸
Figure 29784DEST_PATH_IMAGE041
为2,即两个卷积层共同量化生成一个码本。本实施例中的resnet18模型包括19个卷积层,其中3个1*1卷积分为两组,16个3*3卷积分为8组,一共10组。
S42:对于3*3卷积,从S41所述的一组层中依次取出所有卷积层的权重并重设尺寸为
Figure 331452DEST_PATH_IMAGE042
的二维矩阵,
Figure DEST_PATH_IMAGE043
为核尺寸大小其值为3,并将一组重设尺寸后的权重在第零维拼接成尺寸为
Figure 505076DEST_PATH_IMAGE044
的二维矩阵。对于1*1卷积层或全连接层,从S41所述的一组层依次拿出单个层的权重重设尺寸为
Figure DEST_PATH_IMAGE045
的二维矩阵,其中
Figure 954511DEST_PATH_IMAGE046
为手动设定的码本宽度,本实施例1*1卷积选取4作为码本宽度。
Figure DEST_PATH_IMAGE047
为根据权重参数大小和码本宽度
Figure 137362DEST_PATH_IMAGE046
自动生成的,并将一组重设尺寸后的权重在第零维拼接成尺寸为
Figure 90275DEST_PATH_IMAGE048
的二维矩阵。
S43:对S42中生成的多层拼接权重应用SR-C聚类算法,同时向该权重添加逐渐衰减的噪声量实现聚类随机松弛,产生多层共用的码本
Figure DEST_PATH_IMAGE049
和各层对应的编码Bn,其中
Figure 700379DEST_PATH_IMAGE050
为手动设定的码本长度,
Figure DEST_PATH_IMAGE051
为压被压缩的层的数量。使用各层的编码Bn生成压缩卷积层替换原先的卷积层或压缩全连接层替换原先的全连接层。再把前述“多层共用的码本
Figure 309215DEST_PATH_IMAGE052
”保存于模型中。本实施例中设码本长度为256,显然码本长度越小量化后的模型尺寸越小。
S44:循环S42和S43步骤,直至把模型中所有的卷积层和全连接层都替换为压缩卷积层和压缩全连接层。至此完成组向量量化操作,生成最终的轻量化模型,共生成10个码本并保存于模型中,每个压缩卷积层或压缩全连接层只保留层的权重编码。
S5,码本微调:使用原始的数据集再次训练上述组向量量化完成的轻量化网络,对整个码本进行微调以恢复原始精度。训练过程中,数据经过S44所述“压缩卷积层”或“压缩全连接层”
Figure DEST_PATH_IMAGE053
时,先由保存在层内部的编码Bn和保存的多层共用码本
Figure 545024DEST_PATH_IMAGE052
还原为正常的卷积层或全连接层参数
Figure 368755DEST_PATH_IMAGE054
,接着使用
Figure 336711DEST_PATH_IMAGE054
完成卷积运算或全连接运算。微调过程中,设
Figure DEST_PATH_IMAGE055
为网络原始的损失函数,因为码本中的每个质心是连续的,所以
Figure DEST_PATH_IMAGE057
对于每个质心都是可微的,码本的更新过程为
Figure 308209DEST_PATH_IMAGE058
其中
Figure DEST_PATH_IMAGE059
是带有超参数
Figure DEST_PATH_IMAGE061
(如学习率、动量和衰减率)的更新方法(如SGD、RMSProp或Adam)。
本实施例中的resnet18分类模型在完成组向量量化和码本微调之后,模型的尺寸为0.12MB,分类准确率为97.29%。与原始模型相比,新模型尺寸减小了99.7%,模型精度仅仅下降了1.67%,精度下降在可接受范围内。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (10)

1.面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述方法包括以下步骤:
步骤1,稀疏化训练:对每个通道引入一个比例因子γ作为该通道的评价因子,评价该通道在整个模型中的重要性,对上述各个通道评价因子进行稀疏化训练;
步骤2,通道剪枝:根据步骤1中产生的稀疏化评价因子计算各个通道的重要性,将重要性低的通道从模型中进行剪枝;
步骤3,优化权重排列:对通道剪枝后较小的网络模型实施权重优化排列;
步骤4,组向量量化:实施多层共享码本向量量化压缩算法压缩较小的网络模型,得到最终的适合部署于边缘设备端的轻量化网络模型;
步骤5,码本微调:使用原先训练模型的数据集再训练步骤4轻量化模型恢复模型精度。
2.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述“稀疏化训练”中“评价因子”选取BN层中的可训练参数γ,“BN层”的输出为
Figure DEST_PATH_IMAGE002
,选取其中的γ为上述的“评价因子”;
所述“稀疏化训练”过程是优化如下损失函数
Figure DEST_PATH_IMAGE004
式中(x, y)代表训练过程的输入数据和标签值,
Figure DEST_PATH_IMAGE006
代表可训练的权重矩阵,等式右边的第一项对应于CNN的正常训练损失,第二项是评价因子的稀疏诱导惩罚项,
Figure DEST_PATH_IMAGE008
是两项的平衡系数,在本发明中诱导惩罚项选择L1正则项,即
Figure DEST_PATH_IMAGE010
;采用次梯度下降法作为非光滑L1惩罚项的优化方法。
3.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述步骤2“通道剪枝”,将整个网络模型中的所有BN层对应的通道的评价因子γ稀疏化后按绝对值大小排序,按照所需要的剪枝比例对应的阈值截取高绝对值的通道作为需要被保留的通道,并记录每一个BN层需要保留的通道生成剪枝配置文件;根据剪枝配置文件生成较小的模型。
4.根据权利要求3所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述“较小的模型”,根据剪枝配置文件生成全新的较小的模型时,首先从配置文件中提取当前BN层所需要的通道数,按照通道数生成BN层实例,同时修改该BN层的前一个卷积层的输出通道数和该BN层后一个卷积层的输入通道数;迭代提取所述剪枝配置文件的所有BN层配置参数,实施上述步骤生成较小的模型。
5.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述“通道剪枝”,使用原始的数据集再次训练完成剪枝后较小的模型,以优化模型参数恢复模型精度;优化模型参数恢复模型精度,其此剪枝-优化操作可以往复循环多次,以进一步降低模型尺寸。
6.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述步骤4 “向量量化”,在进行向量量化之前对部分卷积层和全连接层的权重进行重新排列顺序以减少向量量化的量化损失,减小量化后轻量化模型的精度损失。
7.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述步骤3“优化权重排列”,包括以下步骤:
S31:筛选出网络模型中所有的卷积层和全连接层作为需要优化排列的层,为优化权重的排列做准备;
S32:找出每个所需优化层相对应的上一层和同一级的层;此处“所需优化层”为S31的“所有的卷积层和全连接层”;找出所有所需优化层的父子层关系保存为排列配置文件;
S33:根据“排列配置文件”取出网络中相应卷积层或全连接层的权重
Figure DEST_PATH_IMAGE012
,设
Figure DEST_PATH_IMAGE014
为该层权重的协方差矩阵,寻找使协方差矩阵的行列式
Figure DEST_PATH_IMAGE016
最小化的一种排列
Figure DEST_PATH_IMAGE018
,经过该排列后的权重矩阵在下一步的量化操作中会产生更小的量化损失;使用排列矩阵
Figure 725674DEST_PATH_IMAGE018
重新排列该层权重顺序以及S32中与之相对应的上级层和同级层;
S34:循环迭代“排列配置文件”中的每个卷积层或全连接层,使用S33方法重新优化权重排列并替换原本网络模型中的对应层。
8.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述步骤4 “向量量化”,向量量化使用近似权重
Figure DEST_PATH_IMAGE020
而不是原始权重
Figure 642814DEST_PATH_IMAGE012
来表示网络模型权重。
9.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述“组向量量化”,不同于通常的单层内向量量化,采用多个层统一向量量化的方法,从模型中取出若干个核尺寸相同的卷积层划分为一组,以组为单位进行组向量量化,一组卷积层只生成一套码本实现组共享码本。
10.根据权利要求1所述的面向边缘设备多层共享码本向量量化的深度模型压缩方法,其特征在于,所述“组向量量化”步骤为:
S41:设定单个组中层的数量为组尺寸,根据组尺寸将前述已优化排列模型中所有的层划分为若干个组;
S42:取出S41所述的一组层,从中依次取出每个层的权重并重设为第二维尺寸相同的二维矩阵,将多个重设尺寸后权重在第零维拼接成一个二维矩阵,形成组拼接权重;
S43:对S42中生成的组拼接权重应用SR-C聚类算法,同时向该权重添加逐渐衰减的噪声量实现聚类随机松弛,产生组共享码本
Figure DEST_PATH_IMAGE022
和组内各层所对应的编码
Figure DEST_PATH_IMAGE024
,将各层编码
Figure 547185DEST_PATH_IMAGE024
和组共享码本
Figure 942394DEST_PATH_IMAGE022
保存于原模型中以替换原始模型各层权重;使用各层的编码
Figure 445182DEST_PATH_IMAGE024
和组共享码本
Figure 267645DEST_PATH_IMAGE022
可以生成模型各层权重;
S44:循环S42和S43步骤直到量化完所有组,并完成替换层编码和保存各组的组共享码本。
CN202210382736.4A 2022-04-13 2022-04-13 面向边缘设备多层共享码本向量量化的深度模型压缩方法 Pending CN114781639A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210382736.4A CN114781639A (zh) 2022-04-13 2022-04-13 面向边缘设备多层共享码本向量量化的深度模型压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210382736.4A CN114781639A (zh) 2022-04-13 2022-04-13 面向边缘设备多层共享码本向量量化的深度模型压缩方法

Publications (1)

Publication Number Publication Date
CN114781639A true CN114781639A (zh) 2022-07-22

Family

ID=82429955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210382736.4A Pending CN114781639A (zh) 2022-04-13 2022-04-13 面向边缘设备多层共享码本向量量化的深度模型压缩方法

Country Status (1)

Country Link
CN (1) CN114781639A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116776926A (zh) * 2023-08-15 2023-09-19 上海燧原科技有限公司 一种对话模型的优化部署方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116776926A (zh) * 2023-08-15 2023-09-19 上海燧原科技有限公司 一种对话模型的优化部署方法、装置、设备及介质
CN116776926B (zh) * 2023-08-15 2023-11-07 上海燧原科技有限公司 一种对话模型的优化部署方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
KR101880901B1 (ko) 기계 학습 방법 및 장치
Hu et al. A novel channel pruning method for deep neural network compression
JP6869676B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN107516129A (zh) 基于维度自适应的Tucker分解的深度网络压缩方法
CN108304928A (zh) 基于改进聚类的深度神经网络的压缩方法
CN109886397A (zh) 一种针对卷积层的神经网络结构化剪枝压缩优化方法
CN112396179A (zh) 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法
CN110619385A (zh) 基于多级剪枝的结构化网络模型压缩加速方法
CN114037844A (zh) 基于滤波器特征图的全局秩感知神经网络模型压缩方法
CN110428045A (zh) 基于Tucker算法的深度卷积神经网络压缩方法
CN111898461B (zh) 一种时序行为片段生成方法
US11657285B2 (en) Methods, systems, and media for random semi-structured row-wise pruning in neural networks
CN113269312B (zh) 一种联合量化与剪枝搜索的模型压缩方法及其系统
CN112884149B (zh) 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统
CN113111889A (zh) 用于边缘计算端的目标检测网络处理方法
CN113420651A (zh) 深度卷积神经网络的轻量化方法、系统及目标检测方法
CN114781639A (zh) 面向边缘设备多层共享码本向量量化的深度模型压缩方法
WO2021038793A1 (ja) 学習システム、学習方法、及びプログラム
Ma et al. A survey of sparse-learning methods for deep neural networks
Verma et al. A" Network Pruning Network''Approach to Deep Model Compression
JP2022101461A (ja) ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法
Qi et al. Learning low resource consumption cnn through pruning and quantization
US20210125063A1 (en) Apparatus and method for generating binary neural network
CN109558819B (zh) 一种用于遥感图像目标检测的深度网络轻量化方法
CN114154626B (zh) 一种用于图像分类任务的滤波器剪枝方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination