CN113762452A - 一种量化prelu激活函数的方法 - Google Patents

一种量化prelu激活函数的方法 Download PDF

Info

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
Application number
CN202010497786.8A
Other languages
English (en)
Other versions
CN113762452B (zh
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.)
Hefei Ingenic Technology Co ltd
Original Assignee
Hefei Ingenic Technology Co ltd
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 Hefei Ingenic Technology Co ltd filed Critical Hefei Ingenic Technology Co ltd
Priority to CN202010497786.8A priority Critical patent/CN113762452B/zh
Publication of CN113762452A publication Critical patent/CN113762452A/zh
Application granted granted Critical
Publication of CN113762452B publication Critical patent/CN113762452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/08Learning 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)
Figure DDA0002523511680000011
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;S2量化PRELU激活函数,量化公式如公式(2)所示:公式(2)
Figure DDA0002523511680000012
变量说明:当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激活函数的方法
技术领域
本发明涉及神经网络加速技术领域,特别涉及一种量化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)所示进行量化,得到低比特的数据,
公式(1)
Figure BDA0002523511660000021
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;
S2,量化PRELU激活函数,量化公式如公式(2)所示:
公式(2)
Figure BDA0002523511660000022
变量说明:当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所在的通道,
公式(3)
Figure BDA0002523511660000041
具体参数说明: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)所示进行量化,得到低比特的数据,
公式(1)
Figure BDA0002523511660000042
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;
S2,量化PRELU激活函数,量化公式如公式(2)所示:
公式(2)
Figure BDA0002523511660000051
变量说明:当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所在的通道:
Figure BDA0002523511660000052
具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;ac为参数a中第c个通道的数值。
2)数据量化:对于待量化的数据按照下列公式所示进行量化,得到低比特的数据。
Figure BDA0002523511660000053
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw全精度数据Wf中最大值,minw全精度数据Wf中最小值,b为量化后的位宽。
3)量化PRELU:如下列公式所示对于输入的数据xi,xi的正负会影响数据的运算方式,并且需要考虑到参数a的量化,量化公式如公式(3)所示:
公式(3)
Figure BDA0002523511660000061
具体的流程,如图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)所示进行量化,得到低比特的数据,
公式(1)
Figure FDA0002523511650000011
变量说明:Wf为全精度数据是一个数组,Wq为量化后的数据,maxw为全精度数据Wf中最大值,minw为全精度数据Wf中最小值,b为量化后的位宽;
S2,量化PRELU激活函数,量化公式如公式(2)所示:
公式(2)
Figure FDA0002523511650000012
变量说明:当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量化,以便保证正负半轴的尺度一致。
4.根据权利要求1所述的提供一种量化激活函数为PRELU的方法,其特征在于,所述方法还包括确定量化过程中使用PRELU激活函数的步骤,所述PRELU激活函数是个分段函数,如公式(3)所示,当xi取值大于0时直接取xi的值,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道,
公式(3)
Figure FDA0002523511650000021
具体参数说明:x为一个三维数组即{h,w,c},h,w,c分别为该数组的长,宽,通道数;参数a为一个一维数组{c},其中的c和x中的c数值是相等的;ac为参数a中第c个通道的数值。
CN202010497786.8A 2020-06-04 2020-06-04 一种量化prelu激活函数的方法 Active CN113762452B (zh)

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)

* Cited by examiner, † Cited by third party
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 中国科学院半导体研究所 用于目标检测的深度卷积神经网络的压缩加速方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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