CN109543826A - 一种基于深度神经网络的激活量量化方法及装置 - Google Patents
一种基于深度神经网络的激活量量化方法及装置 Download PDFInfo
- Publication number
- CN109543826A CN109543826A CN201710859537.7A CN201710859537A CN109543826A CN 109543826 A CN109543826 A CN 109543826A CN 201710859537 A CN201710859537 A CN 201710859537A CN 109543826 A CN109543826 A CN 109543826A
- Authority
- CN
- China
- Prior art keywords
- quantization
- activation amount
- slice group
- depth
- slice
- 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
Links
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- 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
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- 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/048—Activation functions
-
- 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/044—Recurrent networks, e.g. Hopfield 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例提供了一种基于深度神经网络的激活量量化方法及装置,其中,基于深度神经网络的激活量量化方法包括:获取深度神经网络中网络层的激活量,其中,激活量中的元素按高度、宽度及深度三个方向排布;沿激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。通过本方案可以减小量化误差。
Description
技术领域
本发明涉及机器学习技术领域,特别是涉及一种基于深度神经网络的激活量量化方法及装置。
背景技术
深度神经网络作为机器学习研究中的一个新兴领域,通过模仿人脑的机制来解析数据,是一种通过建立和模拟人脑进行分析学习的智能模型。目前,深度神经网络,如卷积神经网络、循环神经网络、长短期记忆网络等已在目标检测与分割、行为检测与识别、语音识别等方面得到了很好的应用。但是,由于深度神经网络中每个网络层都有大量的数据参与运算,具有高度的计算复杂度,需要强大的带宽资源。
针对上述问题,相关的深度神经网络中,提出了对深度神经网络的激活量量化压缩到低比特数的思想,通过量化将大比特数的浮点数据量化为较低比特数的定点数据,由于量化后的定点数据具有较低的比特数,使得参与运算的数据量得以降低,从而较少深度神经网络运行的计算复杂度及平台带宽的需求。
上述相关的深度神经网络中,针对深度神经网络中每个网络层的激活量进行量化的方法,用数学符号可以归纳为qi=quantizationl(ai),其中,quantizationl(ai)为量化第l个网络层的激活量的量化器,ai代表每个网络层中原始的激活量的元素值,qi为量化后的元素值。根据上述数学符号,直接对每个网络层的激活量进行全局量化,但是,由于激活量中元素之间的差异较大,如果直接全局量化,就是采用相同的量化参数对该层激活量中所有元素进行量化,这会导致较大的量化误差。
发明内容
本发明实施例的目的在于提供一种基于深度神经网络的激活量量化方法及装置,以减小量化误差。具体技术方案如下:
第一方面,本发明实施例提供了一种基于深度神经网络的激活量量化方法,所述方法包括:
获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
可选的,所述沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,包括:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
可选的,所述沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,包括:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
可选的,所述量化参数包括:量化步长;
所述分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化,包括:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
第二方面,本发明实施例提供了一种基于深度神经网络的激活量量化装置,所述装置包括:
获取模块,用于获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
划分模块,用于沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
量化模块,用于分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
可选的,所述划分模块,具体用于:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
可选的,所述划分模块,具体用于:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
可选的,所述量化参数包括:量化步长;
所述量化模块,具体用于:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
第三方面,本发明实施例提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法步骤。
本发明实施例提供的一种基于深度神经网络的激活量量化方法及装置,针对深度神经网络中的各网络层,通过沿网络层的激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,然后利用量化方法对各切片组进行量化,从而实现对激活量的量化。由于激活量沿深度方向的元素数值之间差异较大,通过对激活量沿深度方向的划分,使得同一个切片组中的元素数值差异较小,并且每个切片组有各自的量化步长,也就是说每个切片组的量化方式不同,从而可以减小采用相同的量化参数对激活量中所有元素进行量化所导致的量化误差。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的基于深度神经网络的激活量量化方法的一种流程示意图;
图2为本发明实施例的深度神经网络中激活量的示意图;
图3为本发明实施例的深度神经网络中网络层的激活量分组量化示意图;
图4为本发明实施例的基于深度神经网络的激活量量化装置的一种结构示意图;
图5为本发明实施例的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了减小量化误差,本发明实施例提供了一种基于深度神经网络的激活量量化方法及装置。下面,首先对本发明实施例所提供的基于深度神经网络的激活量量化方法进行介绍。
本发明实施例所提供的一种基于深度神经网络的激活量量化方法的执行主体可以为实现目标检测与分割、行为检测与识别、语音识别等功能的计算机设备,也可以为具有目标检测与分割、行为检测与识别等功能的摄像机,还可以为具有语音识别功能的麦克风,执行主体中至少包括具有数据处理能力的核心处理芯片,其中,核心处理芯片可以为DSP(Digital Signal Processor,数字信号处理器)、ARM(Advanced Reduced InstructionSet Computer Machines,精简指令集计算机微处理器)、FPGA(Field-Programmable GateArray,现场可编程门阵列)等核心处理芯片中的任一种。实现本发明实施例所提供的一种基于深度神经网络的激活量量化方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路的至少一种方式。
如图1所示,为本发明实施例所提供的一种基于深度神经网络的激活量量化方法,该基于深度神经网络的激活量量化方法可以包括如下步骤:
S101,获取深度神经网络中网络层的激活量。
其中,激活量中的元素按高度、宽度及深度三个方向排布。深度神经网络中的激活量为卷积Convolution层的输入/输出,或者內积Inner Product层的输入/输出,或者线性修正Relu层的输入/输出,或者批规范化Batch Normalization层的输入/输出,或者缩放Scale层的输入/输出,或者融合Concat层的输入/输出等,也就是深度神经网络中层与层之间传输的数据流,如图2所示,激活量A的大小为W×H×O。DNN(Deep Neural Network,深度神经网络)为一个较为宽泛的数据处理方法,具体的,DNN可以为CNN(ConvolutionalNeural Network,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short Term Memory,长短期记忆网络)等数据处理方法中的任意一种。
S102,沿激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
考虑到激活量在深度方向的元素数值大小差异较大,如果直接采用相同的量化参数对激活量进行量化,对导致较大的量化误差,因此,将激活量沿深度方向进行划分,得到多个切片组。对激活量的划分,可以采用等深度的方式划分,也可以通过统计元素特征进行划分。例如,由于相邻深度的元素数值间的差异往往较小,因此,可以采用等深度的方式划分,划分得到的每个切片组的深度能够被激活量的总深度整除;通过统计元素特征进行划分,可以是按照激活量的深度方向上每个深度的元素数值的最大值或者均值或者方差等度量标准,将元素特征之间的差异小于预设阈值的深度划分为同一切片组。
S103,分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
基于划分得到的多个切片组,对各切片组分别通过量化公式计算得到各自对应的量化参数,量化参数为对切片组进行量化所使用的参数,可以为进行量化的量化步长,也可以为基于切片组中的元素数值及期望量化后得到的量化结果的预设比特数所得到的量化器。例如,预设比特数可以为1~32范围内的任意整数值,量化器的实现可以采用任意合理的量化器,例如公式(1)所示的均匀量化器:
其中,step为量化步长,minV为切片组对应的预设量化最小值,maxV为切片组对应的预设量化最大值,ai为切片组中各元素,Clip函数如公式(2)所示。
应用本实施例,针对深度神经网络中的各网络层,通过沿网络层的激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,然后利用量化方法对各切片组进行量化,从而实现对激活量的量化。由于激活量沿深度方向的元素数值之间差异较大,通过对激活量沿深度方向的划分,使得同一个切片组中的元素数值差异较小,并且每个切片组有各自的量化步长,也就是说每个切片组的量化方式不同,从而可以减小采用相同的量化参数对激活量中所有元素进行量化所导致的量化误差。
为了便于理解,下面结合具体实例,对本发明实施例所提供的基于深度神经网络的激活量量化方法进行介绍。
如图3所示,为本发明实施例的深度神经网络中各网络层的激活量分组量化示意图。具体的,量化方法的步骤包括:
第一步,沿着网络层激活量的深度方向,按照预设深度对激活量划分,得到多个等深度的切片组。
由于网络层的激活量中,相邻深度的元素特征之间的差异较小,因此,在进行切片组的划分的过程中,可以将相邻的深度划分为同一个切片组。并且,为了保证数据的一致性,划分得到的每个切片组的深度相同,可以采用等深度的方式划分,也就是划分得到的每个切片组的预设深度能够被激活量的总深度整除。如图3所示,激活量A经过N等分后得到N个深度相同的切片组。
第二步,提取各切片组中的元素绝对值的最大值,并基于该最大值确定各切片组对应的预设量化最大值,设定预设量化最小值为0。
针对各切片组,第n个切片组对应的预设量化最大值为An=2M,其中,为大于或等于表达式的最小整数,为第n个切片组中的元素绝对值的最大值,为第n个切片组中的各元素。
第三步,根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长。
其中,量化公式如公式(3)所示,
stepn为第n个切片组的量化步长,An为第n个切片组对应的预设量化最大值,B为预设比特数;对于每个切片组而言,预设比特数B相等,为预先设置的、期望量化后得到的数值的比特数。例如,预设比特数B可以为1~32范围中的任意整数值。由于每个切片组对应的预设量化最大值不同,则计算得到的量化步长也不相等,即每个切片组各自采用各自的量化参数进行量化。
第四步,分别基于各切片组的量化步长,对各切片组进行量化。
采用本方案,针对深度神经网络中的各网络层,通过沿网络层的激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,然后利用量化方法对各切片组进行量化,从而实现对激活量的量化。由于激活量沿深度方向的元素数值之间差异较大,通过对激活量沿深度方向的划分,使得同一个切片组中的元素数值差异较小,并且每个切片组有各自的量化步长,也就是说每个切片组的量化方式不同,从而可以减小采用相同的量化参数对激活量中所有元素进行量化所导致的量化误差。
相应于上述方法实施例,本发明实施例提供了一种基于深度神经网络的激活量量化装置,如图4所示,该基于深度神经网络的激活量量化装置可以包括:
获取模块410,用于获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
划分模块420,用于沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
量化模块430,用于分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
可选的,所述划分模块420,具体可以用于:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
可选的,所述划分模块420,具体还可以用于:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
可选的,所述量化参数包括:量化步长;
所述量化模块430,具体可以用于:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
应用本实施例,针对深度神经网络中的各网络层,通过沿网络层的激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,然后利用量化方法对各切片组进行量化,从而实现对激活量的量化。由于激活量沿深度方向的元素数值之间差异较大,通过对激活量沿深度方向的划分,使得同一个切片组中的元素数值差异较小,并且每个切片组有各自的量化步长,也就是说每个切片组的量化方式不同,从而可以减小采用相同的量化参数对激活量中所有元素进行量化所导致的量化误差。
本发明实施例还提供了一种计算机设备,如图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信,
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现如下步骤:
获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
可选的,所述处理器510在实现沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组的步骤中,具体可以实现:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
可选的,所述处理器510在实现沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组的步骤中,具体还可以实现:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
可选的,所述量化参数包括:量化步长;
所述处理器510在实现分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化的步骤中,具体可以实现:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
上述电子设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括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,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本实施例中,该计算机设备的处理器通过读取存储器中存储的计算机程序,并通过运行该计算机程序,能够实现:针对深度神经网络中的各网络层,通过沿网络层的激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,然后利用量化方法对各切片组进行量化,从而实现对激活量的量化。由于激活量沿深度方向的元素数值之间差异较大,通过对激活量沿深度方向的划分,使得同一个切片组中的元素数值差异较小,并且每个切片组有各自的量化步长,也就是说每个切片组的量化方式不同,从而可以减小采用相同的量化参数对激活量中所有元素进行量化所导致的量化误差。
另外,相应于上述实施例所提供的基于深度神经网络的激活量量化方法,本发明实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
可选的,所述处理器具体可以实现:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
可选的,所述处理器具体可以实现:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
可选的,所述量化参数包括:量化步长;
所述处理器具体可以实现:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
本实施例中,计算机可读存储介质存储有在运行时执行本申请实施例所提供的基于深度神经网络的激活量量化方法的应用程序,因此能够实现:针对深度神经网络中的各网络层,通过沿网络层的激活量的深度方向,将激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,然后利用量化方法对各切片组进行量化,从而实现对激活量的量化。由于激活量沿深度方向的元素数值之间差异较大,通过对激活量沿深度方向的划分,使得同一个切片组中的元素数值差异较小,并且每个切片组有各自的量化步长,也就是说每个切片组的量化方式不同,从而可以减小采用相同的量化参数对激活量中所有元素进行量化所导致的量化误差。
对于计算机设备以及计算机可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于深度神经网络的激活量量化方法,其特征在于,所述方法包括:
获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
2.根据权利要求1所述的方法,其特征在于,所述沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,包括:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
3.根据权利要求1所述的方法,其特征在于,所述沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组,包括:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
4.根据权利要求1所述的方法,其特征在于,所述量化参数包括:量化步长;
所述分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化,包括:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
5.一种基于深度神经网络的激活量量化装置,其特征在于,所述装置包括:
获取模块,用于获取深度神经网络中网络层的激活量,其中,所述激活量中的元素按高度、宽度及深度三个方向排布;
划分模块,用于沿所述激活量的深度方向,将所述激活量中元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组;
量化模块,用于分别采用通过量化公式得到的各切片组对应的量化参数,对各切片组进行量化。
6.根据权利要求5所述的装置,其特征在于,所述划分模块,具体用于:
沿所述激活量的深度方向,按照预设深度对所述激活量划分,得到多个等深度的切片组。
7.根据权利要求5所述的装置,其特征在于,所述划分模块,具体用于:
获取所述激活量中每个深度的元素特征;
将元素特征间的差异小于预设阈值的深度划分为同一切片组,得到多个切片组。
8.根据权利要求5所述的装置,其特征在于,所述量化参数包括:量化步长;
所述量化模块,具体用于:
根据各切片组对应的预设量化最大值、预设量化最小值及预设比特数,通过量化公式,得到各切片组的量化步长,其中,所述量化公式为:
所述step为量化步长,所述A为预设量化最大值,所述B为预设比特数;
分别采用各切片组的量化步长,对各切片组进行量化。
9.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710859537.7A CN109543826A (zh) | 2017-09-21 | 2017-09-21 | 一种基于深度神经网络的激活量量化方法及装置 |
PCT/CN2018/104177 WO2019056946A1 (zh) | 2017-09-21 | 2018-09-05 | 一种基于深度神经网络的激活量量化方法及装置 |
EP18859380.0A EP3686813A4 (en) | 2017-09-21 | 2018-09-05 | DEEP NEURAL NETWORK-BASED PROCESS AND DEVICE FOR QUANTIFYING THE AMOUNT OF ACTIVATION |
US16/649,562 US11741339B2 (en) | 2017-09-21 | 2018-09-05 | Deep neural network-based method and device for quantifying activation amount |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710859537.7A CN109543826A (zh) | 2017-09-21 | 2017-09-21 | 一种基于深度神经网络的激活量量化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109543826A true CN109543826A (zh) | 2019-03-29 |
Family
ID=65810111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710859537.7A Pending CN109543826A (zh) | 2017-09-21 | 2017-09-21 | 一种基于深度神经网络的激活量量化方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11741339B2 (zh) |
EP (1) | EP3686813A4 (zh) |
CN (1) | CN109543826A (zh) |
WO (1) | WO2019056946A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110718211A (zh) * | 2019-09-26 | 2020-01-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN113111997A (zh) * | 2020-01-13 | 2021-07-13 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN113112008A (zh) * | 2020-01-13 | 2021-07-13 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN115037608A (zh) * | 2021-03-04 | 2022-09-09 | 维沃移动通信有限公司 | 量化的方法、装置、设备及可读存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754074A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 一种神经网络量化方法、装置以及相关产品 |
TWI722491B (zh) | 2019-07-16 | 2021-03-21 | 國立陽明交通大學 | 應用於神經網絡之四位元與八位元組合之分離式量化方法 |
KR20210043295A (ko) | 2019-10-11 | 2021-04-21 | 삼성전자주식회사 | 뉴럴 네트워크의 데이터를 양자화하는 방법 및 장치 |
US11669331B2 (en) | 2021-06-17 | 2023-06-06 | International Business Machines Corporation | Neural network processing assist instruction |
US11269632B1 (en) | 2021-06-17 | 2022-03-08 | International Business Machines Corporation | Data conversion to/from selected data type with implied rounding mode |
US12079658B2 (en) | 2021-06-17 | 2024-09-03 | International Business Machines Corporation | Detection of invalid machine-specific data types during data conversion |
US11675592B2 (en) | 2021-06-17 | 2023-06-13 | International Business Machines Corporation | Instruction to query for model-dependent information |
US11693692B2 (en) | 2021-06-17 | 2023-07-04 | International Business Machines Corporation | Program event recording storage alteration processing for a neural network accelerator instruction |
US11734013B2 (en) | 2021-06-17 | 2023-08-22 | International Business Machines Corporation | Exception summary for invalid values detected during instruction execution |
US11797270B2 (en) | 2021-06-17 | 2023-10-24 | International Business Machines Corporation | Single function to perform multiple operations with distinct operation parameter validation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI726579B (zh) * | 2011-12-21 | 2021-05-01 | 日商Jvc建伍股份有限公司 | 動態影像編碼裝置、動態影像編碼方法、動態影像解碼裝置、及動態影像解碼方法 |
US9628803B2 (en) * | 2014-11-25 | 2017-04-18 | Blackberry Limited | Perceptual image and video coding |
TWI547816B (zh) * | 2014-12-31 | 2016-09-01 | 富智康(香港)有限公司 | 照片分群系統及方法 |
US10515301B2 (en) * | 2015-04-17 | 2019-12-24 | Microsoft Technology Licensing, Llc | Small-footprint deep neural network |
US10373050B2 (en) | 2015-05-08 | 2019-08-06 | Qualcomm Incorporated | Fixed point neural network based on floating point neural network quantization |
CN106203624B (zh) * | 2016-06-23 | 2019-06-21 | 上海交通大学 | 基于深度神经网络的矢量量化系统及方法 |
US20180107926A1 (en) * | 2016-10-19 | 2018-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for neural network quantization |
CN106485316B (zh) | 2016-10-31 | 2019-04-02 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
CN106897734A (zh) * | 2017-01-12 | 2017-06-27 | 南京大学 | 基于深度卷积神经网络的层内非均匀的k平均聚类定点量化方法 |
US11019339B2 (en) * | 2017-07-12 | 2021-05-25 | Futurewei Technologies, Inc. | Fractional quantization parameter offset in video compression |
US11562208B2 (en) * | 2018-05-17 | 2023-01-24 | Qualcomm Incorporated | Continuous relaxation of quantization for discretized deep neural networks |
US10832139B2 (en) * | 2018-06-22 | 2020-11-10 | Moffett Technologies Co. Limited | Neural network acceleration and embedding compression systems and methods with activation sparsification |
-
2017
- 2017-09-21 CN CN201710859537.7A patent/CN109543826A/zh active Pending
-
2018
- 2018-09-05 US US16/649,562 patent/US11741339B2/en active Active
- 2018-09-05 EP EP18859380.0A patent/EP3686813A4/en active Pending
- 2018-09-05 WO PCT/CN2018/104177 patent/WO2019056946A1/zh unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110718211A (zh) * | 2019-09-26 | 2020-01-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN110718211B (zh) * | 2019-09-26 | 2021-12-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN113111997A (zh) * | 2020-01-13 | 2021-07-13 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN113112008A (zh) * | 2020-01-13 | 2021-07-13 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN113111997B (zh) * | 2020-01-13 | 2024-03-22 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和相关产品 |
CN113112008B (zh) * | 2020-01-13 | 2024-05-10 | 中科寒武纪科技股份有限公司 | 用于神经网络数据量化的方法、装置和计算机可读存储介质 |
CN115037608A (zh) * | 2021-03-04 | 2022-09-09 | 维沃移动通信有限公司 | 量化的方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11741339B2 (en) | 2023-08-29 |
US20200285933A1 (en) | 2020-09-10 |
EP3686813A4 (en) | 2020-11-18 |
WO2019056946A1 (zh) | 2019-03-28 |
EP3686813A1 (en) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543826A (zh) | 一种基于深度神经网络的激活量量化方法及装置 | |
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
US11308405B2 (en) | Human-computer dialogue method and apparatus | |
CN110111334B (zh) | 一种裂缝分割方法、装置、电子设备及存储介质 | |
CN109583561B (zh) | 一种深度神经网络的激活量量化方法及装置 | |
US10489542B2 (en) | Machine learning based post route path delay estimator from synthesis netlist | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
CN109255438B (zh) | 调整张量数据的方法和装置 | |
CN110457524B (zh) | 模型生成方法、视频分类方法及装置 | |
CN112598110B (zh) | 神经网络构建方法、装置、设备及介质 | |
US11507823B2 (en) | Adaptive quantization and mixed precision in a network | |
CN111783934A (zh) | 卷积神经网络构建方法、装置、设备及介质 | |
WO2019091401A1 (zh) | 深度神经网络的网络模型压缩方法、装置及计算机设备 | |
CN110334262B (zh) | 一种模型训练方法、装置及电子设备 | |
CN109829471B (zh) | 随机森林的训练方法、装置、存储介质和电子设备 | |
CN107292320A (zh) | 系统及其指标优化方法及装置 | |
CN112800813B (zh) | 一种目标识别方法及装置 | |
CN111859933A (zh) | 马来语识别模型的训练方法、识别方法、装置、设备 | |
CN113762403B (zh) | 图像处理模型量化方法、装置、电子设备及存储介质 | |
CN116088333A (zh) | 工业设备控制方法、装置、计算机设备、存储介质和产品 | |
CN113592074B (zh) | 一种训练方法、生成方法及装置、电子设备 | |
CN111160517A (zh) | 一种深度神经网络的卷积层量化方法及装置 | |
CN112907145B (zh) | 模型解释方法以及电子设备 | |
US20220391676A1 (en) | Quantization evaluator | |
CN112307371B (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 |