159信息:技术与应用信息记录材料2022年12月第23卷第12期0引言近年来,随着深度学习技术的发展,网络的精度以及速度相比传统目标检测网络有大大的提升,但是大部分网络是以不断增加网络结构深度和宽度、模型的复杂度来获得更佳的性能,但这势必带来网络模型参数庞大,参数空间存在一定的冗余以及内存占用过大等问题[1]。这些问题使得目标检测[2]的算法无法达到实时性检测,无法适合现实场景中的应用程序,也让模型直接部署在资源受限的低端设备成了一大阻碍。对此,部分学者采用剪枝降低网络的复杂性,但是剪枝过程未对跳跃连接层进行有效处理;龚圣斌等[3]通过使用轻量化Inception-V2更换FasterR-CNN网络的特征提取网络使得网络更轻量化;张丽莹等[4]通过深度可分离卷积替换了模型中的普通卷积从而减少参数量。像类似直接用已经轻量化的backbone直接去替换大网络中普通的主干网络治标不治本,甚至对于一些具有计算密集型设备的计算反而会有一定的抑制,模型性能有很大下降。本文在原有量化算法[5-8]基础上进行改进,摒弃原有量化计算流程中大量反复的加法与乘法的混合操作,简化模型中量化的计算流程,同时选取目标检测一阶段和两阶段的经典网络进行训练,同时模型数据流clip模型训练,分别分析其模型参数的分布情况,最后对模型低比特量化。1量化原理目标检测网络模型FasterRCNN和YOLOv3-SPP做采用均匀量化[9],其量化方案严格的数学定义如下:Xq(x,scale,zp)=round(x/scale+zp)(1)式(1)中的x表示的是网络浮点输入,Xq表示的是经过量化后的结果值。scale和zp是量化参数,其中scale体现了映射中的比例关系,zp则是零基准zero-point,也就是浮点中的零在量化tensor中的值。它们建立了浮点tensor到量化tensor的映射关系。当对称量化器将zp限制为0,对称量化公式如式(2)所示[10]:Xq(x,scale)=round(x/scale)(2)2量化的加速本文中YOLOv3以及FasterRCNN网络中卷积算子Y=WX(这里暂时不考虑偏置),Y是模型输出,W表示模型权重,X表示数据流,如果采用传统的量化方法,对数据量化是每个操作计算出最优的一组scale,那么需要对输入数据X∈[xmin,xmax],W∈[wmin,wmax]做如下操作:1)(2ˆminminmax−−−=xxxxx,Xx∈(3)1)(2ˆminminmax−−−=wwwww,Ww∈(4)接着对x,w的量化如式(5)(6),qx,qw是对x与w做量化操作的结果:]ˆ2[xxxkq⋅=(5)]ˆ2[wwwkq⋅=(6)Y=WX算子的反量化,由于式(5)(6)可得xkqxx2ˆ=,wkqww2ˆ=,...