CN111160517B - 一种深度神经网络的卷积层量化方法及装置 - Google Patents
一种深度神经网络的卷积层量化方法及装置 Download PDFInfo
- Publication number
- CN111160517B CN111160517B CN201811320675.9A CN201811320675A CN111160517B CN 111160517 B CN111160517 B CN 111160517B CN 201811320675 A CN201811320675 A CN 201811320675A CN 111160517 B CN111160517 B CN 111160517B
- Authority
- CN
- China
- Prior art keywords
- weights
- group
- same
- dimensional tensor
- weight
- 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
- 238000013139 quantization Methods 0.000 title claims abstract description 167
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer 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
- G06N3/045—Combinations of networks
-
- 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例提供了一种深度神经网络的卷积层量化方法及装置,其中,深度神经网络的卷积层量化方法包括:获取深度神经网络的卷积层参数,该卷积层参数包括:卷积层的四维张量权值以及卷积层中卷积滤波器的空间维度信息;根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组;针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。通过本方案,可以减小量化误差。
Description
技术领域
本申请涉及机器学习技术领域,特别是涉及一种深度神经网络的卷积层量化方法及装置。
背景技术
DNN(Deep Neural Network,深度神经网络)作为机器学习研究中的一个新兴领域,通过模仿人脑的机制来解析数据,是一种通过建立和模拟人脑进行分析学习的智能模型。DNN已在目标检测与分割、行为检测与识别、语音识别等方面得到了很好的应用。但是,随着DNN的不断发展,DNN的数据量和计算量越来越大,使得DNN具有高度的计算复杂度,需要强大的硬件资源。
为了降低DNN的计算复杂度、减少硬件资源的压力,需要对DNN的网络模型进行压缩,常用的压缩方法有剪枝、量化等。其中,DNN的量化主要是将卷积层的权值量化为低比特的定点数据,由于量化后的定点数据具有较低的比特数,使得参与运算的数据量得以降低,从而降低了DNN的计算复杂度、减少了硬件资源的压力。
然而,在进行DNN的量化时,通常针对同一卷积层,采用同一套量化参数进行量化,由于同一卷积层中,各权值之间存在一定的差异,如果直接采用同一套量化参数对该卷积层的所有权值进行量化,会导致较大的量化误差。
发明内容
本申请实施例的目的在于提供一种深度神经网络的卷积层量化方法及装置,以减小量化误差。具体技术方案如下:
第一方面,本申请实施例提供了一种深度神经网络的卷积层量化方法,所述方法包括:
获取深度神经网络的卷积层参数,所述卷积层参数包括:卷积层的四维张量权值以及所述卷积层中卷积滤波器的空间维度信息;
根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组;
针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。
可选的,所述根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,包括:
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
可选的,所述卷积层参数还包括:输出通道维度信息;
所述根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,包括:
根据所述输出通道维度信息,从所述四维张量权值中,提取各输出通道对应的三维张量权值;
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
可选的,所述针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,包括:
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
可选的,所述针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层,包括:
获取各群组对应的量化参数,所述量化参数包括预设量化比特数及预设量化步长;
针对各群组,根据该群组对应的量化参数及该群组中的各权值,采用均匀量化器,对该群组中的各权值进行量化,其中,所述均匀量化器为:
yq=round(Clip(y,-2b-1·q,(2b-1-1)·q)/q)·q
yq为量化后的权值,y为量化前的权值,b为预设量化比特数,q为预设量化步长,Clip(.)为边界裁剪函数;
基于量化后的各群组,得到量化后的卷积层。
第二方面,本申请实施例提供了一种深度神经网络的卷积层量化装置,所述装置包括:
获取模块,用于获取深度神经网络的卷积层参数,所述卷积层参数包括:卷积层的四维张量权值以及所述卷积层中卷积滤波器的空间维度信息;
分组模块,用于根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组;
量化模块,用于针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。
可选的,所述分组模块,具体用于:
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
可选的,所述卷积层参数还包括:输出通道维度信息;
所述分组模块,具体用于:
根据所述输出通道维度信息,从所述四维张量权值中,提取各输出通道对应的三维张量权值;
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
可选的,所述分组模块,具体用于:
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
可选的,所述量化模块,具体用于:
获取各群组对应的量化参数,所述量化参数包括预设量化比特数及预设量化步长;
针对各群组,根据该群组对应的量化参数及该群组中的各权值,采用均匀量化器,对该群组中的各权值进行量化,其中,所述均匀量化器为:
yq=round(Clip(y,-2b-1·q,(2b-1-1)·q)/q)·q
yq为量化后的权值,y为量化前的权值,b为预设量化比特数,q为预设量化步长,Clip(.)为边界裁剪函数;
基于量化后的各群组,得到量化后的卷积层。
第三方面,本申请实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例提供的深度神经网络的卷积层量化方法的所有步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,实现本申请实施例提供的深度神经网络的卷积层量化方法的所有步骤。
本申请实施例提供的一种深度神经网络的卷积层量化方法及装置,获取深度神经网络的卷积层参数,其中,卷积层参数包括卷积层的四维张量权值及卷积层中卷积滤波器的空间维度信息,根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。对于卷积层而言,处于相同空间位置的权值往往具有更相似的数值范围,也就是说,处于相同空间位置的权值之间差异较小,这样,在对处于相同空间位置的各权值进行同一量化操作时,各权值的量化误差较小,而在对卷积层的各群组中的权值进行量化操作时,可以采用各群组各自对应的量化参数进行量化,减小了整个深度神经网络的量化误差。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的卷积层分组方式示意图;
图2为本申请实施例的深度神经网络的卷积层量化方法的流程示意图;
图3a为本申请一实施例的在卷积滤波器的空间维度上对四维张量权值进行分组的示意图;
图3b为本申请另一实施例的在卷积滤波器的空间维度上对四维张量权值进行分组的示意图;
图3c为本申请再一实施例的在卷积滤波器的空间维度上对四维张量权值进行分组的示意图;
图4a为本申请一实施例的结合输出通道维度与卷积滤波器的空间维度对四维张量权值进行分组的示意图;
图4b为本申请另一实施例的结合输出通道维度与卷积滤波器的空间维度对四维张量权值进行分组的示意图;
图4c为本申请再一实施例的结合输出通道维度与卷积滤波器的空间维度对四维张量权值进行分组的示意图;
图5为本申请实施例的深度神经网络的卷积层量化装置的结构示意图;
图6为本申请实施例的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相较于传统的针对同一卷积层,采用同一套量化参数进行权值量化的操作,相应的提出了一种对卷积层量化的分组方法,分组方式如图1所示。记DNN的卷积层为W,可以看作维度为C×K×R×S的四维张量,其中,C表示输出通道数、K表示输入通道数、R×S表示卷积滤波器的空间维度大小。在输出通道维度上将卷积层W划分为C组,然后对每组大小为K×R×S的三维张量进行量化,得到C组量化权值。由于这种划分方式太过粗略,每个输出通道维度上的权值之间仍然存在较大差异,因此,量化误差仍然较大。
为了减小量化误差,本申请实施例提供了一种深度神经网络的卷积层量化方法、装置、电子设备及机器可读存储介质。下面,首先对本申请实施例所提供的深度神经网络的卷积层量化方法进行介绍。
本申请实施例所提供的一种深度神经网络的卷积层量化方法的执行主体可以为实现目标检测与分割、行为检测与识别、语音识别等功能的电子设备,也可以为具有目标检测与分割、行为检测与识别等功能的摄像机,还可以为具有语音识别功能的智能麦克风等。实现本申请实施例所提供的一种深度神经网络的卷积层量化方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路中的至少一种方式。
如图2所示,本申请实施例所提供的一种深度神经网络的卷积层量化方法可以包括如下步骤:
S201,获取深度神经网络的卷积层参数,其中,卷积层参数包括:卷积层的四维张量权值以及卷积层中卷积滤波器的空间维度信息。
深度神经网络为一个较为宽泛的数据处理方法,具体的,DNN可以为CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short Term Memory,长短期记忆网络)等数据处理方法中的任意一种。
DNN的每一个网络层由于主要进行卷积运算,故也称为卷积层,每一个卷积层有其卷积层参数,卷积层参数主要包括卷积层的四维张量权值以及卷积层中卷积滤波器的空间维度信息,例如,四维张量权值是指卷积层W表示为C×K×R×S的四维张量时,该四维张量中具体的权值;卷积滤波器即为一个卷积核,其空间维度信息就是该卷积的大小等信息,可以用R×S表示。基于上述,卷积层参数还可以包括输入通道维度信息、输出通道维度信息等,输入通道维度信息是指该卷积层输入通道的数目等,可用K表示;输出通道维度信息是指该卷积层输出通道的数目等,可用C表示。
S202,根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
考虑到卷积特性,针对于处于相同空间位置的权值,往往具有更为相似的数值范围。对量化而言,对相似的数值进行量化操作,能够得到更小的量化误差。因此,基于此,可以根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,这里所提及的相同空间位置,是指在空间维度上处于同一点、同一列或者同一行。这样,可以在R×S的空间维度上,或者结合R×S的空间维度及输出通道维度的方式,对四维张量权值进行划分,以达到将数值范围更相近的权值划分为同一群组的目的。
可选的,S202具体可以为:
根据空间维度信息,将四维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
根据空间维度信息,将四维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
根据空间维度信息,将四维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
本申请实施例可以根据应用场景的需求,来确定分组的形式,例如在一般情况下,可以选取在R×S的空间维度上,对四维张量权值进行划分,对应的有三种群组划分模式,分别对应图3a、图3b及图3c,其中qn表示第n个群组对应的量化步长。
图3a所示的群组划分模式为,在R×S的空间维度上,将四维张量权值中,处于同一列的权值划分为同一群组,即每个四维张量权值被划分为S个大小为C×K×R的群组,由于每个群组对应有各自的量化参数,因此,S个群组总共对应有S种量化步长。
图3b所示的群组划分模式为,在R×S的空间维度上,将四维张量权值中,处于同一行的权值划分为同一群组,即每个四维张量权值被划分为R个大小为C×K×S的群组,由于每个群组对应有各自的量化参数,因此,R个群组总共对应有R种量化步长。
图3c所示的群组划分模式为,在R×S的空间维度上,将四维张量权值中,处于同一点的权值划分为同一群组,即每个四维张量权值被划分为R×S个大小为C×K的群组,由于每个群组对应有各自的量化参数,因此,R×S个群组总共对应有R×S种量化步长。
上述三种群组划分模式中,均将相似数值范围的权值划分为了同一群组,并且,划分的越细致,每一个群组中的各权值越近似,也就是说,图3c所示的群组划分模式相较于图3a和图3b所示的群组划分模式,其划分得到的群组中权值最为相近,而划分得到的群组数量也最多,因此,在数据量并不是非常大的情况下,通常选择图3c所示的群组划分模式进行群组划分,而在数据量较大时,通常选择图3a或者图3b所示的群组划分模式进行群组划分。
可选的,卷积层参数还可以包括:输出通道维度信息。
S202具体还可以为:
根据输出通道维度信息,从四维张量权值中,提取各输出通道对应的三维张量权值;
针对各三维张量权值,根据空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
在一些对模型精度要求较高或者实际应用场景下选用的模型更难量化时,图3a、图3b及图3c所示的群组划分模式中,每个群组过大,精度和量化的实现较难保证,这样,可以选取结合R×S的空间维度及输出通道维度方式,对四维张量权值进行群组划分。可以首先根据输出通道维度信息C,提取各输出通道对应的三维张量权值,再在R×S的空间维度上,对各三维张量权值进行划分。
可选的,针对各三维张量权值,根据空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组的步骤,具体可以为:
针对各三维张量权值,根据空间维度信息,将该三维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据空间维度信息,将该三维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据空间维度信息,将该三维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
结合R×S的空间维度及输出通道维度方式,对四维张量权值进行群组划分,对应也有三种群组划分模式,分别对应图4a、图4b及图4c,其中qn m表示第n个输出通道上、第m个群组对应的量化步长。
图4a所示的群组划分模式为,在R×S的空间维度上,将C输出通道上每个大小为K×R×S的三维张量权值中,处于同一列的权值划分为同一群组,即每个四维张量权值被划分为C×S个大小为K×R的群组,由于每个群组对应有各自的量化参数,因此,C×S个群组总共对应有C×S种量化步长。
图4b所示的群组划分模式为,在R×S的空间维度上,将C输出通道上每个大小为K×R×S的三维张量权值中,处于同一行的权值划分为同一群组,即每个四维张量权值被划分为C×R个大小为K×S的群组,由于每个群组对应有各自的量化参数,因此,C×R个群组总共对应有C×R种量化步长。
图4c所示的群组划分模式为,在R×S的空间维度上,将C输出通道上每个大小为K×R×S的三维张量权值中,处于同一点的权值划分为同一群组,即每个四维张量权值被划分为C×R×S个大小为K的群组,由于每个群组对应有各自的量化参数,因此,C×R×S个群组总共对应有C×R×S种量化步长。
上述三种群组划分模式中,均将相似数值范围的权值划分为了同一群组,并且,划分的越细致,每一个群组中的各权值越近似,也就是说,图4c所示的群组划分模式相较于图4a和图4b所示的群组划分模式,其划分得到的群组中权值最为相近,而划分得到的群组数量也最多,因此,在数据量并不是非常大的情况下,通常选择图4c所示的群组划分模式进行群组划分,而在数据量较大时,通常选择图4a或者图4b所示的群组划分模式进行群组划分。
S203,针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。
如上述,每一个群组对应有各自的量化参数,量化参数可以包括量化步长和量化比特数,通常情况下,量化比特数可以根据实际应用需求预先设置,而量化步长可以是预先设置的,也可以是通过对群组中各权值的大小进行分析得到的最优的量化步长。具体的量化方式,可以是将各群组中的权值分别送入对应的量化器Q(.)进行量化,该量化器的参数即为送入的群组对应的量化参数,这里Q(.)可以选取任意合理的量化器,例如均匀量化器。量化方式还可以是其他传统的量化方式,这里不再一一赘述。
可选的,S203具体可以为:
获取各群组对应的量化参数,其中,量化参数包括预设量化比特数及预设量化步长;
针对各群组,根据该群组对应的量化参数及该群组中的各权值,采用均匀量化器,对该群组中的各权值进行量化,其中,均匀量化器为:
yq=round(Clip(y,-2b-1·q,(2b-1-1)·q)/q)·q (1)
yq为量化后的权值,y为量化前的权值,b为预设量化比特数,q为预设量化步长,Clip(.)为边界裁剪函数;
基于量化后的各群组,得到量化后的卷积层。
通过将权值输入公式(1)所示的均匀量化器,可以实现对权值的量化,在对各群组中的各权值均完成量化后,可以按照卷积层中原始群组的排布,组合完成量化的各群组,即可得到量化后的卷积层。
其中,Clip(.)函数具体如公式2所示。
基于公式(2)可以看出,可以保证输入的权值可以落在(-2b-1·q,(2b-1-1)·q)区间范围内。
应用本实施例,获取深度神经网络的卷积层参数,其中,卷积层参数包括卷积层的四维张量权值及卷积层中卷积滤波器的空间维度信息,根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。对于卷积层而言,处于相同空间位置的权值往往具有更相似的数值范围,也就是说,处于相同空间位置的权值之间差异较小,这样,在对处于相同空间位置的各权值进行同一量化操作时,各权值的量化误差较小,而在对卷积层的各群组中的权值进行量化操作时,可以采用各群组各自对应的量化参数进行量化,减小了整个深度神经网络的量化误差。
在相应的权值分组的方式中,有一种方式是对卷积层的各权值进行聚类操作,将数值尺度相似的权值划分为一类,该方式对类的划分是通过聚类得到的,无规律可寻,这就需要预先对各权值进行标记,通过查表的方式来实现,导致电路设计并不友好,增强了电路设计的难度。而在本申请实施例是一种结构化的权值划分方案,在结构上对卷积层进行群组划分,不需要复杂的标记、查表的过程,能够在提高量化性能的同时对电路设计更加友好。
相应于上述方法实施例,本申请实施例提供了一种深度神经网络的卷积层量化装置,如图5所示,该深度神经网络的卷积层量化装置可以包括:
获取模块510,用于获取深度神经网络的卷积层参数,所述卷积层参数包括:卷积层的四维张量权值以及所述卷积层中卷积滤波器的空间维度信息;
分组模块520,用于根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组;
量化模块530,用于针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。
可选的,所述分组模块520,具体可以用于:
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
可选的,所述卷积层参数还可以包括:输出通道维度信息;
所述分组模块520,具体可以用于:
根据所述输出通道维度信息,从所述四维张量权值中,提取各输出通道对应的三维张量权值;
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
可选的,所述分组模块520,具体可以用于:
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
可选的,所述量化模块530,具体可以用于:
获取各群组对应的量化参数,所述量化参数包括预设量化比特数及预设量化步长;
针对各群组,根据该群组对应的量化参数及该群组中的各权值,采用均匀量化器,对该群组中的各权值进行量化,其中,所述均匀量化器为:
yq=round(Clip(y,-2b-1·q,(2b-1-1)·q)/q)·q
yq为量化后的权值,y为量化前的权值,b为预设量化比特数,q为预设量化步长,Clip(.)为边界裁剪函数;
基于量化后的各群组,得到量化后的卷积层。
应用本实施例,获取深度神经网络的卷积层参数,其中,卷积层参数包括卷积层的四维张量权值及卷积层中卷积滤波器的空间维度信息,根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。对于卷积层而言,处于相同空间位置的权值往往具有更相似的数值范围,也就是说,处于相同空间位置的权值之间差异较小,这样,在对处于相同空间位置的各权值进行同一量化操作时,各权值的量化误差较小,而在对卷积层的各群组中的权值进行量化操作时,可以采用各群组各自对应的量化参数进行量化,减小了整个深度神经网络的量化误差。
本申请实施例还提供了一种电子设备,如图6所示,可以包括处理器601和机器可读存储介质602,所述机器可读存储介质602存储有能够被所述处理器601执行的机器可执行指令,所述处理器601被所述机器可执行指令促使:实现如上述深度神经网络的卷积层量化方法的所有步骤。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
机器可读存储介质602与处理器601之间可以通过有线连接或者无线连接的方式进行数据传输,并且电子设备可以通过有线通信接口或者无线通信接口与其他的设备进行通信。图6所示的仅为处理器601与机器可读存储介质602之间通过总线进行数据传输的示例,不作为具体连接方式的限定。
本实施例中,处理器601通过读取机器可读存储介质602中存储的机器可执行指令,并通过运行该机器可执行指令,能够实现:获取深度神经网络的卷积层参数,其中,卷积层参数包括卷积层的四维张量权值及卷积层中卷积滤波器的空间维度信息,根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。对于卷积层而言,处于相同空间位置的权值往往具有更相似的数值范围,也就是说,处于相同空间位置的权值之间差异较小,这样,在对处于相同空间位置的各权值进行同一量化操作时,各权值的量化误差较小,而在对卷积层的各群组中的权值进行量化操作时,可以采用各群组各自对应的量化参数进行量化,减小了整个深度神经网络的量化误差。
本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,实现如上述深度神经网络的卷积层量化方法的所有步骤。
本实施例中,机器可读存储介质存储有在运行时执行本申请实施例所提供的深度神经网络的卷积层量化方法的机器可执行指令,因此能够实现:获取深度神经网络的卷积层参数,其中,卷积层参数包括卷积层的四维张量权值及卷积层中卷积滤波器的空间维度信息,根据空间维度信息,将四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层。对于卷积层而言,处于相同空间位置的权值往往具有更相似的数值范围,也就是说,处于相同空间位置的权值之间差异较小,这样,在对处于相同空间位置的各权值进行同一量化操作时,各权值的量化误差较小,而在对卷积层的各群组中的权值进行量化操作时,可以采用各群组各自对应的量化参数进行量化,减小了整个深度神经网络的量化误差。
对于电子设备以及机器可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (8)
1.一种深度神经网络的卷积层量化方法,其特征在于,用于实现目标检测与分割、行为检测与识别、语音识别中的至少一种,所述方法包括:
获取深度神经网络的卷积层参数,所述卷积层参数包括:卷积层的四维张量权值以及所述卷积层中卷积滤波器的空间维度信息;
根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组;
针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层;
其中,所述根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,包括:
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
2.根据权利要求1所述的方法,其特征在于,所述卷积层参数还包括:输出通道维度信息;
所述根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,包括:
根据所述输出通道维度信息,从所述四维张量权值中,提取各输出通道对应的三维张量权值;
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
3.根据权利要求2所述的方法,其特征在于,所述针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组,包括:
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
4.根据权利要求1所述的方法,其特征在于,所述针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层,包括:
获取各群组对应的量化参数,所述量化参数包括预设量化比特数及预设量化步长;
针对各群组,根据该群组对应的量化参数及该群组中的各权值,采用均匀量化器,对该群组中的各权值进行量化,其中,所述均匀量化器为:
yq为量化后的权值,y为量化前的权值,b为预设量化比特数,q为预设量化步长,Clip(.)为边界裁剪函数;
基于量化后的各群组,得到量化后的卷积层。
5.一种深度神经网络的卷积层量化装置,其特征在于,用于实现目标检测与分割、行为检测与识别、语音识别中的至少一种,所述装置包括:
获取模块,用于获取深度神经网络的卷积层参数,所述卷积层参数包括:卷积层的四维张量权值以及所述卷积层中卷积滤波器的空间维度信息;
分组模块,用于根据所述空间维度信息,将所述四维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组;
量化模块,用于针对各群组,采用该群组对应的量化参数对该群组中的各权值进行量化,得到量化后的卷积层;
其中,所述分组模块,具体用于:
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
根据所述空间维度信息,将所述四维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
6.根据权利要求5所述的装置,其特征在于,所述卷积层参数还包括:输出通道维度信息;
所述分组模块,具体用于:
根据所述输出通道维度信息,从所述四维张量权值中,提取各输出通道对应的三维张量权值;
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中处于相同空间位置的权值划分为同一群组,得到多个群组。
7.根据权利要求6所述的装置,其特征在于,所述分组模块,具体用于:
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一列的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一行的权值划分为同一群组,得到多个群组;
或者,
针对各三维张量权值,根据所述空间维度信息,将该三维张量权值中,在空间维度上处于同一点的权值划分为同一群组,得到多个群组。
8.根据权利要求5所述的装置,其特征在于,所述量化模块,具体用于:
获取各群组对应的量化参数,所述量化参数包括预设量化比特数及预设量化步长;
针对各群组,根据该群组对应的量化参数及该群组中的各权值,采用均匀量化器,对该群组中的各权值进行量化,其中,所述均匀量化器为:
yq为量化后的权值,y为量化前的权值,b为预设量化比特数,q为预设量化步长,Clip(.)为边界裁剪函数;
基于量化后的各群组,得到量化后的卷积层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811320675.9A CN111160517B (zh) | 2018-11-07 | 2018-11-07 | 一种深度神经网络的卷积层量化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811320675.9A CN111160517B (zh) | 2018-11-07 | 2018-11-07 | 一种深度神经网络的卷积层量化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160517A CN111160517A (zh) | 2020-05-15 |
CN111160517B true CN111160517B (zh) | 2024-02-06 |
Family
ID=70554606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811320675.9A Active CN111160517B (zh) | 2018-11-07 | 2018-11-07 | 一种深度神经网络的卷积层量化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160517B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021248433A1 (en) * | 2020-06-12 | 2021-12-16 | Moffett Technologies Co., Limited | Method and system for dual-sparse convolution processing and parallelization |
CN115037608A (zh) * | 2021-03-04 | 2022-09-09 | 维沃移动通信有限公司 | 量化的方法、装置、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
US9946539B1 (en) * | 2017-05-23 | 2018-04-17 | Google Llc | Accessing data in multi-dimensional tensors using adders |
CN107957993A (zh) * | 2017-12-13 | 2018-04-24 | 北京邮电大学 | 英文句子相似度的计算方法及装置 |
CN108154194A (zh) * | 2018-01-18 | 2018-06-12 | 北京工业大学 | 一种用基于张量的卷积网络提取高维特征的方法 |
WO2018120740A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US11055063B2 (en) * | 2016-05-02 | 2021-07-06 | Marvell Asia Pte, Ltd. | Systems and methods for deep learning processor |
US10796220B2 (en) * | 2016-05-24 | 2020-10-06 | Marvell Asia Pte, Ltd. | Systems and methods for vectorized FFT for multi-dimensional convolution operations |
US11556772B2 (en) * | 2017-04-28 | 2023-01-17 | Intel Corporation | Incremental precision networks using residual inference and fine-grain quantization |
-
2018
- 2018-11-07 CN CN201811320675.9A patent/CN111160517B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
WO2018120740A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
US9946539B1 (en) * | 2017-05-23 | 2018-04-17 | Google Llc | Accessing data in multi-dimensional tensors using adders |
CN107957993A (zh) * | 2017-12-13 | 2018-04-24 | 北京邮电大学 | 英文句子相似度的计算方法及装置 |
CN108154194A (zh) * | 2018-01-18 | 2018-06-12 | 北京工业大学 | 一种用基于张量的卷积网络提取高维特征的方法 |
Non-Patent Citations (2)
Title |
---|
低分辨率自然场景文本识别;浦世亮;郑钢;王杰;;中国安防(09);全文 * |
网络异构信息的张量分解聚类方法;吴继冰;黄宏斌;邓苏;;国防科技大学学报(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111160517A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754066B (zh) | 用于生成定点型神经网络的方法和装置 | |
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
US11126862B2 (en) | Dense crowd counting method and apparatus | |
US11741339B2 (en) | Deep neural network-based method and device for quantifying activation amount | |
JP7329455B2 (ja) | ニューラルネットワーク量子化のための方法及び装置 | |
CN109543190B (zh) | 一种意图识别方法、装置、设备及存储介质 | |
US10032463B1 (en) | Speech processing with learned representation of user interaction history | |
CN110874625B (zh) | 一种数据处理方法及装置 | |
KR20190052893A (ko) | 뉴럴 네트워크 연산을 위한 전처리 장치 및 방법 | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
CN109583561B (zh) | 一种深度神经网络的激活量量化方法及装置 | |
CN110647974A (zh) | 深度神经网络中的网络层运算方法及装置 | |
WO2020056718A1 (zh) | 在设备中的神经网络模型的量化方法和装置 | |
CN110570858A (zh) | 语音唤醒方法、装置、智能音箱和计算机可读存储介质 | |
CN111160517B (zh) | 一种深度神经网络的卷积层量化方法及装置 | |
US20210191733A1 (en) | Flexible accelerator for sparse tensors (fast) in machine learning | |
WO2021012148A1 (zh) | 基于深度神经网络的数据处理方法、装置及移动设备 | |
KR20210083935A (ko) | 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치 | |
WO2019091401A1 (zh) | 深度神经网络的网络模型压缩方法、装置及计算机设备 | |
CN111178522B (zh) | 一种软硬件协同加速方法、系统及计算机可读存储介质 | |
US20190348062A1 (en) | System and method for encoding data using time shift in an audio/image recognition integrated circuit solution | |
US20200320385A1 (en) | Using quantization in training an artificial intelligence model in a semiconductor solution | |
US20200293865A1 (en) | Using identity layer in a cellular neural network architecture | |
CN111160516A (zh) | 一种深度神经网络的卷积层稀疏化方法及装置 | |
US20200151584A1 (en) | Systems and methods for determining an artificial intelligence model in a communication system |
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 |