CN113762452A - 一种量化prelu激活函数的方法 - Google Patents
一种量化prelu激活函数的方法 Download PDFInfo
- Publication number
- CN113762452A CN113762452A CN202010497786.8A CN202010497786A CN113762452A CN 113762452 A CN113762452 A CN 113762452A CN 202010497786 A CN202010497786 A CN 202010497786A CN 113762452 A CN113762452 A CN 113762452A
- Authority
- CN
- China
- Prior art keywords
- value
- parameter
- data
- quantized
- quantization
- 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.)
- Granted
Links
- 230000004913 activation Effects 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013139 quantization Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 23
- 238000001994 activation Methods 0.000 description 19
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
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
本发明提供一种量化激活函数为PRELU的方法,包括:S1数据量化,对于待量化的数据按照下列公式(1)所示进行量化,得到低比特的数据,公式(1)变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;S2量化PRELU激活函数,量化公式如公式(2)所示:公式(2)变量说明:当xi取值大于0时,需要将xi值乘上参数q1,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道;具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;q1为1.0的量化;ac为参数a中第c个通道的数值。
Description
技术领域
本发明涉及神经网络加速技术领域,特别涉及一种量化PRELU激活函数的方法。
背景技术
近年来,随着科技的飞速发展,大数据时代已经到来。深度学习以深度神经网络(DNN)作为模型,在许多人工智能的关键领域取得了十分显著的成果,如图像识别、增强学习、语义分析等。卷积神经网络(CNN)作为一种典型的DNN结构,能有效提取出图像的隐层特征,并对图像进行准确分类,在近几年的图像识别和检测领域得到了广泛的应用。
特别地,实时量化feature map:将卷积运算出来的结果反量化为全精度数,然后根据实时统计获得的最大最小值完成对feature map的量化。
然而,现有技术中对于激活函数为PRELU时,并不会对其做量化处理,即对输入到PRELU的数据如果是量化后的数据则需要反量化为全精度的数据,PRELU内部做浮点运算,这样对于整个量化模型来说这一块需要做浮点运算,会导致模型运行时间增加。
此外,现有技术中的常用术语如下:
卷积神经网络(Convolutional Neural Networks,CNN):是一类包含卷积计算且具有深度结构的前馈神经网络。
量化:量化指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。
低比特:将数据量化为位宽为8bit,4bit或者2bit的数据。
推理:神经网络训练结束后,利用保存的数据进行运算的过程。
PReLU(Parametric Rectified Linear Unit):顾名思义:带参数的ReLU。
发明内容
为了解决上述技术问题,本申请提出了一种量化激活函数为PRELU的方法,旨在克服上述现有技术中存在的缺陷,提出一种量化PRELU的方法,解决现有低比特模型推理过程当激活函数为PRELU时采用全精度计算的问题。
本发明方法会对PRELU函数也做量化处理,即PRELU函数的输入为量化后的数据内部做整型运算,从而提高模型的整体运行时间。
具体地,本发明提供一种量化激活函数为PRELU的方法,所述方法包括以下步骤:
S1,数据量化,对于待量化的数据按照下列公式(1)所示进行量化,得到低比特的数据,
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;
S2,量化PRELU激活函数,量化公式如公式(2)所示:
变量说明:当xi取值大于0时,需要将xi值乘上参数q1,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道;具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;q1为1.0的量化;ac为参数a中第c个通道的数值。
所述的步骤S2的量化进一步包括:
S2.1,初始化:将0分别赋值给最小值minValue、最大值maxValue;
S2.2,将Max(cf)赋值给cMax;将Min(cf)赋值给minValue;
其中,Max(x)获取数组x的最大值,cf为全精度参数c,则Max(cf)为获取数组cf的最大值;
Min(x)获取数组x的最小值,cf为全精度参数c,则Min(cf)为获取数据cf的最小值;
S2.3,判断cMax是否大于1.0,如果是,则将cMax赋值给maxValue;
否则将1.0赋值给maxValue;
S2.4,处理量化Quantize(cf,minValue,maxValue)并赋值给qc;
处理量化Quantize(1.0,minValue,maxValue)并赋值给q1;
处理量化Quantize(xf,Min(xf),Max(xf))并赋值给qx;
处理量化QPRELU(qx,qc,q1)并将量化结果赋值给res;
其中,qc为量化后的参数cf,q1为1.0的量化,xf为全精度数据x,qx为量化后的数据xf,res为经过量化PRELU激活函数的结果。
所述步骤S2在量化PRELU激活时,由于正负半轴的处理方式是不一样,即x>0或x<0的情况不同,采用将正半轴都乘一个1,然后再根据参数c的minValue,minValue将1量化,以便保证正负半轴的尺度一致。
所述方法还包括确定量化过程中使用PRELU激活函数的步骤,所述PRELU激活函数是个分段函数,如公式(3)所示,当xi取值大于0时直接取xi的值,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道,
具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;ac为参数a中第c个通道的数值。
由此,本申请的优势在于:
(1)当卷积神经网络中如果激活函数为PRELU的话,量化后的模型在推理的时候PRELU运算过程中将不存在浮点运算;
(2)含有PRELU激活函数的模型量化后,模型推理时间的减少。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本发明方法的流程示意图。
图2是实现本发明方法中量化的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
如图1所示,本发明的一种量化激活函数为PRELU的方法,所述方法包括以下步骤:
S1,数据量化,对于待量化的数据按照下列公式(1)所示进行量化,得到低比特的数据,
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;
S2,量化PRELU激活函数,量化公式如公式(2)所示:
公式(2)变量说明:当xi取值大于0时,需要将xi值乘上参数q1,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道;具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;q1为1.0的量化;ac为参数a中第c个通道的数值。
特别地,本申请的方法还可以表述为以下:
一种量化激活函数为PRELU的方法,包括以下内容:
1)PRELU激活函数实现原理:PRELU激活函数是个分段函数,具体公式如下列公式所示,当xi取值大于0时直接取xi的值,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道:
具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;ac为参数a中第c个通道的数值。
2)数据量化:对于待量化的数据按照下列公式所示进行量化,得到低比特的数据。
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw全精度数据Wf中最大值,minw全精度数据Wf中最小值,b为量化后的位宽。
3)量化PRELU:如下列公式所示对于输入的数据xi,xi的正负会影响数据的运算方式,并且需要考虑到参数a的量化,量化公式如公式(3)所示:
具体的流程,如图2所示,具体描述如下:
1),初始化:将0分别赋值给最小值minValue、最大值maxValue;
2),将Max(cf)赋值给cMax;将Min(cf)赋值给minValue;
其中,Max(x)获取数组x的最大值,cf为全精度参数c,则Max(cf)为获取数组cf的最大值;
Min(x)获取数组x的最小值,cf为全精度参数c,则Min(cf)为获取数据cf的最小值;
3),判断cMax是否大于1.0,如果是,则将cMax赋值给maxValue;
否则将1.0赋值给maxValue;
4),处理量化Quantize(cf,minValue,maxValue)并赋值给qc;
处理量化Quantize(1.0,minValue,maxValue)并赋值给q1;
处理量化Quantize(xf,Min(xf),Max(xf))并赋值给qx;
处理量化QPRELU(qx,qc,q1)并将量化结果赋值给res;
其中,qc为量化后的参数cf,q1为1.0的量化,xf为全精度数据x,qx为量化后的数据xf,res为经过量化PRELU激活函数的结果。
在量化PRELU激活时,由于正负半轴(即x>0或x<0的情况)的处理方式是不一样,如果直接对负半轴的参数c采用公式(2)直接量化的话会导致正负半轴的尺度不一致,导致最终的结果不对。将正半轴都乘了一个1,然后再根据参数c的minValue,maxValue将1量化,这样就可以保证正负半轴的尺度一致。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.提供一种量化激活函数为PRELU的方法,其特征在于,所述方法包括以下步骤:
S1,数据量化,对于待量化的数据按照下列公式(1)所示进行量化,得到低比特的数据,
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;
S2,量化PRELU激活函数,量化公式如公式(2)所示:
变量说明:当xi取值大于0时,需要将xi值乘上参数q1,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道;具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;q1为1.0的量化;ac为参数a中第c个通道的数值。
2.根据权利要求1所述的提供一种量化激活函数为PRELU的方法,其特征在于,所述的步骤S2的量化进一步包括:
S2.1,初始化:将0分别赋值给最小值minValue、最大值maxValue;
S2.2,将Max(cf)赋值给cMax;将Min(cf)赋值给minValue;
其中,Max(x)获取数组x的最大值,cf为全精度参数c,则Max(cf)为获取数组cf的最大值;
Min(x)获取数组x的最小值,cf为全精度参数c,则Min(cf)为获取数据cf的最小值;
S2.3,判断cMax是否大于1.0,如果是,则将cMax赋值给maxValue;
否则将1.0赋值给maxValue;
S2.4,处理量化Quantize(cf,minValue,maxValue)并赋值给qc;
处理量化Quantize(1.0,minValue,maxValue)并赋值给q1;
处理量化Quantize(xf,Min(xf),Max(xf))并赋值给qx;
处理量化QPRELU(qx,qc,q1)并将量化结果赋值给res;
其中,qc为量化后的参数cf,q1为1.0的量化,xf为全精度数据x,qx为量化后的数据xf,res为经过量化PRELU激活函数的结果。
3.根据权利要求1所述的提供一种量化激活函数为PRELU的方法,其特征在于,所述步骤S2在量化PRELU激活时,由于正负半轴的处理方式是不一样,即x>0或x<0的情况不同,采用将正半轴都乘一个1,然后再根据参数c的minValue,maxValue将1量化,以便保证正负半轴的尺度一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010497786.8A CN113762452B (zh) | 2020-06-04 | 2020-06-04 | 一种量化prelu激活函数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010497786.8A CN113762452B (zh) | 2020-06-04 | 2020-06-04 | 一种量化prelu激活函数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762452A true CN113762452A (zh) | 2021-12-07 |
CN113762452B CN113762452B (zh) | 2024-01-02 |
Family
ID=78783421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010497786.8A Active CN113762452B (zh) | 2020-06-04 | 2020-06-04 | 一种量化prelu激活函数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762452B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991472A (zh) * | 2017-03-30 | 2017-07-28 | 中国人民解放军国防科学技术大学 | 一种融合ReLU激活函数与最大值池化的向量化实现方法 |
US20180341857A1 (en) * | 2017-05-25 | 2018-11-29 | Samsung Electronics Co., Ltd. | Neural network method and apparatus |
US20190122116A1 (en) * | 2017-10-24 | 2019-04-25 | International Business Machines Corporation | Facilitating neural network efficiency |
CN109902745A (zh) * | 2019-03-01 | 2019-06-18 | 成都康乔电子有限责任公司 | 一种基于cnn的低精度训练与8位整型量化推理方法 |
CN110334802A (zh) * | 2019-05-23 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种神经网络模型的构建方法、装置、设备及存储介质 |
CN110796236A (zh) * | 2019-10-21 | 2020-02-14 | 中国人民解放军国防科技大学 | 多样本多通道卷积神经网络池化的向量化实现方法 |
CN111080729A (zh) * | 2019-12-24 | 2020-04-28 | 山东浪潮人工智能研究院有限公司 | 基于Attention机制的训练图片压缩网络的构建方法及系统 |
CN111105007A (zh) * | 2018-10-26 | 2020-05-05 | 中国科学院半导体研究所 | 用于目标检测的深度卷积神经网络的压缩加速方法 |
-
2020
- 2020-06-04 CN CN202010497786.8A patent/CN113762452B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991472A (zh) * | 2017-03-30 | 2017-07-28 | 中国人民解放军国防科学技术大学 | 一种融合ReLU激活函数与最大值池化的向量化实现方法 |
US20180341857A1 (en) * | 2017-05-25 | 2018-11-29 | Samsung Electronics Co., Ltd. | Neural network method and apparatus |
US20190122116A1 (en) * | 2017-10-24 | 2019-04-25 | International Business Machines Corporation | Facilitating neural network efficiency |
CN111105007A (zh) * | 2018-10-26 | 2020-05-05 | 中国科学院半导体研究所 | 用于目标检测的深度卷积神经网络的压缩加速方法 |
CN109902745A (zh) * | 2019-03-01 | 2019-06-18 | 成都康乔电子有限责任公司 | 一种基于cnn的低精度训练与8位整型量化推理方法 |
CN110334802A (zh) * | 2019-05-23 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种神经网络模型的构建方法、装置、设备及存储介质 |
CN110796236A (zh) * | 2019-10-21 | 2020-02-14 | 中国人民解放军国防科技大学 | 多样本多通道卷积神经网络池化的向量化实现方法 |
CN111080729A (zh) * | 2019-12-24 | 2020-04-28 | 山东浪潮人工智能研究院有限公司 | 基于Attention机制的训练图片压缩网络的构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113762452B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Choi et al. | Deep feature compression for collaborative object detection | |
Lin et al. | Fixed point quantization of deep convolutional networks | |
US20210019630A1 (en) | Loss-error-aware quantization of a low-bit neural network | |
CN110969251B (zh) | 基于无标签数据的神经网络模型量化方法及装置 | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN111147862B (zh) | 一种基于目标编码的端到端图像压缩方法 | |
CN110874625B (zh) | 一种数据处理方法及装置 | |
CN112183742B (zh) | 基于渐进式量化和Hessian信息的神经网络混合量化方法 | |
CN110659734A (zh) | 深度可分离卷积结构的低比特量化方法 | |
CN111008694A (zh) | 基于深度卷积对抗生成网络的无数据模型量化压缩方法 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
CN114418089A (zh) | 模型压缩方法、系统、部署方法、设备及存储介质 | |
CN114707637A (zh) | 一种神经网络量化部署方法、系统及存储介质 | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN114999525A (zh) | 一种基于神经网络的轻量环境声音识别方法 | |
CN112613604A (zh) | 神经网络的量化方法及装置 | |
CN117392406A (zh) | 一种单阶段实时目标检测模型低位宽混合精度量化方法 | |
CN113762452A (zh) | 一种量化prelu激活函数的方法 | |
CN110782396A (zh) | 一种轻量化的图像超分辨率重建网络和重建方法 | |
Vogel et al. | Guaranteed compression rate for activations in cnns using a frequency pruning approach | |
CN112200275B (zh) | 人工神经网络的量化方法及装置 | |
CN113762496B (zh) | 一种降低低比特卷积神经网络推理运算复杂度的方法 | |
CN114372565A (zh) | 一种用于边缘设备的目标检测网络压缩方法 | |
CN114169513A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |