CN112990438A - 基于移位量化操作的全定点卷积计算方法、系统及设备 - Google Patents

基于移位量化操作的全定点卷积计算方法、系统及设备 Download PDF

Info

Publication number
CN112990438A
CN112990438A CN202110315588.XA CN202110315588A CN112990438A CN 112990438 A CN112990438 A CN 112990438A CN 202110315588 A CN202110315588 A CN 202110315588A CN 112990438 A CN112990438 A CN 112990438A
Authority
CN
China
Prior art keywords
parameter
convolution
quantization scale
layer
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
CN202110315588.XA
Other languages
English (en)
Other versions
CN112990438B (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.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN202110315588.XA priority Critical patent/CN112990438B/zh
Publication of CN112990438A publication Critical patent/CN112990438A/zh
Application granted granted Critical
Publication of CN112990438B publication Critical patent/CN112990438B/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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于卷积神经网络领域,具体涉及了一种基于移位量化操作的全定点卷积计算方法、系统及设备,旨在解决现有的卷积计算方法内存占用和时间消耗大,难以在嵌入式设备上进行部署的问题。本发明包括:通过量化尺度参数公式和量化后偏置项参数公式获取待计算图像的卷积特征图的量化尺度参数和卷积核参数的量化尺度参数,进而计算偏置项参数的量化尺度参数,通过卷积核参数的量化尺度参数和偏置项参数对权重进行量化,进而获得量化运算结果,通过移位操作将中间结果进行量化,使得在前向计算过程中没有浮点运算的参与。本发明每一层仅需一个量化参数,减小内存占用和时间消耗,使得卷积模型可在嵌入式设备上部署。

Description

基于移位量化操作的全定点卷积计算方法、系统及设备
技术领域
本发明属于卷积神经网络领域,具体涉及了一种基于移位量化操作的全定点卷积计算方法、系统及设备。
背景技术
随着深度学习技术的不断发展,以卷积神经网络为代表的一系列模型在图像分类、目标检测等领域取得了良好的效果,并在生活中得到了广泛应用。但目前的卷积运算通常为浮点运算,在模型设计越来越复杂的情况下,浮点计算所带来的内存占用和时间消耗都非常巨大,难以在嵌入式设备上进行部署,因此通常需要将浮点运算量化为定点运算,以提高网络前向推理的效率。
现有的量化方法虽然将权值量化为定点数,但在前向推理过程中仍然涉及部分浮点运算,这会给嵌入式设备带来一定的性能损耗,另外,现有量化方法通常对每层卷积层的多个通道分别进行量化,导致每一层需要多个量化参数,这会增加嵌入式设备尤其是FPGA设备调度的复杂性。因此,设计一种更为简洁的全定点卷积计算方法尤为必要。
发明内容
为了解决现有技术中的上述问题,即现有的卷积计算只能通过浮点运算,内存占用和时间消耗都非常巨大,难以在嵌入式设备上进行部署的问题,本发明提供了一种基于移位量化操作的全定点卷积计算方法,所述方法包括:
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
在一些优选的实施方式中,所述计算特征图的量化尺度参数,其具体步骤为:
步骤A10,基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
步骤A20,基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;
所述量化尺度参数公式为:
Figure 962095DEST_PATH_IMAGE001
其中,
Figure 505465DEST_PATH_IMAGE002
表示参数量化到相应低bit定点数时的最大值,比如量化到8bit有符 号数,则
Figure 864902DEST_PATH_IMAGE003
Figure 396378DEST_PATH_IMAGE004
表示当前待量化的浮点数中的绝对值最大值,在 本步骤中为各卷积层特征图的绝对值最大值;
Figure 208476DEST_PATH_IMAGE005
表示量化尺度参数,在本步骤中为各卷 积层特征图的量化尺度参数;
Figure 850810DEST_PATH_IMAGE006
表示对数据进行四舍五入。
在一些优选的实施方式中,,所述计算各卷积层的卷积核参数的量化尺度参数,其具体步骤为:
步骤B10,统计各卷积层卷积核的绝对值最大值;
步骤B20,基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式生成各卷积层卷积核的量化尺度参数。
在一些优选的实施方式中,偏置项参数的量化尺度参数,其获得方法为:
由当前层上一层的特征图的量化尺度参数和当前卷积层的卷积核参数的量化尺度参数加和获得偏置项的量化尺度参数。
在一些优选的实施方式中,所述卷积核参数和量化后的偏置项参数,其获得方法为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;
所述量化后权重参数公式为:
Figure 330333DEST_PATH_IMAGE007
其中,
Figure 767130DEST_PATH_IMAGE008
表示待量化的浮点权重参数;
Figure 332104DEST_PATH_IMAGE005
表示量化尺度参数;q表示量化后 的权重参数;
Figure 11085DEST_PATH_IMAGE006
表示对数据四舍五入。
在一些优选的实施方式中,步骤S600包括:
步骤S610,对于每一层卷积层,将当前卷积层输入的量化后的特征图与当前卷积层的量化后的卷积核参数进行卷积运算,并加上当前卷积层的量化后的偏置项参数获得当前卷积层的中间结果;
步骤S620,若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
步骤S630,对所述中间结果或激活后的中间结果进行饱和运算,获得饱和运算后的中间结果;
步骤S640,基于所述饱和运算后的中间结果,进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数,所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数加上当前卷积层卷积核参数的量化尺度参数减去当前卷积层特征图的量化尺度参数。
在一些优选的实施方式中,所述饱和运算,其具体步骤为:
对所述第i层卷积层的中间结果设置最大值和最小值:
Figure 345114DEST_PATH_IMAGE009
Figure 749551DEST_PATH_IMAGE010
其中,
Figure 801820DEST_PATH_IMAGE011
表示第i层卷积层的中间结果的量化尺度参数;
若所述第i层卷积层的中间结果大于预设的最大值则赋值为最大值,若所述第i层卷积层的中间结果小于预设的最小值则赋值为最小值。
本发明的另一方面,提出了一种基于移位量化操作的全定点卷积计算系统,所述系统包括:特征图获取模块、卷积层特征图的量化尺度参数获取模块、卷积核参数的量化尺度参数获取模块、偏置项参数的量化尺度参数获取模块、权重参数量化模块、量化后的特征图获取模块和卷积计算结果获取模块;
所述特征图获取模块,配置为获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
所述卷积层特征图的量化尺度参数获取模块,配置为基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
所述卷积核参数的量化尺度参数获取模块,配置为计算各卷积层的卷积核参数的量化尺度参数;
所述偏置项参数的量化尺度参数获取模块,配置为基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
所述权重参数量化模块,配置为基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
所述卷积计算结果获取模块,配置为基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
本发明的第三方面,提出了一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于移位量化操作的全定点卷积计算方法。
本发明的第四方面,提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于移位量化操作的全定点卷积计算方法。
本发明的有益效果:
(1)本发明基于移位量化操作的全定点卷积计算方法,通过将中间结果进行移位操作进行量化,使得在前向计算过程中避免了浮点运算的参与,在保证量化后精度损失较小的情况下,减小卷积模型在嵌入式设备上的内存占用,每一层仅需一个量化参数,提高模型的前向推理效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明基于移位量化操作的全定点卷积计算方法实施例的流程示意图;
图2是本发明基于移位量化操作的全定点卷积计算方法实施例中前向推理过程中某一层卷积计算过程的流程示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
本发明基于移位量化操作的全定点卷积计算方法,包括:
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了更清晰地对本发明基于移位量化操作的全定点卷积计算方法进行说明,下面结合图1对本发明实施例中各步骤展开详述。
在本实施例中;
Figure 520378DEST_PATH_IMAGE012
表示第i层卷积输出的量化后的特征图,为一个多维数组;
Figure 974493DEST_PATH_IMAGE013
表示第i层卷积层的量化后的卷积核参数,为一个多维数组;
Figure 753093DEST_PATH_IMAGE014
表示第i层卷积层的偏置项参数量化尺度参数,为一个一维数组;
Figure 292659DEST_PATH_IMAGE015
表示第i层卷积层的中间结果,为一个多维数组;
Figure 814907DEST_PATH_IMAGE016
表示第i层卷积层的中间结果的量化尺度参数,为一个常数;
Figure 624993DEST_PATH_IMAGE017
表示第i层卷积特征图的量化尺度参数,为一个常数;
Figure 308915DEST_PATH_IMAGE018
表示第i层卷积层的卷积核参数的量化尺度参数,为一个常数;
Figure 70198DEST_PATH_IMAGE019
表示第i层卷积层的偏置项参数的量化尺度参数,为一个常数;
本发明第一实施例的基于移位量化操作的全定点卷积计算方法,包括步骤S100-步骤S600,各步骤详细描述如下:
本发明实施例主要包括三个部分:第一部分为求解特征图的量化尺度参数,第二部分为对卷积核参数的量化及对偏置的量化,第三部分为前向推理过程中对中间结果的处理。
在本实施例中,以将特征图量化到8bit,将卷积核参数量化到7bit为例,则运用到的QUAN参数分别取值127和63;本发明可沿用于量化到其他比特的技术方案中。
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
在本实施例中,将输入图像待计算图像设置为第0层特征,输入的待计算图像的绝 对值最大值为255,则通过量化尺度参数公式即公式(1)计算得到
Figure 396137DEST_PATH_IMAGE020
第一部分,求解特征图的量化尺度参数主要为步骤S200的内容。
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
其具体步骤为:
步骤A10,基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
步骤A20,基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;在本实施例中,各卷积特征图的量化尺度参数表示为scale_feature [n],n表示第n层卷积;
所述量化尺度参数公式为:
Figure 293686DEST_PATH_IMAGE021
(1)
其中,
Figure 414089DEST_PATH_IMAGE022
表示参数量化到相应低bit定点数时的最大值,比如量化到8bit有符 号数,则
Figure 928247DEST_PATH_IMAGE023
Figure 290833DEST_PATH_IMAGE024
表示当前待量化的浮点数中的绝对值最大值,在 本步骤中为各卷积层特征图的绝对值最大值;
Figure 308467DEST_PATH_IMAGE025
表示量化尺度参数,在本步骤中为各卷 积层特征图的量化尺度参数;
Figure 865351DEST_PATH_IMAGE026
表示对数据进行四舍五入。
第二部分,对卷积核参数的量化及对偏置的量化主要包括步骤S300-步骤S400的内容。
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
在本实施例中,所述计算各卷积层的卷积核参数的量化尺度参数,其具体步骤包括:
步骤B10,统计各卷积层卷积核的绝对值最大值;
步骤B20,基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式即公式(1),生成各卷积层卷积核的量化尺度参数scale_kernel[n]。
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;本实施例中,偏置项统一量化为int32。
在本实施例中,由当前层输入的特征图的量化尺度参数scale_feature[i-1]和当前卷积层的卷积核参数的量化尺度参数scale_kernel[i]加和获得当前层的偏置项的量化尺度参数bias_scale[i]。即bias_scale[i] =scale_feature[i-1]+scale_kernel[i]。通过本步骤的偏置项量化尺度参数计算方法可以有效地保持各卷积层特征图尺度的统一。
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;在本步骤中,即将浮点转换为定点进行后续计算。
在本实施例中,所述量化后卷积核参数和量化后的偏置项参数,其获得方法为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;在本申请中,权重包括卷积层的卷积核参数和偏置项参数,对权重的量化即问对卷积核参数的量化和对偏置项参数的量化;
所述量化后权重参数公式为:
Figure 601225DEST_PATH_IMAGE027
(2)
其中,
Figure 268967DEST_PATH_IMAGE028
表示待量化的浮点权重参数;
Figure 875529DEST_PATH_IMAGE025
表示量化尺度参数;q表示量化后 的权重参数;
Figure 603314DEST_PATH_IMAGE026
表示对数据四舍五入。
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
在获取了特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数后,输入任意图像均可进行卷积运算,此时输入图像视为第0层特征,在将特征图量化到8bit的情况下其量化尺度参数为-1。后续即可通过如步骤S600的方法完成计算。
在本实施例中,步骤S600如图2所示,包括:
步骤S610,对于每一层卷积层,将当前卷积层输入的量化后的特征图feature_q[i-1]与当前卷积层的量化后的卷积核参数kernel_q[i]进行卷积运算,并加上当前卷积层的量化后的偏置项参数int32_bias[i]获得当前卷积层的中间结果int32_feat[i];即int32_feat[i]= feature_q[i-1]*kernel_q[i]+ int32_bias[i];
步骤S620,若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
步骤S630,对所述中间结果或激活后的中间结果int32_feat[i]进行饱和运算,获得饱和运算后的中间结果,即int32_feat[i]=saturate(relu(int32_feat[i]));
步骤S640,基于所述饱和运算后的中间结果int32_feat[i],进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数scale[i],所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数scale_feature[i-1]加上当前卷积层卷积核参数的量化尺度参数scale_kernel[i]减去当前卷积层特征图的量化尺度参数scale_feature[i],即scale[i]=scale_feature[i-1]+scale_kernel[i]-scale_feature[i]。则步骤S640可以表示为feauture_q[i]=int32_feat[i]>>scale[i],>>表示向右移位操作;在本实施例中,取低8bit为当前卷积层的输出结果。
在本实施例中,所述饱和运算,其具体步骤为:
对当前卷积层的中间结果设置最大值和最小值:
Figure 826485DEST_PATH_IMAGE029
Figure 533803DEST_PATH_IMAGE030
其中,
Figure 526030DEST_PATH_IMAGE031
表示第i层卷积层的中间结果的量化尺度参数;
若所述第i层卷积层的中间结果大于预设的最大值则赋值为最大值,若所述第i层卷积层的中间结果小于预设的最小值则赋值为最小值。为了保证移位量化后的结果不溢出,需要在量化前判断中间结果是否超过最大值或最小值,即对中间结果进行饱和运算操作。
本方案将权值和特征图量化到低比特后,在卷积计算过程中没有浮点计算的参与,且对卷积层中间结果的量化使用了移位量化操作,这些优化大大提高了模型在嵌入式设备上运行的效率
本发明第二实施例的基于移位量化操作的全定点卷积计算系统,包括:特征图获取模块、卷积层特征图的量化尺度参数获取模块、卷积核参数的量化尺度参数获取模块、偏置项参数的量化尺度参数获取模块、权重参数量化模块、量化后的特征图获取模块和卷积计算结果获取模块;
所述特征图获取模块,配置为获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
所述卷积层特征图的量化尺度参数获取模块,配置为基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
所述偏置项参数的量化尺度参数获取模块,配置为基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
所述权重参数量化模块,配置为基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
所述卷积计算结果获取模块,配置为基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于移位量化操作的全定点卷积计算系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于移位量化操作的全定点卷积计算方法。
本发明第四实施例的一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于移位量化操作的全定点卷积计算方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、 “第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (10)

1.一种基于移位量化操作的全定点卷积计算方法,其特征在于,所述方法包括:
步骤S100,获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
步骤S200,基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
步骤S300,计算各卷积层的卷积核参数的量化尺度参数;
步骤S400,基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
步骤S500,基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
步骤S600,基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
2.根据权利要求1所述的基于移位量化操作的全定点卷积计算方法,其特征在于,所述计算特征图的量化尺度参数,其具体步骤为:
步骤A10,基于所述各卷积层输出的特征图,获取各卷积层特征图的绝对值最大值;
步骤A20,基于所述各卷积层特征图的绝对值最大值,通过量化尺度参数公式计算各卷积特征图的量化尺度参数;
所述量化尺度参数公式为:
Figure DEST_PATH_IMAGE001
其中,
Figure 454383DEST_PATH_IMAGE002
表示参数量化到相应低bit定点数时的最大值,比如量化到8bit有符号 数,则
Figure 854271DEST_PATH_IMAGE003
Figure 139759DEST_PATH_IMAGE004
表示当前待量化的浮点数中的绝对值最大值,在本 步骤中为各卷积层特征图的绝对值最大值;
Figure 283295DEST_PATH_IMAGE005
表示量化尺度参数,在本步骤中为各卷积 层特征图的量化尺度参数;
Figure 337839DEST_PATH_IMAGE006
表示对数据进行四舍五入。
3.根据权利要求2所述的基于移位量化操作的全定点卷积计算方法,其特征在于,所述计算各卷积层的卷积核参数的量化尺度参数,其具体步骤包括:
步骤B10,统计各卷积层卷积核的绝对值最大值;
步骤B20,基于所述卷积核的绝对值最大值,根据所述量化尺度参数公式生成各卷积层卷积核的量化尺度参数。
4.根据权利要求3所述的基于移位量化操作的全定点卷积计算方法,其特征在于,偏置项参数的量化尺度参数,其获得方法为:
由当前层上一层的特征图的量化尺度参数和当前卷积层的卷积核参数的量化尺度参数加和获得当前卷积层的偏置项的量化尺度参数。
5.根据权利要求4所述的基于移位量化操作的全定点卷积计算方法,其特征在于,所述量化后卷积核参数和量化后的偏置项参数,其获得方法为:
基于各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,通过量化后权重参数公式,分别获得量化后的卷积核参数和量化后的偏置项参数;
所述量化后权重参数公式为:
Figure 174208DEST_PATH_IMAGE007
其中,
Figure 212571DEST_PATH_IMAGE008
表示待量化的浮点权重参数;
Figure 392755DEST_PATH_IMAGE005
表示量化尺度参数;q表示量化后的权 重参数;
Figure 567384DEST_PATH_IMAGE006
表示对数据四舍五入。
6.根据权利要求5所述的基于移位量化操作的全定点卷积计算方法,其特征在于,步骤S600包括:
步骤S610,对于每一层卷积层,将当前卷积层输入的量化后的特征图与当前卷积层的量化后的卷积核参数进行卷积运算,并加上当前卷积层的量化后的偏置项参数获得当前卷积层的中间结果;
步骤S620,若当前卷积层配置有relu激活函数,则对所述中间结果进行relu激活获得激活后的中间结果;
步骤S630,对所述中间结果或激活后的中间结果进行饱和运算,获得饱和运算后的中间结果;
步骤S640,基于所述饱和运算后的中间结果,进行向右移位量化操作,获得当前卷积层输出的量化后的特征图像,最后一层卷积层输出的量化后的特征图像即为最终卷积特征;所述向右移位量化操作,其右移的位数为当前卷积层的中间结果的量化尺度参数,所述中间结果的量化尺度参数为当前卷积层输入的特征图的量化尺度参数加上当前卷积层卷积核参数的量化尺度参数减去当前卷积层特征图的量化尺度参数。
7.根据权利要求6所述的基于移位量化操作的全定点卷积计算方法,其特征在于,所述饱和运算,其具体步骤为:
对当前卷积层的中间结果设置最大值和最小值:
Figure 309075DEST_PATH_IMAGE009
Figure 569155DEST_PATH_IMAGE010
其中,
Figure DEST_PATH_IMAGE011
表示第i层卷积层的中间结果的量化尺度参数;
若所述第i层卷积层的中间结果大于预设的最大值则赋值为最大值,若所述第i层卷积层的中间结果小于预设的最小值则赋值为最小值。
8.一种基于移位量化操作的全定点卷积计算系统,其特征在于,所述系统包括:特征图获取模块、卷积层特征图的量化尺度参数获取模块、卷积核参数的量化尺度参数获取模块、偏置项参数的量化尺度参数获取模块、权重参数量化模块、量化后的特征图获取模块和卷积计算结果获取模块;
所述特征图获取模块,配置为获取校正集图像,并输入浮点模型获得各卷积层输出的特征图;
所述卷积层特征图的量化尺度参数获取模块,配置为基于各卷积层输出的特征图,获取各卷积层特征图的量化尺度参数;
所述卷积核参数的量化尺度参数获取模块,配置为计算各卷积层的卷积核参数的量化尺度参数;
所述偏置项参数的量化尺度参数获取模块,配置为基于所述特征图的量化尺度参数和卷积核参数的量化尺度参数计算偏置项参数的量化尺度参数;
所述权重参数量化模块,配置为基于所述各卷积层的卷积核参数的量化尺度参数和偏置项参数的量化尺度参数,将各卷积层权重进行量化获得量化后的卷积核参数和量化后的偏置项参数;
所述卷积计算结果获取模块,配置为基于所述特征图的量化尺度参数、量化后的卷积核参数和量化后的偏置项参数进行卷积运算获得最终卷积特征。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求1-7任一项所述的基于移位量化操作的全定点卷积计算方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求1-7任一项所述的基于移位量化操作的全定点卷积计算方法。
CN202110315588.XA 2021-03-24 2021-03-24 基于移位量化操作的全定点卷积计算方法、系统及设备 Active CN112990438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110315588.XA CN112990438B (zh) 2021-03-24 2021-03-24 基于移位量化操作的全定点卷积计算方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110315588.XA CN112990438B (zh) 2021-03-24 2021-03-24 基于移位量化操作的全定点卷积计算方法、系统及设备

Publications (2)

Publication Number Publication Date
CN112990438A true CN112990438A (zh) 2021-06-18
CN112990438B CN112990438B (zh) 2022-01-04

Family

ID=76333413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110315588.XA Active CN112990438B (zh) 2021-03-24 2021-03-24 基于移位量化操作的全定点卷积计算方法、系统及设备

Country Status (1)

Country Link
CN (1) CN112990438B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570111A (zh) * 2021-06-29 2021-10-29 中北大学 基于轻量化网络的桥梁健康状态片上监测方法
CN113780523A (zh) * 2021-08-27 2021-12-10 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质
CN114898108A (zh) * 2022-03-30 2022-08-12 哈尔滨工业大学 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统
CN116913266A (zh) * 2023-09-13 2023-10-20 腾讯科技(深圳)有限公司 一种语音检测方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012559A1 (en) * 2017-07-06 2019-01-10 Texas Instruments Incorporated Dynamic quantization for deep neural network inference system and method
CN109409509A (zh) * 2018-12-24 2019-03-01 济南浪潮高新科技投资发展有限公司 一种针对基于fpga的卷积神经网络加速器的数据结构和加速方法
CN109840589A (zh) * 2019-01-25 2019-06-04 深兰人工智能芯片研究院(江苏)有限公司 一种在fpga上运行卷积神经网络的方法、装置及系统
CN110598839A (zh) * 2018-06-12 2019-12-20 华为技术有限公司 卷积神经网络系统和卷积神经网络量化的方法
CN110880038A (zh) * 2019-11-29 2020-03-13 中国科学院自动化研究所 基于fpga的加速卷积计算的系统、卷积神经网络
CN111656315A (zh) * 2019-05-05 2020-09-11 深圳市大疆创新科技有限公司 一种基于卷积神经网络架构的数据处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012559A1 (en) * 2017-07-06 2019-01-10 Texas Instruments Incorporated Dynamic quantization for deep neural network inference system and method
CN110598839A (zh) * 2018-06-12 2019-12-20 华为技术有限公司 卷积神经网络系统和卷积神经网络量化的方法
CN109409509A (zh) * 2018-12-24 2019-03-01 济南浪潮高新科技投资发展有限公司 一种针对基于fpga的卷积神经网络加速器的数据结构和加速方法
CN109840589A (zh) * 2019-01-25 2019-06-04 深兰人工智能芯片研究院(江苏)有限公司 一种在fpga上运行卷积神经网络的方法、装置及系统
CN111656315A (zh) * 2019-05-05 2020-09-11 深圳市大疆创新科技有限公司 一种基于卷积神经网络架构的数据处理方法及装置
CN110880038A (zh) * 2019-11-29 2020-03-13 中国科学院自动化研究所 基于fpga的加速卷积计算的系统、卷积神经网络

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570111A (zh) * 2021-06-29 2021-10-29 中北大学 基于轻量化网络的桥梁健康状态片上监测方法
CN113570111B (zh) * 2021-06-29 2023-08-29 中北大学 基于轻量化网络的桥梁健康状态片上监测方法
CN113780523A (zh) * 2021-08-27 2021-12-10 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质
CN113780523B (zh) * 2021-08-27 2024-03-29 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质
CN114898108A (zh) * 2022-03-30 2022-08-12 哈尔滨工业大学 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统
CN116913266A (zh) * 2023-09-13 2023-10-20 腾讯科技(深圳)有限公司 一种语音检测方法、装置、设备及存储介质
CN116913266B (zh) * 2023-09-13 2024-01-05 腾讯科技(深圳)有限公司 一种语音检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112990438B (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN112990438B (zh) 基于移位量化操作的全定点卷积计算方法、系统及设备
CN109858623B (zh) 用于执行人工神经网络正向运算的装置和方法
CN110008952B (zh) 一种目标识别方法及设备
KR20200004700A (ko) 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
CN113159276B (zh) 模型优化部署方法、系统、设备及存储介质
CN111783961A (zh) 基于激活定点拟合的卷积神经网络训练后量化方法及系统
CN110598839A (zh) 卷积神经网络系统和卷积神经网络量化的方法
CN110929865A (zh) 网络量化方法、业务处理方法及相关产品
CN111696149A (zh) 针对基于cnn的立体匹配算法的量化方法
CN111950715A (zh) 基于自适应动态移位的8位整型全量化推理方法及装置
CN110647990A (zh) 基于灰色关联分析的深度卷积神经网络模型的裁剪方法
CN113222102A (zh) 用于神经网络模型量化的优化方法
CN112686384A (zh) 一种自适应比特位宽的神经网络量化方法及其装置
CN113780523B (zh) 图像处理方法、装置、终端设备及存储介质
CN111383157B (zh) 图像处理方法、装置、车载运算平台、电子设备及系统
CN111091183A (zh) 一种神经网络加速系统和方法
CN113657595A (zh) 神经网络实时剪枝方法、系统及神经网络加速器
CN113408696A (zh) 深度学习模型的定点量化方法及装置
CN112613604A (zh) 神经网络的量化方法及装置
CN112232477A (zh) 图像数据处理方法、装置、设备及介质
CN113177634B (zh) 基于神经网络输入输出量化的图像分析系统、方法和设备
CN112446461A (zh) 一种神经网络模型训练方法及装置
US11823043B2 (en) Machine learning with input data domain transformation
US20220207346A1 (en) Data processing method and device used in neural network
CN110852361B (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