CN117392406A - 一种单阶段实时目标检测模型低位宽混合精度量化方法 - Google Patents
一种单阶段实时目标检测模型低位宽混合精度量化方法 Download PDFInfo
- Publication number
- CN117392406A CN117392406A CN202311469836.1A CN202311469836A CN117392406A CN 117392406 A CN117392406 A CN 117392406A CN 202311469836 A CN202311469836 A CN 202311469836A CN 117392406 A CN117392406 A CN 117392406A
- Authority
- CN
- China
- Prior art keywords
- model
- quantization
- bit
- real
- 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.)
- Pending
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 119
- 238000001514 detection method Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000012360 testing method Methods 0.000 claims abstract description 15
- 230000000750 progressive effect Effects 0.000 claims abstract description 10
- 238000003708 edge detection Methods 0.000 claims abstract description 7
- 238000011002 quantification Methods 0.000 claims abstract 3
- 230000004913 activation Effects 0.000 claims description 32
- 238000013461 design Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 claims description 9
- 210000000988 bone and bone Anatomy 0.000 claims description 7
- 208000012639 Balance disease Diseases 0.000 claims description 6
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 3
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000009966 trimming Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 abstract description 8
- 238000007906 compression Methods 0.000 abstract description 8
- 238000013136 deep learning model Methods 0.000 abstract description 2
- 238000002372 labelling Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000009844 basic oxygen steelmaking Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001237728 Precis Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000012633 leachable Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种单阶段实时目标检测模型低位宽混合精度量化方法,涉及深度学习模型压缩技术领域,包括以下步骤:获取用于构建训练集的场景图像,并利用标注软件对场景图像进行标注,获得训练集和测试集;基于YOLOv5网络构建含量化节点的网络模型;基于训练集和测试集,利用渐进式量化策略对网络模型进行分段训练和微调,获得混合精度量化模型;对混合精度量化模型进行优化处理,获得能够部署于边缘检测设备的轻量级模型,完成单阶段实时目标检测模型低位宽混合精度的量化。本发明解决了现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型性能的问题。
Description
技术领域
本发明涉及深度学习模型压缩技术领域,特别是涉及一种单阶段实时目标检测模型低位宽混合精度量化方法。
背景技术
目标检测是一个在计算机视觉领域被广泛研究,实际工业场景中被广泛应用的技术。通常,目标检测方法可以分为两种类型:以Region-Convolution Neural Network(RCNN)为代表的双阶段目标检测算法和以You Only Look Once(YOLO)系列为代表的单阶段目标检测算法,而YOLO算法将目标分类和定位回归的双重功能集成为一种单阶段的网络架构,减少了计算延迟,提高了实时检测性能,进而在众多工业场景下受到青睐。
由于网络模型所含参数量多,计算量大,而部分用于边缘计算的设备如现场可编程门阵列FPGA等,以及一些应用边缘计算的场景如无人车、无人机以及移动设备等,对模型存储消耗,模型推理速度,模型推理功耗,模型推理内存占用等方面有相应的限制,不能满足较大规模的模型的部署。
为应对该挑战,模型量化技术受到广泛关注,通过将模型中浮点数表示的权重与激活输入映射到相应的定点数,显著加速了模型的计算与访存,同时根据量化位宽的选择对模型体积实现了成比例的压缩。目前模型量化技术包括低比特训练后量化、低比特量化感知训练与二值化神经网络。低比特训练后量化通过将训练好的全精度模型参数通过量化函数映射到低位宽定点数(通常为8比特),再采用少量校准数据集调整数值范围得到量化模型。低比特量化感知训练通过在网络结构中插入伪量化节点模拟量化过程精度损失,并在微调后对参数进行对应位宽的量化得到量化模型。二值化神经网络则是将网络的权重与激活值量化为1/-1两种数值,利用1比特数据间的XNOR型位运算等价1/-1间的卷积运算以加速网络推理。
然而现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型的性能。
发明内容
针对现有技术中的上述不足,本发明提供的一种单阶段实时目标检测模型低位宽混合精度量化方法解决了现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型性能的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种单阶段实时目标检测模型低位宽混合精度量化方法,包括以下步骤:
S1:根据单阶段实时目标检测模型,获取用于构建训练集的场景图像,并利用标注软件对场景图像进行标注,获得训练集和测试集;
S2:基于YOLOv5网络构建含量化节点的网络模型;
S3:基于训练集和测试集,利用渐进式量化策略对网络模型进行分段训练和微调,获得混合精度量化模型;
S4:对混合精度量化模型进行优化处理,获得能够部署于边缘检测设备的轻量级模型,完成单阶段实时目标检测模型低位宽混合精度的量化。
上述方案的有益效果是:本发明针对网络的Backbone和Neck采用不同的低位宽量化方法,并设计了适配的可端到端训练的模型结构,同时使用渐进式训练策略,相比一步式量化微调方法,本方案将整个混合精度量化过程分解为三个阶段,按全精度预训练模型,1比特Backbone网络,4比特Head网络的顺序执行模型量化。本方案解决了现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型性能的问题。
进一步地,S1中包括以下分步骤:
S1-1:根据单阶段实时目标检测模型适用的检测场景,获取对应的场景图像;
S1-2:对获取的场景图像进行预处理后并进行标注;
S1-3:对标注的图像进行几何增强处理和马赛克数据增强处理;
S1-4:将增强后的图像划分为训练集和测试集。
上述进一步方案的有益效果是:通过获取场景图像并对其进行一系列处理,保证数据的准确性,提高模型训练的精度。
进一步地,S2中网络模型包括Backbone部分和Head部分,所述Backbone部分采用CSPDarknet结构,所述Head部分引入FPN结构。
上述进一步方案的有益效果是:在YOLOv5网络的基础上,使用CSPDarknet作为Backbone,具有跨阶段连接设计以提高特征提取效率与性能,Head引入FPN(FeaturePyramid Network)结构用于融合不同层级的特征图以提高检测性能。
进一步地,Backbone部分中将卷积模块设计为1比特量化卷积模块,设计方法包括以下分步骤:
A1:对输入特征图进行逐通道的偏移,并对权重进行标准化操作,所述偏移公式为:
x=x(B*C*W*H)+b(1*C*1*1)
其中,x为偏移后的特征图,x(B*C*W*H)为输入特征图,b(1*C*1*1)为偏移值,B为批量,C为通道数,W为特征图宽度,H为特征高度;
所述标准化操作公式为:
其中,w为权重,Mean(·)为权重均值,Std(·)为权重标准差;
A2:利用符号函数对偏移和标准化操作后的激活值与权重进行1比特量化,并基于量化结果进行梯度估计与梯度裁剪,所述梯度裁剪公式为:
其中,gx为第一浮点数梯度,为第一定点数梯度,gw为第二浮点数梯度,/>为第二定点数梯度,max(·)为最大值,min(·)为最小值;
A3:将量化后的激活值绝对值大于1的梯度裁剪为0,并将量化后的权重绝对值大于1和小于-1的梯度分别裁剪为1和-1;
A4:基于裁剪结果,利用1比特权重与激活值进行XNOR和popcount型卷积计算,当此次卷积的卷积核尺寸为1时,在BatchNorm层后加入量化前的残差连接,并使用PReLU函数作为激活层,完成1比特量化卷积模块的设计。
上述进一步方案的有益效果是:通过上述技术方案,在激活值量化前对输入特征图进行逐通道的偏移,在权重值量化前对权重进行标准化操作,同时利用符号函数对激活值和权重进行1比特量化,并对符号函数进行梯度估计与梯度裁剪,完成1比特量化卷积模块的设计。
进一步地,Head部分中将卷积模块设计为4比特量化卷积模块,设计方法包括以下分步骤:
B1:利用尺寸参数对数值进行缩放处理,以对齐不同位宽的骨干网络和头部网络间的数据流和梯度流,公式为:
其中,hx为第三浮点数梯度,s为尺寸参数,QN为量化位宽决定的数值上界,QP为量化位宽决定的数值下界;
B2:基于缩放处理,对权重和激活值进行4比特量化;
B3:基于量化结果,利用4比特的权重与激活值做定点数卷积,在BatchNorm层后使用SiLU函数作为激活层,完成4比特量化卷积模块的设计。
上述进一步方案的有益效果是:通过上述技术方案,在对激活值和权重进行量化前,先乘一个可学习的尺寸参数对数值进行缩放,以对齐不同位宽的两部分网络间的数据流和梯度流,增强了混合精度量化训练的平滑性。
进一步地,S2中网络模型还包括量化检测模块,所述量化检测模块的损失函数Loss为:
Loss=Lconf+Lrect+Lclass
其中,Lconf为区分前后景的置信度损失函数,Lrect为目标定位回归损失函数,Lclass为检测模块分类损失函数;
其中,αco为置信度损失函数的含平衡正负样本的平衡因子,p(cco)为网络输出的置信度概率,γco为置信度损失函数的含平衡难易样本的平衡因子,log(·)为对数,yco为置信度标签;
其中,IOU为预测框与真实框的交并比值,d为预测框与真实检测框的中心点距离,D为预测框与真实检测框的最远端点距离,v为衡量预测框与真实框的宽高比例因子,Bpred为检测模块生成的预测框面积,Bground为真实检测框的面积,∩为交集,∪为并集,wgt为真实框宽度,hgt为真实框高度,wp为预测框宽度,hp为预测框高度;
其中,αcl为分类损失函数的含平衡正负样本的平衡因子,p(ccl)为网络输出的类别概率,γcl为分类损失函数的含平衡难易样本的平衡因子,ycl为类别标签。
上述进一步方案的有益效果是:量化卷积模块的损失包括区分前后景的置信度损失函数、目标定位回归损失函数和分类损失函数,通过使用上述损失函数对模型进行计算,进一步提高模型的准确性。
进一步地,S3中包括以下分步骤:
S3-1:关闭所有量化卷积模块,并利用划分好的训练集与测试集训练网络模型;
S3-2:将训练好的网络模型作为下一阶段的预训练模型,开启Backbone1比特量化模块,并使用相同的数据集微调Backbone;
S3-3:将微调完的Backbone的网络模型作为下一阶段的预训练模型,开启Head 4比特量化模块,并使用相同的数据集微调Head,获得具有1比特Backbone和4比特Head的混合精度量化模型。
上述进一步方案的有益效果是:通过对网络模型进行训练和微调,能最大化模型收敛速度,减小量化带来的信息损失引起的模型性能退化以及训练过程的不平滑。
进一步地,S4中包括以下分步骤:
S4-1:将混合精度量化模型转换为ONNX模型文件,将模型参数保存为对应位宽的量化后定点数,去除网络Neck部分并计算特征图中的伪量化节点;
S4-2:基于特征图中的伪量化节点,根据网络Neck的各层特征图激活值信息,准备包含各层激活值边界、尺度及偏移的量化配置文件进行模型优化,获得能够部署于边缘检测设备的轻量级模型。
上述进一步方案的有益效果是:基于上述技术方案,最终获得通过使用场景所对应的部署框架转化得到所需的可部署模型。
附图说明
图1为一种单阶段实时目标检测模型低位宽混合精度量化方法流程图。
图2为YOLOv5网络结构图。
图3为混合精度量化框图。
图4为渐进式量化策略框图。
图5为渐进式量化策略对模型端到端平滑训练有效性的曲线图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明。
如图1所示,一种单阶段实时目标检测模型低位宽混合精度量化方法,包括以下步骤:
S1:根据单阶段实时目标检测模型,获取用于构建训练集的场景图像,并利用标注软件对场景图像进行标注,获得训练集和测试集;
S2:基于YOLOv5网络构建含量化节点的网络模型;
S3:基于训练集和测试集,利用渐进式量化策略对网络模型进行分段训练和微调,获得混合精度量化模型;
S4:对混合精度量化模型进行优化处理,获得能够部署于边缘检测设备的轻量级模型,完成单阶段实时目标检测模型低位宽混合精度的量化。
S1中包括以下分步骤:
S1-1:根据单阶段实时目标检测模型适用的检测场景,获取对应的场景图像;
S1-2:对获取的场景图像进行预处理后并进行标注;
S1-3:对标注的图像进行几何增强处理和马赛克数据增强处理;
S1-4:将增强后的图像划分为训练集和测试集。
S2中网络模型包括Backbone(骨干网络)部分和Head(头部网络)部分,所述Backbone部分采用CSPDarknet结构,所述Head部分引入FPN结构,如图2所示。
如图3所示,Backbone部分中将卷积模块设计为1比特量化卷积模块,设计方法包括以下分步骤:
A1:对输入特征图进行逐通道的偏移,并对权重进行标准化操作,所述偏移公式为:
x=x(B*C*W*H)+b(1*C*1*1)
其中,x为偏移后的特征图,x(B*C*W*H)为输入特征图,b(1*C*1*1)为偏移值,B为批量,C为通道数,W为特征图宽度,H为特征高度;
所述标准化操作公式为:
其中,w为权重,Mean(·)为权重均值,Std(·)为权重标准差;
A2:利用符号函数对偏移和标准化操作后的激活值与权重进行1比特量化,并基于量化结果进行梯度估计与梯度裁剪,所述梯度裁剪公式为:
其中,gx为第一浮点数梯度,为第一定点数梯度,gw为第二浮点数梯度,/>为第二定点数梯度,max(·)为最大值,min(·)为最小值;
A3:将量化后的激活值绝对值大于1的梯度裁剪为0,并将量化后的权重绝对值大于1和小于-1的梯度分别裁剪为1和-1;
A4:基于裁剪结果,利用1比特权重与激活值进行XNOR和popcount型卷积计算,当此次卷积的卷积核尺寸为1时,在BatchNorm层后加入量化前的残差连接,并使用PReLU函数作为激活层,完成1比特量化卷积模块的设计。
Head部分中将卷积模块设计为4比特量化卷积模块,设计方法包括以下分步骤:
B1:利用尺寸参数对数值进行缩放处理,以对齐不同位宽的骨干网络和头部网络间的数据流和梯度流,公式为:
其中,hx为第三浮点数梯度,s为尺寸参数,QN为量化位宽决定的数值上界,QP为量化位宽决定的数值下界;
B2:基于缩放处理,对权重和激活值进行4比特量化;
B3:基于量化结果,利用4比特的权重与激活值做定点数卷积,在BatchNorm层后使用SiLU函数作为激活层,完成4比特量化卷积模块的设计。
S2中网络模型还包括量化检测模块,所述量化检测模块的损失函数Loss为:
Loss=Lconf+Lrect+Lclass
其中,Lconf为区分前后景的置信度损失函数,Lrect为目标定位回归损失函数,Lclass为检测模块分类损失函数;
其中,αco为置信度损失函数的含平衡正负样本的平衡因子,p(cco)为网络输出的置信度概率,γco为置信度损失函数的含平衡难易样本的平衡因子,log(·)为对数,yco为置信度标签;
其中,IOU为预测框与真实框的交并比值,d为预测框与真实检测框的中心点距离,D为预测框与真实检测框的最远端点距离,v为衡量预测框与真实框的宽高比例因子,Bpred为检测模块生成的预测框面积,Bground为真实检测框的面积,∩为交集,∪为并集,wgt为真实框宽度,hgt为真实框高度,wp为预测框宽度,hp为预测框高度;
其中,αcl为分类损失函数的含平衡正负样本的平衡因子,p(ccl)为网络输出的类别概率,γcl为分类损失函数的含平衡难易样本的平衡因子,ycl为类别标签。
S3中包括以下分步骤:
S3-1:关闭所有量化卷积模块,并利用划分好的训练集与测试集训练网络模型;
S3-2:将训练好的网络模型作为下一阶段的预训练模型,开启Backbone1比特量化模块,并使用相同的数据集微调Backbone;
S3-3:将微调完的Backbone的网络模型作为下一阶段的预训练模型,开启Head 4比特量化模块,并使用相同的数据集微调Head,获得具有1比特Backbone和4比特Head的混合精度量化模型。
本实施例中,如图4所示,将整个量化网络的训练流程划分为三个阶段。在阶段一关闭所有量化模块,利用划分好的训练集与测试集训练高性能的全精度网络模型;在阶段二利用训练好的全精度网络模型作为预训练模型,开启Backbone1比特量化模块,使用相同的数据集进一步微调Backbone;在阶段三利用微调完Backbone的网络模型作为预训练模型,开启Head 4比特量化模块,使用相同的数据集进一步微调Head,最终得到具有1比特Backbone和4比特Head的混合精度量化模型。通过上述步骤执行模型的训练与微调,能最大化模型收敛速度,减小量化带来的信息损失引起的模型性能退化以及训练过程不平滑。
对于渐进式训练策略,在一阶段全精度训练时,应使用较大的学习率加速模型收敛。在二阶段、三阶段低位宽量化微调时应使用较小的学习率使得训练过程更加平滑。
对于不同宽度与深度的网络模型,此处深度指YOLOv5网络的总层数,宽度指各层特征图通道数,在执行量化后微调时,深度与宽度较小的网络对量化的信息损失更加敏感,应针对模型深度宽度的减小适当降低学习率。
S4中包括以下分步骤:
S4-1:将混合精度量化模型转换为ONNX模型文件,将模型参数保存为对应位宽的量化后定点数,去除网络Neck部分并计算特征图中的伪量化节点;
S4-2:基于特征图中的伪量化节点,根据网络Neck的各层特征图激活值信息,准备包含各层激活值边界、尺度及偏移的量化配置文件进行模型优化,获得能够部署于边缘检测设备的轻量级模型。
在本发明的一个实施例中,本发明的实验采用的数据集为微软团队开源的COCO(Common Objects in Context)2017数据集,共80个类,118,287张训练图像和5000张验证图像。
本发明所提出的方法采用了类平均准确率mAP(mean Average precis)、模型大小、计算复杂度三个指标对整体性能做评估如下表所示。计算复杂度OPs定义为:
OPs=BitOPs+BOPs+FLOPs
其中,BitOPs为低位宽定点数操作数量,如Neck中的4比特卷积,BOPs为二值计算操作总数,FLOPs为浮点数操作总数。
本发明提出的低位宽混合精度量化方法的性能结果如表1所示。从表中可以看出,对比现有的高位宽的轻量级单阶段目标检测网络,本发明提出的混合精度量化网络在损失少量精度的情况下大幅压缩了计算量与模型大小。对比现有的低位宽的轻量级目标检测网络,本发明提出的混合精度量化网络在计算量与模型大小不显著增加的前提下大幅提高了模型精度。
表1轻量级目标检测网络效果对比
关于渐进式量化策略对模型端到端平滑训练的有效性如图5所示。从图中可以看出,相比一次性对Backbone与Neck做量化微调,使用渐进式量化策略的训练过程收敛速度更快,过程更加平滑。
关于网络Head部分4比特量化位宽的选择依据如表2所示。用相比全精度网络的准确率损失mAP_loss和模型大小Model_size计算所得的比率Ratio来评估模型性能。Ratio的计算方式为:
其中,Model_size1为全精度模型大小,Model_size2为量化后模型大小,
表2不同位宽Head性能对比
可以看出相较于更低位宽的Head,4比特量化在性能与压缩率上达到了更好的平衡。
本发明提出的低位宽混合精度量化方案,在明显压缩网络模型大小与计算量的前提下,依然保有较高的检测性能;提出的渐近式量化策略,相比全局式量化策略,明显提升了模型端到端训练的平滑性,加快了训练过程的收敛;对于1比特Backbone的量化,仅在通道数对齐的1*1卷积处使用残差连接,大幅减少了传统二值化神经网络在使用残差连接过程中,为对齐残差连接两端特征图通道数所引入的浮点数卷积,进而减少最终模型大小与计算量;对于4比特Head的量化,相比常规的量化函数,额外计算了可学习的尺度,用于对齐不同位宽的网络结构间的数据流与梯度流,增强了混合精度量化训练的平滑性。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在发明的保护范围内。
Claims (8)
1.一种单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,包括以下步骤:
S1:根据单阶段实时目标检测模型,获取用于构建训练集的场景图像,并利用标注软件对场景图像进行标注,获得训练集和测试集;
S2:基于YOLOv5网络构建含量化节点的网络模型;
S3:基于训练集和测试集,利用渐进式量化策略对网络模型进行分段训练和微调,获得混合精度量化模型;
S4:对混合精度量化模型进行优化处理,获得能够部署于边缘检测设备的轻量级模型,完成单阶段实时目标检测模型低位宽混合精度的量化。
2.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S1中包括以下分步骤:
S1-1:根据单阶段实时目标检测模型适用的检测场景,获取对应的场景图像;
S1-2:对获取的场景图像进行预处理后并进行标注;
S1-3:对标注的图像进行几何增强处理和马赛克数据增强处理;
S1-4:将增强后的图像划分为训练集和测试集。
3.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S2中网络模型包括Backbone部分和Head部分,所述Backbone部分采用CSPDarknet结构,所述Head部分引入FPN结构。
4.根据权利要求3所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述Backbone部分中将卷积模块设计为1比特量化卷积模块,设计方法包括以下分步骤:
A1:对输入特征图进行逐通道的偏移,并对权重进行标准化操作,所述偏移公式为:
x=x(B*C*W*H)+b(1*C*1*1)
其中,x为偏移后的特征图,x(B*C*W*H)为输入特征图,b(1*C*1*1)为偏移值,B为批量,C为通道数,W为特征图宽度,H为特征高度;
所述标准化操作公式为:
其中,w为权重,Mean(·)为权重均值,Std(·)为权重标准差;
A2:利用符号函数对偏移和标准化操作后的激活值与权重进行1比特量化,并基于量化结果进行梯度估计与梯度裁剪,所述梯度裁剪公式为:
其中,gx为第一浮点数梯度,为第一定点数梯度,gw为第二浮点数梯度,/>为第二定点数梯度,max(·)为最大值,min(·)为最小值;
A3:将量化后的激活值绝对值大于1的梯度裁剪为0,并将量化后的权重绝对值大于1和小于-1的梯度分别裁剪为1和-1;
A4:基于裁剪结果,利用1比特权重与激活值进行XNOR和popcount型卷积计算,当此次卷积的卷积核尺寸为1时,在BatchNorm层后加入量化前的残差连接,并使用PReLU函数作为激活层,完成1比特量化卷积模块的设计。
5.根据权利要求4所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述Head部分中将卷积模块设计为4比特量化卷积模块,设计方法包括以下分步骤:
B1:利用尺寸参数对数值进行缩放处理,以对齐不同位宽的骨干网络和头部网络间的数据流和梯度流,公式为:
其中,hx为第三浮点数梯度,s为尺寸参数,QN为量化位宽决定的数值上界,QP为量化位宽决定的数值下界;
B2:基于缩放处理,对权重和激活值进行4比特量化;
B3:基于量化结果,利用4比特的权重与激活值做定点数卷积,在BatchNorm层后使用SiLU函数作为激活层,完成4比特量化卷积模块的设计。
6.根据权利要求3所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S2中网络模型还包括量化检测模块,所述量化检测模块的损失函数Loss为:
Loss=Lconf+Lrect+Lclass
其中,Lconf为区分前后景的置信度损失函数,Lrect为目标定位回归损失函数,Lclass为检测模块分类损失函数;
其中,αco为置信度损失函数的含平衡正负样本的平衡因子,p(cco)为网络输出的置信度概率,γco为置信度损失函数的含平衡难易样本的平衡因子,log(·)为对数,yco为置信度标签;
其中,IOU为预测框与真实框的交并比值,d为预测框与真实检测框的中心点距离,D为预测框与真实检测框的最远端点距离,v为衡量预测框与真实框的宽高比例因子,Bpred为检测模块生成的预测框面积,Bground为真实检测框的面积,∩为交集,∪为并集,wgt为真实框宽度,hgt为真实框高度,wp为预测框宽度,hp为预测框高度;
其中,αcl为分类损失函数的含平衡正负样本的平衡因子,p(ccl)为网络输出的类别概率,γcl为分类损失函数的含平衡难易样本的平衡因子,ycl为类别标签。
7.根据权利要求5所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S3中包括以下分步骤:
S3-1:关闭所有量化卷积模块,并利用划分好的训练集与测试集训练网络模型;
S3-2:将训练好的网络模型作为下一阶段的预训练模型,开启Backbone1比特量化模块,并使用相同的数据集微调Backbone;
S3-3:将微调完的Backbone的网络模型作为下一阶段的预训练模型,开启Head 4比特量化模块,并使用相同的数据集微调Head,获得具有1比特Backbone和4比特Head的混合精度量化模型。
8.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S4中包括以下分步骤:
S4-1:将混合精度量化模型转换为ONNX模型文件,将模型参数保存为对应位宽的量化后定点数,去除网络Neck部分并计算特征图中的伪量化节点;
S4-2:基于特征图中的伪量化节点,根据网络Neck的各层特征图激活值信息,准备包含各层激活值边界、尺度及偏移的量化配置文件进行模型优化,获得能够部署于边缘检测设备的轻量级模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311469836.1A CN117392406A (zh) | 2023-11-07 | 2023-11-07 | 一种单阶段实时目标检测模型低位宽混合精度量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311469836.1A CN117392406A (zh) | 2023-11-07 | 2023-11-07 | 一种单阶段实时目标检测模型低位宽混合精度量化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117392406A true CN117392406A (zh) | 2024-01-12 |
Family
ID=89466427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311469836.1A Pending CN117392406A (zh) | 2023-11-07 | 2023-11-07 | 一种单阶段实时目标检测模型低位宽混合精度量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117392406A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893975A (zh) * | 2024-03-18 | 2024-04-16 | 南京邮电大学 | 一种电力监控识别场景下的多精度残差量化方法 |
-
2023
- 2023-11-07 CN CN202311469836.1A patent/CN117392406A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893975A (zh) * | 2024-03-18 | 2024-04-16 | 南京邮电大学 | 一种电力监控识别场景下的多精度残差量化方法 |
CN117893975B (zh) * | 2024-03-18 | 2024-05-28 | 南京邮电大学 | 一种电力监控识别场景下的多精度残差量化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN112016674B (zh) | 一种基于知识蒸馏的卷积神经网络的量化方法 | |
CN113780296A (zh) | 基于多尺度信息融合的遥感图像语义分割方法及系统 | |
CN112183742B (zh) | 基于渐进式量化和Hessian信息的神经网络混合量化方法 | |
CN113642390A (zh) | 一种基于局部注意力网络的街景图像语义分割方法 | |
CN117392406A (zh) | 一种单阶段实时目标检测模型低位宽混合精度量化方法 | |
CN109902697B (zh) | 多目标检测方法、装置及移动终端 | |
CN114170512A (zh) | 基于网络剪枝和参数量化结合的遥感sar目标检测方法 | |
CN111178438A (zh) | 一种基于ResNet101的天气类型识别方法 | |
CN113269224A (zh) | 一种场景图像分类方法、系统及存储介质 | |
CN113569881A (zh) | 一种基于链式残差与注意力机制的自适应语义分割方法 | |
CN115759237A (zh) | 端到端的深度神经网络模型压缩及异构转换系统及方法 | |
CN115222950A (zh) | 一种面向嵌入式平台的轻量化目标检测方法 | |
CN116362325A (zh) | 一种基于模型压缩的电力图像识别模型轻量化应用方法 | |
CN114972753B (zh) | 基于上下文信息聚合和辅助学习的轻量级语义分割方法及系统 | |
CN114676629A (zh) | 多手段复合的调制类型识别模型轻量化处理方法 | |
CN114299305A (zh) | 聚合密集和注意力多尺度特征的显著性目标检测算法 | |
CN110728352A (zh) | 一种基于深度卷积神经网络的大规模图像分类方法 | |
CN112488291B (zh) | 一种神经网络8比特量化压缩方法 | |
CN111344719A (zh) | 基于深度神经网络的数据处理方法、装置及移动设备 | |
CN113642614A (zh) | 基于深度网络的基本天气类型分类方法 | |
CN116304721A (zh) | 基于数据类别的大数据治理中数据标准制定方法及系统 | |
CN111639751A (zh) | 一种用于二值卷积神经网络的非零填补训练方法 | |
CN116433980A (zh) | 脉冲神经网络结构的图像分类方法、装置、设备及介质 | |
CN112200275B (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 |