CN112733964A - 一种强化学习自动感知权重分布的卷积神经网络量化方法 - Google Patents
一种强化学习自动感知权重分布的卷积神经网络量化方法 Download PDFInfo
- Publication number
- CN112733964A CN112733964A CN202110134308.5A CN202110134308A CN112733964A CN 112733964 A CN112733964 A CN 112733964A CN 202110134308 A CN202110134308 A CN 202110134308A CN 112733964 A CN112733964 A CN 112733964A
- Authority
- CN
- China
- Prior art keywords
- layer
- weight
- data
- floating point
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000002787 reinforcement Effects 0.000 title claims abstract description 39
- 238000013527 convolutional neural network Methods 0.000 title claims description 28
- 230000008447 perception Effects 0.000 title description 12
- 238000011002 quantification Methods 0.000 title description 2
- 238000007667 floating Methods 0.000 claims abstract description 42
- 238000013139 quantization Methods 0.000 claims abstract description 39
- 102100030148 Integrator complex subunit 8 Human genes 0.000 claims abstract description 27
- 101710092891 Integrator complex subunit 8 Proteins 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000012360 testing method Methods 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 abstract description 12
- 239000010410 layer Substances 0.000 description 55
- 238000012549 training Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 235000011615 Pinus koraiensis Nutrition 0.000 description 1
- 240000007263 Pinus koraiensis Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013137 model compression technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
公开了一种强化学习自动感知权重分布的卷积神经网络量化方法,方法中,将每层批处理操作的参数与卷积操作的权重融合得到融合后的权重和偏置,获取浮点卷积神经网络模型中每一层融合后的权重的分布信息;根据每层权重的分布信息强化学习自动搜索最优的每层权重缩放系数,基于每层权重缩放系数将浮点权重量化成INT8类型数据;输入校准数据集,每输入一组数据记录每层输出特征图,选取众数作为每层输出特征图的缩放系数,根据每层权重的缩放系数和每层输出特征图的缩放系数计算得到每层偏置的缩放系数以将浮点的偏置量化为INT32类型的偏置,基于INT8类型数据、INT32类型的偏置和总的缩放系数构建前向推理过程完成量化。
Description
技术领域
本发明属于人工智能的技术领域,特别是一种强化学习自动感知权重分布的卷积神经网络量化方法。
背景技术
近些年来随着以卷积神经网络为主导的人工智能技术的发展,越来越多的计算机视觉任务得到了很好的解决,如图像分类,目标检测和语义分割等。并且当前的一个发展趋势是在端侧平台上部署高性能的神经网络模型并能在真实场景中实时(大于30帧)运行,如移动端/嵌入式端设备。这些平台的特点是内存资源少,处理器性能不高,功耗受限,这使得目前精度最高的模型由于对内存和计算资源的超额要求使得根本无法在上面部署且达到实时性的要求。
为了解决这个矛盾,模型压缩技术应运而生,其主要是通过减少原始模型参数的数量或表示比特数来实现对内存和计算需求的降低,从而进一步降低能耗。目前性能最稳定的就是INT8的模型量化技术,相对于原始模型的FP32计算相比,INT8量化可将模型大小减少4倍,并将内存带宽要求减少4倍,对INT8计算的硬件支持通常快2到4倍。模型量化一般有三步操作,一是量化训练好的权重,二是利用校准数据集量化中间特征图,最后一步是如果存在较大的精度损失还需要额外的训练数据进行量化感知训练来恢复精度。当前流行的模型量化方案主要包括谷歌的TensorFlow Lite量化工具和英伟达的TensorRT INT8前向推理工具,这类技术假定卷积神经网络中各层之间相互独立,直接根据每层权重参数的最大最小值来对权重进行量化,而没有考虑层与层之间的相关性和依赖性,这样会计算出一些不合适的缩放系数使得权重量化之后有比较大的截断误差和归零误差,从而造成明显的精度损失,并且常常需要额外数据进行量化感知训练来恢复精度,而且他们采取的特征图校准方式是基于指数移动平均和Kullback-Leibler散度,这两种种方式要求提供大于一定数量的校准数据才能获得比较好的效果。然而在一些医学,生物相关领域,数据隐私非常重要,开发者很难获得数量巨大的校准数据集和训练数据集来保证良好的量化后精度。
强化学习是一系列用于解决马尔科夫决策问题的算法总称,它让智能体以“试错”的方式进行学习,通过不断地与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏。环境提供的反馈信号只是对智能体产生动作好坏的评价,通常为标量信号,而没有告诉智能体如何去产生正确的动作,所以智能体必须学会在行动-评价的环境中获得知识,改进行动方案以适应环境。美国麻省理工韩松团队曾经使用强化学习去自动搜索混合精度量化策略,但混合精度的量化方法并不适用于目前绝大多数硬件,目前为止还没有看到用强化学习为卷积神经网络自动搜索每层最适合的缩放系数来解决传统量化中精度损失问题。
在背景技术部分中公开的上述信息仅仅用于增强对本发明背景的理解,因此可能包含不构成在本国中本领域普通技术人员公知的现有技术的信息。
发明内容
针对现有技术中存在的传统模型量化导致较大的精度损失问题和在量化过程中对校准数据集和训练数据集的依赖问题,本发明提出一种强化学***台上部署卷积神经网络时对模型的压缩量化。
本发明的目的是通过以下技术方案予以实现,一种强化学习自动感知权重分布的卷积神经网络量化方法包括以下步骤:
提供训练完毕的浮点卷积神经网络模型;
归一化处理输入数据以与所述浮点卷积神经网络模型的第一层卷积的参数融合;
将每层批处理操作的参数与卷积操作的权重融合得到融合后的权重和偏置,获取浮点卷积神经网络模型中每一层融合后的权重的分布信息;
根据每层权重的分布信息强化学习自动搜索最优的每层权重缩放系数,固定所述的每层权重缩放系数,基于每层权重缩放系数将浮点权重量化成INT8类型数据;
输入校准数据集,每输入一组数据记录每层输出特征图,选取众数作为每层输出特征图的缩放系数,根据每层权重的缩放系数和每层输出特征图的缩放系数计算得到每层偏置的缩放系数以将浮点的偏置量化为INT32类型的偏置,
基于INT8类型数据、INT32类型的偏置和总的缩放系数构建前向推理过程完成量化,其中,总的缩放系数为输入数据的缩放系数×权重的缩放系数÷输出特征图的缩放系数。
所述的方法中,构建前向推理过程包括:输入INT8类型数据的图像数据,INT8的输入与第一层的INT8的权重做卷积计算,得到INT32类型的结果,然后与INT32类型的偏置相加,最后除以总的缩放系数得到INT8的输出数据,然后将所述输出数据输入到下一层,进行相同的操作。
所述的方法中,浮点卷积神经网络模型为纯浮点卷积神经网络模型。
所述的方法中,权重的分布信息包括浮点权重数据中的最大值,最小值,均值,方差,尖度,峰度,数据量和计算类型,其中,所述最大值,最小值,均值,方差和数据量通过原始数据获得,所述尖度和峰度通过权重的数据构建直方图获得,所述计算类型包括标准卷积计算、深度卷积计算和全连接计算类型。
所述的方法中,权重的缩放系数和输出特征图的缩放系数均为2的次幂。
所述的方法中,批处理操作的参数包括均值、方差、缩放系数、偏移量,卷积操作的参数包括权重。
所述的方法中,强化学习自动搜索最优缩放系数包括,构建强化学习智能体,输入权重的分布信息,输出每一层的缩放系数,根据所述缩放系数量化浮点卷积神经网络模型,并且获得测试集上的量化后准确率,计算浮点卷积神经网络模型的原始准确率和量化准确率的差值,将所述差值反馈给强化学习智能体进行参数的迭代更新,直到所述强化学习智能体收敛并得到最优的权重缩放系数。
与现有技术相比,本公开的有益效果为:本方法自动感知权重分布信息,在模型量化过程中将整个卷积神经网络看成一个整体,以最小化量化后精度损失为目标,利用强化学习根据每一层权重数据的分布信息,自动感知权重分布的信息来搜索最优的缩放系数,本方法考虑了层与层之间的相关性和依赖性,相比于其他方法量化损失更小;特征图校准方式更为简单且对校准数据要求小,只需要在校准过程中记录每一层特征图缩放系数的众数作为最终固定的系数,且单张相关图片即可完成校准且达到很好的效果;硬件更友好,本方法是一个仅整型数参与运算的计算方案,缩放系数都是2的次幂,从而可以用移位来代替除法,并且相比于其他方法,对内存的要求更小,乘累加操作数更少。
上述说明仅是本发明技术方案的概述,为了能够使得本发明的技术手段更加清楚明白,达到本领域技术人员可依照说明书的内容予以实施的程度,并且为了能够让本发明的上述和其它目的、特征和优点能够更明显易懂,下面以本发明的具体实施方式进行举例说明。
附图说明
通过阅读下文优选的具体实施方式中的详细描述,本发明各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。说明书附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。而且在整个附图中,用相同的附图标记表示相同的部件。
在附图中:
图1是根据本发明一个实施例的强化学习自动感知权重分布的卷积神经网络量化方法的强化学习自动搜索示意图;
图2是根据本发明一个实施例的强化学习自动感知权重分布的卷积神经网络量化方法的单层前向推理计算过程示意图;
图3是根据本发明一个实施例的强化学习自动感知权重分布的卷积神经网络量化方法的校准过程稳定性对比示意图。
以下结合附图和实施例对本发明作进一步的解释。
具体实施方式
下面将参照附图1至图3更详细地描述本发明的具体实施例。虽然附图中显示了本发明的具体实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
需要说明的是,在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可以理解,技术人员可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名词的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”或“包括”为一开放式用语,故应解释成“包含但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明书的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个附图并不构成对本发明实施例的限定。
图1为一个强化学习自动感知权重分布的卷积神经网络量化方法的步骤示意图,如图1所示,一种强化学习自动感知权重分布的卷积神经网络量化方法包括以下步骤:
提供训练完毕的浮点卷积神经网络模型;
归一化处理输入数据以与所述浮点卷积神经网络模型的第一层卷积的参数融合;
将每层批处理操作的参数与卷积操作的权重融合得到融合后的权重和偏置,获取浮点卷积神经网络模型中每一层融合后的权重的分布信息;
根据每层权重的分布信息强化学习自动搜索最优的每层权重缩放系数,固定所述的每层权重缩放系数,基于每层权重缩放系数将浮点权重量化成INT8类型数据;
输入校准数据集,每输入一组数据记录每层输出特征图,选取众数作为每层输出特征图的缩放系数,根据每层权重的缩放系数和每层输出特征图的缩放系数计算得到每层偏置的缩放系数以将浮点的偏置量化为INT32类型的偏置,
基于INT8类型数据、INT32类型的偏置和总的缩放系数构建前向推理过程完成量化,其中,总的缩放系数为输入数据的缩放系数×权重的缩放系数÷输出特征图的缩放系数。
所述的方法的优选实施方式中,构建前向推理过程包括:输入INT8类型数据的图像数据,INT8的输入与第一层的INT8的权重做卷积计算,得到INT32类型的结果,然后与INT32类型的偏置相加,最后除以总的缩放系数得到INT8的输出数据,然后将所述输出数据输入到下一层,进行相同的操作。
所述的方法的优选实施方式中,浮点卷积神经网络模型为纯浮点卷积神经网络模型。
所述的方法的优选实施方式中,权重的分布信息包括浮点权重数据中的最大值,最小值,均值,方差,尖度,峰度,数据量和计算类型,其中,所述最大值,最小值,均值,方差和数据量通过原始数据获得,所述尖度和峰度通过权重的数据构建直方图获得,所述计算类型包括标准卷积计算、深度卷积计算和全连接计算类型。
所述的方法的优选实施方式中,权重的缩放系数和输出特征图的缩放系数均为2的次幂。
所述的方法的优选实施方式中,批处理操作的参数包括均值、方差、缩放系数、偏移量,卷积操作的参数包括权重。
所述的方法的优选实施方式中,强化学习自动搜索最优缩放系数包括,构建强化学习智能体,输入权重的分布信息,输出每一层的缩放系数,根据所述缩放系数量化浮点卷积神经网络模型,并且获得测试集上的量化后准确率,计算浮点卷积神经网络模型的原始准确率和量化准确率的差值,将所述差值反馈给强化学习智能体进行参数的迭代更新,直到所述强化学习智能体收敛并得到最优的权重缩放系数。
所述的方法的优选实施方式中,分布信息的获得:最大值,最小值,均值,方差,数据量可通过原始数据获得,尖度,峰度可通过权重的数据构建直方图,从直方图中获得。
所述的方法的优选实施方式中,强化学习自动搜索的步骤:
准备一个训练好的浮点模型,将每每一层批处理操作的参数(均值,方差,缩放系数,偏移量)和卷积操作的参数(权重)进行融合;
为了保证输入数据仍然是INT8类型,所以第一层的权重参数既要跟输入的预处理参数(均值,方差)融合,又需要跟本层的批处理操作的参数融合,其它层只需要跟本层的批处理操作的参数融合即可。
获取浮点模型中每一层融合后的权重的分布信息;
构建一个强化学习智能体(即神经网络),通过输入权重的分布信息,输出对应每一层的缩放系数,然后根据这个缩放系数去量化浮点模型,并且获得测试集上的量化后准确率,计算浮点的原始准确率和量化准确率的差值,将该差值反馈给强化学习智能体进行参数的迭代更新,直到该强化学习智能体收敛并得到最优的缩放系数;
固定该缩放系数,输入校准数据集,每输入一组数据即记录每层输出特征图(feature map)的绝对值的最大值的最邻近的2的次幂的数,(例如,17最近邻的是16,16是2的4次方),因为这些2的次幂的数是离散的,所以肯定存在重复,最后只需要选取其中出现最多的那个数(众数)作为最终的固定的缩放系数就行;
根据上述确定的每层权重的缩放系数和每层输出的缩放系数可以计算得到每层偏置的缩放系数;
用权重的缩放系数将浮点权重量化成INT8类型数据,用偏置的的缩放系数将浮点偏置量化成INT32类型数据,并根据权重缩放系数和输出特征图的缩放系数,得到每一层统一的缩放系数,用于整型数前向推理过程的计算;
根据INT8的权重,INT32的偏置和统一的缩放系数构建整型数推理计算过程。
模型输入即数据集的数据,
校准数据集需模型提供方提供,但涉及到医学生物等数据比较隐私的领域可能比较无法提供或者仅提供少量的校准数据
所述的方法的优选实施方式中,众数即一组数中出现次数最多的数,比如[2,3,3,1,1,3],众数是3,因为它出现了3次,出现次数最多。
选取固定值:向模型输入校准数据集,每输入一组数据即记录每层输出特征图(feature map)的绝对值的最大值的最邻近的2的次幂的数,(例如,17最近邻的是16,16是2的4次方),因为这些2的次幂的数是离散的,所以肯定存在重复,最后只需要选取其中出现最多的那个数(众数)作为最终的固定的缩放系数就行。
如图1所示的强化学***均值,方差,尖度,峰度,数据量和计算类型,作为状态输入给强化学习智能体,然后强化学习智能体中的演员家(一组神经网络)会对该状态作为输入,并输出相应的缩放系数,而评论家(另一组神经网络)会将状态和演员家输出的缩放系数作为输出,输出一个评价分数,用于评价演员家预测的好坏,演员家的动作输出(0-1之间的浮点数)之后会经过一个动作解码器:
解析出相应的缩放系数,其中N为2,,M是当前层权重的绝对值最大值最邻近的2的次幂的数,然后这个缩放系数会反馈给模型,并使用该缩放系数对本层进行量化,知道所有层被量化之后,会得到测试集上的一个量化精度,这个奖励等于量化精度-浮点精度,并反馈给强化学习智能体,用于更新演员家和评论家两个神经网络的参数。
图2表示的是我们量化方案中单独一层的整型数前向推理过程:首先int8类型的输入和int8类型的权重做卷积计算,得到int32类型的中间数据,并与int32类型的偏置进行相加,然后根据本层移位值(缩放系数的次幂)进行右移操作,之后经过激活函数ReLU,得到int8的输出,整个过程仅整型数运算(相对于TensorRT更高效),且相对于TensorFlowLite,无需int32的乘法,我们的方案更加简洁高效
图3表示了本发明的WDAQ和TensorRT在校准稳定性上的比较,可以看出,英伟达的TensorRT方案需要较多的校准数据才能获得一个比较稳定且可靠的精度,而本发明不需要依赖于大量的校准数据集就可以保证一个良好的精度,且我们的实验表明仅需一组相关数据即可完成量化校准过程且获得不错的精度。参见下表1的量化精度。
表1:量化精度
表中,本发明在不同模型上进行试验,与目前流行的TensorFlow Lite方案和TensorRT方案进行对比,结论如下:
1.在ResNet-50,ResNet-101,ResNet-152,Inception_V3这种经典大模型上(对量化敏感程度更低,直接量化不会出现大幅度精度下降的情况),本发明的方案(WDAQ)在无需量化感知训练的情况下相比TensorRT可以获得更好的精度(相比于baseline精度下降更少),相比TensorFlow Lite+量化训练,依然可以在精度上保持优势;
在MobileNet_w1和MobileNetv2_w2这种经典的轻量级模型上,在统一无需量化训练的情况下,本发明可以获得更好的准确率,且不会出现TensorRT和TensorFlow Lite中精度几乎下降至0的情况。
再次说明表中出现两个baseline的原因:第一个baseline是相对于WDAQ和TensorRT的,因为未发现TensorRT在这几个模型上的公开数据,所以用自己找的训练好的浮点模型进行了测试,第二个baseline是相对于TensorFlow Lite来说的,baseline和INT8的数据都是官方公开的,所以此处没有进行自己的实验,而是直接把官方数据拿过来,这样更公正。然后量化的效果主要是看量化后的精度和原始浮点精度相比的下降量。
基于MobileNetv2_w1模型,根据三种方案计算其所需的参数量和计算量(即乘加运算操作数),这个可以反映不同方案的硬件表现,参数量越小且计算量越小,则硬件表现越好,如下表2所示,
表2
本发明的方案在参数量和计算量两项上,均不低于TensorRT和TensorFlow Lite,所以我们方案对硬件更友好,且只有整型数运算,更有利于专用加速器的设计。
在自动化设计大会举办的***设计大赛中,利用本方案对自主设计的ShuffleDet目标检测模型进行了压缩量化,并将该算法部署到了赛灵思公司Ultra96 V1型号的FPGA开发板上,官方实测准确率(mIoU)为0.615,帧率为50.9帧,处理单张图片的功耗为0.183焦耳,本方案获得了全球第二的成绩,其中算法精度排名第二,我们利用本方案对EffiicientDet目标检测模型进行了压缩量化,并将该算法部署到了赛灵思公司U1tra96V2型号的FPGA开发板上,官方实测准确率(mIoU)为74.4%,帧率为42帧,处理单张图片功耗为0.175焦耳,本方案获得了全球第五的成绩,其中算法精度排名第一。在国际计算机视觉大会的低功耗图像识别挑战赛上,我们利用本方案对谷歌的EfficientNet-B4模型进行压缩量化,浮点模型的分类精度是80.2%,我们方案压缩后的算法精度是79.32%,并获得全球第三的成绩,其中算法精度同排第三。可见,本发明精度高、功耗小。
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
Claims (7)
1.一种强化学习自动感知权重分布的卷积神经网络量化方法,所述方法包括以下步骤:
提供训练完毕的浮点卷积神经网络模型;
归一化处理输入数据以与所述浮点卷积神经网络模型的第一层卷积的参数融合;
将每层批处理操作的参数与卷积操作的权重融合得到融合后的权重和偏置,获取浮点卷积神经网络模型中每一层融合后的权重的分布信息;
根据每层权重的分布信息强化学习自动搜索最优的每层权重缩放系数,固定所述的每层权重缩放系数,基于每层权重缩放系数将浮点权重量化成INT8类型数据;
输入校准数据集,每输入一组数据记录每层输出特征图,选取众数作为每层输出特征图的缩放系数,根据每层权重的缩放系数和每层输出特征图的缩放系数计算得到每层偏置的缩放系数以将浮点的偏置量化为INT32类型的偏置,
基于INT8类型数据、INT32类型的偏置和总的缩放系数构建前向推理过程完成量化,其中,总的缩放系数为输入数据的缩放系数×权重的缩放系数÷输出特征图的缩放系数。
2.根据权利要求1所述的方法,其中,优选的,构建前向推理过程包括:输入INT8类型数据的图像数据,INT8的输入与第一层的INT8的权重做卷积计算,得到INT32类型的结果,然后与INT32类型的偏置相加,最后除以总的缩放系数得到INT8的输出数据,然后将所述输出数据输入到下一层,进行相同的操作。
3.根据权利要求1所述的方法,其中,浮点卷积神经网络模型为纯浮点卷积神经网络模型。
4.根据权利要求1所述的方法,其中,权重的分布信息包括浮点权重数据中的最大值,最小值,均值,方差,尖度,峰度,数据量和计算类型,其中,所述最大值,最小值,均值,方差和数据量通过原始数据获得,所述尖度和峰度通过权重的数据构建直方图获得,所述计算类型包括标准卷积计算、深度卷积计算和全连接计算类型。
5.根据权利要求1所述的方法,其中,权重的缩放系数和输出特征图的缩放系数均为2的次幂。
6.根据权利要求1所述的方法,其中,批处理操作的参数包括均值、方差、缩放系数、偏移量,卷积操作的参数包括权重。
7.根据权利要求1所述的方法,其中,强化学习自动搜索最优缩放系数包括,构建强化学习智能体,输入权重的分布信息,输出每一层的缩放系数,根据所述缩放系数量化浮点卷积神经网络模型,并且获得测试集上的量化后准确率,计算浮点卷积神经网络模型的原始准确率和量化准确率的差值,将所述差值反馈给强化学习智能体进行参数的迭代更新,直到所述强化学习智能体收敛并得到最优的权重缩放系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134308.5A CN112733964B (zh) | 2021-02-01 | 2021-02-01 | 一种强化学习自动感知权重分布的卷积神经网络量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134308.5A CN112733964B (zh) | 2021-02-01 | 2021-02-01 | 一种强化学习自动感知权重分布的卷积神经网络量化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112733964A true CN112733964A (zh) | 2021-04-30 |
CN112733964B CN112733964B (zh) | 2024-01-19 |
Family
ID=75595094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110134308.5A Active CN112733964B (zh) | 2021-02-01 | 2021-02-01 | 一种强化学习自动感知权重分布的卷积神经网络量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112733964B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255901A (zh) * | 2021-07-06 | 2021-08-13 | 上海齐感电子信息科技有限公司 | 实时量化方法及实时量化*** |
CN113627593A (zh) * | 2021-08-04 | 2021-11-09 | 西北工业大学 | 面向目标检测模型Faster R-CNN的自动量化方法 |
CN116611495A (zh) * | 2023-06-19 | 2023-08-18 | 北京百度网讯科技有限公司 | 深度学习模型的压缩方法、训练方法、处理方法及装置 |
CN116662593A (zh) * | 2023-07-21 | 2023-08-29 | 湖南大学 | 一种基于fpga的全流水线医药高光谱图像神经网络分类方法 |
CN117095271A (zh) * | 2023-10-20 | 2023-11-21 | 第六镜视觉科技(西安)有限公司 | 目标识别方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260022A (zh) * | 2019-11-22 | 2020-06-09 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络全int8定点量化的方法 |
CN111612147A (zh) * | 2020-06-30 | 2020-09-01 | 上海富瀚微电子股份有限公司 | 深度卷积网络的量化方法 |
CN111882040A (zh) * | 2020-07-30 | 2020-11-03 | 中原工学院 | 基于通道数量搜索的卷积神经网络压缩方法 |
WO2020223856A1 (zh) * | 2019-05-05 | 2020-11-12 | 深圳市大疆创新科技有限公司 | 一种基于卷积神经网络架构的数据处理方法及装置 |
-
2021
- 2021-02-01 CN CN202110134308.5A patent/CN112733964B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020223856A1 (zh) * | 2019-05-05 | 2020-11-12 | 深圳市大疆创新科技有限公司 | 一种基于卷积神经网络架构的数据处理方法及装置 |
CN111260022A (zh) * | 2019-11-22 | 2020-06-09 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络全int8定点量化的方法 |
CN111612147A (zh) * | 2020-06-30 | 2020-09-01 | 上海富瀚微电子股份有限公司 | 深度卷积网络的量化方法 |
CN111882040A (zh) * | 2020-07-30 | 2020-11-03 | 中原工学院 | 基于通道数量搜索的卷积神经网络压缩方法 |
Non-Patent Citations (1)
Title |
---|
陈俊保;方向忠;: "卷积神经网络的定点化研究", 信息技术, no. 07 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255901A (zh) * | 2021-07-06 | 2021-08-13 | 上海齐感电子信息科技有限公司 | 实时量化方法及实时量化*** |
CN113627593A (zh) * | 2021-08-04 | 2021-11-09 | 西北工业大学 | 面向目标检测模型Faster R-CNN的自动量化方法 |
CN113627593B (zh) * | 2021-08-04 | 2024-06-04 | 西北工业大学 | 面向目标检测模型Faster R-CNN的自动量化方法 |
CN116611495A (zh) * | 2023-06-19 | 2023-08-18 | 北京百度网讯科技有限公司 | 深度学习模型的压缩方法、训练方法、处理方法及装置 |
CN116611495B (zh) * | 2023-06-19 | 2024-03-01 | 北京百度网讯科技有限公司 | 深度学习模型的压缩方法、训练方法、处理方法及装置 |
CN116662593A (zh) * | 2023-07-21 | 2023-08-29 | 湖南大学 | 一种基于fpga的全流水线医药高光谱图像神经网络分类方法 |
CN116662593B (zh) * | 2023-07-21 | 2023-10-27 | 湖南大学 | 一种基于fpga的全流水线医药高光谱图像神经网络分类方法 |
CN117095271A (zh) * | 2023-10-20 | 2023-11-21 | 第六镜视觉科技(西安)有限公司 | 目标识别方法、装置、电子设备及存储介质 |
CN117095271B (zh) * | 2023-10-20 | 2023-12-29 | 第六镜视觉科技(西安)有限公司 | 目标识别方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112733964B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112733964B (zh) | 一种强化学习自动感知权重分布的卷积神经网络量化方法 | |
US20190138882A1 (en) | Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization | |
CN113011570B (zh) | 一种采用神经网络压缩***的人脸表情识别方法 | |
CN110458084B (zh) | 一种基于倒置残差网络的人脸年龄估计方法 | |
US20230259739A1 (en) | Image detection method and apparatus, computer-readable storage medium, and computer device | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
CN113469283A (zh) | 一种图像分类方法、图像分类模型的训练方法及设备 | |
CN111950715A (zh) | 基于自适应动态移位的8位整型全量化推理方法及装置 | |
CN111860779A (zh) | 一种深度卷积神经网络快速自动压缩方法 | |
CN113569881A (zh) | 一种基于链式残差与注意力机制的自适应语义分割方法 | |
Pietron et al. | Retrain or not retrain?-efficient pruning methods of deep cnn networks | |
CN112906853A (zh) | 模型自动优化的方法及装置、设备、存储介质 | |
CN117437317A (zh) | 图像生成方法、装置、电子设备、存储介质和程序产品 | |
CN113313250B (zh) | 采用混合精度量化与知识蒸馏的神经网络训练方法及*** | |
CN115631393A (zh) | 基于特征金字塔与知识引导的知识蒸馏的图像处理方法 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN108665455B (zh) | 图像显著性预测结果的评价方法和装置 | |
CN115170902B (zh) | 图像处理模型的训练方法 | |
CN116709409A (zh) | 基于知识蒸馏的轻量化频谱预测方法 | |
CN116090543A (zh) | 模型压缩方法及装置、计算机可读介质和电子设备 | |
Furtuanpey et al. | FrankenSplit: Efficient Neural Feature Compression with Shallow Variational Bottleneck Injection for Mobile Edge Computing | |
CN114118357A (zh) | 计算机视觉神经网络中替换激活函数的重训练方法及*** | |
Wang et al. | Exploring quantization in few-shot learning | |
CN117217281B (zh) | 基于多视角特征的卷积神经网络轻量化剪枝方法及*** | |
CN115719086B (zh) | 一种自动获得混合精度量化全局最优化策略的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |