CN113850374A - 神经网络模型的量化方法、电子设备及介质 - Google Patents
神经网络模型的量化方法、电子设备及介质 Download PDFInfo
- Publication number
- CN113850374A CN113850374A CN202111196316.9A CN202111196316A CN113850374A CN 113850374 A CN113850374 A CN 113850374A CN 202111196316 A CN202111196316 A CN 202111196316A CN 113850374 A CN113850374 A CN 113850374A
- Authority
- CN
- China
- Prior art keywords
- quantization
- neural network
- network model
- quantized
- value range
- 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
- 238000013139 quantization Methods 0.000 title claims abstract description 266
- 238000003062 neural network model Methods 0.000 title claims abstract description 244
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000011002 quantification Methods 0.000 claims abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 19
- 230000008602 contraction Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000003595 spectral effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000002054 transplantation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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
-
- 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)
- 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
本申请涉及人工智能技术领域,具体涉及一种神经网络模型的量化方法、电子设备及介质。在本申请的神经网络模型的量化方法中,将神经网络模型各层的权重参数的正负值作为考虑要素,然后分别计算大于等于零的权重参数的收缩因子|scale(Z‑X)|,以及小于零的权重参数的收缩因子|scale(Z′‑Y)|,然后计算|scale(Z‑X)|以及|scale(Z′‑Y)|的加权和,得到最终的收缩因子。通过这种方式,使得量化前后的神经网络模型的权重参数的更加接近,进而在降低神经网络模型的权重参数占用的存储空间以及计算资源的同时,确保量化后的神经网络模型的精度更接近量化前的神经网络模型的精度。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种神经网络模型的量化方法、图像识别方法、电子设备及介质。
背景技术
神经网络模型在训练完成后拥有几百甚至上千万的参数,例如每一层网络层中的权重参数和偏置参数等,并且这些参数在存储时都是基于浮点型的32比特位或者更高的比特位进行的。由于这些参数的数据量庞大,在整个卷积计算过程中会消耗大量的存储空间和计算资源。而量化目的就是压缩神经网络模型的大小,方便将神经网络模型部署到手机等计算资源受限的终端上。
目前的做法是将神经网络模型的上述参数映射至小于32比特位的值域当中,以减少神经网络模型占用的存储空间以及消耗的计算资源,但由于32比特位能够表示的数值范围大于小于32比特位能够表示的数值范围,所以在上述量化过程中,神经网络模型的权重参数或偏置参数会发生缺损,这种方式会造成神经网络模型的精度下降,影响用户的体验。
发明内容
有鉴于此,本申请提供了一种神经网络模型的量化方法、图像识别方法、电子设备及介质能够解决上述技术问题。下面对本申请的量化方法展开介绍。
第一方面,本申请提供了一种神经网络模型的量化方法,该方法包括:根据待量化数据的量化取值范围和目标值域的值域取值范围,确定将待量化数据量化到目标值域所需的第一量化参数和第二量化参数,其中,第一量化参数对应量化取值范围中大于0的待量化数据,第二量化参数对应量化取值范围中小于0的待量化数据;根据第一量化参数和第二量化参数,确定神经网络模型的第三量化参数;根据第三量化参数将待量化数据量化至目标值域。
上述方法在对神经网络模型中的待量化数据进行量化时,考虑到了神经网络模型中待量化数据的正负取值,并利用待量化数据中的正值对应的量化参数以及负值对应的量化参数,确定神经网络模型的最终量化参数(即第三量化参数,对应于下文具体实施例部分的神经网络的最终的收缩因子),使得神经网络模型的量化规模更加合理,进而量化后的神经网络模型的精度损失较小。其中,神经网络模型的精度损失可以用神经网络模型浮点推演最终结果与模型量化后模型结果之间的相似度来度量,可以理解为神经网络模型浮点推演的最终预测结果与量化后模型结果之间的相似度越高,则说明该神经网络模型量化的精度越高,具体实现时以特定模型的浮点推演结果与量化后推演结果差来呈现,以图像识别神经网络模型为例,假如浮点时运行推演网络得到的识别率是80%,量化后运行推演模型识别率79%或者更高,也就是越接近80%越好。
进一步地,在一种可能的实现方式中,上述待量化数据可以包括以下任意一种或多种:构成神经网络模型的多个网络层中,任意一层或多层网络层中的权重参数以及偏置参数;或任意一层或多层网络层的输入数据。其中,权重参数表示与每个要素关联的实际值,表明了该要素在预测最终值中的重要性,以图像识别网络模型为例,权重参数表示该图像的某个像素在图像识别结果中的重要性。在一种可能的实现方式中,上述待量化数据还可以包括神经网络模型中各个网络层的激活函数,应理解,本申请待量化数据的种类、类型不作限制。
结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,上述输入数据包括图像数据。其中,图像数据可以是输入至神经网络模型中的原始图像数据,也可以是原始图像数据经过某一层网络层卷积运算处理过后的特征图像数据。在一种可能的实现方式中,以神经网络模型为图像识别网络模型、该图像识别网络模型包括100层网络层为例,那么图像数据可以是输入至该图像识别网络模型中的第一层网络层的原始图像数据,也可以是该原始图像数据经过该图像识别网络模型中任意一层或多层(例如,第10层或第20至第30层)网络层卷积运算处理后的特征图数据。
在一种可能的实现方式中,上述待量化数据的量化取值范围指的是由待量化数据中各个数据的取值确定的数值范围。举例来说明,假设待量化数据为[-22.00,-19.00,-17.00,10.00,20.00,30.00],那么待量化数据的取值范围则为大于等于-22.00且小于等于30.00。
应理解,在其他可能的实现方式中,神经网络模型的待量化数据可能存在明显高于和/或低于其他待量化数据的特别数据,在这种情况下,对于特别数据依然采用根据其他待量化数据确定的量化取值范围以及目标值域确定的量化参数进行量化,当该特别数据的量化结果大于目标值域的取值范围时,则会对该特别数据作截断处理,也即直接将目标值域的最大值或最小值作为该特别数据的量化结果。举例来说明,假设待量化数据为[-600.00,-22.00,-19.00,-17.00,10.00,20.00,30.00,200.00],目标值域为8比特位表示的数值范围[-128,127],那么该待量化数据的取值范围为大于等于-22.00且小于等于30.00,假设-600.00按照该取值范围以及目标值域的取值范围量化后的结果超出了[-128,127],那么就对-600.00的量化结果做截断处理,即直接将目标值域中与-600.00正负号相同的最小值最为-600.00的量化结果,也即-600.00的最终量化结果为-128。假设200.00按照该取值范围以及目标值域的取值范围量化后的结果没有超出[-128,127],那么则无需对200.00的量化结果作截断处理。其中,判断待量化数据中是否存在明显高于或低于其他待量化数据的特别数据的方法可以是,利用待量化数据的平均值与各个待量化数据的差值的大小来判断某个待量化数据是否明显高于或低于其他待量化数据,应理解,本申请对该方式不作限制。
可以理解,上述目标值域指的是待量化数据需要量化至的值域,在一种可能的实现方式中,目标值域可以为8比特位整型能够表示的数值范围[-128,127],目标值域也可以是其他数据类型能够表示的数值范围。需要理解,目标值域的确定与神经网络模型适用的电子设备的存储资源、计算资源等有关,在一种可能的实现方式中,当电子设备的存储资源、计算资源较大时,目标值域的取值范围也可以较大,以尽可能降低量化对神经网络模型精度的影响,当电子设备的存储资源、计算资源较小时,目标值域的取值范围也可以较小,以利于神经网络模型的移植。其中,关于目标值域的具体确定方式将在下文介绍,此处不再赘述。
在一种可能的实现方式中,上述第一量化参数即为下文具体实施例中的第一收缩因子,该第一量化参数对应于待量化数据中数值大于或等于0的待量化数据,上述第二量化参数即为下文具体实施例中的第二收缩因子,该第二量化参数对应于待量化数据中数值小于或等于0的待量化数据。结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,第一量化参数对应的量化取值范围中的待量化数据等于0。结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,第二量化参数对应的量化取值范围中的待量化数据等于0。也即,在一种可能的实现方式中,第一量化参数对应的待量化数据可以为大于或等于0的数据(或正数与0),第二量化参数对应的待量化数据可以为小于或等于0的数据(或负数与0)。
结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,目标值域的取值范围包括正值区间和负值区间,以及根据待量化数据的量化取值范围和目标值域的值域取值范围,确定将待量化数据量化到目标值域所需的第一量化参数方法包括:确定量化取值范围中大于或等于0的待量化数据中的第一最大值,第一最大值与正值区间的最大值的比值为第一量化参数。在一种可能的实现方式中,目标值域的取值范围包括正值区间和负值区间,那么第一量化参数即为待量化数据的取值范围中的第一最大值与该正值区间中最大值的比值。举例来说明,假设目标值域的取值范围为[-128,127],那么目标值域的正值区间则为[0,127],负值区间则为[-128,0],同时假设待量化数据的取值范围为[-22.00,32.00],则待量化数据中大于等于0的第一最大值为32.00,那么该第一量化参数则为32.00/127。
结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,目标值域的取值范围包括正值区间和负值区间,以及根据待量化数据的量化取值范围和目标值域的值域取值范围,确定将待量化数据量化到目标值域所需的第二量化参数方法包括:确定量化取值范围中小于0的待量化数据中的第一最小值,第一最小值与负值区间的最小值的比值为第二量化参数。与第一量化参数的计算方式一致,继续以目标值域的取值范围为[-128,127]、待量化数据的取值范围为[-22.00,32.00]为例,那么目标值域的正值区间则为[0,127],负值区间则为[-128,0],则待量化数据中小于等于0的第一最小值为-22.00,那么该第二量化参数则为-22.00/-128。
结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,根据第一量化参数和第二量化参数,确定神经网络模型的第三量化参数的方法包括:按照预设量,从0开始逐次增加第一量化参数的第一权重值,计算每个第一权重值对应的第一量化参数与第二权重值对应的第二量化参数的和,得到多个第三量化参数,其中,第一权重值与第二权重值之和为1;以及根据第三量化参数将待量化数据量化至目标值域包括:根据多个第三量化参数,将待量化数据量化至目标值域,得到神经网络模型的多个量化结果;从多个量化结果中,确定与待量化数据的相似度大于预设相似度的第一量化结果,并且将第一量化结果作为神经网络模型的量化结果。其中,第一权重值对应与下文具体实施例中的权重α,发明人经过大量的试验与测试,得到第一权重值在大于等于0且小于等于1的范围内,神经网络模型的量化结果更好,故本申请以权重α取值范围在大于等于0且小于等于1的范围为例,对本申请的量化方法展开描述。应理解,本申请量化方法的原理及思想同样适用于权重α的取值范围为其他值时的神经网络模型的量化。
结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,根据第一量化参数和第二量化参数,确定神经网络模型的第三量化参数的方式包括:根据神经网络模型的属性参数与第一量化参数以及第二量化参数之间的关系,确定第一权重值或第二权重值的取值范围,第一权重值对应第一量化参数,第二权重值对应第二量化参数;在第一权重值的取值范围内,按照预设量逐次增加第一权重值,并计算每个第一权重值对应的第一量化参数与第二权重值对应的第二量化参数的加权和,得到多个第三量化参数,其中,第一权重值与第二权重值之和为1;以及根据第三量化参数将待量化数据量化至目标值域包括:根据多个第三量化参数,将待量化数据量化至目标值域,得到神经网络模型的多个量化结果;从多个量化结果中,确定与待量化数据的相似度大于预设相似度的第一量化结果,并且将第一量化结果作为神经网络模型的量化结果。可以理解,上述直接从0开始按照预设量逐次增加第一权重值的方式确定第三量化参数的方法所需的计算量较大,为了进一步提高神经网络模型的量化效率,在一种可能的实现方式中,还可以根据神经网络模型的属性参数与上述第一量化参数与第二量化参数之间的关系,进一步明确第一权重值的取值范围。其中,神经网络模型的属性参数指的是专属于不同神经网络模型的参数,本申请对属性参数的取值不作限制。举例来说明,对于图像识别神经网络模型而言,该属性参数即包括第一属性值β和第二属性值γ,并且发明人经过大量试验,对于图像识别神经网络模型而言,第一属性值β的取值为0.5,第二属性值γ的取值为0.095时,根据第一量化参数以及第二量化参数与第一属性值β和第二属性值γ的关系,可以进一步明确图像识别神经网络模型中的第一权重值的取值范围,并且在该取值范围内,神经网络模型的量化结果是最好的,也即量化后的神经网络模型的精度较高。
结合第一方面以及第一方面的可能的实现方式,在第一方面的另一种可能的实现方式中,预设量的取值范围大于0且小于1。应理解,预设量的取值范围与上述权重值的取值相关,假设权重值的取值范围为大于等于0且小于等于1,那么预设量的取值自然不能超出权重值的取值范围,也即预设量的取值范围也为大于0且小于1,假设权重值的取值范围为大于等于0且小于等于10,那么预设量的取值则可以为大于0且小于10。需要说明的是,本申请对此不作限制。
第二方面,本申请提供了一种图像识别方法,方法包括:获取待识别图像;采用神经网络模型对待识别图像进行识别,其中,神经网络模型是采用上述第一方面中任一项的量化方法。可以理解,在一种可能的实现方式中,上述第一方面中任一项可能的实现方式所述的神经网络模型的量化方法可以应用在包括但不限于图像识别神经网络模型、物体检测神经网络模型、语音分割神经网络模型等等神经网络模型上。以图像识别神经网络模型为例,当图像识别神经网络模型采用上述第一方面中任一项可能的实现方式中的量化方法进行量化后,该图像识别神经网络模型的规模会变小,即该图像识别神经网络模型占用的存储空间以及在进行图像识别时所消耗的计算资源均会减小,并且同时,如上文所言,该图像识别神经网络模型的识别精度并不会大幅度下降,这样即可将量化后的图像识别神经网络模型移植至手机等计算资源或存储资源受限的电子设备上,以便于用户在手机等电子设备上即可实现响应的图像识别功能,例如人脸识别认证等等,提高用户的体验。其中,上述待识别图像可以为用户的面部图像,也可以为用户的指纹图像,可以为二维图像也可以为三维图像(例如深度图像等等),应理解,本申请对待识别图像的种类和形式不作任何限制。
第三方面,本申请提供了一种电子设备,电子设备包括:
存储器,存储有指令;
处理器,处理器和存储器耦合,当存储器存储的程序指令被处理器执行时使得电子设备实现上述第一方面及第二方面中任一项的可能的实现方式。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,其特征在于,当指令在计算机可读存储介质上运行时,使得计算机可读存储介质实现上述第一方面及第二方面中任一项的可能的实现方式。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任意方面及其任一种可能的实施方式的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一些实施例提供的一例神经网络模型***图;
图2(A)是一些实施例提供的一例对称量化中零点的位置示意图;
图2(B)是一些实施例提供的一例非对称量化中零点的位置示意图;
图3是一些实施例提供的物体检测神经网络模型的输入数据示意图;
图4是一些实施例提供的一例量化方法流程示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面结合附图介绍本申请的各个实施例。
图1是一些实施例提供的神经网络模型***100示意性框图,如图1所示,该神经网络模型***100包括量化模块110和卷积模块120。
其中,量化模块110,用于对该神经网络模型的第i层网络层的输入数据进行量化,i为正整数。在一些实施例中,输入数据可包括神经网络模型的第i层卷积计算的输入图像,例如如果该神经网络模型为图像识别网络模型,则输入数据可包括输入至该神经网络模型第i层的图像。在另一些实施例中,输入数据可包括神经网络模型的第i层网络层的权重参数,其中权重参数表示与每个要素关联的实际值,表明了该要素在预测最终值中的重要性,继续以图像识别网络模型为例,权重参数表示该图像的某个像素在图像识别结果中的重要性。在其他实施例中,输入数据还可以包括第i层网络层的偏置参数、激活函数等等,本申请对此不作限制。
其中,量化指的是将一组原始值域范围内的数,通过一个数学变换映射到另一个目标值域范围的过程。例如,假设原始值域范围为浮点型32比特位表示的[-22.00,32.00],目标值域范围为整型8比特位表示的[-128,127],量化则是将[-22.00,32.00]映射至[-128,127]之间,也即用8比特位的[-128,127]表示32比特位的[-22.00,32.00]。量化的目的在于缩小神经网络模型的规模,降低其占用的存储空间。可以理解,在量化过程中,由于原始值域可以表示的数值范围一般远大于目标值域,例如浮点型32比特位可以表示小数,而整型8比特位仅可以用来表示整数,所以从原始值域量化值目标值域的过程中,必然存在四舍五入或者数据截断等处理,影响神经网络模型的部分权重参数的实际数值,进而影响神经网络模型的精度。具体地,此部分内容将在后文结合附图2至3展开介绍。
卷积模块120,用于对量化后的该第i层网络层的输入数据、量化后的权重参数进行卷积计算,得到该第i层的卷积结果。其中,在一些实施例中,当i等于1时,该第i层网络层的输入数据为原始输入图片。在另一些实施例中,当i大于1时,该第i层网络层的输入数据为特征图数据,特征图数据表示某一层网络层的计算结果,对于整个卷积神经网络模型而言是一个中间计算结果,对于第i层网络层的输入数据而言,该输入数据为第i-1层网络层的特征图数据,即为第i-1层网络层的卷积结果。例如,假设i为2,则第2层网络层的输入数据为第1层的特征图数据,该第1层的特征图数据为第1层网络层的卷积结果。
可以理解,每一层网络层都有自己的卷积计算模型,即每一层网络层都有自己的权重参数和偏置参数。举例来说明,假设第i层网络层的卷积模型如下式(1)所示:
y=∑ax+b (1)
其中,a为权重参数,b为偏置参数,x为输入到底i层网络层的输入数据,通过式(1)的计算,便以得到第i层网络层的卷积结果y。
应理解,虽然神经网络模型的网络层包括多层,但并不意味着神经网络模型包括的所有网络层都需要进行量化处理。即在一些实施例中,可以仅对部分网络层进行量化处理,该部分网络层可以是连续的网络层,也可以是不连续的网络层。例如,假设网络层有100层,那么可以是对第10到90层进行量化处理,或者也可以是对第10、20、30层网络层需要进行量化处理,本申请对需要进行量化的网络层的数量和位置不作限制。
还应理解,上述式(1)只是示例性的,仅仅为了说明第i层网络层的权重参数、偏置参数以及卷积结果之间的关系,并不构成对第i层网络层的卷积计算模型的任何限制。
还应理解,该***100还可以包括其他模块,例如,输入模块以及池化模块等。用于支持该***完成神经网络模型的其他功能,本申请对此不作限制。
还应理解,该***100可以是一种芯片或装置,该芯片或装置可以包括量化模块110和卷积模块120等。在一些实施例中,该装置可以为具有计算能力的电子设备,或者该芯片可以集成在具有计算能力的电子设备上,其中电子设备可以包括但不限于智能手机、平板电脑、服务器、超级计算机、可穿戴电子设备、智能家电等等,本申请对此电子设备的种类不作限制。
下文为了便于描述,以图1中的神经网络模型***100中的量化模块110对神经网络模型中的某一层的权重参数进行量化为例,介绍本申请各实施例中的量化方法。
如前所述,神经网络模型中各个参数可以是基于32位或64位比特(浮点型)进行存储和计算的,这会占用电子设备几十上百兆的存储空间以及大量的计算资源,不利于将神经网络模型移植到计算资源或者存储空间受限的电子设备上,影响用户体验。例如,不利于研发人员将训练完成的人脸识别模型移植到手机中,以便于用户在手机上完成人脸认证,进而使用手机支付、身份认证等功能。又例如,也不利于研发人员将训练完成的图像分类模型移植到手机上,以便于用户能够使用“以图搜图”等功能进行图像检索。
为了降低神经网络模型占用的存储空间、减少神经网络模型消耗的计算资源,本申请的一些实施例提供了一种神经网络模型的量化方法,在该方法中,量化模块110以神经网络模型中绝对值最大的权重参数和绝对值最小的权重参数作为神经网络模型的原始值域,然后将该原始值域映射至小于32比特位的目标值域中,以降低神经网模型所占用的存储空间以及进行卷积计算时所消耗的计算资源。
具体地,在一些实施例中,量化模块110首先确定需要进行量化的神经网络模型的权重参数中,绝对值的最大值max和最小值min,也即确定神经网络模型的权重参数的原始值域,然后量化模块110确定神经网络模型要量化至的目标值域,再根据神经网络模型的原始值域和目标值域,计算出神经网络模型的收缩因子scale以及零点zero_point,最后根据神经网络模型的收缩因子seale以及零点zero_point以及神经网络模型的量化前的权重参数确定神经网络模型经过量化后的权重参数。
例如,在一些实施例中,目标值域一般为8比特位的整型数值范围[-128,127],但是可以理解,在其他实施例中,目标值域还可以是16比特位的数值范围、或则24比特位的数值范围,或者小于32比特位的其他数值范围,应理解,本申请对目标值域的取值范围不作任何限制。
其中,收缩因子scale可以理解为神经网络模型需要从原始值域量化至目标值域的缩小的倍数,即神经网络模型的量化的规模。在一些实施例中,如上文所述,收缩因子sca]e可以通过神经网络模型的权重参数原始值域的取值范围与目标值域的取值范围确定。在一些实施例中,量化模块110可以通过下式(2)确定收缩因子scale:
零点zero_point指的是神经网络模型量化前的原始值域中的零点经过量化后在目标值域的对应的位置。在一些实施例中,当量化过程为对称量化时,即如图2(A)所示,原始值域的零点与目标值域的零点对应,此时zero_point为0。在另一些实施例中,当量化为非对称量化时,即如图2(B)所示,原始值域的零点与目标值域的零点不对应,此时zero_point可以通过下式(3)计算zero_point,为了便于说明,下述各实施例以非对称量化为例,介绍本申请的量化方法。
在收缩因子scale以及零点zero_point均确定后,量化模块110根据下式(4)计算神经网络模型量化前的权重参数在经过量化后对应的权重参数:
xquant=xfloat×scale+zero_point (4)
其中,xfloat表示量化前神经网络模型的权重参数,xquant表示量化后神经网络模型的权重参数,zero_point表示神经网络模型量化前的原始值域的零点在量化后的目标值域中对应的位置,scale表示神经网络模型从原始值域量化至目标值域的收缩因子。
在对称量化中,由于zero_point=0,所以量化模块110可以根据下式(5)计算神经网络模型量化后的权重参数:
xquant=xfloat×scale (5)
举例来说明,假设神经网络模型的权重参数的范围为大于等于-22.00,小于等于32.00,即[-22.00,32.00],目标值域为8比特位整型,可表示的数值范围为大于等于-128,小于等于127,即[-128,127]。
故量化模块110利用上式(2)即可计算出scale=32.00/128=0.2500,之后量化模块110利用上式(5)计算神经网络模型的权重参数中经过量化后对应的权重参数。此处仅以计算上述神经网络模型的权重参数中最大值MAX(32.00)和最小值MIN(-22.00)对应的量化后的权重参数为例:如图3所示,量化模块110根据上式(5)计算出MAX(32.00)对应的量化后的权重参数为8,MIN(-22.00)对应的量化后的权重参数为-5.5,但是由于整型只能表示整数,故对-5.5进行四舍五入处理得到-6。
从上式(2)至式(5)的计算过程中可以看出,量化模块110在计算神经网络模型的收缩因子时,仅利用神经网络模型权重参数的绝对值来计算收缩因子,并没有考虑到神经网络模型中各个权重参数的正负值,也即并没有考虑权重参数的正负值对卷积结果的影响,可以理解,由于没有考虑到权重参数的正负值,当权重参数中负值的绝对值小于权重参数中正值的绝对值时,量化模块110利用上式(2)计算收缩因子时,会得到较大的收缩因子,在利用该较大的收缩因子计算量化后的权重参数时,对神经网络的量化规模会降低,依旧不利于将规模较大的神经网络模型移植至资源受限的电子设备上。
并且,神经网络模型中各权重参数的正负号是用于区分对应的要素是否为目标要素,更具体地,以电子设备利用神经网络模型检测图3中所示的目标物体Q为例,那么目标物体Q的轮廓L范围内的像素对应的权重参数即为正值(或负值),而目标物体Q轮廓L范围外的像素对应的权重参数则为负值(或正值),如果不考虑权重参数的正负号,则会影响图中轮廓L范围内外的权重参数的量化结果,降低神经网络模型的检测目标物体Q的精度。
为了解决上述技术问题,本申请实施例提供了一种神经网络模型的量化方法。在本申请的神经网络模型的量化方法中量化模块110将分别计算大于或等于0的权重参数的值域对应的收缩因子scale大于等于0以及小于或等于0的权重参数的值域对应的收缩因子scale小于等于0,然后计算收缩因子scale大于等于0以及收缩因子scale小于等于0的加权和,通过这种方式,得到较为准确的神经网络模型的收缩因子,使得神经网络模型的量化规模更加合理,并且神经网络模型的精度更为准确。
下面继续结合图1所示的神经网络***100以及图2(A)所示的对称量化过程,介绍本申请的神经网络模型的量化方法对神经网络模型的权重参数进行量化的过程。
应理解,本申请的神经网络模型的量化方法同样适用于对上文提及的神经网络模型的各种输入数据,例如偏置参数、激活函数、图像等等数据的量化,本申请在此不作限制。
还应理解,为了便于描述,下面是以对神经网络模型的某一层网络层中的权重参数进行量化,正如上文所言,在其他实施例中,也可以对神经网络模型的全部网络层或者部分网络层中的权重参数进行量化,或者同时对神经网络模型的部分网络层中的多层连续的网络层或者不连续的网络层的权重参数进行量化,本申请对此不作限制。
具体地,如图4所示,方法400包括:
401,根据目标值域的取值范围,确定神经网络模型权重参数的第一收缩因子以及第二收缩因子。
其中,目标值域的取值范围可以参考前文有关描述。在一些实施例中,目标值域的确定方式是研发人员根据神经网络模型适用的电子设备的存储空间、计算资源等预先设定的。例如,如果神经网络模型适用的电子设备为智能手机等存储空间受限的电子设备,那么目标值域的范围可以为较小范围,例如8比特位整型表示的[-128,127],如果神经网络模型适用的电子设备为笔记本电脑等存储空间相对较大的电子设备,那么目标值域的范围可以为较大范围,例如16比特位浮点型表示数值范围,本申请对目标值域的确定方式不作限制。
可以理解,上述神经网络模型的权重参数可以构成包括正负区间的取值范围,例如以神经网络模型的权重参数取值范围为[-80.00,-60.00,0.00,40.00,80.00,100.00]为例,该取值范围可以分为第一取值范围[-80.00,-60.00,0.00]和第二取值范围[0,40.00,80.00,100.00]两个区间。同理,以目标值域的取值范围为[-128,127]为例,该取值范围也可分为[-128,0]和[0,127]。结合目标值域的取值范围以及神经网络模型各个权重参数的取值范围,量化模块110利用上式(4)可以分别计算出第一取值范围对应的第一收缩因子scalenegative=|-80.0|-0/|-128-0|=80/128=0.6250以及第二取值范围对应的第二收缩因子scalepositive=|100.00-0|/127=100/127=0.7874。
402,计算上述第一收缩因子以及第二收缩因子的加权和,得到神经网络模型的收缩因子。
在得到神经网络模型的负值权重参数对应的第一收缩因子以及正值权重参数对应的第二收缩因子后,量化模块110将计算第一收缩因子以及第二收缩因子的加权和,以得到兼顾神经网络模型权重参数的正负号的收缩因子。
具体地,在一些实施例中,量化模块110为第一收缩因子分配权重α,对应地,第二收缩因子的权重则为1-α,然后根据预设量从0开始逐次增加权重α的取值,并计算每个α对应的第一收缩因子以及第二收缩因子的加权和,以得到该神经网络模型的多个收缩因子。
在另一些实施例中,量化模块110也可以根据神经网络模型的第一收缩因子、第二收缩因子与神经网络模型的属性值之间的关系,进一步确定α的取值范围,然后在取值范围内,按照预设量逐次增加权重α的取值,并计算每个α对应的第一收缩因子以及第二收缩因子的加权和,以得到该神经网络模型的多个收缩因子。其中,计算第一收缩因子以及第二收缩因子的加权和的方式将在下文进行详细介绍,此处不再赘述。
403,根据神经网络模型的收缩因子,对神经网络模型进行量化。
在一些实施例中,量化模块110在得到神经网络模型的多个收缩因子后,利用上式(5)对神经网络模型的权重参数[-80.00,-60.00,0.00,40.00,80.00,100.00]进行量化,得到多个神经网络模型权重参数的量化结果,然后计算每个量化结果与量化前的权重参数的相似度,从中选择相似度最高的量化结果作为神经网络模型的最终量化结果。
在一些实施例中,计算量化前后神经网络模型权重参数的相似度的方式包括但不限于计算量化前后权重参数之间的欧式距离、谱信息散度等。其中,具体量化前后神经网络模型权重参数的方式将在下文进行介绍,此处不再赘述。
通过上述方法400,量化模块110即可得到兼顾神经网络模型权重参数的正负号的收缩因子,根据该收缩因子对神经网络模型进行量化时,即可得到量化规模更加合理,神经网络模型的精度更加准确的量化后的神经网络模型。
上文介绍了本申请量化方法的大致流程,下面对应于上述方法400中的各个步骤,介绍本申请方法400所涉及的具体计算过程。
在一些实施例中,对应于上述402,量化模块110可以通过下式(5)计算第一收缩因子以及第二收缩因子的加权和。
scale=|scalenegative|*α+(1-α)*|scalepositive| (5)
其中,scale表示神经网络模型权重的缩放因子,scalenegative表示根据神经网络模型中小于等于0的权重计算的第一收缩因子,scalepositive表示根据神经网络模型中大于或等于0的权重计算的第二收缩因子,α为scalenegative的权重。其中,权重α的取值范围为0≤α≤1。
然后量化模块110可以从0到1开始,使α每次增加预设量,计算出每一个α对应的神经网络模型量化的收缩因子。在一些实施例中,上述预设量可以为大于0的任意正数,例如0.1、0.01、1等数值,本申请对此不作限制。但是应能理解,预设量的取值越小,得到的权重α就会更加精确,对应的神经网络模型的收缩因子所能实现的量化效果也就越好。
具体地,以神经网络模型权重参数为[-80.00,-60.00,0.00,40.00,80.00,100.00],预设量为0.2为例,量化模块110从0到1为α赋值,分别计算每个α值对应的神经网络模型的收缩因子scale,即scale=0.6250*α+(1-α)*0.7874得到如下表1所示的内容:
表1
从上表1可知,当α=0时,神经网络模型的收缩因子scale=0.7874,当α=0.2时,神经网络模型的收缩因子scale=0.7549,当α=0.4时,神经网络模型的收缩因子scale=0.7224,当α=0.6时,神经网络模型的收缩因子scale=0.6900,当α=0.8时,神经网络模型的收缩因子scale=0.6575,当α=1.0时,神经网络模型的收缩因子scale=0.6250。
之后,对应于上述403,在一些实施例中,量化模块110根据上表1的收缩因子,并利用上式(5)对神经网络模型的权重参数[-80.00,-60.00,0.00,40.00,80.00,100.00]进行量化,得到多个量化后的权重参数,如下表2所示:
表2
从上表2可知,当神经网络模型的收缩因子scale=0.7874,神经网络模型的权重参数为{-63,-47,0,31,63,79};当神经网络模型的收缩因子scale=0.7549,神经网络模型的权重参数为{-60,-45,0,30,60,75};当神经网络模型的收缩因子scale=0.7224,神经网络模型的权重参数{-58,-43,0,29,58,72};当神经网络模型的收缩因子scale=0.6900,神经网络模型的权重参数为{-55,-41,0,28,55,69};当神经网络模型的收缩因子scale=0.6575,神经网络模型的权重参数为{-53,-39,0,53,66};当神经网络模型的收缩因子scale=0.6250,神经网络模型的权重参数为{-50,-38,0,25,50,63}。
之后,量化模块110计算上表2中每个收缩因子对应的量化后的权重参数与量化前的权重参数的相似度,进而确定与量化前最接近的权重参数,并将该权重参数作为神经网络模型的最终量化结果。具体地,在一些实施例中,量化模块110可以利用谱信息散度的方法计算出量化前后的神经网络模型权重之间的相似度。
SID(A,B)=D(A||B)+D(B||A)
其中,A表示量化前的神经网络模型的权重参数,可以表示为(p1,p2,p3,…pn)T,B表示量化后的神经网络模型的权重参数,可以表示为(q1,q2,q3,…qn)T,D(A||B)表示量化前的权重参数相对于量化后的权重参数的离散度,D(B||A)表示量化后的权重参数相对于量化前的权重参数的离散度,SID(A,B)表示量化前的权重参数与量化后的权重参数之间的谱信息散度。可以理解,谱信息散度越低,表明量化前后的神经网络模型的权重参数的越相似,也即量化对神经网络模型的精度影响越低。
利用上式(7)计算出每个收缩因子对应的神经网络模型量化前后的谱信息散度,得到下表3:
表3
从上表3中可以看出,当量化前后的神经网络模型的权重参数的谱信息散度最小时(取1.7654),对应的收缩因子为0.7874,再结合上表2可知,对应的权重α为0。所以对于权重参数为{-80.00,-60.00,0.00,40.00,80.00,100.00}的神经网络模型而言,其量化效果最好的收缩因子为0.7874,对应的权重α为0。
将表3与利用上式(1)至(3)得到的量化后的权重参数(如下表4)对比可知:
表4:
通过本申请的量化方法能够使量化前后的权重参数更加接近,其谱信息散度要小于使用式(1)至式(3)得到的权重参数的谱信息散度1.7968,从而保证了神经网络模型具有与量化前的一致或近似的精度。
上文介绍了本申请量化方法的具体实施细节,从上文可以看出,在本申请的量化方法中,关于权重α的值的设置方式是根据预设值,从零到一逐步试验才最终确定的最优值,为了进一步提高计算权重α效率,发明人在经过大量测试、训练后得到了神经网络模型的权重参数与权重α取值范围之间的关系,即在神经网络模型权重参数满足一定约束条件时,权重α的取值范围也是明确的。通过这种方式,量化模块110在计算权重α时,可以先计算神经网络模型权重参数与约束条件之间的关系,然后得到更为明确的权重α的取值范围,之后在该取值范围内,根据预设量调整权重α的值,直至得到量化前后谱信息散度最小值对应的收缩因子。
下面介绍神经网络模型的权重参数scalenegative、scalepositive、满足的约束条件与权重α取值范围之间对应的关系。
scalenegative、scalepositive、variance以及该神经网络模型对应的参数β和γ之间的关系与α取值范围之间的关系如下表5所示:
表5
其中,参数β和γ为统计值,参数β和γ的取值与神经网络模型的种类、网络层数等等相关,但是对于特定的神经网络模型而言参数β和γ是确定的。以图像识别神经网络模型为例,β的取值为0.15,γ的取值为0.095。下面继续以图像识别神经网络模型为例,介绍量化模块110利用神经网络模型权重参数与约束条件之间的关系,确定权重α的过程。
具体地,量化模块110计算该图像识别神经网络模型的过程中,可以先计算出该图像识别神经网络模型的小于或等于0的权重参数的收缩因子scalenegative和大于或等于0的权重参数的收缩因子scalepositive,以及该图像识别神经网络模型的权重参数的方差variance,然后比较小于或等于0的权重范围的收缩因子scalenegative和大于或等于0的权重参数的收缩因scalepositive以及权重参数的方差variance之间的关系,当该图像识别神经网络模型的scalenegative、scalepositive、variance之间的关系满足表5中的条件1时,则α的取值范围为0≤α<0.2,也即量化模块110从0开始以此为α增加预设量直至0.2,并计算每一个α取值对应的图像识别神经网络模型的收缩因子scale,以及每个收缩因子scale对应的图像识别神经网络模型经过量化前后的权重参数的之间的相似度,并根据每个收缩因子scale对应的图像识别神经网络模型经过量化前后的权重参数之间的相似度,确定该图像识别神经网络模型的量化效果最好的收缩因子scale,该收缩因子能够使图像识别神经网络模型的量化前后的权重参数的相似度最小,进而使得图像识别神经网络模型量化后的精度尽可能与量化前一致。
应理解,在本申请实施例中,对神经网络模型的权重参数、偏置等进行量化可以是由模型量化器执行。如果神经网络模型为图像处理领域的神经网网络模型的话,那么对图像处理领域的神经网网络模型的输入数据(例如是图像、特征图等)的量化可以用图像量化器来执行,对这些模型的权重参数、偏置等则可以用模型量化器来执行,并且图像量化器和模型量化器可以集成在量化模块110中,也可以分开设置。本申请对此不作限制。
同样的,上述卷积模块120中进行的卷积计算可以由乘法器、加法器来执行,这些乘法器和加法器可以集成在卷积模块120中,也可以分开设置。本申请对此也不做限制。
本申请实施例还提供了一种电子设备,该电子设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中以计算机程序代码的方式被实现的解码流程的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实施例还提供了一种图像识别方法,该方法包括:由电子设备获取待识别的图像;然后采用神经网络模型对待识别图像进行识别,其中,神经网络模型是采用上述各个实施例中所述神经网络模型量化的,通过这种方式,在保证神经网络模型的识别精确度的情况下,可以使图像识别方法所用的神经网络模型能够更加小型化,减少了该神经网络模型占用的存储空间以及计算资源,有利于该神经网络模型的移植。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述以计算机程序代码的方式被实现的解码流程实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/量化模块110和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (13)
1.一种神经网络模型的量化方法,其特征在于,所述方法包括:
根据待量化数据的量化取值范围和目标值域的值域取值范围,确定将所述待量化数据量化到所述目标值域所需的第一量化参数和第二量化参数,其中,所述第一量化参数对应所述量化取值范围中大于0的所述待量化数据,所述第二量化参数对应所述量化取值范围中小于0的所述待量化数据;
根据所述第一量化参数和所述第二量化参数,确定所述神经网络模型的第三量化参数;
根据所述第三量化参数将所述待量化数据量化至所述目标值域。
2.根据权利要求1所述的方法,其特征在于,所述待量化数据包括以下任意一种或多种:
构成所述神经网络模型的多个网络层中,任意一层或多层网络层中的权重参数以及偏置参数;或任意一层或多层网络层的输入数据。
3.根据权利要求2所述的方法,其特征在于,所述输入数据包括图像数据。
4.根据权利要求1所述的方法,其特征在于,所述第一量化参数对应的所述量化取值范围中的待量化数据等于0。
5.根据权利要求1或4所述的方法,其特征自在于,所述第二量化参数对应的所述量化取值范围中的待量化数据等于0。
6.根据权利要求1所述的方法,其特征在于,所述目标值域的取值范围包括正值区间和负值区间,以及
所述根据待量化数据的量化取值范围和目标值域的值域取值范围,确定将所述待量化数据量化到所述目标值域所需的第一量化参数方法包括:
确定所述量化取值范围中大于或等于0的所述待量化数据中的第一最大值,所述第一最大值与所述正值区间的最大值的比值为所述第一量化参数。
7.根据权利要求6所述的方法,其特征在于,所述目标值域的取值范围包括正值区间和负值区间,以及
所述根据待量化数据的量化取值范围和目标值域的值域取值范围,确定将所述待量化数据量化到所述目标值域所需的第二量化参数方法包括:
确定所述量化取值范围中小于0的所述待量化数据中的第一最小值,所述第一最小值与所述负值区间的最小值的比值为所述第二量化参数。
8.根据权利要求1所述的方法,其特征在于,所述根据第一量化参数和所述第二量化参数,确定所述神经网络模型的第三量化参数的方法包括:
按照预设量,从0开始逐次增加所述第一量化参数的第一权重值,计算每个所述第一权重值对应的第一量化参数与第二权重值对应的第二量化参数的和,得到多个第三量化参数,其中,第一权重值与第二权重值之和为1;以及
所述根据所述第三量化参数将所述待量化数据量化至所述目标值域包括:
根据所述多个第三量化参数,将所述待量化数据量化至所述目标值域,得到所述神经网络模型的多个量化结果;
从所述多个量化结果中,确定与所述待量化数据的相似度大于预设相似度的第一量化结果,并且将所述第一量化结果作为所述神经网络模型的量化结果。
9.根据权利要求1所述的方法,其特征在于,所述根据第一量化参数和所述第二量化参数,确定所述神经网络模型的第三量化参数的方式包括:
根据所述神经网络模型的属性参数与所述第一量化参数以及所述第二量化参数之间的关系,确定第一权重值或第二权重值的取值范围,所述第一权重值对应所述第一量化参数,所述第二权重值对应所述第二量化参数;
在所述第一权重值的取值范围内,按照预设量逐次增加所述第一权重值,并计算每个所述第一权重值对应的第一量化参数与第二权重值对应的第二量化参数的加权和,得到多个第三量化参数,其中,第一权重值与第二权重值之和为1;以及
所述根据所述第三量化参数将所述待量化数据量化至所述目标值域包括:
根据所述多个第三量化参数,将所述待量化数据量化至所述目标值域,得到所述神经网络模型的多个量化结果;
从所述多个量化结果中,确定与所述待量化数据的相似度大于预设相似度的第一量化结果,并且将所述第一量化结果作为所述神经网络模型的量化结果。
10.根据权利要求8或9所述的方法,其特征在于,所述预设量的取值范围大于0且小于1。
11.一种图像识别方法,其特征在于,所述方法包括:
获取待识别图像;
采用神经网络模型对所述待识别图像进行识别,其中,所述神经网络模型是采用权利要求1至10中任一项所述的量化方法。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有指令;
处理器,所述处理器和存储器耦合,当所述存储器存储的程序指令被所述处理器执行时使得所述电子设备执行权利要求1至11中任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在所述计算机可读存储介质上运行时,使得所述计算机可读存储介质执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111196316.9A CN113850374B (zh) | 2021-10-14 | 神经网络模型的量化方法、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111196316.9A CN113850374B (zh) | 2021-10-14 | 神经网络模型的量化方法、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113850374A true CN113850374A (zh) | 2021-12-28 |
CN113850374B CN113850374B (zh) | 2024-08-02 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115272706A (zh) * | 2022-07-28 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、计算机设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
AU2017201504A1 (en) * | 2011-07-12 | 2017-03-23 | Nec Corporation | Image quantization parameter decoding method |
CN107239826A (zh) * | 2017-06-06 | 2017-10-10 | 上海兆芯集成电路有限公司 | 在卷积神经网络中的计算方法及装置 |
US20180077416A1 (en) * | 2016-09-09 | 2018-03-15 | Hanwha Techwin Co., Ltd. | Quantization parameter determination method and image capture apparatus |
WO2019184823A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
WO2019223594A1 (zh) * | 2018-05-21 | 2019-11-28 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
CN110598839A (zh) * | 2018-06-12 | 2019-12-20 | 华为技术有限公司 | 卷积神经网络***和卷积神经网络量化的方法 |
CN110826685A (zh) * | 2018-08-08 | 2020-02-21 | 华为技术有限公司 | 神经网络卷积计算的方法和装置 |
CN111126558A (zh) * | 2018-10-31 | 2020-05-08 | 北京嘉楠捷思信息技术有限公司 | 一种卷积神经网络计算加速方法及装置、设备、介质 |
CN111401550A (zh) * | 2020-03-10 | 2020-07-10 | 北京迈格威科技有限公司 | 神经网络模型量化方法、装置及电子设备 |
CN111741302A (zh) * | 2020-08-07 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机可读介质及电子设备 |
CN112101543A (zh) * | 2020-07-29 | 2020-12-18 | 北京迈格威科技有限公司 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
US20210004663A1 (en) * | 2019-07-04 | 2021-01-07 | Samsung Electronics Co., Ltd. | Neural network device and method of quantizing parameters of neural network |
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2017201504A1 (en) * | 2011-07-12 | 2017-03-23 | Nec Corporation | Image quantization parameter decoding method |
US20180077416A1 (en) * | 2016-09-09 | 2018-03-15 | Hanwha Techwin Co., Ltd. | Quantization parameter determination method and image capture apparatus |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
CN107239826A (zh) * | 2017-06-06 | 2017-10-10 | 上海兆芯集成电路有限公司 | 在卷积神经网络中的计算方法及装置 |
WO2019184823A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
WO2019223594A1 (zh) * | 2018-05-21 | 2019-11-28 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
CN110598839A (zh) * | 2018-06-12 | 2019-12-20 | 华为技术有限公司 | 卷积神经网络***和卷积神经网络量化的方法 |
CN110826685A (zh) * | 2018-08-08 | 2020-02-21 | 华为技术有限公司 | 神经网络卷积计算的方法和装置 |
CN111126558A (zh) * | 2018-10-31 | 2020-05-08 | 北京嘉楠捷思信息技术有限公司 | 一种卷积神经网络计算加速方法及装置、设备、介质 |
US20210004663A1 (en) * | 2019-07-04 | 2021-01-07 | Samsung Electronics Co., Ltd. | Neural network device and method of quantizing parameters of neural network |
CN111401550A (zh) * | 2020-03-10 | 2020-07-10 | 北京迈格威科技有限公司 | 神经网络模型量化方法、装置及电子设备 |
WO2021179587A1 (zh) * | 2020-03-10 | 2021-09-16 | 北京迈格威科技有限公司 | 神经网络模型量化方法、装置、电子设备及计算机可读存储介质 |
CN112101543A (zh) * | 2020-07-29 | 2020-12-18 | 北京迈格威科技有限公司 | 神经网络模型确定方法、装置、电子设备及可读存储介质 |
CN111741302A (zh) * | 2020-08-07 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机可读介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
田一姝;沈强;刘延伟;张宇;赵志军;: "X264的平均比特率控制算法优化", 计算机应用, no. 03, 1 March 2013 (2013-03-01) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115272706A (zh) * | 2022-07-28 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337000B (zh) | 用于转换到较低精度数据格式的自动方法 | |
CN110222220B (zh) | 图像处理方法、装置、计算机可读介质及电子设备 | |
CN111950723B (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
CN109740499A (zh) | 视频分割方法、视频动作识别方法、装置、设备及介质 | |
CN110175641B (zh) | 图像识别方法、装置、设备和存储介质 | |
CN109284761B (zh) | 一种图像特征提取方法、装置、设备及可读存储介质 | |
EP4087239A1 (en) | Image compression method and apparatus | |
CN110598839A (zh) | 卷积神经网络***和卷积神经网络量化的方法 | |
CN110929836B (zh) | 神经网络训练及图像处理方法和装置、电子设备、介质 | |
CN111898578A (zh) | 人群密度的获取方法、装置、电子设备及计算机程序 | |
CN112200296A (zh) | 网络模型量化方法、装置、存储介质及电子设备 | |
CN115393633A (zh) | 数据处理方法、电子设备、存储介质及程序产品 | |
CN113435499A (zh) | 标签分类方法、装置、电子设备和存储介质 | |
CN111385601B (zh) | 一种视频审核的方法、***及设备 | |
CN117422182A (zh) | 数据预测方法、装置及存储介质 | |
CN115062777B (zh) | 卷积神经网络的量化方法、量化装置、设备及存储介质 | |
CN113850374A (zh) | 神经网络模型的量化方法、电子设备及介质 | |
CN113850374B (zh) | 神经网络模型的量化方法、电子设备及介质 | |
CN113159318B (zh) | 一种神经网络的量化方法、装置、电子设备及存储介质 | |
CN116363641A (zh) | 一种图像处理方法、装置及电子设备 | |
CN112598078B (zh) | 混合精度训练方法、装置、电子设备及存储介质 | |
CN112200275B (zh) | 人工神经网络的量化方法及装置 | |
CN115249058A (zh) | 神经网络模型的量化方法、装置、终端及存储介质 | |
CN113887709A (zh) | 神经网络自适应量化方法、装置、设备、介质和产品 | |
CN114139678A (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 |