CN109543821A - 一种限制权重分布提高量化效果的卷积神经网络训练方法 - Google Patents
一种限制权重分布提高量化效果的卷积神经网络训练方法 Download PDFInfo
- Publication number
- CN109543821A CN109543821A CN201811416632.0A CN201811416632A CN109543821A CN 109543821 A CN109543821 A CN 109543821A CN 201811416632 A CN201811416632 A CN 201811416632A CN 109543821 A CN109543821 A CN 109543821A
- Authority
- CN
- China
- Prior art keywords
- parameter
- cnn model
- training
- distribution
- penalty
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种限制权重分布提高量化效果的卷积神经网络训练方法,属于机器学习领域,本发明要解决的技术问题为如何设置合理的参数分布区间并利用惩罚函数限制参数的分布范围,有效缓解浮点数区间到整数区间的尺度过大导致量化损失较大,采用的技术方案为:该方法是利用Tukey Fences测定卷积核参数的分布异常,计算卷积核参数的合理分布区间,并根据该分布区间的上下限在CNN模型的损失函数中加入惩罚项函数来限制卷积核的分布,减小卷积核参数的分布范围,同时在CNN模型的训练过程中不断更新权重,使CNN模型量化为低精度整数后的正确率与卷积核参数分布范围成逆相关关系,保持量化后CNN模型的正确率。
Description
技术领域
本发明涉及机器学习领域,具体地说是一种限制权重分布提高量化效果的卷积神经网络训练方法。
背景技术
深度学习技术的突破使得神经网络被应用到各种实际问题中,卷积神经网络(CNN)是一类应用范围最广泛的深度学习模型之一。CNN模型由一系列包含多个卷积核的神经网络层构成,每一层的输入为上一层输出的特征图(Feature Map)。CNN模型的核心运算是利用卷积核(Kernel)对输入的特征图进行卷积,然后进行激活,得到新的特征图。卷积核是具有多个维度的一组数值,在处理图像和其特征图的CNN模型中,卷积核一般有R、S、C三个维度,分别表示卷积核的高度、宽度和通道数,则该卷积核有R×S×C个权重值,即R×S×C个参数。如果CNN模型的某一层有K个卷积核,则该层的权重参数量为R×S×C×K。
在计算机中,这些权重参数为一般为32位或64位浮点数类型的数值。对于手机、嵌入式芯片等资源受限场景下的计算设备进行浮点数运算,不仅要占用比整数计算更多的存储空间,在推理过程中也要消耗更多芯片运行周期。为了减小CNN模型对存储和计算资源的需求,加快模型的推理时间,需要对模型进行量化压缩,将高精度的浮点数类型转换为低精度的无符号整数类型,如uint8类型。最常用的量化方法是最大值最小值量化,该方法首先计算出一层卷积核所有参数的最大值和最小值,然后将权重数值映射为[0,2n-1]的量化空间的整数,n是整数在计算机中的位数。该方法实现简单,但对权重的分布要求比较高,映射产生的误差会随卷积核的参数分布变大而变大,造成模型推理正确率严重下降。
Tukey Fences是常用的统计样本异常值的方法,对于一组样本值,其下四分位记为Q1,上四分位记为Q2,令
一般,当t=1.5时,低于a或高于b的值为异常的样本;当t=3时,低于a或高于b的值为极其异常的样本。异常样本又叫离群样本,虽然异常样本并不一定由观察误差造成,但会对样本整体的统计结果产生较大影响。
故如何设置合理的参数分布区间并利用惩罚函数限制参数的分布范围,有效缓解浮点数区间到整数区间的尺度过大导致量化损失较大是目前急需解决的技术问题。
专利号为CN108133222A的专利文献公开了一种为数据库确定卷积神经网络CNN模型的装置和方法,根据本发明的为数据确定CNN模型的装置包括:选取单元,用于从多个已知分类能力的CNN模型中选取至少两个CNN模型;拟合单元,用于根据至少两个CNN模型的分类能力和第一参数拟合以分类能力和第一参数为变量的曲线,其中,第一参数用于表征CNN模型的性能;预测单元,用于根据曲线预测其它CNN模型的第一参数;以及确定单元,用于根据每一个CNN模型的第一参数从多个CNN模型中确定适用于数据库的CNN模型。但是该技术方案不能解决何设置合理的参数分布区间并利用惩罚函数限制参数的分布范围,有效缓解浮点数区间到整数区间的尺度过大导致量化损失较大的技术问题。
发明内容
本发明的技术任务是提供一种限制权重分布提高量化效果的卷积神经网络训练方法,来解决如何设置合理的参数分布区间并利用惩罚函数限制参数的分布范围,有效缓解浮点数区间到整数区间的尺度过大导致量化损失较大的问题。
本发明的技术任务是按以下方式实现的,一种限制权重分布提高量化效果的卷积神经网络训练方法,该方法是利用Tukey Fences测定卷积核参数的分布异常,计算卷积核参数的合理分布区间,并根据该分布区间的上下限在CNN模型的损失函数中加入惩罚项函数来限制卷积核的分布,减小卷积核参数的分布范围,同时在CNN模型的训练过程中不断更新权重,使CNN模型量化为低精度整数后的正确率与卷积核参数分布范围成逆相关关系,保持量化后CNN模型的正确率。
作为优选,所述该方法具体包括如下步骤:
(1)、建立CNN模型M,准备训练数据集;
(2)、确定CNN模型M需要限制参数分布范围的卷积层和参数W={wl};
(3)、确定Tukey Fences参数序列[ti|i=0,1,…m-1];
(4)、输入CNN模型M和[ti],输出训练后的CNN模型M且在训练过程中不断更新权重;
(5)、对训练后的CNN模型M的参数w进行量化,得到量化后的模型CNN模型M。
更优地,所述CNN模型M的参数w在计算卷积核参数的分布区间内收敛。
更优地,所述步骤(1)和步骤(2)中建立CNN模型M并限制参数分布范围的卷积层和参数W={wl},具体步骤如下:
①、对于CNN模型M中的任意一卷积层l,计算卷积层l的卷积核参数的TukeyFences,记为al和bl;
②、设函数LT(w,a)返回一向量,该向量为参数数组w中小于a的所有数值;
③、设函数CT(w,b)返回一向量,该向量为参数数组w中大于b的所有数值;
④、卷积层l的卷积核参数为wl,该卷积层l的惩罚函数为:
loss(wl;al,bl)=sum(al-LT(wl,al))+sum(GT(wl,bl)-bl);
其中,’-’是对向量的逐元素减法,sum对向量所有元素求和。
更优地,所述CNN模型的惩罚项函数为:
penalty(W;A,B)=∑lloss(wl;al,bl);
其中,W={wl},A={al},B={bl}。
更优地,所述CNN模型训练过程中不断更新权重的方法是交替使用无惩罚项函数penalty(W;A,B)的损失函数和添加惩罚项函数penalty(W;A,B)的损失函数作为目标函数对CNN模型进行训练,每次交替之后减小Tukey Fences的参数t,使每一层的权重参数区间[al,bl]不断缩小;同时在有惩罚项函数penalty(W;A,B)训练阶段,每次更新参数t后,夹紧每一层的权重到[al,bl]。
作为优选,所述CNN模型训练过程中不断更新权重的方法,具体如下:
输入:CNN模型M,递减序列[ti|i=0,1,...m-1];
flag=1;
for i in 0~m-1:
if flag=1:
对M进行无惩罚项训练;
根据ti,更新CNN模型M每一层权重参数的限制区间[al,bl];
if存在l使得
flag=1;
添加惩罚函数项到损失函数,进行有惩罚项训练;
每个epoch后,夹紧wl,使得wl∈[al,bl];
else:
flag=0;
end for;
输出:M。
更优地,所述夹紧wl的具体操作是指:令wl中小于al的数值为al,令wl中大于bl的数值为bl。其中,所有参数的取值范围为整个实数集,即0-R。
本发明的限制权重分布提高量化效果的卷积神经网络训练方法具有以下优点:
(一)、本发明利用Tukey Fences测定卷积核参数的分布异常,计算卷积核参数的合理分布区间,并利用该分布区间的上下限设置惩罚函数,训练卷积神经网络模型CNN的参数在该区间内收敛;
(二)、本发明得到的模型参数分布区间范围降低,减小了量化卷积神经网络模型的难度,使得量化后模型的准确率损失足够小;
(三)、本发明通过设置合理的参数分布区间并利用惩罚函数限制参数的分布范围,有效缓解了浮点数区间到整数区间的尺度过大导致量化损失较大的问题,达到降低量化难度的目的;
(四)、本发明的CNN模型量化为低精度整数后的正确率与卷积核参数分布范围成逆相关关系,减小卷积核参数的分布范围,确保量化后的CNN模型的正确率。
具体实施方式
参照具体实施例对本发明的一种限制权重分布提高量化效果的卷积神经网络训练方法作以下详细地说明。
实施例:
本发明的限制权重分布提高量化效果的卷积神经网络训练方法,该方法是利用Tukey Fences测定卷积核参数的分布异常,计算卷积核参数的合理分布区间,并根据该分布区间的上下限在CNN模型的损失函数中加入惩罚项函数来限制卷积核的分布,减小卷积核参数的分布范围,同时在CNN模型的训练过程中不断更新权重,使CNN模型量化为低精度整数后的正确率与卷积核参数分布范围成逆相关关系,保持量化后CNN模型的正确率。
实施例2:
本发明的限制权重分布提高量化效果的卷积神经网络训练方法,所述该方法具体包括如下步骤:
(1)、建立CNN模型M,准备训练数据集;
(2)、确定CNN模型M需要限制参数分布范围的卷积层和参数W={wl};
(3)、确定Tukey Fences参数序列[ti|i=0,1,...m-1];
(4)、输入CNN模型M和[ti],输出训练后的CNN模型M且在训练过程中不断更新(5权)、重;对训练后的CNN模型M的参数W进行量化,得到量化后的模型CNN模型M,其中,CNN模型M的参数W在计算卷积核参数的分布区间内收敛。
其中,步骤(1)和步骤(2)中建立CNN模型M并限制参数分布范围的卷积层和参数W={wl},具体步骤如下:
①、对于CNN模型M中的任意一卷积层l,计算卷积层l的卷积核参数的TukeyFences,记为al和bl;
②、设函数LT(w,a)返回一向量,该向量为参数数组w中小于a的所有数值;
③、设函数GT(w,b)返回一向量,该向量为参数数组w中大于b的所有数值;
④、卷积层l的卷积核参数为wl,该卷积层l的惩罚函数为:
loss(wl;al,bl)=sum(al-LT(wl,al))+sum(GT(wl,bl)-bl);
其中,’-’是对向量的逐元素减法,sum对向量所有元素求和。
CNN模型的惩罚项函数为:
penalty(W;A,B)=∑lloss(wl;al,bl);
其中,W={wl},A={al},B={bl}。
CNN模型训练过程中不断更新权重的方法是交替使用无惩罚项函数penalty(W;A,B)的损失函数和添加惩罚项函数penalty(W;A,B)的损失函数作为目标函数对CNN模型进行训练,每次交替之后减小Tukey Fences的参数t,使每一层的权重参数区间[al,bl]不断缩小;同时在有惩罚项函数penalty(W;A,B)训练阶段,每次更新参数t后,夹紧每一层的权重到[al,bl]。CNN模型训练过程中不断更新权重的方法,具体如下:
输入:CNN模型M,递减序列[ti|i=0,1,...m-1];
flag=1;
for i in 0~m-1:
if flag=1:
对M进行无惩罚项训练;
根据ti,更新CNN模型M每一层权重参数的限制区间[al,bl];
if存在l使得
flag=1;
添加惩罚函数项到损失函数,进行有惩罚项训练;
每个epoch后,夹紧wl,使得wl∈[al,bl];
else:
flag=0;
end for;
输出:M。
其中,夹紧wl的具体操作是指:令wl中小于al的数值为al,令wl中大于bl的数值为bl。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,该方法是利用Tukey Fences测定卷积核参数的分布异常,计算卷积核参数的合理分布区间,并根据该分布区间的上下限在CNN模型的损失函数中加入惩罚项函数来限制卷积核的分布,减小卷积核参数的分布范围,同时在CNN模型的训练过程中不断更新权重,使CNN模型量化为低精度整数后的正确率与卷积核参数分布范围成逆相关关系,保持量化后CNN模型的正确率。
2.根据权利要求1所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述该方法具体包括如下步骤:
(1)、建立CNN模型M,准备训练数据集;
(2)、确定CNN模型M需要限制参数分布范围的卷积层和参数W={wl};
(3)、确定Tukey Fences参数序列[ti|i=0,1,...m-1];
(4)、输入CNN模型M和[ti],输出训练后的CNN模型M且在训练过程中不断更新权重;
(5)、对训练后的CNN模型M的参数W进行量化,得到量化后的模型CNN模型M。
3.根据权利要求2所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述CNN模型M的参数W在计算卷积核参数的分布区间内收敛。
4.根据权利要求3所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述步骤(1)和步骤(2)中建立CNN模型M并限制参数分布范围的卷积层和参数W={wl},具体步骤如下:
①、对于CNN模型M中的任意一卷积层l,计算卷积层l的卷积核参数的Tukey Fences,记为al和bl;
②、设函数LT(w,a)返回一向量,该向量为参数数组w中小于a的所有数值;
③、设函数GT(w,b)返回一向量,该向量为参数数组w中大于b的所有数值;
④、卷积层l的卷积核参数为wl,该卷积层l的惩罚函数为:
loss(wl;al,bl)=sum(al-LT(wl,al))+sum(GT(wl,bl)-bl);
其中,’-’是对向量的逐元素减法,sum对向量所有元素求和。
5.根据权利要求3或4所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述CNN模型的惩罚项函数为:
penalty(W;A,B)=∑lloss((wl;al,bl);
其中,W={wl},A={al},B={bl}。
6.根据权利要求1所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述CNN模型训练过程中不断更新权重的方法是交替使用无惩罚项函数penalty(W;A,B)的损失函数和添加惩罚项函数penalty(W;A,B)的损失函数作为目标函数对CNN模型进行训练,每次交替之后减小Tukey Fences的参数t,使每一层的权重参数区间[al,bl]不断缩小;同时在有惩罚项函数penalt(W;A,B)训练阶段,每次更新参数t后,夹紧每一层的权重到[al,bl]。
7.根据权利要求1或6所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述CNN模型训练过程中不断更新权重的方法,具体如下:
输入:CNN模型M,递减序列[ti|i=0,1,...m-1];
flag=1;
for i in0~m-1:
if flag=1:
对M进行无惩罚项训练;
根据ti,更新CNN模型M每一层权重参数的限制区间[al,bl];
if存在l使得
flag=1;
添加惩罚函数项到损失函数,进行有惩罚项训练;
每个epoch后,夹紧wl,使得wl∈[al,bl];
else:
flag=0;
end for;
输出:M。
8.根据权利要求7所述的限制权重分布提高量化效果的卷积神经网络训练方法,其特征在于,所述夹紧wl的具体操作是指:令wl中小于al的数值为al,令wl中大于bl的数值为bl。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811416632.0A CN109543821A (zh) | 2018-11-26 | 2018-11-26 | 一种限制权重分布提高量化效果的卷积神经网络训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811416632.0A CN109543821A (zh) | 2018-11-26 | 2018-11-26 | 一种限制权重分布提高量化效果的卷积神经网络训练方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109543821A true CN109543821A (zh) | 2019-03-29 |
Family
ID=65850048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811416632.0A Pending CN109543821A (zh) | 2018-11-26 | 2018-11-26 | 一种限制权重分布提高量化效果的卷积神经网络训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543821A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378466A (zh) * | 2019-06-03 | 2019-10-25 | 北京大学 | 基于神经网络差分的量化方法及系统 |
CN112613603A (zh) * | 2020-12-25 | 2021-04-06 | 西安交通大学 | 基于限幅器的神经网络训练方法及其应用 |
CN112686031A (zh) * | 2020-12-24 | 2021-04-20 | 北京有竹居网络技术有限公司 | 文本特征提取模型的量化方法、装置、设备及存储介质 |
CN113011532A (zh) * | 2021-04-30 | 2021-06-22 | 平安科技(深圳)有限公司 | 分类模型训练方法、装置、计算设备及存储介质 |
CN113762499A (zh) * | 2020-06-04 | 2021-12-07 | 合肥君正科技有限公司 | 一种分通道量化权重的方法 |
TWI795135B (zh) * | 2021-12-22 | 2023-03-01 | 財團法人工業技術研究院 | 神經網路模型的量化方法及深度學習加速器 |
-
2018
- 2018-11-26 CN CN201811416632.0A patent/CN109543821A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378466A (zh) * | 2019-06-03 | 2019-10-25 | 北京大学 | 基于神经网络差分的量化方法及系统 |
CN113762499A (zh) * | 2020-06-04 | 2021-12-07 | 合肥君正科技有限公司 | 一种分通道量化权重的方法 |
CN113762499B (zh) * | 2020-06-04 | 2024-04-02 | 合肥君正科技有限公司 | 一种分通道量化权重的方法 |
CN112686031A (zh) * | 2020-12-24 | 2021-04-20 | 北京有竹居网络技术有限公司 | 文本特征提取模型的量化方法、装置、设备及存储介质 |
WO2022135174A1 (zh) * | 2020-12-24 | 2022-06-30 | 北京有竹居网络技术有限公司 | 文本特征提取模型的量化方法、装置、设备及存储介质 |
CN112686031B (zh) * | 2020-12-24 | 2023-09-08 | 北京有竹居网络技术有限公司 | 文本特征提取模型的量化方法、装置、设备及存储介质 |
CN112613603A (zh) * | 2020-12-25 | 2021-04-06 | 西安交通大学 | 基于限幅器的神经网络训练方法及其应用 |
CN112613603B (zh) * | 2020-12-25 | 2023-04-07 | 西安交通大学 | 基于限幅器的神经网络训练方法及其应用 |
CN113011532A (zh) * | 2021-04-30 | 2021-06-22 | 平安科技(深圳)有限公司 | 分类模型训练方法、装置、计算设备及存储介质 |
TWI795135B (zh) * | 2021-12-22 | 2023-03-01 | 財團法人工業技術研究院 | 神經網路模型的量化方法及深度學習加速器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543821A (zh) | 一种限制权重分布提高量化效果的卷积神经网络训练方法 | |
Park et al. | Weighted-entropy-based quantization for deep neural networks | |
KR102476343B1 (ko) | 자리수가 비교적 적은 고정 소수점 수치의 신경망 연산에 대한 지원 장치와 방법 | |
CN106529569B (zh) | 基于深度学习的三维模型三角面特征学习分类方法及装置 | |
CN108701250B (zh) | 数据定点化方法和装置 | |
CN110378468A (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
CN107644254A (zh) | 一种卷积神经网络权重参数量化训练方法及系统 | |
CN109635936A (zh) | 一种基于重训练的神经网络剪枝量化方法 | |
CN106447036A (zh) | 执行随机舍入的神经网络单元 | |
CN107368885A (zh) | 基于多粒度剪枝的网络模型压缩方法及装置 | |
CN106570559A (zh) | 一种基于神经网络的数据处理方法和装置 | |
CN109543140A (zh) | 一种卷积神经网络加速器 | |
CN114677548B (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN112990438B (zh) | 基于移位量化操作的全定点卷积计算方法、系统及设备 | |
CN111105035A (zh) | 基于稀疏学习与遗传算法相结合的神经网络剪枝方法 | |
CN108182469A (zh) | 一种神经网络模型训练方法、系统、装置及存储介质 | |
CN108566287A (zh) | 一种基于深度学习的集群服务器运维优化方法 | |
WO2019006976A1 (zh) | 神经网络权重离散化方法、系统、设备和可读存储介质 | |
CN110163333A (zh) | 卷积神经网络的并行优化方法 | |
CN103677960A (zh) | 一种能耗约束的虚拟机博弈重放置方法 | |
CN109190759A (zh) | 一种基于{-1,+1}编码的神经网络模型压缩与加速方法 | |
Yang et al. | DASNet: Dynamic activation sparsity for neural network efficiency improvement | |
CN115392477A (zh) | 基于深度学习的Skyline查询基数估计方法及装置 | |
CN108764458B (zh) | 一种减少移动设备存储空间消耗以及计算量的方法及系统 | |
Gaur et al. | Application of artificial neural networks for identifying optimal groundwater pumping and piping network layout |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |
|
RJ01 | Rejection of invention patent application after publication |