CN111542838B - 一种卷积神经网络的量化方法、装置及电子设备 - Google Patents
一种卷积神经网络的量化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111542838B CN111542838B CN201880083718.8A CN201880083718A CN111542838B CN 111542838 B CN111542838 B CN 111542838B CN 201880083718 A CN201880083718 A CN 201880083718A CN 111542838 B CN111542838 B CN 111542838B
- Authority
- CN
- China
- Prior art keywords
- quantized
- convolutional neural
- neural network
- ssdlite
- layer
- 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
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000011002 quantification Methods 0.000 title claims description 3
- 238000013139 quantization Methods 0.000 claims abstract description 74
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 abstract description 16
- 238000012545 processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Image Analysis (AREA)
Abstract
一种卷积神经网络的量化方法、装置及电子设备,所述方法包括:获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器(101);将所述特征处理器中的网络层参数进行量化,得到量化特征处理器(102);保持所述位置预测器的网络层参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络(103);基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络(104)。通过对SSDlite卷积神经网络中的特征处理器进行量化,使得特征处理器中的特征处理算法复杂度下降,从而降低了SSDlite卷积神经网络的复杂度,解决了SSDLite卷积神经网络应用于小型嵌入式系统时存在算法复杂度高的问题。
Description
技术领域
本申请涉及人工智能领域,更具体的说,是涉及一种卷积神经网络的量化方法、装置及电子设备。
背景技术
随着人工智能的发展,智能物体检测技术已经被应用于大量场景中,如自动驾驶,人脸检测以及交通监控。轻量级单镜头多目标SSDLite卷积神经网络是一种新的提出的新型卷积神经网络,用于智能物体检测任务,SSDLite卷积神经网络虽然拥有较高的准确率。不过,对小型嵌入式系统等资源有限的硬件而言,其算法复杂度依然很高,对于小型嵌入式系统等的硬件资源是一个挑战。因此,SSDLite卷积神经网络应用于小型嵌入式系统时存在算法复杂度高的问题。
申请内容
本申请的目的是针对上述现有技术存在的缺陷,提供一种卷积神经网络的量化方法、装置及电子设备,应用于SSDLite卷积神经网络,解决了SSDLite卷积神经网络应用于小型嵌入式系统时存在算法复杂度高的问题。
本申请的目的是通过以下技术方案来实现的:
第一方面,提供一种卷积神经网络的量化方法,所述方法包括:
获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器;
将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;
保持所述位置预测器的网络层参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;
基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。
可选的,所述将所述特征处理器中的网络层参数进行量化,得到量化特征处理器,包括:
获取所述特征处理器中至少一层卷积层参数;
将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层;
保持所述特征处理器中的其他网络层参数状态,结合所述至少一层量化卷积层与所述其他网络层,得到量化特征处理器。
可选的,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层,包括:
获取待量化的卷积层的权重值区间;
将所述待量化的卷积层的权重值区间进行量化,得到权重值的量化区间;
根据所述权重值的量化区间,得到量化卷积层。
可选的,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层卷积层,包括:
获取待量化的卷积层的输入数据区间;
将所述待量化的卷积层的输入数据区间进行量化,得到输入数据的量化区间;
根据所述输入数据的量化区间,得到量化卷积层。
可选的,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层,包括:
获取待量化的卷积层的参数区间;
将所述参数区间进行以8比特浮点数进行线性量化,得到[0,255]的参数量化区间;
根据所述参数量化区间,得到量化卷积层。
可选的,在所述获取初始SSDlite卷积神经网络之后,所述方法还包括:
使用预先设置的训练样本数据对初始SSDlite卷积神经网络进行训练。
第二方面,提供一种卷积神经网络的量化装置,用于SSDlite卷积神经网络,其特征在于,所述装置包括:
获取模块,用于获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器;
量化模块,用于将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;
保持模块,用于保持所述位置预测器的网络层参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;
输出模块,基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。
第三方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例提供的卷积神经网络的量化方法中的步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的卷积神经网络的量化方法中的步骤。
本申请带来的有益效果:获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器;将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;保持所述位置预测器的网络层参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。通过对SSDlite卷积神经网络中的特征处理器进行量化,使得特征处理器中的特征处理算法复杂度下降,从而降低了SSDlite卷积神经网络的复杂度,解决了SSDLite卷积神经网络应用于小型嵌入式系统时存在算法复杂度高的问题,同时,由于保持位置预测器的网络层参数状态,可以降低检测的精度损失。
附图说明
图1为本申请实施例提供的一种卷积神经网络的量化方法流程示意图;
图2为本申请实施例提供的另一种卷积神经网络的量化方法流程示意图;
图3为本申请实施例提供的一种卷积神经网络的量化装置示意图;
图4为本申请实施例提供的另一种卷积神经网络的量化装置示意图;
图5为本申请实施例提供的另一种卷积神经网络的量化装置示意图;
图6为本申请实施例提供的另一种卷积神经网络的量化装置示意图;
图7为本申请实施例提供的卷积神经网络量化示意图;
图8为本申请实施例提供的特征处理器量化示意图。
具体实施方式
下面描述本申请的优选实施方式,本领域普通技术人员将能够根据下文所述用本领域的相关技术加以实现,并能更加明白本申请的创新之处和带来的益处。
本申请提供了一种卷积神经网络的量化方法、装置及电子设备。
本申请的目的是通过以下技术方案来实现的:
第一方面,请参见图1,图1是本申请实施例提供的一种卷积神经网络的量化方法的流程示意图,如图1所示,所述方法包括以下步骤:
101、获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器。
该步骤中,上述的初始SSDlite卷积神经网络可以通过用户自己建立,比如通过输入对应的数据和程序进行建立,也可以是将已经建立好的SSDlite卷积神经网络做为初始SSDlite卷积神经网络,比如将别人做好的神经网络数据通过复制方式再现出来,上述的初始SSDlite卷积神经网络可以是已经训练好的SSDlite卷积神经网络,也可以是未训练的SSDlite卷积神经网络。上述的特征处理器可以理解为初始SSDlite卷积神经网络中用于提取图像特征的网络区域,上述的位置预测器可以理解为初始SSDlite卷积神经网络中用于预测图像中特征位置的网络区域。通过特征处理器与位置预测器可以实现对物体的检测。
102、将所述特征处理器中的网络层参数进行量化,得到量化特征处理器。
上述的网络层参数可以是权重、输入数据等,上述的量化可以是线性量化,具体的,可以先获取到网络层参数的最大值与最小值,将最大值与最小值形成一个区间,得到网络层参数区间。可以理解的是,不同的参数可以对应有不同的参数区间。上述的量化,可以是使用8比特浮点数进行量化,也可以是以其他比特浮点进行量化,比如10比特浮点数、16比特浮点数等。以使用8比特浮点数据进行量化为例,8比特浮点数可以表示[0,255]一共256个离散的数,假设有一个参数的最大值为9,最小值为-3,则该参数的区间为[-3,9]的线性区间,在坐标系上进行表示,[-3,9]的线性区间则为一根线段,将这根线段平均划分为256段,每段的区间为[X,X+0.046875],即是可以将[-3,9]区间划分为[-3,-2.953125]、(-2.953125,-2.90625]……(8.953125,9],或者可以将[-3,9]区间划分为[-3,-2.953125)、[-2.953125,-2.90625)……[8.953125,9],将落入[-3,-2.953125]区间内的参数进行量化后则为[0,255]的0,将落入(-2.953125,-2.90625]区间内的参数进行量化后则为[0,255]的1,……将落入(8.953125,9]区间内的参数进行量化后则为[0,255]的255,假设有一个参数为-2.953124,则量化后为1。这样,就可将线性的区间[-3,9]量化为离散的区间[0,255],在离散的区间[0,255]中,每一个离散的元素点表示一个线性的区间。一层网络的参数数据量是非常大的,是趋于线性的,将该层网络的参数进行如上的量化后,就只有256个离散的数据。在一些可能实施例中,为了增加端值(最大值与最值)的影响度,可以将[-3,9]区间划分256段,其中两个端值各为一段,则每段的区间为[X,X+0.04724409449],为(-∞,-3]、(-3,-2.95275590551]……(8.95275590551,9)、[9,+∞),将参数-3量化后则为[0,255]的0,将参数9量化后则为[0,255]的255,将落入(-3,-2.95275590551]区间内的参数进行量化后则为[0,255]的1,将落入(8.95275590551,9)区间内的参数进行量化后则为[0,255]的254,同样的,假设有参数为-2.953124,则量化后为1。通过这样对特征处理器中的网络层进行量化,可以极大减少该层网络的算法复杂度,进而减少对片上内存资源和硬件计算资源的需求。
103、保持所述位置预测器的网络层初始参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络。
请结合图7,上述的保持可以理解为不对位置预测器的网络层参数进行量化,使位置预测器的网络层可以使用原来的参数对特征的位置进行检测,比如,在初始SSDlite卷积神经网络中,各层使用的是32比特浮点数进行计算,则保持位置预测器网络层的参数为32比特浮点数,以使位置预测器中的网络层以32比特浮点数计算。可以理解的是,在量化特征处理中可以存在类型转换器,上述的类型转换器用于实现将原参数类型转换为量化后的参数类型,以及将量化后的参数类型转换为原参数类型,比如,在特征处理器中可以将32比特浮点数转换为8比特浮点数,在特征处理器进行输出前,将8比特浮点数转换为32比特浮点数进行输出,以使位置预测器以32比特浮点数对数据进行计算,保持特征检测的精准度。这样,就可以使SSDlite卷积神经网络的特征提取部分的网络区域被量化,减少网络的复杂度。
104、基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。
上述的量化SSDlite卷积神经网络指的是步骤103中对特征处理器参数进行量化,保持特征预测器参数不变的SSDlite卷积神经网络,将量化SSDlite卷积神经网络进行输出,则可以得到目标SSDlite卷积神经网络,该目标SSDlite卷积神经网络的特征处理器经过量化后,算法复杂度极大降低,对应的,所需要的片上内存资源及硬件计算资源也极大降低。上述的目标SSDlite卷积神经网络可以是训练完成的SSDlite卷积神经网络,也可以是没有经过训练的SSDlite卷积神经网络。需要说明的是,如果上述的目标SSDlite卷积神经网络是训练完成的SSDlite卷积神经网络,则可以通过对初始SSDlite卷积神经网络进行训练从而使输出的目标SSDlite卷积神经网络为训练过的SSDlite卷积神经网络,或者,如果上述的目标SSDlite卷积神经网络是未训练的SSDlite卷积神经网络,则可以将目标SSDlite卷积神经网络通过预先准备的样本数据进行训练后再进行输出。
在本实施例中,获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器;将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;保持所述位置预测器的网络层参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。通过对SSDlite卷积神经网络中的特征处理器进行量化,使得特征处理器中的特征处理算法复杂度下降,从而降低了SSDlite卷积神经网络的复杂度,解决了SSDLite卷积神经网络应用于小型嵌入式系统时存在算法复杂度高的问题,同时,由于保持位置预测器的网络层参数状态,可以降低检测的精度损失。
需要说明的是,本申请实施例提供的卷积神经网络的量化方法可以应用于量化卷积神经网络的设备,例如:计算机、服务器、手机等可以进行卷积神经网络的量化的设备。
请参见图2,图2是本申请实施例提供的另一种卷积神经网络的量化方法的流程示意图,如图2所示,所述方法包括以下步骤:
201、获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器。
202、获取所述特征处理器中至少一层卷积层参数。
在该步骤中,上述的特征处理器中至少包括一层卷积层,特征处理器中的卷积层用于提取图像中的特征,上述的卷积层参数可以是权值、输入等参数,上述的卷积层参数可以是在初始SSDlite卷积神经网络建立时获取,可以是未训练的超参数,也可以是训练过后的参数,上述的获取到的卷积层参数可以是通过各参数的数值集合来进行表示,也可以是通过各参数的连续参数区间来进行表示,比如,假设卷积层的权值包括1.4362、0.8739、……0.3857等,可以用{1.4362,0.8739,……0.3857}的集合来进行表示,该集合为一个离散的数值集合,假设0.3857为最小值,1.4362为最大值,则也可以和[0.3857,1.4362]的闭区间来进行表示,这时,有0.8739∈[0.3857,1.4362]。在一些可能的实施例方式中,可以是获取卷积层参数的端值,即只获取卷积层各参数的最大值与最小值,从而建立卷积层各参数的参数区间,比如获取到某个参数的最大值为9,最小值为0,则可以建立该参数的对应参数区间为[0,9],该参数的其余数值均是属于[0,9]这个参数区间的。
203、将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层。
在该步骤中,对卷积层参数进行量化可以是线性量化,通过线性量化,可以将卷积层参数进行简化,从而减小卷积层的算法复杂度。具体的,在步骤202中获取到卷积层参数如果是离散型的参数集合,可以将离散型的参数集合进行线性化,从而通过线性量化转换为量化后的浮点数类型,也可以是根据线性量化的离散数值个数,将上述的参数集合按大小进行排序后,划分为相应于线性量化的离散数值个数的子集,比如:以转换为8比特浮点数为例,8比特浮点数可以表示256个离散数值,则可以将参数集合在一维坐标上进行表示,以起始点和最终点间的距离(最大值与最小值之差的绝对值)为长度,将该长度平均分为256段,从而将参数集合分为256个子集,上述256个子集一一对应于离散区间[0,255]中的各个元素,每个子集中的元素对应于该一维坐标上的对应区域;对上述每个子集做聚类处理,将每个子集中的元素进行聚类后,可以得到一个代表该子集的参数数值,将该参数数值与离散区间[0,255]中的对应元素进行关联。对连续参数区间的量化,具体的可以参见图1实施例中步骤102的量化方式,在此不再另行赘述。
204、保持所述特征处理器中的其余网络层初始参数状态,结合所述至少一层量化卷积层与所述其余网络层,得到量化特征处理器。
请结合图8,该步骤中,上述的其余网络层可以是偏移层、规则化层等,上述的保持可以理解为不对其余网络层参数进行量化,使其余网络层能以原来的浮点数进行计算,比如,在初始SSDlite卷积神经网络中,各层使用的是32比特浮点数进行计算,则保持特征处理器中除卷积层外的其余网络层的参数为32比特浮点数,以使其余网络层以32比特浮点数计算。在一些可能的实施例中,可以将卷积层经过量化处理的数据类型通过类型转换器转换回原来的浮点数类型后存储到存储器中,在下一层网络进行计算时,读取到的是原浮点数类型的数据,或者,可以是将量化处理的数据存储到存储器,在下一层网络进行计算时,读取到量化处理的数据后输入类型转换器中转换为原浮点数类型进行计算。
205、保持所述位置预测器的网络层初始参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络。
206、基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。
该实施例中,通过将特征处理器中的卷积层进行量化,其他网络层保持原浮点数进行计算,可以使SSDlite卷积神经网络的算法复杂度下降的同时,降低了精度损失,进一步保证SSDlite卷积神经网络的检测精度。需要说明的是,上述的步骤202、步骤203、步骤204可以看成图1实施例中步骤102的进一步可选限定,在一些可能的实施方式中,可以将整个特征处理器中的所有网络层都进行量化也是可以的。
可选的,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层,包括:
获取待量化的卷积层的权重值区间;
将所述待量化的卷积层的权重值区间进行量化,得到权重值的量化区间;
根据所述权重值的量化区间,得到量化卷积层。
该实施方式中,待量化的卷积层可以是特征处理器中的一层卷积或多层卷积层或所有卷积层,可以通过获取待量化的卷积层权重值的最大值与最小值来建立该待量化的卷积层的权重值区间。上述对权重值进行量化可以是线性量化,上述的量化区间可以是根据要选择的浮点数来进行确定。将待量化的卷积层的权重值进行量化后,可以得到量化卷积层,从而实现对特征处理器的量化。
可选的,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层卷积层,包括:
获取待量化的卷积层的输入数据区间;
将所述待量化的卷积层的输入数据区间进行量化,得到输入数据的量化区间;
根据所述输入数据的量化区间,得到量化卷积层。
在该实施方式中,输入数据可以是图像数据,对图像数据进行量化,可以减少算法的计算量。同权重值量化一样,可以是通过线性量化对输入数据进行量化。
可选的,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层,包括:
获取待量化的卷积层的参数区间;
将所述参数区间进行以8比特浮点数进行线性量化,得到[0,255]的参数量化区间;
根据所述参数量化区间,得到量化卷积层。
在该实施方式中,获取待量化的卷积层的参数区间可以是获取各个参数的最大值与最小值形成一个连续的参数区间,上述的以8比特浮点数对参数区间进行线性量化可以理解为,将连续的参数区间划分为256段子区间,使每一段子区间与离散的[0,255]中各个元素一一对应的建立联系,从而使参数量化区间离散化,进而降低卷积层的算法复杂度。
可选的,在所述获取初始SSDlite卷积神经网络之后,所述方法还包括:
使用预先设置的训练样本数据对初始SSDlite卷积神经网络进行训练。
在该实施例中,对建立的初始SSDlite卷积神经网络进行训练,可以得到经过训练的SSDlite卷积神经网络,在进行量化后,无需再重新进行训练。当然,在一些可能的实施例中,初始SSDlite卷积神经网络可以是在输入前就已经训练过的。
上述的可选实施方式,可以现实图1和图2对应实施例的卷积神经网络的量化方法,达到相同的效果,在此不再赘述。
第二方面,请参见图3,图3是本申请实施例提供的一种卷积神经网络的量化装置的结构示意图,如图3所示,所述装置包括:
获取模块,用于获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器;
量化模块,用于将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;
保持模块,用于保持所述位置预测器的网络层初始参数状态,结合所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;
输出模块,基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络。
可选的,如图4所示,所述量化模块包括:
获取单元,用于获取所述特征处理器中至少一层卷积层参数;
量化单元,用于将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层;
保持单元,用于保持所述特征处理器中的其余网络层初始参数状态,结合所述至少一层量化卷积层与所述其余网络层,得到量化特征处理器。
可选的,如图5所示,所述量化单元包括:
获取子单元,用于获取待量化的卷积层的权重值区间;
量化子单元,用于将所述待量化的卷积层的权重值区间进行量化,得到权重值的量化区间;
输出子单元,用于根据所述权重值的量化区间,得到量化卷积层。
可选的,如图5所示,所述量化单元包括:
获取子单元,用于获取待量化的卷积层的输入数据区间;
量化子单元,用于将所述待量化的卷积层的输入数据区间进行量化,得到输入数据的量化区间;
输出子单元,用于根据所述输入数据的量化区间,得到量化卷积层。
可选的,如图5所示,所述量化单元包括:
获取子单元,用于获取待量化的卷积层的参数区间;
量化子单元,用于将所述参数区间进行以8比特浮点数进行线性量化,得到[0,255]的参数量化区间;
输出子单元,用于根据所述参数量化区间,得到量化卷积层。
可选的,如图6所示,所述装置还包括:
训练模块,用于使用预先设置的训练样本数据对初始SSDlite卷积神经网络进行训练。
第三方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例提供的卷积神经网络的量化方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的卷积神经网络的量化方法中的步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的
另外,在本申请各个实施例中的处理器、芯片可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上硬件集成在一个单元中。计算机可读存储介质或计算机可读程序可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上内容是结合具体的优选实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施方式只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本申请的保护范围。
Claims (10)
1.一种物体检测方法,用于轻量级单镜头多目标SSDlite卷积神经网络,其特征在于,所述方法包括:
通过目标SSDlite卷积神经网络对输入数据执行物体检测任务,其中,所述输入数据为图像数据,所述目标SSDlite卷积神经网络的生成方法包括:
获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器,所述特征处理器为所述初始SSDlite卷积神经网络中用于提取图像特征的网络区域;所述位置预测器为所述初始SSDlite卷积神经网络中用于预测图像中特征位置的网络区域;
将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;
保持所述位置预测器的网络层初始参数状态,基于所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;
基于所述量化SSDlite卷积神经网络,输出得到所述目标SSDlite卷积神经网络。
2.如权利要求1所述的方法,其特征在于,所述将所述特征处理器中的网络层参数进行量化,得到量化特征处理器,包括:
获取所述特征处理器中至少一层卷积层参数;
将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层;
保持所述特征处理器中的其余网络层初始参数状态,结合所述至少一层量化卷积层与所述其余网络层,得到量化特征处理器。
3.如权利要求2所述的方法,其特征在于,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层,包括:
获取待量化的卷积层的权重值区间;
将所述待量化的卷积层的权重值区间进行量化,得到权重值的量化区间;
根据所述权重值的量化区间,得到量化卷积层。
4.如权利要求2所述的方法,特征在于,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层卷积层,包括:
获取待量化的卷积层的输入数据区间;
将所述待量化的卷积层的输入数据区间进行量化,得到输入数据的量化区间;
根据所述输入数据的量化区间,得到量化卷积层。
5.如权利要求2所述的方法,其特征在于,所述将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层,包括:
获取待量化的卷积层的参数区间;
将所述参数区间进行以8比特浮点数进行线性量化,得到[0,255]的参数量化区间;
根据所述参数量化区间,得到量化卷积层。
6.如权利要求1至5中任一所述的方法,其特征在于,在所述获取初始SSDlite卷积神经网络之后,所述方法还包括:
使用预先设置的训练样本数据对初始SSDlite卷积神经网络进行训练。
7.一种卷积神经网络的量化装置,用于SSDlite卷积神经网络,其特征在于,所述装置包括:
获取模块,用于获取初始SSDlite卷积神经网络,所述初始SSDlite卷积神经网络包括用于特征提取的特征处理器与用于预测特征位置的位置预测器,所述特征处理器为所述初始SSDlite卷积神经网络中用于提取图像特征的网络区域;所述位置预测器为所述初始SSDlite卷积神经网络中用于预测图像中特征位置的网络区域;
量化模块,用于将所述特征处理器中的网络层参数进行量化,得到量化特征处理器;
保持模块,用于保持所述位置预测器的网络层初始参数状态,结合所述量化特征处理器与所述位置预测器,得到量化SSDlite卷积神经网络;
输出模块,基于所述量化SSDlite卷积神经网络,输出得到目标SSDlite卷积神经网络,其中,通过所述目标SSDlite卷积神经网络对输入数据执行物体检测任务,所述输入数据为图像数据。
8.如权利要求7所述的装置,其特征在于,所述量化模块包括:
获取单元,用于获取所述特征处理器中至少一层卷积层参数;
量化单元,用于将所述特征处理器中的至少一层卷积层参数进行量化,得到至少一层量化卷积层;
保持单元,用于保持所述特征处理器中的其余网络层初始参数状态,结合所述至少一层量化卷积层与所述其余网络层,得到量化特征处理器。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的卷积神经网络的量化方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的卷积神经网络的量化方法中的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/120560 WO2020118553A1 (zh) | 2018-12-12 | 2018-12-12 | 一种卷积神经网络的量化方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111542838A CN111542838A (zh) | 2020-08-14 |
CN111542838B true CN111542838B (zh) | 2024-02-20 |
Family
ID=71075935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880083718.8A Active CN111542838B (zh) | 2018-12-12 | 2018-12-12 | 一种卷积神经网络的量化方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111542838B (zh) |
WO (1) | WO2020118553A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101284A (zh) * | 2020-09-25 | 2020-12-18 | 北京百度网讯科技有限公司 | 图像识别方法、图像识别模型的训练方法、装置及系统 |
CN112232491A (zh) * | 2020-10-29 | 2021-01-15 | 深兰人工智能(深圳)有限公司 | 基于卷积神经网络模型的特征提取方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304919A (zh) * | 2018-01-29 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 用于生成卷积神经网络的方法和装置 |
CN108596143A (zh) * | 2018-05-03 | 2018-09-28 | 复旦大学 | 基于残差量化卷积神经网络的人脸识别方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10074041B2 (en) * | 2015-04-17 | 2018-09-11 | Nec Corporation | Fine-grained image classification by exploring bipartite-graph labels |
US10970617B2 (en) * | 2015-08-21 | 2021-04-06 | Institute Of Automation Chinese Academy Of Sciences | Deep convolutional neural network acceleration and compression method based on parameter quantification |
CN107239826A (zh) * | 2017-06-06 | 2017-10-10 | 上海兆芯集成电路有限公司 | 在卷积神经网络中的计算方法及装置 |
CN107480770B (zh) * | 2017-07-27 | 2020-07-28 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
CN108510067B (zh) * | 2018-04-11 | 2021-11-09 | 西安电子科技大学 | 基于工程化实现的卷积神经网络量化方法 |
-
2018
- 2018-12-12 CN CN201880083718.8A patent/CN111542838B/zh active Active
- 2018-12-12 WO PCT/CN2018/120560 patent/WO2020118553A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304919A (zh) * | 2018-01-29 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 用于生成卷积神经网络的方法和装置 |
CN108596143A (zh) * | 2018-05-03 | 2018-09-28 | 复旦大学 | 基于残差量化卷积神经网络的人脸识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020118553A1 (zh) | 2020-06-18 |
CN111542838A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754066B (zh) | 用于生成定点型神经网络的方法和装置 | |
CN108337000B (zh) | 用于转换到较低精度数据格式的自动方法 | |
US20240119286A1 (en) | Adaptive artificial neural network selection techniques | |
US10643124B2 (en) | Method and device for quantizing complex artificial neural network | |
WO2017219991A1 (zh) | 适用于模式识别的模型的优化方法、装置及终端设备 | |
WO2022006919A1 (zh) | 基于激活定点拟合的卷积神经网络训练后量化方法及系统 | |
CN110929865A (zh) | 网络量化方法、业务处理方法及相关产品 | |
CN111542838B (zh) | 一种卷积神经网络的量化方法、装置及电子设备 | |
CN111950692B (zh) | 用于改进的通用化的基于汉明距离的稳健输出编码 | |
WO2019118639A1 (en) | Residual binary neural network | |
KR20210088656A (ko) | 이미지 생성 및 신경망 트레이닝 방법, 장치, 기기 및 매체 | |
CN112926570A (zh) | 一种自适应比特网络量化方法、系统及图像处理方法 | |
CN112200296A (zh) | 网络模型量化方法、装置、存储介质及电子设备 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
KR102505946B1 (ko) | 인공신경망 모델 학습 방법 및 시스템 | |
CN112613604A (zh) | 神经网络的量化方法及装置 | |
CN105740916B (zh) | 图像特征编码方法及装置 | |
CN116956997A (zh) | 用于时序数据处理的lstm模型量化重训练方法、系统及设备 | |
CN113792804B (zh) | 图像识别模型的训练方法、图像识别方法、装置及设备 | |
KR20220168527A (ko) | 프라이버시 보존 엣지-서버 시너지 컴퓨팅 장치 및 방법 | |
CN114139678A (zh) | 卷积神经网络量化方法、装置、电子设备和存储介质 | |
CN111402164A (zh) | 矫正网络模型的训练方法和装置、文本识别方法和装置 | |
EP3924896A1 (en) | Apparatus and a method for neural network compression |
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 |