CN115062777B - 卷积神经网络的量化方法、量化装置、设备及存储介质 - Google Patents

卷积神经网络的量化方法、量化装置、设备及存储介质 Download PDF

Info

Publication number
CN115062777B
CN115062777B CN202210985406.4A CN202210985406A CN115062777B CN 115062777 B CN115062777 B CN 115062777B CN 202210985406 A CN202210985406 A CN 202210985406A CN 115062777 B CN115062777 B CN 115062777B
Authority
CN
China
Prior art keywords
neural network
convolutional neural
quantization
convolutional
convolution
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
CN202210985406.4A
Other languages
English (en)
Other versions
CN115062777A (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.)
Zhuhai Eeasy Electronic Tech Co ltd
Original Assignee
Zhuhai Eeasy Electronic Tech 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 Zhuhai Eeasy Electronic Tech Co ltd filed Critical Zhuhai Eeasy Electronic Tech Co ltd
Priority to CN202210985406.4A priority Critical patent/CN115062777B/zh
Publication of CN115062777A publication Critical patent/CN115062777A/zh
Application granted granted Critical
Publication of CN115062777B publication Critical patent/CN115062777B/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/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

本发明适用计算机技术领域,提供了一种卷积神经网络的量化方法、量化装置、设备及存储介质,该方法包括:a、对待量化卷积神经网络进行预训练,以得到第一卷积神经网络;b、对第一卷积神经网络进行量化,得到第二卷积神经网络;c、计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度;d、根据得到的贡献度,获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对待补偿卷积层进行余项补偿量化,得到第三卷积神经网络;e、对第三卷积神经网络的精确度进行测试,若达到预设精确度,则输出第三卷积神经网络,否则将第三卷积神经网络设置为第一卷积神经网络,并跳转至步骤b,直至第三卷积神经网络的精确度达到预设精确度。

Description

卷积神经网络的量化方法、量化装置、设备及存储介质
技术领域
本发明属于计算机技术领域,尤其涉及卷积神经网络的量化方法、量化装置、设备及存储介质。
背景技术
深度学习作为人工智能的一个分支,与深度学习中的深度学习算法密切相关,如卷积神经网络。随着人们对人工智能越来越重视,卷积神经网络也获得了迅速发展,卷积神经网络是一种带有卷积结构的深度神经网络,其在图像、语音识别等领域应用广泛。
然而,由于卷积神经网络在训练完成后参数较多,例如一般有几百、上千甚至上万的参数,使得神经网络的整个计算过程需要消耗大量的存储和计算资源,且随着卷积神经网络研究的深入,卷积神经网络朝着层次更深、更复杂的方向发展,这对运行平台的存储和计算资源提出了更高的要求,虽然大部分实时性要求不高的服务可以部署在云上,然而还是有不少卷积神经网络模型需要部署在计算能力有限的移动设备上,以解决如人脸解锁、视频拍照等实时性要求较高的处理事项。目前,在不降低卷积神经网络精确度的前提下降低卷积神经网络的复杂度的解决方案一般是通过卷积神经网络的参数量化来实现,然而,现有量化方法还是会造成卷积神经网络的精确度下降,影响各种卷积神经网络应用的用户体验。
发明内容
本发明的目的在于提供一种卷积神经网络的量化方法、量化装置、设备及存储介质,旨在解决由于现有技术无法提供一种有效的卷积神经网络的量化方法,导致量化后的卷积神经网络的精确度不高的问题。
一方面,本发明提供了一种卷积神经网络的量化方法,所述方法包括下述步骤:
a、对待量化卷积神经网络进行预训练,以得到第一卷积神经网络;
b、对所述第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络;
c、根据所述第一卷积神经网络和第二卷积神经网络的网络参数,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度;
d、根据计算得到的所述贡献度,获取所述第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对所述待补偿卷积层进行余项补偿量化,得到对应的第三卷积神经网络;
e、对所述第三卷积神经网络的精确度进行测试,若所述第三卷积神经网络的精确度达到预设精确度,则输出所述第三卷积神经网络,否则将所述第三卷积神经网络设置为所述第一卷积神经网络,并跳转至步骤b,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至所述第三卷积神经网络的精确度达到所述预设精确度。
另一方面,一种卷积神经网络的量化装置,所述量化装置包括:
网络训练单元,用于对待量化卷积神经网络进行预训练,以得到第一卷积神经网络;
网络量化单元,用于对所述第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络,所述对所述第一卷积神经网络进行量化包括:将所述第一卷积神经网络中预设操作的浮点权重值转换为定点整数表示,同时将输入参数的操作替换成可执行类似定点整数运算的操作;
贡献度计算单元,用于根据所述第一卷积神经网络和第二卷积神经网络的网络参数,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度;
量化补偿单元,用于根据计算得到的所述贡献度,获取所述第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对所述待补偿卷积层进行余项补偿量化,得到对应的第三卷积神经网络,其中,所述余项补偿量化指的是在卷积过程中将输入、权重参数的余项经过量化后补偿到卷积的输出;以及
网络测试单元,用于对所述第三卷积神经网络的精确度进行测试,若所述第三卷积神经网络的精确度达到预设精确度,则输出所述第三卷积神经网络,否则将所述第三卷积神经网络设置为所述第一卷积神经网络,并触发所述网络量化单元,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至所述第三卷积神经网络的精确度达到所述预设精确度。
另一方面,本发明还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明对预训练得到的第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络,根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度,根据贡献度获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对待补偿卷积层进行余项补偿量化,得到第三卷积神经网络,对第三卷积神经网络的精确度进行测试,若精确度达到预设精确度,则输出第三卷积神经网络,否则将第三卷积神经网络设置为第一卷积神经网络,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至第三卷积神经网络的精确度达到预设精确度,从而基于卷积层的贡献度对量化后的卷积层进行动态、差异化补偿,提高了量化后的卷积神经网络的精确度。
附图说明
图1是本发明实施例一提供的卷积神经网络的量化方法的实现流程图;
图2是本发明实施例二提供的卷积神经网络的结构示意图;
图3是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的卷积神经网络的量化方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,对待量化卷积神经网络进行预训练,以得到第一卷积神经网络;
本发明实施例适用于电子设备,作为示例地,电子设备可以为台式、移动或便携式的计算机系统设备中的任何一种。具体地,电子设备可以为移动电话或智能电话、便携式互联网设备、个人台式计算机或服务器。在电子设备上对待量化的卷积神经网络进行预训练,得到预训练后的卷积神经网络,为了便于描述,在这里将预训练后的卷积神经网络称为第一卷积神经网络,该卷积神经网络可以为深度残差网络,例如,ResNet-50。
在步骤S102中,对第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络;
在本发明实施例中,在对第一卷积神经网络进行量化时,将第一卷积神经网络中大部分操作的浮点权重值转换为定点整数表示,同时将输入参数(数据)的操作替换成可以执行类似的定点整数运算的操作,以将网络中大部分的浮点运算使用定点整数计算替代。对第一卷积神经网络进行量化后,得到在预设量化位宽约束下对应的、量化后的卷积神经网络,为了便于描述,将该卷积神经网络称为第二卷积神经网络。作为示例地,该量化位宽可以为4bit,即:将第一卷积神经网络中的浮点权重量化为4bit的定点整数,将输入参数的操作替换成可以执行类似的4bit定点整数运算的操作。
在一具体实施方式中,使用公式
Figure GDA0003890054290000051
以及
Figure GDA0003890054290000052
对第一卷积神经网络进行量化,其中,
Figure GDA0003890054290000053
表示神经网络参数(包括权重参数和输入参数)量化之后的结果,vr表示神经网络参数量化之前的参数,s表示量化步长,由
Figure GDA0003890054290000054
得到,其中vl和uu是vr中最小值和最大值,b表示量化位宽,z表示偏移常数,可由
Figure GDA0003890054290000055
计算得到,
Figure GDA0003890054290000057
表示将实数映射到最接近的整数的四舍五入函数,clamp表示截断函数,
Figure GDA0003890054290000056
用于反量化。
在步骤S103中,根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度;
在本发明实施例中,根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度,也就是说,根据量化前的卷积神经网络和量化后的卷积神经网络的网络参数,计算量化后的卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度。其中,该贡献度为卷积神经网络量化前和量化后每一卷积层的信息丢失度,信息丢失度越高,其对卷积神经网络的准确度贡献越大,信息丢失度越低,其对卷积神经网络的准确度贡献越小。余项补偿量化指的是在卷积过程中将输入、权重参数的余项经过量化后补偿到卷积的输出,从而可通过神经网络的量化提高卷积神经网络的响应效率,同时通过余项补偿量化提高量化后的卷积神经网络的准确度。
因此,在计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度时,可根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的信息丢失度,将信息丢失度设置为未进行余项补偿量化的每一卷积层的贡献度,从而准确得到每一卷积层对卷积神经网络精确度的贡献。在一优选实施方式中,在计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的信息丢失度时,使用公式
Figure GDA0003890054290000061
计算该每一卷积层的信息丢失度,其中,S表示信息丢失度,yi表示第一卷积神经网络的该卷积层的输出,
Figure GDA0003890054290000062
表示第二卷积神经网络的该卷积层的输出,p表示范数,n量化参数的数量,从而快速、准确地得到未进行余项补偿量化的每一卷积层的贡献度。
在步骤S104中,根据计算得到的贡献度,获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对待补偿卷积层进行余项补偿量化,得到对应的第三卷积神经网络;
在本发明实施例中,根据计算得到的贡献度获取第二卷积神经网络中当前需要进行余项补偿量化的待补偿卷积层时,可以只获取贡献度最大的卷积层作为当前需要进行余项补偿量化的待补偿卷积层,也可以获取预设层数的卷积层作为当前需要进行余项补偿量化的待补偿卷积层。在一优选实施例中,在获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层时,对计算得到的贡献度进行排序,将位于排序后贡献度队列中前面的预设数量个贡献度对应的卷积层设置为待补偿卷积层,从而提高卷积神经网络的余项补偿量化效率。
在获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层之后,对待补偿卷积层进行余项补偿量化,得到待补偿卷积层余项补偿量化后对应的卷积神经网络,为了便于描述,在这里将该卷积神经网络称为第三卷积神经网络。在一优选实施方式中,在对待补偿卷积层进行余项补偿量化时,根据待补偿卷积层的权重、输入、权重对应的量化步长和量化位宽、以及输入对应的量化步长和量化位宽,计算待补偿卷积层的补偿值,使用补偿值对待补偿卷积层进行余项补偿量化,以提高余项补偿量化的准确度,进而提高量化后的卷积神经网络的精确度。进一步优选地,使用以下公式计算待补偿卷积层的补偿值:
Figure GDA0003890054290000071
其中,
Figure GDA0003890054290000072
Figure GDA0003890054290000073
w表示待补偿卷积层的权重,Sw表示权重对应的量化步长,bw表示权重对应的量化位宽,a表示待补偿卷积层的输入,Sa表示待补偿卷积层的量化步长,ba表示权重对应的量化位宽,从而提高余项补偿量化的准确度。
在步骤S105中,对第三卷积神经网络的精确度进行测试;
在本发明实施例中,使用预设的样本对第三卷积神经网络的精确度进行测试,以确认第三卷积神经网络的精确度是否达到预设的精确度,即确认量化后、并经过卷积层当前余项补偿量化后的卷积神经网络的精确度是否达到预设精确度。
在步骤S106中,判断第三卷积神经网络的精确度是否达到预设精确度,是则执行步骤S107,否则执行步骤S108,之后跳转至步骤S102,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至第三卷积神经网络的精确度达到预设精确度;
在步骤S107中,输出第三卷积神经网络;
在步骤S108中,将第三卷积神经网络设置为第一卷积神经网络,以继续对未进行余项补偿量化的卷积层进行余项补偿量化。
在本发明实施例中,在对待补偿卷积层进行余项补偿量化后,若得到的第三卷积神经网络的精确度达到预设精确度,则输出第三卷积神经网络,该第三卷积即为量化后的最终卷积神经网络,该卷积神经网络降低了应用设备的存储和计算资源,同时通过余项补偿量化提高了卷积神经网络的准确度。若得到的第三卷积神经网络的精确度没有达到预设的精确度,将第三卷积神经网络设置为第一卷积神经网络,然后跳转至步骤S102以继续对未进行余项补偿量化的卷积层进行余项补偿量化,使得量化后的卷积神经网络最终能达到用户要求。
在本发明实施例中,对预训练得到的第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络,根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度,根据贡献度获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对待补偿卷积层进行余项补偿量化,得到第三卷积神经网络,对第三卷积神经网络的精确度进行测试,若精确度达到预设精确度,则输出第三卷积神经网络,否则将第三卷积神经网络设置为第一卷积神经网络,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至第三卷积神经网络的精确度达到预设精确度,从而基于卷积层的贡献度对量化后的卷积层进行动态补偿,提高了量化后的卷积神经网络的精确度。
实施例二:
图2示出了本发明实施例二提供的卷积神经网络的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
量化模块21,用于对卷积神经网络的第k层卷积层的输入、第k层卷积层的权重进行量化,k为正整数;
卷积模块22,用于对量化后的第k层卷积层的输入以及量化后的权重进行卷积计算,得到第k层卷积层的卷积结果;以及
余项补偿模块23,用于对第k层卷积层的卷积结果进行余项补偿量化。
在本发明一实施例中,余项补偿模块23在对第k层卷积层的卷积结果进行余项补偿量化时,根据第k层卷积层的权重、输入、权重对应的量化步长和量化位宽、以及输入对应的量化步长和量化位宽,计算第k层卷积层的补偿值,使用补偿值对所述第k层卷积层进行余项补偿量化。
在一优选实施例中,在对第k层卷积层的卷积结果进行余项补偿量化时,根据未量化卷积神经网络(第一卷积神经网络)和量化后卷积神经网络(第二卷积神经网络)的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度,根据计算得到的贡献度,获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层(第k层卷积层),对待补偿卷积层进行余项补偿量化,得到对应的第三卷积神经网络,从而可通过神经网络的量化提高卷积神经网络的响应效率,同时通过余项补偿量化提高卷积神经网络的准确度。
在本发明实施例中,根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度,也就是说,根据量化前的卷积神经网络和量化后的卷积神经网络的网络参数,计算量化后的卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度。其中,该贡献度为卷积神经网络量化前和量化后每一卷积层的信息丢失度,信息丢失度越高,其对卷积神经网络的准确度贡献越大,信息丢失度越低,其对卷积神经网络的准确度贡献越小。余项补偿量化指的是在卷积过程中将输入、权重参数的余项经过量化后补偿到卷积的输出,从而可通过神经网络量化提高卷积神经网络的响应效率,同时通过余项补偿量化提高卷积神经网络的准确度。
因此,在计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度时,可根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的信息丢失度,将信息丢失度设置为未进行余项补偿量化的每一卷积层的贡献度,从而准确得到每一卷积层对卷积神经网络精确度的贡献。在一优选实施方式中,在计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的信息丢失度时,使用公式
Figure GDA0003890054290000091
计算该每一卷积层的信息丢失度,其中,S表示信息丢失度,yi表示第一卷积神经网络的该卷积层的输出,
Figure GDA0003890054290000092
表示第二卷积神经网络的该卷积层的输出,p表示范数,n量化参数的数量,从而快速、准确地得到未进行余项补偿量化的每一卷积层的贡献度。
在本发明实施例中,根据计算得到的贡献度获取第二卷积神经网络中当前需要进行余项补偿量化的待补偿卷积层时,可以只获取贡献度最大的卷积层作为当前需要进行余项补偿量化的待补偿卷积层,也可以获取预设层数的卷积层作为当前需要进行余项补偿量化的待补偿卷积层。在一优选实施例中,在获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层时,对计算得到的贡献度进行排序,将位于排序后贡献度队列中前面的预设数量个贡献度对应的卷积层设置为待补偿卷积层,从而提高卷积神经网络的余项补偿量化效率。
在获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层之后,对待补偿卷积层进行余项补偿量化,得到待补偿卷积层余项补偿量化后对应的卷积神经网络,为了便于描述,在这里将该卷积神经网络称为第三卷积神经网络。在一优选实施方式中,在对待补偿卷积层进行余项补偿量化时,根据待补偿卷积层的权重、输入、权重对应的量化步长和量化位宽、以及输入对应的量化步长和量化位宽,计算待补偿卷积层的补偿值,使用补偿值对待补偿卷积层进行余项补偿量化,以提高余项补偿量化的准确度,进而提高量化后的卷积神经网络的精确度。进一步优选地,使用以下公式计算待补偿卷积层的补偿值:
Figure GDA0003890054290000101
其中,
Figure GDA0003890054290000102
Figure GDA0003890054290000103
w表示待补偿卷积层的权重,Sw表示权重对应的量化步长,bw表示权重对应的量化位宽,a表示待补偿卷积层的输入,Sa表示待补偿卷积层的量化步长,ba表示权重对应的量化位宽,从而提高余项补偿量化的准确度。
实施例三:
图3示出了本发明实施例三提供的电子设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的电子设备3包括处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32。该处理器30执行计算机程序32时实现上述卷积神经网络的量化方法实施例中的步骤,例如图1所示的步骤S101至S108。
在本发明实施例中,对预训练得到的第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络,根据第一卷积神经网络和第二卷积神经网络的网络参数,计算第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度,根据贡献度获取第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对待补偿卷积层进行余项补偿量化,得到第三卷积神经网络,对第三卷积神经网络的精确度进行测试,若精确度达到预设精确度,则输出第三卷积神经网络,否则将第三卷积神经网络设置为第一卷积神经网络,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至第三卷积神经网络的精确度达到预设精确度,从而基于卷积层的贡献度对量化后的卷积层进行动态、差异化补偿,提高了量化后的卷积神经网络的精确度。
本发明实施例的电子设备可以为台式、移动或便携式的计算机系统设备中的任何一种。该电子设备3中处理器30执行计算机程序32时实现卷积神经网络的量化方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
实施例四:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述卷积神经网络的量化方法实施例中的步骤,例如,图1所示的步骤S101至S108。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种卷积神经网络的量化方法,其特征在于,所述方法包括下述步骤:
a、对待量化卷积神经网络进行预训练,以得到第一卷积神经网络;
b、对所述第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络,所述对所述第一卷积神经网络进行量化包括:将所述第一卷积神经网络中预设操作的浮点权重值转换为定点整数表示,同时将输入参数的操作替换成可执行类似定点整数运算的操作;
c、根据所述第一卷积神经网络和第二卷积神经网络的网络参数,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度;
d、根据计算得到的所述贡献度,获取所述第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对所述待补偿卷积层进行余项补偿量化,得到对应的第三卷积神经网络,其中,所述余项补偿量化指的是在卷积过程中将输入、权重参数的余项经过量化后补偿到卷积的输出;
e、对所述第三卷积神经网络的精确度进行测试,若所述第三卷积神经网络的精确度达到预设精确度,则输出所述第三卷积神经网络,否则将所述第三卷积神经网络设置为所述第一卷积神经网络,并跳转至步骤b,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至所述第三卷积神经网络的精确度达到所述预设精确度。
2.如权利要求1所述的方法,其特征在于,根据所述第一卷积神经网络和第二卷积神经网络的网络参数,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度的步骤,包括:
根据所述第一卷积神经网络和第二卷积神经网络的网络参数,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的信息丢失度,将所述信息丢失度设置为所述贡献度。
3.如权利要求2所述的方法,其特征在于,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的信息丢失度的步骤,包括:
使用公式
Figure FDA0003890054280000021
计算所述信息丢失度,其中,S表示所述信息丢失度,yi表示所述第一卷积神经网络的该卷积层的输出,
Figure FDA0003890054280000022
表示所述第二卷积神经网络的该卷积层的输出,p表示范数,n量化参数的数量。
4.如权利要求1所述的方法,其特征在于,根据计算得到的所述贡献度,获取所述第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层的步骤,包括:
对计算得到的所述贡献度进行排序,将位于排序后贡献度队列中前面的预设数量个贡献度对应的卷积层设置为待补偿卷积层。
5.如权利要求1所述的方法,其特征在于,对所述待补偿卷积层进行余项补偿量化的步骤,包括:
根据所述待补偿卷积层的权重、输入、所述权重对应的量化步长和量化位宽、以及所述输入对应的量化步长和量化位宽,计算所述待补偿卷积层的补偿值,使用所述补偿值对所述待补偿卷积层进行余项补偿量化。
6.如权利要求5所述的方法,其特征在于,使用以下公式计算所述待补偿卷积层的补偿值:
Figure FDA0003890054280000023
其中,
Figure FDA0003890054280000024
Figure FDA0003890054280000025
w表示所述待补偿卷积层的权重,Sw表示所述权重对应的量化步长,bw表示所述权重对应的量化位宽,a表示所述待补偿卷积层的输入,Sa表示所述待补偿卷积层的量化步长,ba表示所述权重对应的量化位宽,
Figure FDA0003890054280000026
表示将实数映射到最接近的整数的四舍五入函数。
7.一种卷积神经网络的量化装置,其特征在于,所述量化装置包括:
网络训练单元,用于对待量化卷积神经网络进行预训练,以得到第一卷积神经网络;
网络量化单元,用于对所述第一卷积神经网络进行量化,得到在预设量化位宽约束下对应的第二卷积神经网络,所述对所述第一卷积神经网络进行量化包括:将所述第一卷积神经网络中预设操作的浮点权重值转换为定点整数表示,同时将输入参数的操作替换成可执行类似定点整数运算的操作;
贡献度计算单元,用于根据所述第一卷积神经网络和第二卷积神经网络的网络参数,计算所述第二卷积神经网络中未进行余项补偿量化的每一卷积层的贡献度;
量化补偿单元,用于根据计算得到的所述贡献度,获取所述第二卷积神经网络中需要进行余项补偿量化的待补偿卷积层,对所述待补偿卷积层进行余项补偿量化,得到对应的第三卷积神经网络,其中,所述余项补偿量化指的是在卷积过程中将输入、权重参数的余项经过量化后补偿到卷积的输出;以及
网络测试单元,用于对所述第三卷积神经网络的精确度进行测试,若所述第三卷积神经网络的精确度达到预设精确度,则输出所述第三卷积神经网络,否则将所述第三卷积神经网络设置为所述第一卷积神经网络,并触发所述网络量化单元,以继续对未进行余项补偿量化的卷积层进行余项补偿量化,直至所述第三卷积神经网络的精确度达到所述预设精确度。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
CN202210985406.4A 2022-08-17 2022-08-17 卷积神经网络的量化方法、量化装置、设备及存储介质 Active CN115062777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210985406.4A CN115062777B (zh) 2022-08-17 2022-08-17 卷积神经网络的量化方法、量化装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210985406.4A CN115062777B (zh) 2022-08-17 2022-08-17 卷积神经网络的量化方法、量化装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115062777A CN115062777A (zh) 2022-09-16
CN115062777B true CN115062777B (zh) 2022-11-22

Family

ID=83208399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210985406.4A Active CN115062777B (zh) 2022-08-17 2022-08-17 卷积神经网络的量化方法、量化装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115062777B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112488291B (zh) * 2020-11-03 2024-06-04 珠海亿智电子科技有限公司 一种神经网络8比特量化压缩方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256422A (zh) * 2017-06-06 2017-10-17 上海兆芯集成电路有限公司 数据量化方法及装置
CN108596143B (zh) * 2018-05-03 2021-07-27 复旦大学 基于残差量化卷积神经网络的人脸识别方法及装置
CN108898168B (zh) * 2018-06-19 2021-06-01 清华大学 用于目标检测的卷积神经网络模型的压缩方法和系统
CN111260022B (zh) * 2019-11-22 2023-09-05 中国电子科技集团公司第五十二研究所 一种卷积神经网络全int8定点量化的方法
WO2021159023A1 (en) * 2020-02-07 2021-08-12 The Regents Of The University Of California Query optimization for deep convolutional neural network inferences
CN111985495B (zh) * 2020-07-09 2024-02-02 珠海亿智电子科技有限公司 模型部署方法、装置、系统及存储介质
CN112132279B (zh) * 2020-09-23 2023-09-15 平安科技(深圳)有限公司 卷积神经网络模型压缩方法、装置、设备及存储介质
CN113409773B (zh) * 2021-08-18 2022-01-18 中科南京智能技术研究院 一种二值化神经网络语音唤醒方法及系统

Also Published As

Publication number Publication date
CN115062777A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
CN108510067B (zh) 基于工程化实现的卷积神经网络量化方法
US11948066B2 (en) Processing sequences using convolutional neural networks
KR102602195B1 (ko) 트레이닝된 장단기 메모리 신경망 양자화
CN110175641B (zh) 图像识别方法、装置、设备和存储介质
CN110555510A (zh) 压缩预先训练的深度神经网络模型的方法
CN109284761B (zh) 一种图像特征提取方法、装置、设备及可读存储介质
CN110598839A (zh) 卷积神经网络系统和卷积神经网络量化的方法
TWI744724B (zh) 處理卷積神經網路的方法
CN115238893B (zh) 面向自然语言处理的神经网络模型量化方法和装置
CN115062777B (zh) 卷积神经网络的量化方法、量化装置、设备及存储介质
CN115631261B (zh) 图像生成模型的训练方法、图像生成方法和装置
CN114282666A (zh) 基于局部稀疏约束的结构化剪枝方法和装置
Kundu et al. Bmpq: bit-gradient sensitivity-driven mixed-precision quantization of dnns from scratch
Huai et al. Latency-constrained DNN architecture learning for edge systems using zerorized batch normalization
CN112257466B (zh) 一种应用于小型机器翻译设备的模型压缩方法
CN117852593A (zh) 一种蒸馏感知混合精度量化的压缩方法
CN111538803A (zh) 待匹配的候选提问文本获取方法及装置、设备及介质
CN113850374A (zh) 神经网络模型的量化方法、电子设备及介质
CN113487014A (zh) 基于语义分割神经网络模型的任意比特量化方法及设备
CN113361707A (zh) 一种模型压缩方法、系统及计算机可读介质
CN113159318A (zh) 一种神经网络的量化方法、装置、电子设备及存储介质
CN113408702A (zh) 音乐神经网络模型预训练方法及电子设备和存储介质
Zeng et al. Adaptive deep neural networks for solving corner singular problems
US20230042275A1 (en) Network quantization method and network quantization device
CN115496200B (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