CN114429209A - 基于细粒度数据分布对齐的神经网络后训练量化方法 - Google Patents

基于细粒度数据分布对齐的神经网络后训练量化方法 Download PDF

Info

Publication number
CN114429209A
CN114429209A CN202210101357.3A CN202210101357A CN114429209A CN 114429209 A CN114429209 A CN 114429209A CN 202210101357 A CN202210101357 A CN 202210101357A CN 114429209 A CN114429209 A CN 114429209A
Authority
CN
China
Prior art keywords
network
loss
quantization
training
picture
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
CN202210101357.3A
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.)
Xiamen University
Original Assignee
Xiamen University
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 Xiamen University filed Critical Xiamen University
Priority to CN202210101357.3A priority Critical patent/CN114429209A/zh
Publication of CN114429209A publication Critical patent/CN114429209A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

基于细粒度数据分布对齐的神经网络后训练量化方法,涉及人工神经网络压缩与加速。1)计算校准数据集中每张图在预训练的全精度网络每一层的BN参数,得每个类别的代表BN参数;2)量化预训练的全精度网络得量化网络;3)生成器接受高斯噪声和随机选择的标签生成指定类别的图片,使用交叉熵损失、BN损失、代表BN损、扰动代表BN损失训练训练生成器;4)利用生成器生成的图片和校准数据集图片,使用蒸馏损失、交叉熵损失训练量化网络;5)循环2)~4)至达到预定的训练轮数;6)保留量化网络权重,即得量化后的量化网络。只需少量数据的校准数据集,可从头训练得量化网络,无需特定硬件支持,在通用硬件平台上实现网络压缩与加速。

Description

基于细粒度数据分布对齐的神经网络后训练量化方法
技术领域
本发明涉及人工神经网络的压缩与加速,尤其是涉及一种基于细粒度数据分布对齐的神经网络后训练量化方法。
背景技术
近年来,深度神经网络(DNN)在计算机视觉、自然语言处理等许多领域得到广泛的应用。尽管DNN取得了巨大的成功,但不断增加的网络大小阻碍DNN在许多资源有限的平台上的部署,如移动电话、嵌入式设备等。为了克服这一困境,学术界和工业界探索多种方法来降低DNN的复杂性,以低精度格式表示全精度DNN的网络量化是一个很有前途的方向。
通过使用小型校准数据集调整量化后的DNN,后训练量化作为低精度量化的一个子主题,受到学术界和工业界的高度重视。最近的研究表明,高位宽的后训练量化模型(如8位)可以达到与全精度版本相近的性能(Krishnamoorthi R.Quantizing deepconvolutional networks for efficient inference:A whitepaper[J].arXiv preprintarXiv:1806.08342,2018.)。然而,当量化到较低精度,如4位时,会出现严重的性能下降。例如,如LAPQ(Nahshan Y,Chmiel B,Baskin C,et al.Loss aware post-trainingquantization[J].arXiv preprint arXiv:1911.07190,2019.)中所述,将ResNet-18(HeK,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and patternrecognition.2016:770-778.)量化为8位可以很好地保持全精度网络的精度(约71.5%),但量化为4位时只能得到60.3%的top-1精度。
为了缓解这个问题,研究者进行各种各样的研究提高在低比特时,后训练量化的性能。主流可以概括为两个方面。第一方面的方法主要是设计复杂的量化方法,如多个低位向量的线性组合/混合精度量化(Liu X,Ye M,Zhou D,et al.Post-trainingquantization with multiple points:Mixed precision without mixed precision[C]//Proceedings of the AAAI Conference on Artificial Intelligence.2021,35(10):8697-8705.)、权重区域分离(Fang J,Shafiee A,Abdel-Aziz H,et al.Post-training piecewise linear quantization for deep neural networks[C]//EuropeanConference on Computer Vision.Springer,Cham,2020:69-86.)、部分量化(Kryzhanovskiy V,Balitskiy G,Kozyrskiy N,et al.QPP:Real-Time QuantizationParameter Prediction for Deep Neural Networks[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition.2021:10684-10692.)等。第二方面的方法从数学分析角度重新制定舍入函数或损失约束。例如,AdaRound(Nagel M,Amjad R A,Van Baalen M,et al.Up or down?adaptive rounding for post-trainingquantization[C]//International Conference on Machine Learning.PMLR,2020:7197-7206.)通过将舍入问题建模为二次约束二元优化,导出自适应舍入函数。BRECQ(Li Y,GongR,Tan X,et al.BRECQ:Pushing the Limit of Post-Training Quantization by BlockReconstruction[C]//International Conference on LearningRepresentations.2021.)表明,通过重建网络中间输出的二阶数学分析,得出最佳重建在于以网络块单元为基础,因此他们提出使用基于块的重建方法来决定舍入函数。尽管已经做出巨大的努力,但这些研究对于网络性能的改进仍然有限。此外,性能增益的前提通常时在第一层和最后一层量化为8位,甚至保留在全精度状态。但是,当所有层被量化为非常低的比特位时,会出现严重的性能下降(参考表1)。
发明内容
本发明的目的是针对当前神经网络后训练量化方法导致的性能下降等问题,提出只需和传统神经网络后训练量化方法同样大小的、只包含少量数据的校准数据集,可直接从头训练得到量化网络,性能更高,尤其是在对小网络进行量化时,同时可以在无需特定硬件支持的情况下,在通用硬件平台上实现网络压缩与加速的一种基于细粒度数据分布对齐的神经网络后训练量化方法(FDDA)。
本发明包括以下步骤:
1)计算校准数据集D中每张图在预训练的全精度网络每一层的BN参数,得到每个类别的代表BN参数;
2)量化预训练的全精度网络得到量化网络;
3)生成器接受高斯噪声和随机选择的标签,生成指定类别的图片,使用交叉熵损失、BN损失、代表BN损失、扰动代表BN损失训练训练生成器;
4)利用生成器生成的图片和校准数据集图片,使用蒸馏损失、交叉熵损失训练量化网络;
5)循环执行步骤2)~4),直至达到预定的训练轮数;
6)训练结束保留量化网络权重,即得量化后的量化网络。
在步骤1)中,计算校准数据集D中每张图在预训练的全精度网络每一层的BN参数,BN参数包括均值和方差:
Figure BDA0003492571040000021
其中
Figure BDA0003492571040000022
分别表示类别为c的图
Figure BDA0003492571040000031
在网络第l层的特征图的均值和方差,图
Figure BDA0003492571040000032
是校准数据集D中的图片,
Figure BDA0003492571040000033
表示图片的标签,预训练的全精度网络指已经在目标数据集上训练好的网络模型。
在步骤2)中,对预训练的全精度网络进行量化,得到量化网络Q。量化方式如下:
Figure BDA0003492571040000034
Figure BDA0003492571040000035
其中,clip(F,l,u)=min(max(F,l),u),l,u表示裁剪上下界。F表示全精度输入,可以是网络权重或者激活值。round表示把其输入舍入到最近的整数。
Figure BDA0003492571040000036
是缩放因子,用于把一个全精度数和整数的相互转换,b表示量化位宽。对于权重,本发明使用了逐通道的量化方式,对于激活值,本发明使用了逐层量化的方式。获得了量化值q后,可以用缩放因子将其反量化回
Figure BDA0003492571040000037
在步骤3)中,首先随机生成高斯噪声z和标签y,随后将高斯噪声z和标签y输入生成器G得到生成的图片xf,其中生成器G是一个神经网络,随后将生成的图片xf输入预训练的全精度网络,使用交叉熵损失、BN损失、代表BN损失、扰动代表BN损失训练生成器。值得注意的是,在训练生成器的过程中,预训练的全精度网络是固定不更新参数的。
交叉熵损失:
Figure BDA0003492571040000038
其中,
Figure BDA0003492571040000039
表示预训练的全精度网络关于第i个输入图片属于第y类的预测值,N表示一共有N个输入图片。值得注意的是,该交叉熵损失针对的是生成器网络。
BN损失:
Figure BDA00034925710400000310
μl(xf),σl(xf)表示生成的图片xf在预训练的全精度网络第l层的均值和方差,
Figure BDA00034925710400000311
表示预训练的全精度网络第l层在目标数据集上训练时保存下的BN参数。
代表BN损失:
Figure BDA00034925710400000312
μl(xf|y=c),σl(xf|y=c)表示生成的图片xf中属于第c类的图片在预训练的全精度网络第l层的特征图的均值和方差。
扰动代表BN损失:
Figure BDA0003492571040000041
其中,
Figure BDA0003492571040000042
表示以μl(xf|y=c),σl(xf|y=c)为中心,方差为υμ,υσ的高斯分布,其他符号含义同上。
在步骤4)中,利用生成器生成的图片xf和校准数据集图片
Figure BDA0003492571040000043
使用蒸馏损失、交叉熵损失训练量化网络Q。值得注意的是,图片xf需要断开梯度计算,以免回传梯度到生成器上,避免更新生成器。
蒸馏损失:
Figure BDA0003492571040000044
其中,
Figure BDA0003492571040000045
表示量化网络关于第i个输入图片属于第c类的预测值,
Figure BDA0003492571040000046
表示预训练的全精度网络关于第i个输入图片属于第c类的预测值,C表示数据集类别个数,N表示一共有N个输入图片。
交叉熵损失:
Figure BDA0003492571040000047
其中,
Figure BDA0003492571040000048
表示预训练的全精度网络关于第i个输入图片属于第y类的预测值,N表示一共有N个输入图片。值得注意的是,该交叉熵损失针对的是量化网络。
在步骤5)中,循环执行2)~4),直至达到预定的训练轮数。
在步骤6)中,训练结束保留量化网络权重,即得量化后的量化网络。
本发明可应用于在图像分类领域上的卷积神经网络,与现有技术相比,本发明具有以下突出优点:
1)通过探索细粒度的BN参数,能够使得生成器生成更加真实的图片,从而大大提升量化网络的性能。
2)相比传统的神经网络后训练量化方法,本发明无需更多数据,能够获得更好的性能,尤其是在首尾层都被量化成低比特位时。
3)通过大量的实验验证,本发明提出的细粒度数据分布对齐的神经网络后训练量化方法(FDDA)不仅实现简单,且大大提高性能,同时性能超过各种主流的神经网络后训练量化方法,尤其是在当所有层被量化为非常低的比特位时,或者较小的神经网络时。
附图说明
图1为本发明实施例的方法框架图。
具体实施方式
本发明的目的是针对当前主流神经网络后训练量化方法在小模型或者所有层被量化成低比特时性能下降的问题,提出一种基于细粒度数据分布对齐的神经网络后训练量化方法(FDDA),涉及人工神经网络的压缩与加速,只需要和传统神经网络后训练量化方法一样多的数据,既可以提高最终量化网络的性能,可以在无需特定硬件支持的情况下,在通用硬件平台上实现网络的压缩与加速。
本发明实施例方法框架图如图1所示。
1.符号说明
F(W1,W2,...,WL)表示一个L层的全精度卷积神经网络(CNN),其中,Wi表示第i个卷积层,该层的卷积核个数为outi,该层的卷积核权重可以表示为:
Figure BDA0003492571040000051
其中,
Figure BDA0003492571040000052
表示第i个卷积层的第i个卷积核,每个卷积核
Figure BDA0003492571040000053
为,
Figure BDA0003492571040000054
其中,ini,widthi,heighti分别是第i层的输入通道数、卷积核的宽和高。给定第i个卷积层的输入ai-1(即上一层的输出),则第i个卷积层的卷积结果可以表示为:
Figure BDA0003492571040000055
其中,
Figure BDA0003492571040000056
是j卷积结果的第j个通道,集合所有通道可以得到Oi
Figure BDA0003492571040000057
表示卷积运算。随后,将卷积结果通过激活函数,得到该层的最终输出激活值:
Ai=σ(Oi)
σ表示激活函数。
量化算法的目标是得到一个可以用低比特位进行运算的神经网络,此时卷积运算表示为:
Figure BDA0003492571040000058
其中,
Figure BDA0003492571040000059
表示量化后的第i层第j个卷积核和第i层的输入的第j个通道。此时,量化算法能够获得一个L层的低精度卷积神经网络
Figure BDA0003492571040000061
其中,
Figure BDA0003492571040000062
表示已经被量化的第i个卷积层。
为了获得量化网络,对预训练的全精度网络进行量化。量化方式如下:
Figure BDA0003492571040000063
Figure BDA0003492571040000064
其中,clip(m,l,u)=min(max(m,l),u),l,u表示裁剪上下界。m表示全精度输入,可以是网络权重W或者激活值A。round表示把其输入舍入到最近的整数。
Figure BDA0003492571040000065
是缩放因子,用于把一个全精度数和整数的相互转换,b表示量化位宽。对于权重,使用逐通道的量化方式,即每个输出通道都有单独的裁剪上下界和缩放因子。对于激活值,使用逐层量化的方式,即每层共享同样的一个裁剪上下界和缩放因子。获得了量化值q后,可以用缩放因子将其反量化回
Figure BDA0003492571040000067
随后进行运算。对于两个量化后的值的卷积运算,可以使用:
Figure BDA0003492571040000066
其中,s1,s2可以预先计算保存,而q1,q2都是低精度值,因此可以只用低精度的卷积运算来代替原本的全精度运算。
2.细粒度的BN参数分析
现有的神经网络后训练量化方法都受限于校准数据集图片数量太少的限制,在全部网络层都被量化成低比特时性能会有显著下降。为了提高量化网络的性能,本发明提出使用生成器生成图片来增加量化网络的训练数据(Xu,Shoukai,et al.″Generative low-bitwidth data free quantization.″European Conference on ComputerVision.Springer,Cham,2020.)。基于BN参数统计了图片在每一层的均值和方差这一事实,该使用生成器生成图片的方法将预训练全精度模型在训练时存下的BN参数看作是数据集分布信息,通过对齐生成的数据的均值、方差和该参数来提供数据分布信息,其他的生成图片方法也使用了同样的思想(Cai,Yaohui,et al.″Zeroq:A novel zero shotquantization framework.″Proceedings of the IEEE/CVF Conference on ComputerVision and Pattern Recognition.2020.)。然而,在训练时存下的BN参数集合了目标数据集所有类别图片的均值和方差,因此,该参数不能够提供关于每一类别的图片的数据分布信息,缺乏细粒度的信息。为了增加细粒度的信息,从而让生成器得到更好的指导,本发明提出了一种基于细粒度数据分布对齐的神经网络后训练量化方法(FDDA)。该方法计算校准数据集中每张图在预训练的全精度网络每一层的BN参数,得到每个类别的代表BN参数,该代表BN参数即可以看作每一类别的图片的数据分布信息,因此能够提供比训练时存下的BN参数更细粒度的信息。
3.训练说明
本发明实施例包括以下步骤:
1)计算校准数据集D中每张图在预训练的全精度网络每一层的BN参数,BN参数包括均值和方差:
Figure BDA0003492571040000071
其中
Figure BDA0003492571040000072
分别表示类别为c的图
Figure BDA0003492571040000073
在网络第l层的特征图的均值和方差,图
Figure BDA0003492571040000074
是校准数据集D中的图片,
Figure BDA0003492571040000075
表示图片的标签,预训练的全精度网络指的是已经在目标数据集上训练好的网络模型。
2)对预训练的全精度网络F进行量化,得到量化网络Q。量化方式如下:
Figure BDA0003492571040000076
Figure BDA0003492571040000077
其中clip(m,l,u)=min(max(m,l),u),l,u表示裁剪上下界。m表示全精度输入,可以是网络权重或者激活值。round表示把其输入舍入到最近的整数。
Figure BDA0003492571040000078
是缩放因子,用于把一个全精度数和整数的相互转换,b表示量化位宽。对于权重,本发明使用了逐通道的量化方式,对于激活值,本发明使用了逐层量化的方式。获得了量化值q后,可以用缩放因子将其反量化回
Figure BDA0003492571040000079
3)首先随机生成高斯噪声z和标签y,随后将高斯噪声z和标签y输入生成器G得到生成的图片xf,其中生成器G是一个神经网络,随后将生成的图片xf输入预训练的全精度网络,使用交叉熵损失、BN损失、代表BN损失、扰动代表BN损失训练生成器。值得注意的是,在训练生成器的过程中,预训练的全精度网络是固定不更新参数的。
交叉熵损失:
Figure BDA00034925710400000710
其中
Figure BDA00034925710400000711
表示预训练的全精度网络关于第i个输入图片属于第y类的预测值,N表示一共有N个输入图片。值得注意的是,该交叉熵损失针对的是生成器网络。
BN损失:
Figure BDA00034925710400000712
μl(xf),σl(xf)表示生成的图片xf在预训练的全精度网络第l层的均值和方差,
Figure BDA00034925710400000713
表示预训练的全精度网络第l层在目标数据集上训练时保存下的BN参数。
代表BN损失:
Figure BDA0003492571040000081
μl(xf|y=c),σl(xf|y=c)表示生成的图片xf中属于第c类的图片在预训练的全精度网络第l层的特征图的均值和方差。
扰动代表BN损失:
Figure BDA0003492571040000082
其中
Figure BDA0003492571040000083
表示以μl(xf|y=c),σl(xf|y=c)为中心,方差为υμ,υσ的高斯分布,其他符号含义同上。
4)利用生成器生成的图片xf和校准数据集图片
Figure BDA0003492571040000084
使用蒸馏损失、交叉熵损失训练量化网络Q。图片xf需要断开梯度计算,以免回传梯度到生成器上,避免更新生成器。
蒸馏损失:
Figure BDA0003492571040000085
其中,
Figure BDA0003492571040000086
表示量化网络关于第i个输入图片属于第c类的预测值,
Figure BDA0003492571040000087
表示预训练的全精度网络关于第i个输入图片属于第c类的预测值,C表示数据集类别个数,N表示一共有N个输入图片。
交叉熵损失:
Figure BDA0003492571040000088
其中,
Figure BDA0003492571040000089
表示预训练的全精度网络关于第i个输入图片属于第y类的预测值,N表示一共有N个输入图片。值得注意的是,该交叉熵损失针对的是量化网络。
5)循环执行2)~4),直至达到预定的训练轮数。
6)训练结束保留量化网络权重,即得量化后的量化网络。
4.实现细节
本发明提出的细粒度数据分布对齐的神经网络后训练量化方法(FDDA)使用ImageNet数据集进行效果评测,使用Pytorch深度学习框架,在NVIDIAGTX 1080Ti显卡上进行实施。生成器和量化网络的初始学习率分别是10-3和10-6。生成器的优化器设置为Adam,优化器动量设置为0.9,学习率每隔100轮降为原来的0.1。量化网络的优化器使用随机梯度下降(Stochastic Gradient Descent,SGD),优化器动量设置为0.9,权重衰减设置为10-4,此外,使用余弦衰减学习率(Loshchilov I,Hutter F.Sgdr:Stochastic gradientdescent with warm restarts[J].arXiv preprint arXiv:1608.03983,2016)来调整量化网络的学习速率。生成器的batch大小设置为16,量化网络的batch大小设置为32,其中16张是生成图片,16张是校准数据集采样的图片。初始学习率设置为1e-5,训练的轮数设置为400,为了稳定生成器生成的图片的质量,其中前50轮数只更新生成器,后350轮数同时更新生成器和量化网络。
5.应用领域
本发明可以应用于深度卷积神经网络(CNN)的领域,以实现对深度卷积神经网络的压缩和加速。
表1为ImageNet数据集上本方法与其他神经网络后训练量化方法的结果对比,其中WbAb表示量化模型的权重和激活值被量化成b比特位,FbLb表示量化模型的第一层和最后一层的权重和激活值被量化成b比特位。
表1
Figure BDA0003492571040000091
从表1和2可以看出,当全精度模型的第一层和最后一层量化为8位(F8L8)时,本发明和最新的神经网络后训练量化方法BRECQ(Li Y,Gong R,Tan X,et al.BRECQ:Pushingthe Limit of Post-Training Quantization by Block Reconstruction[C]//International Conference on Learning Representations.2021.)都可以保持高性能,不管其他层使用的5位(W5A5)或4位(W4A4)权重和激活值。此外,与BRECQ相比,本发明在将ResNet-18(He K,Zhang X,Ren S,et al.Deep residual learning for imagerecognition[C]//Proceedings of the IEEE conference on computer vision andpattern recognition.2016:770-778.)、MobileNetV1(Howard A G,Zhu M,Chen B,etal.Mobilenets:Efficient convolutional neural networks for mobile visionapplications[J].arXiv preprint arXiv:1704.04861,2017.)、MobileNetV2(Sandler M,Howard A,Zhu M,et al.Mobilenetv2:Inverted residuals and linear bottlenecks[C]//Proceedings of the IEEE conference on computer vision and patternrecognition.2018:4510-4520.)和RegNet-600MF(Radosavovic I,Kosaraju R P,Girshick R,et al.Designing network design spaces[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.2020:10428-10436.)量化为W5A5时,性能提高了0.26%、1.60%、1.16%和0.61%,而在量化为W4A4时,性能提高了0.16%、2.10%、2.75%和2.00%。在量化诸如MobileNet之类的轻型模型时,本发明FDDA比BRECQ保留了更好的性能,特别是在较低精度(如4位)时。
当全精度模型的第一层和最后一层也被量化到较低精度(F5L5或F4L4)时,本发明大大优于之前的神经网络后训练量化方法,例如和BRECQ相比,本发明在W5A5上的性能提高了0.29%、3.75%、1.37%和0.84%对于ResNet-18、MobileNetV2、MobileNetV2和RegNet-600MF,而W4A4的性能提升分别为0.80%、6.64%、4.74%和2.79%。这些结果证明了本发明的有效性。

Claims (5)

1.基于细粒度数据分布对齐的神经网络后训练量化方法,其特征在于包括以下步骤:
1)计算校准数据集D中每张图在预训练的全精度网络每一层的BN参数,得到每个类别的代表BN参数;
2)量化预训练的全精度网络得到量化网络;
3)生成器接受高斯噪声和随机选择的标签,生成指定类别的图片,使用交叉熵损失、BN损失、代表BN损失、扰动代表BN损失训练生成器;
4)利用生成器生成的图片和校准数据集图片,使用蒸馏损失、交叉熵损失训练量化网络;
5)循环执行2)~4),直至达到预定的训练轮数;
6)训练结束保留量化网络权重,即得量化后的量化网络。
2.如权利要求1所述基于细粒度数据分布对齐的神经网络后训练量化方法,其特征在于在步骤1)中,所述计算校准数据集D中每张图在预训练的全精度网络每一层的BN参数,BN参数包括均值和方差:
Figure FDA0003492571030000011
其中
Figure FDA0003492571030000012
分别表示类别为c的图
Figure FDA0003492571030000013
在网络第l层的特征图的均值和方差,图
Figure FDA0003492571030000014
是校准数据集D中的图片,
Figure FDA0003492571030000015
表示图片的标签,预训练的全精度网络指已经在目标数据集上训练好的网络模型。
3.如权利要求1所述基于细粒度数据分布对齐的神经网络后训练量化方法,其特征在于在步骤2)中,所述量化预训练的全精度网络得到量化网络,量化方式如下:
Figure FDA0003492571030000016
Figure FDA0003492571030000017
其中,clip(F,l,u)=min(max(F,l),u),l,u表示裁剪上下界;F表示全精度输入,为网络权重或激活值;round表示将其输入舍入到最近的整数;
Figure FDA0003492571030000018
是缩放因子,用于把一个全精度数和整数的相互转换,b表示量化位宽;对于权重,使用逐通道的量化方式,对于激活值,使用逐层量化的方式;获得量化值q后,用缩放因子将其反量化回
Figure FDA0003492571030000019
4.如权利要求1所述基于细粒度数据分布对齐的神经网络后训练量化方法,其特征在于在步骤3)中,所述生成器接受高斯噪声和随机选择的标签,生成指定类别的图片,使用交叉熵损失、BN损失、代表BN损失、扰动代表BN损失训练生成器的具体步骤为:首先随机生成高斯噪声z和标签y,随后将高斯噪声z和标签y输入生成器G得到生成的图片xf,其中生成器G是一个神经网络,将生成的图片xf输入预训练的全精度网络,使用交叉熵损失、BN损失、代表BN损失、扰动代表BN损失训练生成器,在训练生成器的过程中,预训练的全精度网络是固定不更新参数的;
交叉熵损失:
Figure FDA0003492571030000021
其中,
Figure FDA0003492571030000022
表示预训练的全精度网络关于第i个输入图片属于第y类的预测值,N表示一共有N个输入图片,该交叉熵损失针对的是生成器网络;
BN损失:
Figure FDA0003492571030000023
μl(xf),σl(xf)表示生成的图片xf在预训练的全精度网络第l层的均值和方差,
Figure FDA0003492571030000024
表示预训练的全精度网络第l层在目标数据集上训练时保存下的BN参数;
代表BN损失:
Figure FDA0003492571030000025
μl(xf|y=c),σl(xf|y=c)表示生成的图片xf中属于第c类的图片在预训练的全精度网络第l层的特征图的均值和方差;
扰动代表BN损失:
Figure FDA0003492571030000026
其中,
Figure FDA0003492571030000027
表示以μl(xf|y=c),σl(xf|y=c)为中心,方差为υμ,υσ的高斯分布。
5.如权利要求1所述基于细粒度数据分布对齐的神经网络后训练量化方法,其特征在于在步骤4)中,所述利用生成器生成的图片和校准数据集图片,使用蒸馏损失、交叉熵损失训练量化网络,图片xf需要断开梯度计算,以免回传梯度到生成器上,避免更新生成器;
蒸馏损失:
Figure FDA0003492571030000028
其中,
Figure FDA0003492571030000029
表示量化网络关于第i个输入图片属于第c类的预测值,
Figure FDA00034925710300000210
表示预训练的全精度网络关于第i个输入图片属于第c类的预测值,C表示数据集类别个数,N表示一共有N个输入图片;
交叉熵损失:
Figure FDA0003492571030000031
其中,
Figure FDA0003492571030000032
表示预训练的全精度网络关于第i个输入图片属于第y类的预测值,N表示一共有N个输入图片1,该交叉熵损失针对的是量化网络。
CN202210101357.3A 2022-01-27 2022-01-27 基于细粒度数据分布对齐的神经网络后训练量化方法 Pending CN114429209A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210101357.3A CN114429209A (zh) 2022-01-27 2022-01-27 基于细粒度数据分布对齐的神经网络后训练量化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210101357.3A CN114429209A (zh) 2022-01-27 2022-01-27 基于细粒度数据分布对齐的神经网络后训练量化方法

Publications (1)

Publication Number Publication Date
CN114429209A true CN114429209A (zh) 2022-05-03

Family

ID=81312885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210101357.3A Pending CN114429209A (zh) 2022-01-27 2022-01-27 基于细粒度数据分布对齐的神经网络后训练量化方法

Country Status (1)

Country Link
CN (1) CN114429209A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937186A (zh) * 2022-06-14 2022-08-23 厦门大学 基于异质生成数据的神经网络无数据量化方法
CN115049055A (zh) * 2022-06-29 2022-09-13 厦门大学 基于动态双可训练界限的超分神经网络的量化方法
WO2023245873A1 (zh) * 2022-06-21 2023-12-28 华南理工大学 一种生成式无数据量化方法、识别方法、装置及存储介质
CN117689044A (zh) * 2024-02-01 2024-03-12 厦门大学 一种适用于视觉自注意力模型的量化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633787A (zh) * 2019-08-06 2019-12-31 厦门大学 基于多比特神经网络非线性量化的深度神经网络压缩方法
US20210192352A1 (en) * 2019-12-19 2021-06-24 Northeastern University Computer-implemented methods and systems for compressing deep neural network models using alternating direction method of multipliers (admm)
CN113837376A (zh) * 2021-08-30 2021-12-24 厦门大学 基于动态编码卷积核融合的神经网络剪枝方法
CN113850373A (zh) * 2021-09-18 2021-12-28 天津大学 一种基于类别的滤波器剪枝方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633787A (zh) * 2019-08-06 2019-12-31 厦门大学 基于多比特神经网络非线性量化的深度神经网络压缩方法
US20210192352A1 (en) * 2019-12-19 2021-06-24 Northeastern University Computer-implemented methods and systems for compressing deep neural network models using alternating direction method of multipliers (admm)
CN113837376A (zh) * 2021-08-30 2021-12-24 厦门大学 基于动态编码卷积核融合的神经网络剪枝方法
CN113850373A (zh) * 2021-09-18 2021-12-28 天津大学 一种基于类别的滤波器剪枝方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
尹文枫;梁玲燕;彭慧民;曹其春;赵健;董刚;赵雅倩;赵坤;: "卷积神经网络压缩与加速技术研究进展", 计算机系统应用, no. 09, 15 September 2020 (2020-09-15), pages 20 - 29 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937186A (zh) * 2022-06-14 2022-08-23 厦门大学 基于异质生成数据的神经网络无数据量化方法
CN114937186B (zh) * 2022-06-14 2024-06-07 厦门大学 基于异质生成数据的神经网络无数据量化方法
WO2023245873A1 (zh) * 2022-06-21 2023-12-28 华南理工大学 一种生成式无数据量化方法、识别方法、装置及存储介质
CN115049055A (zh) * 2022-06-29 2022-09-13 厦门大学 基于动态双可训练界限的超分神经网络的量化方法
CN115049055B (zh) * 2022-06-29 2024-06-04 厦门大学 基于动态双可训练界限的超分神经网络的量化方法
CN117689044A (zh) * 2024-02-01 2024-03-12 厦门大学 一种适用于视觉自注意力模型的量化方法

Similar Documents

Publication Publication Date Title
CN114429209A (zh) 基于细粒度数据分布对齐的神经网络后训练量化方法
US11153566B1 (en) Variable bit rate generative compression method based on adversarial learning
CN109002889B (zh) 自适应迭代式卷积神经网络模型压缩方法
CN111489364B (zh) 基于轻量级全卷积神经网络的医学图像分割方法
CN110677651A (zh) 一种视频压缩方法
CN113259676B (zh) 一种基于深度学习的图像压缩方法和装置
CN111986278B (zh) 图像编码装置、概率模型生成装置和图像压缩系统
US7894522B2 (en) Classified filtering for temporal prediction
CN110753225A (zh) 一种视频压缩方法、装置及终端设备
CN112365422B (zh) 基于深层聚合网络的不规则缺失图像修复方法及其系统
WO2021262053A1 (en) Method and system for image compressing and coding with deep learning
CN109949200B (zh) 基于滤波器子集选择和cnn的隐写分析框架构建方法
Akbari et al. Learned multi-resolution variable-rate image compression with octave-based residual blocks
WO2024125099A1 (zh) 可变码率图像压缩方法、系统、装置、终端及存储介质
CN116168197A (zh) 一种基于Transformer分割网络和正则化训练的图像分割方法
CN114943335A (zh) 一种三值神经网络逐层优化方法
CN114937186B (zh) 基于异质生成数据的神经网络无数据量化方法
Yan et al. Qnet: an adaptive quantization table generator based on convolutional neural network
CN117172301A (zh) 一种适用于超分网络的分布灵活子集量化方法
CN115049055B (zh) 基于动态双可训练界限的超分神经网络的量化方法
US20230336739A1 (en) Rate control machine learning models with feedback control for video encoding
CN113518229B (zh) 环路滤波网络的训练方法、装置、计算机设备和存储介质
Akutsu et al. End-to-End Deep ROI Image Compression
Tripathi et al. Vector codebook design using gravitational search algorithm
Bao et al. Feature map alignment: Towards efficient design of mixed-precision quantization scheme

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