CN117095271A - 目标识别方法、装置、电子设备及存储介质 - Google Patents
目标识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117095271A CN117095271A CN202311362219.1A CN202311362219A CN117095271A CN 117095271 A CN117095271 A CN 117095271A CN 202311362219 A CN202311362219 A CN 202311362219A CN 117095271 A CN117095271 A CN 117095271A
- Authority
- CN
- China
- Prior art keywords
- quantized
- initial
- weights
- coefficient
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013139 quantization Methods 0.000 claims abstract description 122
- 230000004048 modification Effects 0.000 claims description 39
- 238000012986 modification Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000137 annealing Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及人工智能技术领域,提供一种目标识别方法、装置、电子设备及存储介质,方法包括:获取待识别图像;利用预设识别模型识别待识别图像中的待识别目标,其中,预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,量化策略为近取整策略和远取整策略中之一,放缩系数是根据预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。本发明能够减少量化导致模型的精度损失,进而提高目标识别的效率,同时降低目标识别对资源的要求。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种目标识别方法、装置、电子设备及存储介质。
背景技术
深度卷积网络在计算机视觉方面存在着广泛用途,对图像中的特定目标进行准确、快速识别是深度卷积网络的典型应用,为了加快基于深度卷积网络的模型端侧推理速度,并降低设备功耗和减少存储空间,进而提高目标识别的效率,同时降低目标识别对资源要求,工业部署时一般会对模型进行量化处理。
如何减少量化导致模型的精度损失,进而提高目标识别的效率,同时降低目标识别对资源的要求是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供了一种目标识别方法、装置、电子设备及存储介质,其能够减少量化导致模型的精度损失,进而提高目标识别的效率,同时降低目标识别对资源的要求。
本发明的实施例可以这样实现:
第一方面,本发明提供一种目标识别方法,其特征在于,所述方法包括:获取待识别图像;利用预设识别模型识别所述待识别图像中的待识别目标,其中,所述预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,所述量化策略为近取整策略和远取整策略中之一,所述放缩系数是根据所述预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
在可选的实施方式中,所述预设识别模型的卷积层的权重的量化方式为:
获取所述预设识别模型的卷积层的多个待量化权重;
根据多个待量化权重、预设步长及预设百分位确定放缩系数;
根据所述放缩系数确定每一所述待量化权重的量化策略;
根据每一所述待量化权重的量化策略对每一所述待量化权重进行量化。
在可选的实施方式中,所述根据多个待量化权重、预设步长及预设百分位确定放缩系数的步骤包括:
根据所述多个待量化权重、预设步长及预设百分位,生成多个初始系数;
根据每一所述初始系数及多个待量化权重,计算每一所述初始系数的初始误差;
根据每一所述初始系数的初始误差及每一所述初始系数,计算每一所述初始系数下需要修改的待量化权重的修改个数;
根据每一所述初始系数、每一所述初始系数下的修改个数及所述每一所述初始系数的初始误差,计算每一所述初始系数的正交误差;
将正交误差最小的初始系数作为所述放缩系数。
在可选的实施方式中,所述根据所述多个待量化权重、预设步长及预设百分位,生成多个初始系数的步骤包括:
按照待量化权重的绝对值从小到大排序,得到待量化权重序列;
根据绝对值最大的待量化权重及预设量化位数,利用公式计算第一边界值,其中,/>为所述第一边界值,/>为预设量化位数,/>为所述待量化权重序列中第/>个待量化权重,/>为待量化权重的个数;
根据所述预设步长、待量化权重的个数及预设量化位数,利用公式计算第二边界值,其中,/>为所述第二边界值,/>为预设量化位数,为所述待量化权重序列中第/>个待量化权重,/>,/>为就近取整函数,/>为所述预设百分位,/>为待量化权重的个数;
根据所述预设步长,在所述第一边界值和所述第二边界值之间等间距生成所述多个初始系数。
在可选的实施方式中,所述根据每一所述初始系数及多个待量化权重,计算每一所述初始系数的初始误差的步骤包括:
对于任一目标初始系数,采用公式计算所述目标初始系数的初始误差,最终得到每一所述初始系数的初始误差,其中,/>为所述目标初始系数的初始误差,/>为待量化权重的个数,/>为所述目标初始系数下第/>个待量化权重的近取整误差,/>,/>为第个待量化权重,/>为所述目标初始系数,/>为就近取整函数。
在可选的实施方式中,所述根据每一所述初始系数的初始误差及每一所述初始系数,计算每一所述初始系数下需要修改的待量化权重的修改个数的步骤包括:
对于任一目标初始系数,采用公式计算所述目标初始系数下需要修改的待量化权重的修改个数,最终得到每一所述初始系数下需要修改的待量化权重的修改个数,其中,/>为所述目标初始系数下需要修改的待量化权重的修改个数,/>为就近取整函数,/>为所述目标初始系数的初始误差,/>为所述目标初始系数。
在可选的实施方式中,所述根据每一所述初始系数、每一所述初始系数下的修改个数及所述每一所述初始系数的初始误差,计算每一所述初始系数的正交误差的步骤包括:
对于任一目标初始系数,采用公式计算所述目标初始系数的正交误差,最终得到每一所述初始系数的正交误差,其中,,/>为所述目标初始系数的正交误差,/>为所述目标初始系数的初始误差,/>为所述目标初始系数下需要修改的待量化权重的修改个数,/>为所述目标初始系数。
在可选的实施方式中,所述根据所述放缩系数确定每一所述待量化权重的量化策略的步骤包括:
获取所述放缩系数下每一所述待量化权重的近取整误差、所述放缩系数下需要修改的待量化权重的修改个数及所述放缩系数的初始误差;
按照近取整误差的绝对值从大到小的顺序,依次从所述近取整误差中确定目标权重,直至所述目标权重的个数等于所述放缩系数下需要修改的待量化权重的修改个数,所述目标权重的近取整误差与所述放缩系数的初始误差之积大于零;
将所述目标权重的量化策略确定为远取整策略、并将除所述目标权重之外的待量化权重的量化策略确定为近取整策略。
第二方面,本发明提供一种目标识别装置,所述装置包括:
获取模块,用于获取待识别图像;
识别模块,用于利用预设识别模型识别所述待识别图像中的待识别目标,其中,所述预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,所述量化策略为近取整策略和远取整策略中之一,所述放缩系数是根据所述预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现上述第一方面所述的目标识别方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的目标识别方法。
本发明实施例在对待识别图像中的待识别目标识别时,根据预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的放缩系数,再利用放缩系数确定的量化策略对预设识别模型的卷积层的待量化权重进行量化,量化策略为近取整策略和远取整策略中之一,使得量化后的预设识别模型的精度损失最少,提高了目标识别的效率,同时降低了目标识别对资源的要求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的目标识别方法的流程示例图。
图2为本发明实施例提供的损失计算的示例图。
图3为本发明实施例提供的目标识别装置的方框示意图。
图4为本发明实施例提供的一种电子设备的方框示意图。
图标:10-电子设备;11-处理器;12-存储器;13-总线;100-目标识别装置;110-获取模块;120-识别模块;130-量化模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参照图1,图1为本发明实施例提供的目标识别方法的流程示例图,该方法包括以下步骤:
步骤S101,获取待识别图像。
在本实施例中,待识别图像可以是拍摄的照片或者视频中的截图。
步骤S102,利用预设识别模型识别待识别图像中的待识别目标,其中,预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,量化策略为近取整策略和远取整策略中之一,放缩系数是根据预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
在本实施例中,预设识别模型为预先训练的模型,待识别目标可以是植物、动物、人物、物体等。
在本实施例中,卷积层的待量化权重可以为多个,每一待量化权重的量化策略可以相同,也可以不同,具体需要根据放缩系数确定。预设步长和预设百分位可以根据实际量化的精度要求而定,精度要求高,预设步长可以设置小一些。
在本实施例中,近取整策略和远取整策略是两种不同的取整策略,前者是就近取整、后者是相对远取整,待量化权重为小数,用F表示,F介于两个整数I,J之间(I<F<J),假设|F-I|<|F-J|,近取整策略是按四舍五入,其近取整即为I,其远取整为J。
本实施例提供的上述方法,根据预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的放缩系数,利用放缩系数确定最合适的量化策略,根据最合适的量化策略对预设识别模型的卷积层的待量化权重进行量化,使得量化后的预设识别模型的精度损失最少,可以在精度损失可控的情况下,以最少的硬件资源实现待识别目标的识别,提高了目标识别的效率。
当前模型量化方式分为PTQ(Post-Training Quantization,训练后量化)及QAT(Quantification Aware Training,量化后训练)两种方式,PTQ相对于QAT会带来更多的精度损失,但耗时低,无需重训练,不用大量数据集,更易实现。模型量化有量化权重和量化激活两部分。
PTQ中的权重量化里的线性量化,是指将其浮点数权重和特征图用低精度定点整数表示,工业上一般选择8bit量化。带来能耗降低,推理加速等优势的同时,量化过程存在的定点舍入损失也导致了量化模型相对于原模型的精度损失问题。该精度损失主要来自于两部分,一是权重量化定点舍入(round)损失,二是特征图量化定点舍入(round)及截断损失,其中模型每层权重因量化舍入(round)导致的损失可将其描述为,其中,/>,/>是任一卷积层输出特征图的位置/>所对应量化权重算子卷积运算相对于全精度权重算子卷积运算的导致的损失的绝对值,为以通道量化为单位时,第/>个通道权重/>由于量化引入的量化损失,/>为卷积核移动到位置/>时,卷积核第/>个通道权重所对应的输入特征图的特征图数值,为每个通道的权重个数,/>为每个通道卷积后得到的特征图尺寸。
请参照图2,图2为本实施例提供的损失计算的示例图,图2中,以一个通道为例,对于输出特征图位置5的:其计算方式为:/>,其中,/>为卷积核的/>由于量化引入的量化损失,/>为图1中的/>中第/>个元素。最小化,则最小化了该层的量化损失,最小化每层的量化损失则最小化了全模型的量化损失,/>,其中,/>为模型输入,/>为模型输出,/>为模型权重,/>为模型权重/>由于量化引入的量化损失,/>为每个通道卷积后得到的特征图尺寸,因此,优化问题可以描述如下:
等价于
其中,
为序号为/>的全精度权重被量化到对应整型数取整(round)后再反量化导致的对应权重量化取整(round)误差;/>为卷积核移动到位置/>时,卷积核第/>个权重所对应的输入特征图的特征图数值,/>为该组权重缩放系数,/>为该组被量化权重的序号,如果以层为量化粒度,则该卷积层的所有权重共享同一个/>,则为该卷积层第/>个权重,如果以通道为量化粒度,则该卷积层的每个通道的/>个权重共享同一个/>,/>为每个通道的权重的个数,/>为该层卷积层某通道中第/>个权重,/>为预设参数,可取0、1、2,min为取最小值函数,/>为范数,为该组权重。
目前的一种量化方案,是将全精度权重经量化放缩得到的浮点权重四舍五入到最近的整型数,该方案在8bit量化时能取得较好的效果,在4bit等低位量化时取得的效果相对于全精度模型输出差距过大,另一种量化方案是:获取适量训练图片,得到对应层的特征图输入数据,然后最小化全精度模型与量化模型对应层的量化及松弛损失,后者虽然对4bit量化模型效果在部分模型上提升明显,但是量化耗时过大,并且依赖于输入的训练数据,实现过程不仅复杂而且其中的部分参数是需要大量试验得到的,其方法本质与暴力搜索类似。
有鉴于此,本实施例提供一种对预设识别模型的卷积层的权重的量化方式,其实现简单,且不依赖于特征图输入数据,同时能够减少量化导致模型的精度损失,下面将对其进行详细描述。
本发明实施例提供的权重量化方式为:
首先,获取所述预设识别模型的卷积层的多个待量化权重;
在本实施例中,预设识别模型可以是深度卷积网络,用于识别特定目标的目标识别模型,例如,用于识别人脸的人脸识别模型等。需要量化的卷积层是预设识别模型的第一层卷积层。
在本实施例中,所有待量化权重可以为一层卷积层所有的待量化权重,若按照通道进行量化,所有待量化权重为一层卷积层中待量化通道包括的所有权重。例如,对于一层卷积层,一层卷积层包括3个通道,每个通道对应9个权重,则所有待量化权重的个数可以为27个,也可以一个通道的待量化权重的个数,为9个,每一通道的待量化权重的量化方式均相同。
其次,根据多个待量化权重、预设步长及预设百分位确定放缩系数;
在本实施例中,放缩系数能够使得正交误差最小,一种放缩系数的确定方式为:
(1)根据多个待量化权重、预设步长及预设百分位,生成多个初始系数;
生成初始系数的方式为:
(1.1)按照待量化权重的绝对值从小到大排序,得到待量化权重序列;
(1.2)根据绝对值最大的待量化权重及预设量化位数,利用公式计算第一边界值,其中,/>为第一边界值,/>为预设量化位数,/>为待量化权重序列中第/>个待量化权重,/>为待量化权重的个数;
(1.3)根据预设步长、待量化权重的个数及预设量化位数,利用公式计算第二边界值,其中,/>为第二边界值,/>为预设量化位数,/>为待量化权重序列中第/>个待量化权重,/>,/>为就近取整函数,为预设百分位,/>为待量化权重的个数;
(1.4)根据预设步长,在第一边界值和第二边界值之间等间距生成多个初始系数。
(2)根据每一初始系数及多个待量化权重,计算每一初始系数的初始误差;
在本实施例中,每一初始系数的初始误差的计算方式都是一样的,本实施例以任一目标初始系数说明目标初始系数的初始误差的计算方式:
对于任一目标初始系数,采用公式计算目标初始系数的初始误差,其中,/>为目标初始系数的初始误差,/>为待量化权重的个数,为目标初始系数下第/>个待量化权重的近取整误差,,/>为第/>个待量化权重,/>为目标初始系数,/>为就近取整函数。例如,待量化权重为1.6,目标初始系数为1.0,。
(3)根据每一初始系数的初始误差及每一初始系数,计算每一初始系数下需要修改的待量化权重的修改个数;
在本实施例中,对于每一初始系数,其需要修改的待量化权重的修改个数的计算方式都是一样的,本实施例以任一目标初始系数说明目标初始系数下需要修改的待量化权重的修改个数的计算方式:
对于任一目标初始系数,采用公式计算目标初始系数下需要修改的待量化权重的修改个数,其中,/>为目标初始系数下需要修改的待量化权重的修改个数,/>为就近取整函数,/>为目标初始系数的初始误差,/>为目标初始系数。
(4)根据每一初始系数、每一初始系数下的修改个数及每一初始系数的初始误差,计算每一初始系数的正交误差;
在本实施例中,每一初始系数的正交误差的计算方式都是一样的,本实施例以任一目标初始系数说明目标初始系数的正交误差的计算方式:
对于任一目标初始系数,采用公式计算目标初始系数的正交误差,其中,,/>为目标初始系数的正交误差,/>为目标初始系数的初始误差,/>为目标初始系数下需要修改的待量化权重的修改个数,/>为目标初始系数。
(5)将正交误差最小的初始系数作为放缩系数。
第三,根据放缩系数确定每一待量化权重的量化策略;
在本实施例中,量化策略为近取整策略和远取整策略中的一个,同一卷积层的不同待量化权重采用的量化策略可能是不同,为了使得每一待量化权重按照最合适的量化策略量化,以使得精度损失尽量最小化,一种确定量化策略的实现方式为:
(1)获取放缩系数下每一待量化权重的近取整误差、放缩系数下需要修改的待量化权重的修改个数及放缩系数的初始误差;
在本实施例中,放缩系数下每一待量化权重的近取整误差、放缩系数下需要修改的待量化权重的修改个数及放缩系数的初始误差的计算方式与前述中的目标初始系数相同,此处不再赘述。
(2)按照近取整误差的绝对值从大到小的顺序,依次从近取整误差中确定目标权重,直至目标权重的个数等于放缩系数下需要修改的待量化权重的修改个数,目标权重的近取整误差与放缩系数的初始误差之积大于零;
在本实施例中,作为一种具体实现方式,可以按照近取整误差的绝对值将待量化权重按照从大到小的顺序进行排序,按照排序后的顺序,依次判断当前待量化权重的进取整误差与放缩系数的初始误差之积是否大于0,若大于0,则将当前待量化权重确定为目标权重,若否,则判断当前待量化权重的下一个待量化权重,直至目标权重的个数等于放缩系数下需要修改的待量化权重的修改个数。
(3)将目标权重的量化策略确定为远取整策略、并将除目标权重之外的待量化权重的量化策略确定为近取整策略。
为了更清楚地说明本实施例提供的对预设识别模型的权重进行量化的方法的效果,本实施例以人脸检测为任务目标,提供了本实施例方法和最近舍入量化方法的对比实验,两种方案精度对比结果如表1和表2所示。
表1
表2
据表1,本实施例方法从精度来说,以采用relu激活函数的人脸单精度模型作为参照,分别实验并计算单精度模型和本实例实施的方法获得的量化模型之间的信噪比,单精度模型和最近舍入量化方法获得的量化模型之间的信噪比。本实例实施的方法相对于最近舍入方法来说,在人脸五点的结果上,信噪比从0.00491151下降至0.00307556,在人脸检测框的结果上,信噪比从0.00619555下降至0.00473023,在置信度的结果上,信噪比从0.00619555下降至0.00473023。
据表2,本实施例方法从精度来说,相对于最近舍入(nearst round)方法,模型权重采用4bit量化及激活数据8bit量化的情况下,本实施例方法能显著将精度损失从16.67%降低到3.849%。而时间复杂度同样为。相对于高通退火方法(Cont. relaxation),其模型权重采用4bit量化,激活不量化的情况下,本实施例方法能与其达到近似的精度损失,且本实施例方法量化了激活层,并拥有较好的时间复杂度。
由于本实施例使权重舍入损失向量近似于与特征图数据分布正交,因而能尽量最小化各卷积层的损失,从而使得总体模型的相对于全精度模型的精度损失更小。
从速度上来说,本实施例的方法的时间复杂度为,相对于最近舍入(nearstround)方案的时间复杂度/>会增加时耗,但由于n是对应于被量化的通道或层的权重个数,该数值不会太大,因而在深度模型上,普通处理器能很快得到结果,对设备性能要求较低。
而现有的退火方法(Cont. relaxation)方案,由于其最终将方案简化为暴力搜索,且需要在超过256张特征图上进行搜索,本身时间复杂度为,同时需要在大量数据中寻找最优解,因而其在Resnet-18的浅层轻量网络上,使用GTX-1080ti也需要超过10分钟才能量化整个模型,对普通处理器来说,时耗太大,同时对内存和数据集也有一定要求。三种方案时耗对比参考表3。
表3
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面分别给出一种目标识别装置100的实现方式,应用于电子设备。请参照图3,图3为本发明实施例提供的目标识别装置的方框示意图,需要说明的是,本实施例所提供的目标识别装置100,其基本原理及产生的技术效果和对应的上述实施例相同,为简要描述,本实施例部分未提及指出。
目标识别装置100包括获取模块110、识别模块120和量化模块130。
获取模块110,用于获取待识别图像;
识别模块120,用于利用预设识别模型识别所述待识别图像中的待识别目标,其中,所述预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,所述量化策略为近取整策略和远取整策略中之一,所述放缩系数是根据所述预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
在可选的实施方式中,量化模块130用于:获取所述预设识别模型的卷积层的多个待量化权重;根据多个待量化权重、预设步长及预设百分位确定放缩系数;根据所述放缩系数确定每一所述待量化权重的量化策略;根据每一所述待量化权重的量化策略对每一所述待量化权重进行量化。
在可选的实施方式中,量化模块130具体用于:根据所述多个待量化权重、预设步长及预设百分位,生成多个初始系数;根据每一所述初始系数及多个待量化权重,计算每一所述初始系数的初始误差;根据每一所述初始系数的初始误差及每一所述初始系数,计算每一所述初始系数下需要修改的待量化权重的修改个数;根据每一所述初始系数、每一所述初始系数下的修改个数及所述每一所述初始系数的初始误差,计算每一所述初始系数的正交误差;将正交误差最小的初始系数作为所述放缩系数。
在可选的实施方式中,量化模块130在用于根据所述多个待量化权重、预设步长及预设百分位,生成多个初始系数时,具体用于:按照待量化权重的绝对值从小到大排序,得到待量化权重序列;根据绝对值最大的待量化权重及预设量化位数,利用公式计算第一边界值,其中,/>为所述第一边界值,/>为预设量化位数,为所述待量化权重序列中第/>个待量化权重,/>为待量化权重的个数;根据所述预设步长、待量化权重的个数及预设量化位数,利用公式/>计算第二边界值,其中,为所述第二边界值,/>为预设量化位数,/>为所述待量化权重序列中第/>个待量化权重,/>,/>为就近取整函数,/>为所述预设百分位,/>为待量化权重的个数;根据所述预设步长,在所述第一边界值和所述第二边界值之间等间距生成所述多个初始系数。
在可选的实施方式中,量化模块130在用于根据每一所述初始系数及多个待量化权重,计算每一所述初始系数的初始误差时具体用于:对于任一目标初始系数,采用公式计算所述目标初始系数的初始误差,最终得到每一所述初始系数的初始误差,其中,/>为所述目标初始系数的初始误差,/>为待量化权重的个数,/>为所述目标初始系数下第/>个待量化权重的近取整误差,,/>为第/>个待量化权重,/>为所述目标初始系数,/>为就近取整函数。
在可选的实施方式中,量化模块130在用于根据每一所述初始系数的初始误差及每一所述初始系数,计算每一所述初始系数下需要修改的待量化权重的修改个数时,具体用于:对于任一目标初始系数,采用公式计算所述目标初始系数下需要修改的待量化权重的修改个数,最终得到每一所述初始系数下需要修改的待量化权重的修改个数,其中,/>为所述目标初始系数下需要修改的待量化权重的修改个数,/>为就近取整函数,/>为所述目标初始系数的初始误差,/>为所述目标初始系数。
在可选的实施方式中,量化模块130在用于根据每一所述初始系数、每一所述初始系数下的修改个数及所述每一所述初始系数的初始误差,计算每一所述初始系数的正交误差时具体用于:
对于任一目标初始系数,采用公式计算所述目标初始系数的正交误差,最终得到每一所述初始系数的正交误差,其中,,/>为所述目标初始系数的正交误差,/>为所述目标初始系数的初始误差,/>为所述目标初始系数下需要修改的待量化权重的修改个数,/>为所述目标初始系数。
在可选的实施方式中,量化模块130具体还用于:获取所述放缩系数下每一所述待量化权重的近取整误差、所述放缩系数下需要修改的待量化权重的修改个数及所述放缩系数的初始误差;按照近取整误差的绝对值从大到小的顺序,依次从所述近取整误差中确定目标权重,直至所述目标权重的个数等于所述放缩系数下需要修改的待量化权重的修改个数,所述目标权重的近取整误差与所述放缩系数的初始误差之积大于零;将所述目标权重的量化策略确定为远取整策略、并将除所述目标权重之外的待量化权重的量化策略确定为近取整策略。
本发明实施例还提供了电子设备10的方框示意图,前述实施例中的实现上述实施例的目标识别方法,或者实现上述实施例的目标识别方法应用于该电子设备10,需要说明的是,请参照图4,图4示出了本发明实施例提供的电子设备10的方框示意图,电子设备10包括处理器11、存储器12和总线13,处理器11和存储器12通过总线13连接。
处理器11可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述实施例的目标识别方法,或者上述实施例的目标识别方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储实现上述实施例的目标识别方法的程序,该程序可以是以软件或固件(firmware)的形式存储于存储器12中或固化在电子设备10的操作系统(operatingsystem,OS)中的软件功能模块。处理器11在接收到执行指令后,执行所述程序以实现上述实施例揭示的目标识别方法。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例的目标识别方法。
综上所述,本发明实施例提供了一种目标识别方法、装置、电子设备及存储介质,所述方法包括:获取待识别图像;利用预设识别模型识别所述待识别图像中的待识别目标,其中,所述预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,所述量化策略为近取整策略和远取整策略中之一,所述放缩系数是根据所述预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
与现有技术相比,本实施例提供的目标识别方法在对预设识别模型进行量化时,其一,算法简单,易于实现,且能显著降低因权重量化引入的误差;其二,基于希尔伯特空间积分,通过向量正交思路实现的时间复杂度为的取舍量化方法,由于n本身对应于每通道权重个数,是一个较小的常数,从而可有效降低权重量化的时间,实测权重量化时间在10秒以内;其三,由于完全依赖于权重本身,无需外部输入训练数据,本实施例提供的方法拥有更低的部署实现要求。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种目标识别方法,其特征在于,所述方法包括:
获取待识别图像;
利用预设识别模型识别所述待识别图像中的待识别目标,其中,所述预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,所述量化策略为近取整策略和远取整策略中之一,所述放缩系数是根据所述预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
2.如权利要求1所述的目标识别方法,其特征在于,所述预设识别模型的卷积层的权重的量化方式为:
获取所述预设识别模型的卷积层的多个待量化权重;
根据多个待量化权重、预设步长及预设百分位确定放缩系数;
根据所述放缩系数确定每一所述待量化权重的量化策略;
根据每一所述待量化权重的量化策略对每一所述待量化权重进行量化。
3.如权利要求2所述的目标识别方法,其特征在于,所述根据多个待量化权重、预设步长及预设百分位确定放缩系数的步骤包括:
根据所述多个待量化权重、预设步长及预设百分位,生成多个初始系数;
根据每一所述初始系数及多个待量化权重,计算每一所述初始系数的初始误差;
根据每一所述初始系数的初始误差及每一所述初始系数,计算每一所述初始系数下需要修改的待量化权重的修改个数;
根据每一所述初始系数、每一所述初始系数下的修改个数及所述每一所述初始系数的初始误差,计算每一所述初始系数的正交误差;
将正交误差最小的初始系数作为所述放缩系数。
4.如权利要求3所述的目标识别方法,其特征在于,所述根据所述多个待量化权重、预设步长及预设百分位,生成多个初始系数的步骤包括:
按照待量化权重的绝对值从小到大排序,得到待量化权重序列;
根据绝对值最大的待量化权重及预设量化位数,利用公式计算第一边界值,其中,/>为所述第一边界值,/>为预设量化位数,/>为所述待量化权重序列中第/>个待量化权重,/>为待量化权重的个数;
根据所述预设步长、待量化权重的个数及预设量化位数,利用公式计算第二边界值,其中,/>为所述第二边界值,/>为预设量化位数,/>为所述待量化权重序列中第/>个待量化权重,/>,/>为就近取整函数,为所述预设百分位,/>为待量化权重的个数;
根据所述预设步长,在所述第一边界值和所述第二边界值之间等间距生成所述多个初始系数。
5.如权利要求3所述的目标识别方法,其特征在于,所述根据每一所述初始系数及多个待量化权重,计算每一所述初始系数的初始误差的步骤包括:
对于任一目标初始系数,采用公式计算所述目标初始系数的初始误差,最终得到每一所述初始系数的初始误差,其中,/>为所述目标初始系数的初始误差,/>为待量化权重的个数,/>为所述目标初始系数下第个待量化权重的近取整误差,/>,/>为第/>个待量化权重,/>为所述目标初始系数,/>为就近取整函数。
6.如权利要求3所述的目标识别方法,其特征在于,所述根据每一所述初始系数的初始误差及每一所述初始系数,计算每一所述初始系数下需要修改的待量化权重的修改个数的步骤包括:
对于任一目标初始系数,采用公式计算所述目标初始系数下需要修改的待量化权重的修改个数,最终得到每一所述初始系数下需要修改的待量化权重的修改个数,其中,/>为所述目标初始系数下需要修改的待量化权重的修改个数,为就近取整函数,/>为所述目标初始系数的初始误差,/>为所述目标初始系数。
7.如权利要求3所述的目标识别方法,其特征在于,所述根据每一所述初始系数、每一所述初始系数下的修改个数及所述每一所述初始系数的初始误差,计算每一所述初始系数的正交误差的步骤包括:
对于任一目标初始系数,采用公式计算所述目标初始系数的正交误差,最终得到每一所述初始系数的正交误差,其中,,/>为所述目标初始系数的正交误差,/>为所述目标初始系数的初始误差,为所述目标初始系数下需要修改的待量化权重的修改个数,/>为所述目标初始系数。
8.如权利要求2所述的目标识别方法,其特征在于,所述根据所述放缩系数确定每一所述待量化权重的量化策略的步骤包括:
获取所述放缩系数下每一所述待量化权重的近取整误差、所述放缩系数下需要修改的待量化权重的修改个数及所述放缩系数的初始误差;
按照近取整误差的绝对值从大到小的顺序,依次从所述近取整误差中确定目标权重,直至所述目标权重的个数等于所述放缩系数下需要修改的待量化权重的修改个数,所述目标权重的近取整误差与所述放缩系数的初始误差之积大于零;
将所述目标权重的量化策略确定为远取整策略、并将除所述目标权重之外的待量化权重的量化策略确定为近取整策略。
9.一种目标识别装置,其特征在于,所述装置包括:
获取模块,用于获取待识别图像;
识别模块,用于利用预设识别模型识别所述待识别图像中的待识别目标,其中,所述预设识别模型的卷积层的权重是根据放缩系数确定出的量化策略对所述卷积层的待量化权重量化后得到的,所述量化策略为近取整策略和远取整策略中之一,所述放缩系数是根据所述预设识别模型的卷积层的待量化权重、预设步长及预设百分位确定的。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现权利要求1-8中任一项所述的目标识别方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的目标识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311362219.1A CN117095271B (zh) | 2023-10-20 | 2023-10-20 | 目标识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311362219.1A CN117095271B (zh) | 2023-10-20 | 2023-10-20 | 目标识别方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117095271A true CN117095271A (zh) | 2023-11-21 |
CN117095271B CN117095271B (zh) | 2023-12-29 |
Family
ID=88775673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311362219.1A Active CN117095271B (zh) | 2023-10-20 | 2023-10-20 | 目标识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117095271B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012023478A (ja) * | 2010-07-13 | 2012-02-02 | Olympus Corp | 画像圧縮装置、撮像装置、および、画像圧縮方法 |
CN110298394A (zh) * | 2019-06-18 | 2019-10-01 | 中国平安财产保险股份有限公司 | 一种图像识别方法和相关装置 |
EP3557425A1 (en) * | 2018-04-19 | 2019-10-23 | Aimotive Kft. | Accelerator and system for accelerating operations |
CN112733964A (zh) * | 2021-02-01 | 2021-04-30 | 西安交通大学 | 一种强化学习自动感知权重分布的卷积神经网络量化方法 |
CN114970853A (zh) * | 2022-03-16 | 2022-08-30 | 华南理工大学 | 一种跨范围量化的卷积神经网络压缩方法 |
-
2023
- 2023-10-20 CN CN202311362219.1A patent/CN117095271B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012023478A (ja) * | 2010-07-13 | 2012-02-02 | Olympus Corp | 画像圧縮装置、撮像装置、および、画像圧縮方法 |
EP3557425A1 (en) * | 2018-04-19 | 2019-10-23 | Aimotive Kft. | Accelerator and system for accelerating operations |
CN110298394A (zh) * | 2019-06-18 | 2019-10-01 | 中国平安财产保险股份有限公司 | 一种图像识别方法和相关装置 |
CN112733964A (zh) * | 2021-02-01 | 2021-04-30 | 西安交通大学 | 一种强化学习自动感知权重分布的卷积神经网络量化方法 |
CN114970853A (zh) * | 2022-03-16 | 2022-08-30 | 华南理工大学 | 一种跨范围量化的卷积神经网络压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117095271B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111126558B (zh) | 一种卷积神经网络计算加速方法及装置、设备、介质 | |
CN107977229B (zh) | 一种指令生成过程的复用方法及装置、处理装置 | |
CN110717585B (zh) | 神经网络模型的训练方法、数据处理方法和相关产品 | |
JP2019528502A (ja) | パターン認識に適用可能なモデルを最適化するための方法および装置ならびに端末デバイス | |
CN110728358B (zh) | 基于神经网络的数据处理方法和装置 | |
CN110363297A (zh) | 神经网络训练及图像处理方法、装置、设备和介质 | |
CN110032437B (zh) | 一种基于信息时效性的计算任务处理方法及装置 | |
CN111860276B (zh) | 人体关键点检测方法、装置、网络设备及存储介质 | |
CN109684629B (zh) | 文本间相似度计算方法、装置、存储介质及电子设备 | |
CN114898108B (zh) | 一种基于fpga的cnn模型轻量化方法、目标检测方法及系统 | |
CN114078195A (zh) | 分类模型的训练方法、超参数的搜索方法以及装置 | |
US20230229917A1 (en) | Hybrid multipy-accumulation operation with compressed weights | |
CN110874627B (zh) | 数据处理方法、数据处理装置及计算机可读介质 | |
CN111080537A (zh) | 水下机器人智能控制方法、介质、设备及系统 | |
US20190050370A1 (en) | Hardware accelerator for online estimation | |
CN117095271B (zh) | 目标识别方法、装置、电子设备及存储介质 | |
US8457388B2 (en) | Method and system for searching for global minimum | |
CN116205275A (zh) | 量化参数模型的训练方法及装置、电子设备、存储介质 | |
US11823043B2 (en) | Machine learning with input data domain transformation | |
CN113743308B (zh) | 基于特征质量的人脸识别方法、装置、存储介质及系统 | |
Wang et al. | AQA: An Adaptive Post-Training Quantization Method for Activations of CNNs | |
CN115619709B (zh) | 一种3d平面检测与重建方法、装置及存储介质 | |
US20240362470A1 (en) | Panoptic perception system, method thereof and non-transitory computer-readable media | |
CN117876506B (zh) | 多视影像的色彩处理方法及装置、存储介质、计算机设备 | |
CN117635953B (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 |