基于4比特量化的模型压缩方法、装置、设备及存储介质与流程

文档序号:33794446发布日期:2023-04-19 09:45阅读:196来源:国知局
基于4比特量化的模型压缩方法、装置、设备及存储介质与流程

本发明涉及数据处理,更具体地说是基于4比特量化的模型压缩方法、装置、设备及存储介质。


背景技术:

1、近年来,卷积神经网络(cnn)已成为各种计算机视觉任务的主要方法,例如图像分类,目标检测,语义分割。大规模数据集,高端现代的gpu和新的网络架构使得大型卷积神经网络模型得到了前所未有的开发。然而,拥有更强大能力的大型卷积神经网络模型却往往会要求更多的资源。卷积神经网络模型在实际应用中的部署是主要受制于:模型的大小,运行时的内存需求和浮点运算数的数量要求。

2、与此同时,以人脸口罩检测为核心的算法出现在各种应用场景之中,包括戴口罩刷脸通行,公共区域佩戴口罩检查,驾驶员佩戴口罩检查等。在检测精度方面,现有的一些大型人脸检测卷积神经网络有着非常优秀的表现,对其进行一些改动便可以应用于人脸口罩检测。然而,在某些实际搭载的设备比如智能摄像机等边缘设备,计算资源和存储资源有限,而大型卷积神经网络模型需要执行大量的浮点运算,并且有大量权重参数,比如resnet需要执行5gflops,有24m个参数,这种情况严重制约了大型卷积神经网络模型的实际应用。

3、解决上述问题的常用方法是模型压缩。模型量化,作为模型压缩中最常用的方法之一,被认为是满足深度神经网络模型内存要求的最有效方法,近年来也吸引了许多研究者的目光,涌现了许多可行的神经网络量化策略和方案。然而,无论是工业界还是学术界,普遍被接受的都是int8量化,因为它在加速推理的同时不会显著地降低准确性。但是采用int8量化的方式仅能做到一定程度的模型压缩,在某些应用场合仍然不具有优秀的表现,而相比而言,int4量化能够进一步减少存储空间和加速计算,但同时普遍会伴有模型性能严重下降的情况甚至出现溢出的风险。

4、总之,现有技术方案无法同时满足高准确率,少参数量/少flops数量的要求,对于人脸口罩检测的应用来说,现有技术无法在保持一定的检测准确率的同时,拥有短的前向时间又支持更小的内存占用。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提供基于4比特量化的模型压缩方法、装置、设备及存储介质。

2、为实现上述目的,本发明采用以下技术方案:

3、第一方面,基于4比特量化的模型压缩方法,包括:

4、对scrfd人脸口罩模型进行4比特量化感知训练,以获得4比特模型map;

5、根据4比特模型map判断是否满足人脸口罩检测精度要求;

6、若不满足精度要求,则修改量化感知训练配置文件使scrfd人脸口罩模型中的部分网络层使用8比特进行量化感知训练,直至符合人脸口罩检测精度要求;

7、将符合人脸口罩检测精度要求的量化感知训练后的深度神经网络模型作为最终的人脸口罩检测模型。

8、其进一步技术方案为:所述对scrfd人脸口罩模型进行4比特量化感知训练,以获得4比特模型map,包括:

9、对训练数据进行预处理,以得到预处理后的数据;

10、根据scrfd人脸口罩模型结构生成量化感知训练配置文件;

11、根据量化感知训练配置文件在scrfd人脸口罩模型中添加量化层与反量化层,以生成量化感知训练模型;

12、向量化感知训练模型输入预处理后的数据,并经过量化层,卷积层、反量化层、模型颈部以及模型头部处理,以得到模型输出;

13、将得到的模型输出与训练数据的标签对比得到损失函数,并将损失函数的梯度反向传播;

14、循环执行所述将得到的模型输出与标签对比得到损失函数,并将损失函数的梯度反向传播,直至损失函数的损失值趋于稳定时,将得到的模型输出进行后处理,以获得4比特模型map。

15、其进一步技术方案为:所述对训练数据进行预处理,以得到预处理后的数据,包括:

16、对训练数据进行数据增强以及统一化处理,以得到待封装数据;

17、将待封装数据封装为dataloader的形式,以得到预处理后的数据。

18、其进一步技术方案为:所述若不满足精度要求,则修改量化感知训练配置文件使scrfd人脸口罩模型中的部分层使用8比特量化感知训练,直至符合人脸口罩检测精度要求,包括:

19、自定义每一个神经网络层的量化类型;

20、筛选出对精度影响达到设定值的神经网络层;

21、对筛选出的神经网络层使用8比特量化。

22、第二方面,基于4比特量化的模型压缩装置,包括量化感知训练单元、判断单元、修改单元以及设定单元;

23、所述量化感知训练单元,用于对scrfd人脸口罩模型进行4比特量化感知训练,以获得4比特模型map;

24、所述判断单元,用于根据4比特模型map判断是否满足人脸口罩检测精度要求;

25、所述修改单元,用于若不满足精度要求,则修改量化感知训练配置文件使scrfd人脸口罩模型中的部分网络层使用8比特进行量化感知训练,直至符合人脸口罩检测精度要求;

26、所述设定单元,用于将符合人脸口罩检测精度要求的量化感知训练后的深度神经网络模型作为最终的人脸口罩检测模型。

27、其进一步技术方案为:所述量化感知训练单元包括预处理模块、第一生成模块、第二生成模块、处理模块、对比模块以及后处理模块;

28、所述预处理模块,用于对训练数据进行预处理,以得到预处理后的数据;

29、所述第一生成模块,用于根据scrfd人脸口罩模型结构生成量化感知训练配置文件;

30、所述第二生成模块,用于根据量化感知训练配置文件在scrfd人脸口罩模型中添加量化层与反量化层,以生成量化感知训练模型;

31、所述处理模块,用于向量化感知训练模型输入预处理后的数据,并经过量化层,卷积层、反量化层、模型颈部以及模型头部处理,以得到模型输出;

32、所述对比模块,用于将得到的模型输出与训练数据的标签对比得到损失函数,并将损失函数的梯度反向传播;

33、所述后处理模块,用于循环执行所述将得到的模型输出与标签对比得到损失函数,并将损失函数的梯度反向传播,直至损失函数的损失值趋于稳定时,将得到的模型输出进行后处理,以获得4比特模型map。

34、其进一步技术方案为:所述预处理模块包括统一化处理子模块以及封装子模块;

35、所述统一化处理模块,用于对训练数据进行数据增强以及统一化处理,以得到待封装数据;

36、所述封装模块,用于将待封装数据封装为dataloader的形式,以得到预处理后的数据。

37、其进一步技术方案为:所述修改单元包括自定义模块、筛选模块以及8比特量化模块;

38、所述自定义模块,用于自定义每一个神经网络层的量化类型;

39、所述筛选模块,用于筛选出对精度影响达到设定值的神经网络层;

40、所述8比特量化模块,用于对筛选出的神经网络层使用8比特量化。

41、第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于4比特量化的模型压缩方法。

42、第四方面,一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的基于4比特量化的模型压缩方法。

43、本发明与现有技术相比的有益效果是:通过对scrfd人脸口罩模型进行4比特量化感知训练,以获得4比特模型map;根据4比特模型map判断是否满足人脸口罩检测精度要求;若不满足精度要求,则修改量化感知训练配置文件使scrfd人脸口罩模型中的部分网络层使用8比特进行量化感知训练,直至符合人脸口罩检测精度要求;将符合人脸口罩检测精度要求的量化感知训练后的深度神经网络模型作为最终的人脸口罩检测模型。由于选用人脸口罩检测的scrfd人脸口罩模型作为基础网络,并结合int4量化感知训练的方式,而非直接量化,从而能够保持模型一定精度的同时,缩小了模型的运算处理的时间和需要的存储空间。

44、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1