System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及深度学习模型压缩,特别是涉及一种单阶段实时目标检测模型低位宽混合精度量化方法。
技术介绍
1、目标检测是一个在计算机视觉领域被广泛研究,实际工业场景中被广泛应用的技术。通常,目标检测方法可以分为两种类型:以region-convolution neural network(rcnn)为代表的双阶段目标检测算法和以you only look once(yolo)系列为代表的单阶段目标检测算法,而yolo算法将目标分类和定位回归的双重功能集成为一种单阶段的网络架构,减少了计算延迟,提高了实时检测性能,进而在众多工业场景下受到青睐。
2、由于网络模型所含参数量多,计算量大,而部分用于边缘计算的设备如现场可编程门阵列fpga等,以及一些应用边缘计算的场景如无人车、无人机以及移动设备等,对模型存储消耗,模型推理速度,模型推理功耗,模型推理内存占用等方面有相应的限制,不能满足较大规模的模型的部署。
3、为应对该挑战,模型量化技术受到广泛关注,通过将模型中浮点数表示的权重与激活输入映射到相应的定点数,显著加速了模型的计算与访存,同时根据量化位宽的选择对模型体积实现了成比例的压缩。目前模型量化技术包括低比特训练后量化、低比特量化感知训练与二值化神经网络。低比特训练后量化通过将训练好的全精度模型参数通过量化函数映射到低位宽定点数(通常为8比特),再采用少量校准数据集调整数值范围得到量化模型。低比特量化感知训练通过在网络结构中插入伪量化节点模拟量化过程精度损失,并在微调后对参数进行对应位宽的量化得到量化模型。二
4、然而现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型的性能。
技术实现思路
1、针对现有技术中的上述不足,本专利技术提供的一种单阶段实时目标检测模型低位宽混合精度量化方法解决了现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型性能的问题。
2、为了达到上述专利技术目的,本专利技术采用的技术方案为:一种单阶段实时目标检测模型低位宽混合精度量化方法,包括以下步骤:
3、s1:根据单阶段实时目标检测模型,获取用于构建训练集的场景图像,并利用标注软件对场景图像进行标注,获得训练集和测试集;
4、s2:基于yolov5网络构建含量化节点的网络模型;
5、s3:基于训练集和测试集,利用渐进式量化策略对网络模型进行分段训练和微调,获得混合精度量化模型;
6、s4:对混合精度量化模型进行优化处理,获得能够部署于边缘检测设备的轻量级模型,完成单阶段实时目标检测模型低位宽混合精度的量化。
7、上述方案的有益效果是:本专利技术针对网络的backbone和neck采用不同的低位宽量化方法,并设计了适配的可端到端训练的模型结构,同时使用渐进式训练策略,相比一步式量化微调方法,本方案将整个混合精度量化过程分解为三个阶段,按全精度预训练模型,1比特backbone网络,4比特head网络的顺序执行模型量化。本方案解决了现有模型量化方法的压缩程度无法满足部分业务场景低存储、低功耗的需求、受限的计算资源,以及无法保证量化后模型性能的问题。
8、进一步地,s1中包括以下分步骤:
9、s1-1:根据单阶段实时目标检测模型适用的检测场景,获取对应的场景图像;
10、s1-2:对获取的场景图像进行预处理后并进行标注;
11、s1-3:对标注的图像进行几何增强处理和马赛克数据增强处理;
12、s1-4:将增强后的图像划分为训练集和测试集。
13、上述进一步方案的有益效果是:通过获取场景图像并对其进行一系列处理,保证数据的准确性,提高模型训练的精度。
14、进一步地,s2中网络模型包括backbone部分和head部分,所述backbone部分采用cspdarknet结构,所述head部分引入fpn结构。
15、上述进一步方案的有益效果是:在yolov5网络的基础上,使用cspdarknet作为backbone,具有跨阶段连接设计以提高特征提取效率与性能,head引入fpn(featurepyramid network)结构用于融合不同层级的特征图以提高检测性能。
16、进一步地,backbone部分中将卷积模块设计为1比特量化卷积模块,设计方法包括以下分步骤:
17、a1:对输入特征图进行逐通道的偏移,并对权重进行标准化操作,所述偏移公式为:
18、x=x(b*c*w*h)+b(1*c*1*1)
19、其中,x为偏移后的特征图,x(b*c*w*h)为输入特征图,b(1*c*1*1)为偏移值,b为批量,c为通道数,w为特征图宽度,h为特征高度;
20、所述标准化操作公式为:
21、
22、其中,w为权重,mean(·)为权重均值,std(·)为权重标准差;
23、a2:利用符号函数对偏移和标准化操作后的激活值与权重进行1比特量化,并基于量化结果进行梯度估计与梯度裁剪,所述梯度裁剪公式为:
24、
25、
26、其中,gx为第一浮点数梯度,为第一定点数梯度,gw为第二浮点数梯度,为第二定点数梯度,max(·)为最大值,min(·)为最小值;
27、a3:将量化后的激活值绝对值大于1的梯度裁剪为0,并将量化后的权重绝对值大于1和小于-1的梯度分别裁剪为1和-1;
28、a4:基于裁剪结果,利用1比特权重与激活值进行xnor和popcount型卷积计算,当此次卷积的卷积核尺寸为1时,在batchnorm层后加入量化前的残差连接,并使用prelu函数作为激活层,完成1比特量化卷积模块的设计。
29、上述进一步方案的有益效果是:通过上述技术方案,在激活值量化前对输入特征图进行逐通道的偏移,在权重值量化前对权重进行标准化操作,同时利用符号函数对激活值和权重进行1比特量化,并对符号函数进行梯度估计与梯度裁剪,完成1比特量化卷积模块的设计。
30、进一步地,head部分中将卷积模块设计为4比特量化卷积模块,设计方法包括以下分步骤:
31、b1:利用尺寸参数对数值进行缩放处理,以对齐不同位宽的骨干网络和头部网络间的数据流和梯度流,公式为:
32、
33、其中,hx为第三浮点数梯度,s为尺寸参数,qn为量化位宽决定的数值上界,qp为量化位宽决定的数值下界;
34、b2:基于缩放处理,对权重和激活值进行4比特量化;
35、b3:基于量化结果,利用4比特的权重与激活值做定点数卷积,在batchnorm层后使用si本文档来自技高网...
【技术保护点】
1.一种单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S1中包括以下分步骤:
3.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S2中网络模型包括Backbone部分和Head部分,所述Backbone部分采用CSPDarknet结构,所述Head部分引入FPN结构。
4.根据权利要求3所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述Backbone部分中将卷积模块设计为1比特量化卷积模块,设计方法包括以下分步骤:
5.根据权利要求4所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述Head部分中将卷积模块设计为4比特量化卷积模块,设计方法包括以下分步骤:
6.根据权利要求3所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S2中网络模型还包括量化检测模块,所述量化检测模块的损失函数Loss为:
7.根据权
8.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述S4中包括以下分步骤:
...【技术特征摘要】
1.一种单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述s1中包括以下分步骤:
3.根据权利要求1所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述s2中网络模型包括backbone部分和head部分,所述backbone部分采用cspdarknet结构,所述head部分引入fpn结构。
4.根据权利要求3所述的单阶段实时目标检测模型低位宽混合精度量化方法,其特征在于,所述backbone部分中将卷积模块设计为1比特量化卷积模块,设计方法...
【专利技术属性】
技术研发人员:吕建成,刘鑫宇,汤臣薇,杨嘉铭,余镇冬,周文强,
申请(专利权)人:四川大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。