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

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

Info

Publication number
CN113762452B
CN113762452B CN202010497786.8A CN202010497786A CN113762452B CN 113762452 B CN113762452 B CN 113762452B CN 202010497786 A CN202010497786 A CN 202010497786A CN 113762452 B CN113762452 B CN 113762452B
Authority
CN
China
Prior art keywords
value
parameter
data
quantized
array
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.)
Active
Application number
CN202010497786.8A
Other languages
English (en)
Other versions
CN113762452A (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

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)变量说明: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激活函数的方法
技术领域
本发明涉及神经网络加速技术领域,特别涉及一种量化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)
变量说明: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个通道的数值。
所述的步骤S2的量化进一步包括:
S2.1,初始化:将0分别赋值给最小值minValue、最大值maxValue;
S2.2,将将Max(cf)赋值给cMax;将Min(cf)赋值给Min Value;
其中,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,maxValue将1量化,以便保证正负半轴的尺度一致。
所述方法还包括确定量化过程中使用PRELU激活函数的步骤,所述PRELU激活函数是个分段函数,如公式(3)所示,当xi取值大于0时直接取xi的值,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道,
公式(3)具体参数说明: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)变量说明: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)所示:
公式(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 (2)

1.一种量化PRELU激活函数的方法,其特征在于,所述量化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个通道的数值;
所述的步骤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))并赋值给ax
处理量化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,maxValue将1量化,以便保证正负半轴的尺度一致。
2.根据权利要求1所述的一种量化PRELU激活函数的方法,其特征在于,所述方法还包括确定量化过程中使用PRELU激活函数的步骤,所述PRELU激活函数是个分段函数,如公式(3)所示,当xi取值大于0时直接取xi的值,如果xi值小于0时,需要将xi值乘上参数ac,c为xi所在的通道,
公式(3)
具体参数说明: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 CN113762452A (zh) 2021-12-07
CN113762452B true 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991472A (zh) * 2017-03-30 2017-07-28 中国人民解放军国防科学技术大学 一种融合ReLU激活函数与最大值池化的向量化实现方法
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 中国科学院半导体研究所 用于目标检测的深度卷积神经网络的压缩加速方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526650B1 (ko) * 2017-05-25 2023-04-27 삼성전자주식회사 뉴럴 네트워크에서 데이터를 양자화하는 방법 및 장치
US11195096B2 (en) * 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991472A (zh) * 2017-03-30 2017-07-28 中国人民解放军国防科学技术大学 一种融合ReLU激活函数与最大值池化的向量化实现方法
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
CN113762452A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN112183742B (zh) 基于渐进式量化和Hessian信息的神经网络混合量化方法
CN111147862B (zh) 一种基于目标编码的端到端图像压缩方法
CN111489364B (zh) 基于轻量级全卷积神经网络的医学图像分割方法
CN111091184B (zh) 一种深度神经网络的量化方法、装置、电子设备及介质
CN111667068A (zh) 一种基于掩码的深度图卷积神经网络模型剪枝方法与系统
CN110647990A (zh) 基于灰色关联分析的深度卷积神经网络模型的裁剪方法
CN109978144B (zh) 一种模型压缩方法和系统
CN114707637A (zh) 一种神经网络量化部署方法、系统及存储介质
CN108734287A (zh) 深度神经网络模型的压缩方法及装置、终端、存储介质
CN111027684A (zh) 一种深度学习模型量化方法、装置、电子设备及存储介质
CN114169513B (zh) 神经网络的量化方法、装置、存储介质及电子设备
CN113408696B (zh) 深度学习模型的定点量化方法及装置
CN113762452B (zh) 一种量化prelu激活函数的方法
CN112488291B (zh) 一种神经网络8比特量化压缩方法
CN112613604A (zh) 神经网络的量化方法及装置
CN117454943A (zh) 一种自动模型压缩方法、装置及介质
CN114998661B (zh) 一种基于定点数量化的目标检测方法
CN110378467A (zh) 一种针对深度学习网络参数的量化方法
CN113762496B (zh) 一种降低低比特卷积神经网络推理运算复杂度的方法
CN109389221A (zh) 一种神经网络压缩方法
CN114372553A (zh) 一种神经网络的量化方法及装置
CN113762494B (zh) 一种通过权重预处理提高低比特神经网络模型精度的方法
CN114372565A (zh) 一种用于边缘设备的目标检测网络压缩方法
CN112463078A (zh) 神经网络量化存储方法
CN113762497B (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