CN111696149A - 针对基于cnn的立体匹配算法的量化方法 - Google Patents

针对基于cnn的立体匹配算法的量化方法 Download PDF

Info

Publication number
CN111696149A
CN111696149A CN202010558891.8A CN202010558891A CN111696149A CN 111696149 A CN111696149 A CN 111696149A CN 202010558891 A CN202010558891 A CN 202010558891A CN 111696149 A CN111696149 A CN 111696149A
Authority
CN
China
Prior art keywords
quantization
quantized
weight
integer
bit
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.)
Pending
Application number
CN202010558891.8A
Other languages
English (en)
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.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202010558891.8A priority Critical patent/CN111696149A/zh
Publication of CN111696149A publication Critical patent/CN111696149A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

本发明公开了一种针对基于CNN的立体匹配算法的量化方法,包括:在推理过程中,采用线性定点化的方式,将浮点形式的权重量化为整数值;单个卷积运算中,将量化后的输入特征图与量化后的权重进行整数运算,整数运算使用累加器进行乘积累加,累加器中引入了带量化的偏置加法,偏置项使用与权重相同的方式量化;累加器的输出进入激活层,激活层采用ReLU6()函数将最终输出控制在设定的范围内。该方法可以极大的减少存储量和浮点运算次数,从而为卷积神经网络部署在资源有限的嵌入式平台上做准备。

Description

针对基于CNN的立体匹配算法的量化方法
技术领域
本发明涉及立体视觉技术与深度学习领域,尤其涉及一种针对基于CNN的立体匹配算法的量化方法。
背景技术
立体视觉是计算机视觉领域中一个热门研究话题,并广泛应用于机器人导航、无人机、自动驾驶汽车、物体检测和识别等方面。双目立体视觉的目标是利用左右图像之间的视差,恢复出物体的深度信息。而立体匹配作为双目立体视觉中和核心步骤,其算法的精度对立体视觉***的影响很大。立体匹配的目的就是计算出参考图像每个像素点的视差值d。其基本原理为给定一组经过校正的立体图像对,左图像中的像素点p(x,y),在右图像上的对应匹配点为p’(x-d,y),则该像素的深度就可以由fB/d计算而来,其中f为相机的焦距,B为左右相机光心之间的距离。早期的工作根据原始图像的信息(如像素强度、梯度等信息)来计算初始匹配代价,再通过窗口完成代价的聚合,最后在整个图像范围内根据聚合代价选择最优的视差。其又分为局部算法和全局匹配算法。
近年来,随着深度学习的急速发展,神经网络在计算机视觉领域发挥着日益重要的作用,其迅速应用于立体匹配领域,当前立体匹配领域精度最为先进的算法都使用到了卷积神经网络(Convolutional Neural Network,CNN)。Jure Zbontar和Yann Lecun首次将CNN应用在立体匹配算法中,通过设计一个深层的Siamese网络去计算匹配代价,然后利用一块9*9的图块,该网络被训练去学习预测图块之间的相似性,其算法的精度远高于传统的立体匹配算法。之后,Shaked和Wolf提出了一个高速网络去计算匹配代价和一个全局的视差网络来预测视差置信度得分。目前,用于预测整个视差图并且无需进行后处理的端到端的网络得到了极大的发展。Kendall等人提出了GC-Net网络,并使用了多尺度特征结合的三维卷积神经网络来调整匹配代价空间。最后通过视差回归获取高精度的视差图。Chang等人提出一个全新的金字塔立体匹配网络来获取不同尺度上的特征,并结合沙漏堆叠的三维卷积神经网络来更好地利用上下文信息,从而获得了非常精确的视差图。
基于CNN的端到端的立体匹配算法框架基本分为以下几个步骤,第一步通过卷积神经网络提取出左图和右图的特征图,根据视差的原理,将右视图获得的特征图向右平移,并与左视图生成的特征图融合在一起形成四维的代价空间,然后使用三维卷积神经网络对代价空间进行规整,最后通过视差回归输出精准的视差图。在整个算法中,CNN占据了绝大多数的计算量,而且在计算过程中,会产生大量的中间数据,这带来了对存储器、功率以及计算能力的大量需求,极大地限制了其在便携式设备中的应用。因此,有必要对网络模型进行压缩,同时减少对内存和计算能力的要求。
模型压缩的方法大致分为四个方案:参数修剪和共享、低秩分解、紧凑卷积滤波器和知识蒸馏。
针对立体匹配问题,参数量化是一种高效的模型压缩方法。通过将32位全浮点数的网络量化为低bit的参数(比如8bit、4bit或1bit等),可以有效减少参数的冗余,从而减少存储占用、通信带宽和计算复杂度。它有利于卷积神经网络在人工智能芯片中的轻量级应用。目前,已经有很多关于神经网络量化的方案。Jacob等人提出了仅整数算术推理的量化方法,将weights和输入数据量化为uint8,bias量化为uint32,这是一种非线性量化的方法,具有很广泛的应用。但需要进行模拟量化训练来寻找非线性量化过程中每个通道的激活输出层和权重层的最大值和最小值数据,并依据这些最大最小值来进行量化,过程较为繁琐。此外,二值化网络比如XNOR、BNN、HORQ等网络将网络模型的激活和权重量化为1bit,使网络压缩可以达到最大化,但是这些算法尚未在合理的基准架构上评估现有方法,最常见的基准架构,AlexNet,VGG,GoogleNet都被设计过分参数冗余,因此,很容易获得这些架构的可观压缩。仅量化权重的方法主要与设备上存储有关,而与计算效率无关。
发明内容
本发明的目的是提供一种针对基于CNN的立体匹配算法的量化方法,可以极大的减少存储量和浮点运算次数,从而为卷积神经网络部署在资源有限的嵌入式平台上做准备。
本发明的目的是通过以下技术方案实现的:
一种针对基于CNN的立体匹配算法的量化方法,包括:
在推理过程中,采用线性定点化的方式,将浮点形式的权重量化为整数值;
单个卷积运算中,将量化后的输入特征图与量化后的权重进行整数运算,整数运算使用累加器进行乘积累加,累加器中引入了带量化的偏置加法,偏置项使用与权重相同的方式量化;累加器的输出进入激活层,激活层采用ReLU6()函数将最终输出控制在设定的范围内。
由上述本发明提供的技术方案可以看出,通过将神经网络当中的权重和偏置项由32bit浮点数转换为定点数,能够极大降低网络模型的大小,减少存储量。并在此基础上,提出了一种基于整数算术矩阵乘法的方案,通过将浮点数运算转化为定点数运算,从而减少中间缓存大小,并提高计算效率。结合本发明上述量化方案,不仅可以减少内存消耗和浮点运算次数,而且精度损失很小。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的基于卷积神经网络的立体匹配算法的基本框架示意图;
图2为本发明实施例提供的单个卷积层中整数算术矩阵乘法运算的示意图;
图3为本发明实施例提供的单个卷积层中包含BN层的整数算术矩阵乘法的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种针对基于CNN的立体匹配算法的量化方法,其中CNN主要用于图像特征的提取,代价空间的规整等过程,占据着整个算法的绝大部分的计算量。因此,对卷积神经网络进行量化处理,会带来计算效率以及资源存储方面极大的改善。
针对神经网络当中的权值和偏置,本发明实施例采取了一种线性定点化的方式,其实现方式如下,量化值用q表示,实际对应的浮点数用r表示。但为了确保网络的精度,在训练过程中依旧使用浮点数来进行计算,而在推理过程当中,转换为整数算法。这两种算法都保持着高度的对应性。量化的基本要求是允许对量化值使用整数算术运算来代替浮点运算,这等效于要求量化方案是整数q到实数r之间的映射,整数值q到实数值r之间的量化映射如公式(1)所示:
r=Sq (1)
其中,常数S是量化参数(尺度),其指定了量化的步幅。可以为任意实数,在软件中可以表示浮点数,该公式相较于非线性量化方式而言,避免了在网络计算过程中引入零点,从而带来计算负担,而且实施更为简便。确定了基准公式之后,接下来只需要针对不同网络参数设计合理的量化参数即可完成量化方案。
如图1所示,示例性的给出了基于卷积神经网络的立体匹配算法的基本框架。
图2给出了单个卷积层中整数算术矩阵乘法运算的示意图,主要应用于推理过程中,其采用线性定点化的方式,将浮点形式的权重量化为整数值;单个卷积运算中,将量化后的输入特征图与量化后的权重进行整数运算,整数运算使用累加器进行乘积累加,累加器中引入了带量化的偏置加法,偏置项使用与权重相同的方式量化;累加器的输出进入激活层,激活层采用ReLU6()函数将最终输出控制在设定的范围内。
下面针对每一阶段做详细的介绍。
一、量化权重
网络模型在训练的时候采用的是32位浮点数进行训练,其特点是小数位是可以变化的,虽然浮点数的计算精度很高,并且具备较大的动态范围,但是运算过程繁琐,对硬件资源消耗较大,使用定点数计算是以牺牲精度为代价的。在实现过程中,需要合理权衡精度与资源消耗之间的平衡。在基于卷积神经网络实现的立体匹配任务中,对训练好的模型可以打印出各层的权重、偏置参数的最大值和最小值,发现卷积神经网络的权重参数以及偏置参数的范围均落在(-2.0,2.0)之间。而且大多数参数都在处于接近0的位置,为了确保算法的精度,量化值的位宽为8bit,其量化值对应的整数范围为[-127,127]。
基于上述原理,本发明实施例将浮点形式的权重量化为int8,即位宽为8bit的整数值;如表1所示,为权重量化值数据位宽的分配方案。其中,第1个bit为符号位,1代表为负数,0代表值为正。第2个bit为整数位,由于权重范围分布较小,因此整数位仅用1bit来表示即可。小数位的宽度决定了数值的精确度,小数位宽越大,往往其量化之后的值在逆量化之后能更加接近于实数值r,综合资源以及精度等因素,采用6bit来表示小数部分所占位宽。进行逆量化之后,其非常接近于原来的实数值r。而基于卷积神经网络实现的立体匹配算法,网络模型大,冗余参数多,鲁棒性较好,采用低bit量化对整体算法的精度能影响很低。
组成 符号位 整数位 小数位
量化值(int8) 1bit 1bit 6bit
表1权重量化值数据位宽的分配方案
基于公式(1),对权重的量化的过程用公式来(2)(3)(4)(5)来说明
Figure BDA0002545364260000051
Figure BDA0002545364260000052
xQ=clamp(-(Nlevel-1),(Nlevel-1),xint) (4)
Figure BDA0002545364260000053
其中,x表示浮点形式的权重,其为实数值;S表示量化参数,round(.)表示四舍五入的函数;N1表示小数位所占位宽,也即N1=6;Nlevel=28-1;xQ表示权重量化后得到的整数值。
公式(2)的作用是将实数值x先转化为整数,公式(3)示出了量化参数与小数位位宽的关系;公式(4)的作用是将量化值q限制在[-127,127]之间,也即[-(Nlevel-1),(Nlevel-1)])之间;因为量化值的位宽为8bit,其中最高位为符号数,只表示正负,因此Nlevel的值为28-1=128。公式(5)介绍了clamp()函数的功能。基于公式(2)(3)(4)(5),则可以将神经网络中的权重由32位浮点数转换成8bit的定点数,从而极大减少网络的存储空间并带来计算效率的提升。本发明之后的偏置项等量化方式也基于公式(2)(3)(4)(5)实现,区别仅在于小数位位宽不同、以及Nlevel数值不同。
权重量化所对应的逆量化过程为:
Figure BDA0002545364260000054
其中,N1表示小数部分的位宽,因此
Figure BDA0002545364260000055
的值为64。在推理过程中,可以将逆量化的值代入进行前向推理。以确保量化实施方案的可行性。
二、卷积层中整数算术矩阵乘法
在训练过程当中,卷积操作是使用浮点数计算而来,需要大量的浮点乘法器单元,而卷积过程转化为定点数运算,定点数乘法所需要的计算资源要远低于浮点运算。因此,在知道网络输入与权重等信息之后,将实数计算转换为量化值计算,是一种有效节省计算资源并提高计算效率的措施,即使当量化参数S不是整数时,也可以通过移位等操作将其转化为整数运算。
假设浮点形式的特征图r1与浮点形式的权重r2的大小均为N×N;计算r1与r2的乘积表示为:r3=r1r2
将矩阵rα第i行第j列元素表示为
Figure BDA0002545364260000061
其中1≤i,j≤N,并且将其量化为Sα的量化参数,量化后的矩阵qα第i行第j列元素表示为
Figure BDA0002545364260000062
结合公式(1)可得:
Figure BDA0002545364260000063
根据矩阵乘法的定义,则
Figure BDA0002545364260000064
得到:
Figure BDA0002545364260000065
其中,k表示矩阵中的列号,1≤k≤N,
Figure BDA0002545364260000066
Sα表示矩阵rα的量化参数。
乘法因子
Figure BDA0002545364260000067
中,唯一的非整数是乘数M。将q1作为量化后的权重,q2作为量化后的输入特征图,q3为整数运算结果;由于卷积神经网络下一层中的输入特征图是上一层中激活层的输出,对应的量化参数S是相同的,即S2=S3,则乘法因子M仅与量化参数S1相关;记量化后的权重中小数位所占位宽为N1,则
Figure BDA0002545364260000068
结合之前的示例N1=6,则有:M=2-6
因此,乘上一个M值后,通过将数据右移N1位即可实现
Figure BDA00025453642600000610
的乘法运算。通过这种量化方案可以有效的将浮点运算转化为整数算术运算。
如图2所示的示例中,量化后的输入特征图与量化后的权重分别为和int12和int8,为了防止数值溢出而带来精度损失,累加int8和int12的乘积采用一个32bit的累加器;则公式(9)中的和为:
int32+=int8*int12 (10)
为了在int32累加器中引入带量化的偏置加法,需要将偏置项量化int16,偏置的量化方式与权重量化方式基本相同,区别在于,偏置项量化时的量化参数S’为权重量化参数S1及输入特征图量化参数S2的乘积:
Figure BDA0002545364260000069
其中,N2表示量化后的输入特征图中小数位所占位宽,例如,N2=8。此外,由于偏置项量化为16bit,在量化偏置项时,执行前述公式(4)需要带入Nlevel=216-1。其余部分与公式(2)(3)(4)(5)相同,故不再赘述。
虽然偏置被量化为16bit,但它们仅占神经网络中参数的一小部分。此外,对偏置使用更高的精度可以满足实际需求,随着每个偏置都被添加到许多激活输出中,偏置中的任何量化误差都倾向于充当整体偏置,必须避免这种操作以保持良好的端到端的神经网络的准确性。最终计算得到的q3矩阵被量化为int12。
三、针对激活输出的量化方法
对于网络输入层的参数,由于参数的范围分布较广,因此需要使用更多的整数位以防止中间计算过程的参数溢出。为了缩减激活输出值的范围,激活层采用ReLU6()函数将最终输出控制在[0,6]之间,则表示整数部分的数据位宽为3bit,如表2所示为激活输出量化值数据位宽的分配方案,首端使用1个bit为符号位,1代表为负数,0代表值为正;末端则使用8bit表示小数位;采用与权重相同的方式量化,区别在于,激活层输出量化时的量化参数为S”=1/28,以及公式(4)需要带入Nlevel=212-1=2048。通过对激活输出的这种操作,将32位浮点数转换成12位定点数,可以快速提高计算效率,从而节约计算成本,并且减少中间缓存资源。
组成 符号位 整数位 小数位
量化值(int12) 1bit 3bit 8bit
表2激活输出量化值数据位宽的分配方案
其逆量化的过程则如公式(6)所示,其唯一的区别在于小数位宽不一致,带入N2=8,即分母部分为28=256。
另一方面,由于立体匹配网络较大,在每个卷积层之后引入了批归一化层(BatchNormalization,BN),存在额外的计算复杂度。训练时可以将其作为一个单独的操作模块,但是在推理的过程可以将批处理归一化参数折叠为卷积层的权重和偏置,以提高计算效率。因此,为了准确的模拟量化效果,需要模拟这种折叠,如图3所示,首先,按批处理归一化参数缩放权重与偏置项:
Figure BDA0002545364260000071
Figure BDA0002545364260000081
其中,γ是批处理归一化的比例参数,
Figure BDA0002545364260000082
是整个批次中卷积结果方差的估计值,μB是整个批次中卷积结果的均值;ε是设定的常数值,其数值较小,用来维持数据稳定。
折叠之后,再对于获得的权重ω:fold与偏置项bias进行量化,量化方案与前文介绍的完全相同,就是将ω:fold、bias带入公式(2)中作为其中的x,结合对应的小数位位宽
Figure BDA0002545364260000083
计算出对应的xint后,再结合对应的Nlevel=28-1、Nlevel=216-1完成量化。
本发明上述实施例所提供的针对于基于端到端卷积神经网络实现的立体匹配算法中的模型量化方法,所涉及到的量化方法在软件层面易于实现,通过将浮点数量化为低bit的定点数可以带来网络模型参数存储容量的极大降低和减轻大量中间缓存的存储需求。在推理过程当中,提出了一种在卷积层中实现整数算术矩阵乘法的方案。本发明还是离提出的量化方案以极低的精度损失带来了计算资源和存储容量的极大降低。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (6)

1.一种针对基于CNN的立体匹配算法的量化方法,其特征在于,包括:
在推理过程中,采用线性定点化的方式,将浮点形式的权重量化为整数值;
单个卷积运算中,将量化后的输入特征图与量化后的权重进行整数运算,整数运算使用累加器进行乘积累加,累加器中引入了带量化的偏置加法,偏置项使用与权重相同的方式量化;累加器的输出进入激活层,激活层采用ReLU6()函数将最终输出控制在设定的范围内。
2.根据权利要求1所述的采用线性定点化的方式,其特征在于,所述将浮点形式的权重量化为整数值包括:
将浮点形式的权重量化为int8,即位宽为8bit的整数值;其中,第1个bit为符号位,1代表为负数,0代表值为正,第2个bit为整数位;后6个bit为小数位;
量化公式表示为:
Figure FDA0002545364250000011
Figure FDA0002545364250000012
xQ=clamp(-(Nlevel-1),(Nlevel-1),xint)
Figure FDA0002545364250000013
其中,x表示浮点形式的权重,其为实数值;S表示量化参数,round(.)表示四舍五入的函数;N1表示小数位所占位宽,也即N1=6;Nlevel=28-1;xQ表示权重量化后得到的整数值。
3.根据权利要求1所述的采用线性定点化的方式,其特征在于,将量化后的输入特征图与量化后的权重进行整数运算包括:
假设浮点形式的特征图r1与浮点形式的权重r2的大小均为N×N;计算r1与r2的乘积表示为:r3=r1r2
将矩阵rα第i行第j列元素表示为
Figure FDA0002545364250000014
其中1≤i,j≤N,并且将其量化为Sα的量化参数,量化后的矩阵qα第i行第j列元素表示为
Figure FDA0002545364250000015
则:
Figure FDA0002545364250000016
根据矩阵乘法的定义:
Figure FDA0002545364250000021
得到:
Figure FDA0002545364250000022
其中,k表示矩阵中的列号,1≤k≤N,
Figure FDA0002545364250000023
Sα表示矩阵rα的量化参数;
将q1作为量化后的权重,q2作为量化后的输入特征图,q3为整数运算结果;卷积神经网络下一层中的输入特征图是上一层中激活层的输出,对应的量化参数S是相同的,即S2=S3,则乘法因子M仅与量化参数S1相关;记量化后的权重中小数位所占位宽为N1,则
Figure FDA0002545364250000024
乘上一个M值后,通过将数据右移N1位即可实现
Figure FDA0002545364250000025
的乘法运算。
4.根据权利要求1或3所述的采用线性定点化的方式,其特征在于,量化后的输入特征图与量化后的权重分别为和int12和int8,累加int8和int12的乘积采用一个32bit的累加器;
32bit的累加器中引入带量化的偏置加法,即将偏置项量化为int16;偏置项量化使用与权重相同的方式,区别在于,偏置项量化时的量化参数S′为权重量化参数S1及输入特征图量化参数S2的乘积:
Figure FDA0002545364250000026
其中,N2表示量化后的输入特征图中小数位所占位宽。
5.根据权利要求1或2所述的采用线性定点化的方式,其特征在于,激活层采用ReLU6()函数将最终输出控制在[0,6]之间,则表示整数部分的数据位宽为3bit,首端使用1个bit为符号位,1代表为负数,0代表值为正;末端则使用8bit表示小数位;采用与权重相同的方式量化,区别在于,激活层输出量化时的量化参数为S”=1/28
6.根据权利要求1或2所述的采用线性定点化的方式,其特征在于,每一卷积层之后引入了批归一化层,训练时作为一个单独的操作模块,推理过程将批归一化层融入至相应的卷积层中一起进行量化,即将批归一化层参数折叠为卷积层的权重和偏置项;首先,按批处理归一化参数缩放权重与偏置项:
Figure FDA0002545364250000027
Figure FDA0002545364250000028
其中,γ是批处理归一化的比例参数,
Figure FDA0002545364250000031
是整个批次中卷积结果方差的估计值,μB是整个批次中卷积结果的均值,ε是设定的常数值;
再对于获得的权重ω:fold与偏置项bias进行量化。
CN202010558891.8A 2020-06-18 2020-06-18 针对基于cnn的立体匹配算法的量化方法 Pending CN111696149A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010558891.8A CN111696149A (zh) 2020-06-18 2020-06-18 针对基于cnn的立体匹配算法的量化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010558891.8A CN111696149A (zh) 2020-06-18 2020-06-18 针对基于cnn的立体匹配算法的量化方法

Publications (1)

Publication Number Publication Date
CN111696149A true CN111696149A (zh) 2020-09-22

Family

ID=72481644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010558891.8A Pending CN111696149A (zh) 2020-06-18 2020-06-18 针对基于cnn的立体匹配算法的量化方法

Country Status (1)

Country Link
CN (1) CN111696149A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113159177A (zh) * 2021-04-22 2021-07-23 中国科学院自动化研究所 基于批归一化参数定点化的目标检测方法、***、设备
CN113420788A (zh) * 2020-10-12 2021-09-21 黑芝麻智能科技(上海)有限公司 卷积神经网络中基于整数的融合卷积层以及融合卷积方法
CN113642486A (zh) * 2021-08-18 2021-11-12 国网江苏省电力有限公司泰州供电分公司 一种具有机载前端识别模型的无人机配网巡检方法
CN113673664A (zh) * 2020-05-14 2021-11-19 杭州海康威视数字技术股份有限公司 数据溢出检测方法、装置、设备及存储介质
WO2022075600A1 (ko) * 2020-10-05 2022-04-14 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2022087953A1 (zh) * 2020-10-29 2022-05-05 华为技术有限公司 一种基于神经网络模型的量化方法及其相关设备
WO2023169501A1 (en) * 2022-03-09 2023-09-14 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for visual data processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135580A (zh) * 2019-04-26 2019-08-16 华中科技大学 一种卷积网络全整型量化方法及其应用方法
CN110852416A (zh) * 2019-09-30 2020-02-28 成都恒创新星科技有限公司 基于低精度浮点数数据表现形式的cnn加速计算方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135580A (zh) * 2019-04-26 2019-08-16 华中科技大学 一种卷积网络全整型量化方法及其应用方法
CN110852416A (zh) * 2019-09-30 2020-02-28 成都恒创新星科技有限公司 基于低精度浮点数数据表现形式的cnn加速计算方法及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BENOIT JACOB 等: "Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference" *
JIA-REN CHANG 等: "Pyramid Stereo Matching Network" *
RAGHURAMAN KRISHNAMOORTHI: "Quantizing deep convolutional networks for efficient inference: A whitepaper" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113673664A (zh) * 2020-05-14 2021-11-19 杭州海康威视数字技术股份有限公司 数据溢出检测方法、装置、设备及存储介质
WO2022075600A1 (ko) * 2020-10-05 2022-04-14 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN113420788A (zh) * 2020-10-12 2021-09-21 黑芝麻智能科技(上海)有限公司 卷积神经网络中基于整数的融合卷积层以及融合卷积方法
WO2022087953A1 (zh) * 2020-10-29 2022-05-05 华为技术有限公司 一种基于神经网络模型的量化方法及其相关设备
CN113159177A (zh) * 2021-04-22 2021-07-23 中国科学院自动化研究所 基于批归一化参数定点化的目标检测方法、***、设备
CN113642486A (zh) * 2021-08-18 2021-11-12 国网江苏省电力有限公司泰州供电分公司 一种具有机载前端识别模型的无人机配网巡检方法
WO2023169501A1 (en) * 2022-03-09 2023-09-14 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for visual data processing

Similar Documents

Publication Publication Date Title
CN111696149A (zh) 针对基于cnn的立体匹配算法的量化方法
US11580719B2 (en) Dynamic quantization for deep neural network inference system and method
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
CN112508125A (zh) 一种图像检测模型的高效全整数量化方法
CN110852434B (zh) 基于低精度浮点数的cnn量化方法、前向计算方法及硬件装置
WO2020074989A1 (en) Data representation for dynamic precision in neural network cores
CN110852416A (zh) 基于低精度浮点数数据表现形式的cnn加速计算方法及***
CN112329922A (zh) 一种基于质谱数据集的神经网络模型压缩方法及***
CN110969251A (zh) 基于无标签数据的神经网络模型量化方法及装置
EP4100887A1 (en) Method and system for splitting and bit-width assignment of deep learning models for inference on distributed systems
CN113595993B (zh) 边缘计算下模型结构优化的车载感知设备联合学习方法
EP4318313A1 (en) Data processing method, training method for neural network model, and apparatus
CN112633477A (zh) 一种基于现场可编程阵列的量化神经网络加速方法
CN113516133A (zh) 一种多模态图像分类方法及***
CN111091183B (zh) 一种神经网络加速***和方法
CN114698395A (zh) 神经网络模型的量化方法和装置、数据处理的方法和装置
CN114418057A (zh) 卷积神经网络的运算方法及相关设备
CN113269312A (zh) 一种联合量化与剪枝搜索的模型压缩方法及其***
CN112686384A (zh) 一种自适应比特位宽的神经网络量化方法及其装置
EP4170547A1 (en) Method for extracting data features, and related apparatus
Qi et al. Learning low resource consumption cnn through pruning and quantization
US20240104342A1 (en) Methods, systems, and media for low-bit neural networks using bit shift operations
CN112561050B (zh) 一种神经网络模型训练方法及装置
CN112532251A (zh) 一种数据处理的方法及设备
US20230196095A1 (en) Pure integer quantization method for lightweight neural network (lnn)

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200922