CN112651500B - 一种量化模型的生成方法及终端 - Google Patents

一种量化模型的生成方法及终端 Download PDF

Info

Publication number
CN112651500B
CN112651500B CN202011601798.7A CN202011601798A CN112651500B CN 112651500 B CN112651500 B CN 112651500B CN 202011601798 A CN202011601798 A CN 202011601798A CN 112651500 B CN112651500 B CN 112651500B
Authority
CN
China
Prior art keywords
model
quantization
target detection
joint
detection model
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.)
Active
Application number
CN202011601798.7A
Other languages
English (en)
Other versions
CN112651500A (zh
Inventor
潘成龙
张宇
刘东剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Santachi Video Technology Shenzhen Co ltd
Original Assignee
Santachi Video Technology Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Santachi Video Technology Shenzhen Co ltd filed Critical Santachi Video Technology Shenzhen Co ltd
Priority to CN202011601798.7A priority Critical patent/CN112651500B/zh
Publication of CN112651500A publication Critical patent/CN112651500A/zh
Application granted granted Critical
Publication of CN112651500B publication Critical patent/CN112651500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开一种量化模型的生成方法及终端,利用数据集训练目标检测模型,得到收敛后的浮点型的目标检测模型,再进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型,最后将目标检测模型与第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的第二量化模型,量化操作以及梯度估计不准确均会造成精度损失,导致得到的第一量化模型的精度下降,通过将目标检测模型与第一量化模型进行联合训练,基于知识蒸馏的原理,使得目标检测模型能够对第一量化模型进行指导,让第一量化模型学习目标检测模型的提取特征能力,得到最优的第二量化模型,以此减少了模型量化后的精度损失,提升了目标检测模型量化后的精度。

Description

一种量化模型的生成方法及终端
技术领域
本发明涉及神经网络技术领域,尤其涉及一种量化模型的生成方法及终端。
背景技术
随着深度学习技术的发展,为了加速神经网络模型的运行速度,便于神经网络在移动端中部署,通常使用量化技术将浮点计算模型量化为定点计算模型。
现有技术中,通常将基于深度学习的浮点型32bit(比特)目标检测模型量化到8bit,将原有模型中大部分fp(float,浮点型)32的乘法计算转换成int(整型)8的乘法计算和fp32的加法计算,但是量化操作后,即使其引入伪量化节点来训练,依旧会带来一定的精度损失。
还有一种方法将基于深度学习的浮点型32bit图片分类模型量化到低bit,将原有模型中的fp32的乘法计算转换成底层的低比特点积位运算,并同时在fp32模型中引入量化训练,使得量化模型精度损失进一步减小,但是训练引入的梯度是利用直通估计器估计出来的,估计不准确依旧会造成模型精度下降。
发明内容
本发明所要解决的技术问题是:提供了一种量化模型的生成方法及终端,能够减少模型量化后的精度损失,提升目标检测模型量化后的精度。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种量化模型的生成方法,包括步骤:
利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种量化模型的生成终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型。
本发明的有益效果在于:利用数据集训练目标检测模型,得到收敛后的浮点型的目标检测模型,再将目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型,最后将目标检测模型与第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的第二量化模型,在将目标检测模型进行量化并基于梯度估计进行训练后,量化操作以及梯度估计不准确均会造成精度损失,导致得到的第一量化模型的精度下降,通过将目标检测模型与第一量化模型进行联合训练,基于知识蒸馏的原理,使得目标检测模型能够对第一量化模型进行指导,让第一量化模型学习目标检测模型的提取特征能力,得到最优的第二量化模型,以此减少了模型量化后的精度损失,提升了目标检测模型量化后的精度。
附图说明
图1为本发明实施例的一种量化模型的生成方法中的步骤流程图;
图2为本发明实施例的一种量化模型的生成终端的结构示意图;
图3为本发明实施例的量化模型的生成方法中的流程图;
图4为本发明实施例的量化模型的生成方法中模型量化的示意图;
图5为本发明实施例的量化模型的生成方法中基于梯度估计进行训练的示意图;
图6为本发明实施例的量化模型的生成方法中将两个模型进行联合训练的示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
名称解释:
深度学习目标检测:指利用深度学习技术,找出图像中所有感兴趣的目标,同时确定目标的类别和在图像中的位置;在定位目标的基础上,用标识框标出图像中物体的位置,并给出物体的类别;
模型量化:指将常规32位浮点运算转换为低bit整型运算的一种模型压缩技术,当低bit量化为8bit时,我们可以称之为int8量化,即原来表示一个权重需要float32表示,量化后只需要用int8表示,理论上能够获得4倍的网络加速,同时8位相较于32位能够减少4倍存储空间,减少了存储空间和运算时间,从而达到了压缩模型和加速的目的;
量化感知训练:指模型量化后,int8模型表示的整型数值是不连续的,无法像float32浮点型模型可以表示连续的数值,这样会造成精度损失,此时在服务器上用float32模型模拟int8模型在端侧的量化过程,进一步训练,使得模型能够适应不连续的分布,部署后进一步减少精度损失;
知识蒸馏:指将大模型或者优秀模型的性能“迁移”或者“蒸馏”到小模型中,使得小模型学习到大模型或者优秀模型的提取特征能力;
map:指mean-ap,map是PASCAL VOC挑战的算法评估标准,每一个类别均有一个ap值,最后对所有类别的ap值取平均,即map,map越接近1表明算法越优秀;
PASCAL VOC:指一种公开数据集,包括VOC2007和VOC2012数据集,是目前目标检测常用的数据集;
Backbone:指神经网络模型,卷积神经网络中的骨干网络,即用来提取特征的主要网络;
Retinanet:经典的目标检测算法之一,可组合不同的Backbone形成性能不同的检测算法;
模拟量化:指量化算法在服务器上通过fp32模型模拟出int8的量化效果,但实际还是fp32存储,部署到端侧时,将会配合端侧自动转化成int8存储;
请参照图1,本发明实施例提供了一种量化模型的生成方法,包括步骤:
利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型。
从上述描述可知,本发明的有益效果在于:利用数据集训练目标检测模型,得到收敛后的浮点型的目标检测模型,再将目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型,最后将目标检测模型与第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的第二量化模型,在将目标检测模型进行量化并基于梯度估计进行训练后,量化操作以及梯度估计不准确均会造成精度损失,导致得到的第一量化模型的精度下降,通过将目标检测模型与第一量化模型进行联合训练,基于知识蒸馏的原理,使得目标检测模型能够对第一量化模型进行指导,让第一量化模型学习目标检测模型的提取特征能力,得到最优的第二量化模型,以此减少了模型量化后的精度损失,提升了目标检测模型量化后的精度。
进一步地,所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型之前包括:
根据所述目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数。
进一步地,所述联合分类损失函数为:
Figure BDA0002871678810000041
式中,Pfp32表示所述目标检测模型对目标的分类概率,Pint8表示第一量化模型对目标的分类概率,N表示预测的目标个数;
所述联合回归损失函数为:
Figure BDA0002871678810000051
式中,xfp32与xint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心横坐标,yfp32和yint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心纵坐标,wfp32和wint8分别表示所述目标检测模型与所述第一量化模型输出的目标宽,hfp32和hint8分别表示所述目标检测模型与所述第一量化模型输出的目标高。
进一步地,所述联合损失函数为:
Ltotal=αLKL+βLhard_regression+Lori
式中,Lori表示所述目标检测模型与所述第一量化模型各自的分类损失与回归损失之和,α表示调节联合分类损失权重的参数,β表示调节联合回归损失权重的参数。
由上述描述可知,对目标检测模型进行量化并基于梯度估计进行训练时,由于所估计的梯度是近似的,会导致神经网络反向传播时估计的梯度与真实的梯度不匹配的问题,造成了第一量化模型精度下降,且模型难以收敛的问题,因此根据目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数,再根据联合损失函数对两个模型进行联合训练,能够优化第一量化模型,使第一量化模型学习目标检测模型的提取特征能力。
进一步地,所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型包括:
基于两者的联合损失函数进行联合训练后,判断所述第一量化模型的map是否达到预设值,若是,则得到收敛后的与所述第一量化模型对应的第二量化模型;若否,则根据预设数据集基于所述联合损失函数继续对所述目标检测模型与所述第一量化模型进行联合训练直至所述第一量化模型的map达到预设值。
由上述描述可知,当第一量化模型的map达到预设值,说明第一量化模型充分学习到了目标检测模型的提取特征能力,则得到收敛后的第二量化模型,也就是最优的量化模型,且该模型可直接用于部署,若未达到预设值,则继续进行联合训练直到第一量化模型充分学习到了目标检测模型的提取特征能力,以此减少了模型量化后的精度损失,提升了目标检测模型量化后的精度。
请参照图2,本发明另一实施例提供了一种量化模型的生成终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型。
进一步地,所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型之前包括:
根据所述目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数。
进一步地,所述联合分类损失函数为:
Figure BDA0002871678810000061
式中,Pfp32表示所述目标检测模型对目标的分类概率,Pint8表示第一量化模型对目标的分类概率,N表示预测的目标个数;
所述联合回归损失函数为:
Figure BDA0002871678810000062
式中,xfp32与xint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心横坐标,yfp32和yint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心纵坐标,wfp32和wint8分别表示所述目标检测模型与所述第一量化模型输出的目标宽,hfp32和hint8分别表示所述目标检测模型与所述第一量化模型输出的目标高。
进一步地,所述联合损失函数为:
Ltotal=αLKL+βLhard_regression+Lori
式中,Lori表示所述目标检测模型与所述第一量化模型各自的分类损失与回归损失之和,α表示调节联合分类损失权重的参数,β表示调节联合回归损失权重的参数。
进一步地,所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型包括:
基于两者的联合损失函数进行联合训练后,判断所述第一量化模型的map是否达到预设值,若是,则得到收敛后的与所述第一量化模型对应的第二量化模型;若否,则根据预设数据集基于所述联合损失函数继续对所述目标检测模型与所述第一量化模型进行联合训练直至所述第一量化模型的map达到预设值。
实施例一
请参照图1、3-5,本实施例的一种量化模型的生成方法,包括步骤:
S1、利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
本实施例中,预设数据集为PASCAL VOC,应用的目标检测算法为Retinanet,目标检测模型为Backbone;
比如,使用Retinanet在PASCAL VOC数据集上对Backbone进行训练,得到收敛后的浮点型的目标检测模型,即收敛的fp32模型;
S2、对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
其中,量化过程中应用的线性量化方法可以任意选择;
本实施例中,应用的线性量化方法如下式所示:
r=Round(S(q-Z))
Figure BDA0002871678810000081
式中,q表示收敛的fp32模型的float32权重,Z表示收敛的fp32模型的float32数值在量化时的偏移量(Zero Point),可以取0或者其他计算值,S表示收敛的fp32模型的float32数值的缩放因子,即尺度,Round()表示四舍五入取整的数学函数,r表示量化后的一个整数值,n表示量化的bit数,x为当前待量化神经网络层的所有权重值;
比如,如图4所示,使用上式将收敛的fp32模型量化为int8模型,但是量化完成后,Round()函数量化后的int8模型的权重是一个整型且不连续的分布,而收敛的fp32模型的权重是一个浮点且连续的分布,由于不连续的分布会导致网络表达能力变差,出现误差,造成模型精度损失,为了减少精度损失,需要对int8模型进一步训练,即量化感知训练,使得模型能够适应不连续的分布,但Round()函数本身不可导,无法对int8模型进行梯度计算,从而无法进行训练;
因此,如图5所示,使用Straight Through Estimator(STE,直通估计器)来估计梯度,即输入的梯度设置为一个等于其输出梯度的阈值函数,而不管该阈值函数本身的实际导数如何,如下式:
Figure BDA0002871678810000082
式中,L为int8模型的损失函数,q为收敛的fp32模型的权重,r为int8模型的权重;
使用上式对int8模型估计梯度,从而进行整个网络的反向传播,得到收敛的int8模型;
但是,由于STE的梯度是近似的,导致了神经网络反向传播时估计的梯度与真实的梯度不匹配问题(grad-mismatch),反映至目标检测模型上即造成了精度下降的问题;
针对该问题,根据所述目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数;
S3、将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型;
其中,基于两者的联合损失函数进行联合训练后,判断所述第一量化模型的map是否达到预设值,若是,则得到收敛后的与所述第一量化模型对应的第二量化模型;若否,则根据预设数据集基于所述联合损失函数继续对所述目标检测模型与所述第一量化模型进行联合训练直至所述第一量化模型的map达到预设值。
实施例二
请参照图1、3、5,本实施例在实施例一的基础上进一步限定了如何对量化后的目标检测模型进行优化:
针对精度下降、难以收敛的问题,利用“知识蒸馏”的原理对第一量化模型进行优化;
具体的,根据所述目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数;
比如,如图5所示,图5中的上半部分模型为收敛的fp32模型,网络同时输出目标的类别和位置,即Classification(分类)和Regression(回归),图5中的下半部分为量化感知训练时收敛的int8模型,同样也输出待检测目标的类别和位置;
除去两个模型各自的分类损失函数之外,同时使用KL散度对两个模型的分类输出进行联合监督,联合分类损失函数为:
Figure BDA0002871678810000091
式中,Pfp32表示收敛的fp32模型对目标的分类概率,Pint8表示收敛的int8模型对目标的分类概率,N表示预测的目标个数;
除去两个模型各自的回归损失函数之外,联合回归损失函数为:
Figure BDA0002871678810000101
式中,xfp32与xint8分别表示收敛的fp32模型与收敛的int8模型输出的目标中心横坐标,yfp32和yint8分别表示收敛的fp32模型与收敛的int8模型输出的目标中心纵坐标,wfp32和wint8分别表示收敛的fp32模型与收敛的int8模型输出的目标宽,hfp32和hint8分别表示收敛的fp32模型与收敛的int8模型输出的目标高;
其中,针对每一个目标,收敛的fp32模型与收敛的int8模型都有一个对应的目标输出,再取两个模型的目标输出差值,将所有目标对应的目标输出差值相加求取平均值,得到所述联合回归损失函数;
因此,可以确定两个模型的联合损失函数为:
Ltotal=αLKL+βLhard_regression+Lori
式中,Lori表示收敛的fp32模型与收敛的int8模型各自的分类损失与回归损失之和,α表示调节联合分类损失权重的参数,β表示调节联合回归损失权重的参数;
上述权重可以根据需要进行调整,本实施例中,α可以取0.001,β可以取0.0001;
S3、将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型;
其中,基于两者的联合损失函数进行联合训练后,判断所述第一量化模型的map是否达到预设值,若是,则得到收敛后的与所述第一量化模型对应的第二量化模型;若否,则根据预设数据集基于所述联合损失函数继续对所述目标检测模型与所述第一量化模型进行联合训练直至所述第一量化模型的map达到预设值;
比如,基于上式对收敛的fp32模型与收敛的int8模型进行联合训练,判断收敛的int8模型的map(mean-ap,客观评测数据)是否达到最小或者满足精度需求,若是,则得到收敛后的最优的int8模型;若否,则根据PASCAL VOC数据集基于上式继续对收敛的fp32模型与收敛的int8模型进行联合训练直至收敛的int8模型的map达到最小或者满足精度需求。
实施例三
本实施例在实施例一或实施例二的基础上进一步验证经过联合训练得到的收敛后的第二量化模型是否能够减少模型量化后的精度损失,提升目标检测模型量化后的精度:
使用PASCAL VOC测试标准中的VOC2007的test对收敛的fp32模型、收敛的int8模型、收敛的最优的int8模型分别进行测试,得到对应的map(mean-ap,客观评测数据),如下表:
Class fp32模型 int8模型 最优的int8模型
aeroplane 0.839 0.797 0.769
bicycle 0.849 0.810 0.829
bird 0.850 0.796 0.832
boat 0.657 0.630 0.603
bottle 0.618 0.547 0.609
bus 0.851 0.793 0.799
car 0.876 0.858 0.865
cat 0.933 0.922 0.928
chair 0.558 0.492 0.506
cow 0.802 0.701 0.752
diningtable 0.643 0.609 0.607
dog 0.910 0.893 0.905
horse 0.882 0.820 0.857
motorbike 0.843 0.739 0.800
person 0.831 0.781 0.802
pottedplant 0.454 0.389 0.431
sheep 0.790 0.758 0.739
sofa 0.716 0.680 0.704
train 0.845 0.798 0.833
tvmonitor 0.791 0.738 0.751
Mean ap 0.777 0.728 0.746
模型大小 160Mb 160M 160M
从表中可以看出,经过联合训练收敛的最优的int8模型相较于独自训练收敛的int8模型,map提高了0.018,即模型精度提高了1.8个百分点,证明本方案减少了模型量化后的精度损失,提升了目标检测模型量化后的精度;需要注意的是,模型量化会将模型压缩至原来的四分之一,但由于量化感知训练过程中量化算法在服务器上通过fp32模拟出int8的量化效果,实际存储的还是fp32模型,部署到端测时,将会配合端侧自动转化成int8模型,因此模型大小没有变化。
实施例四
请参照图2,一种量化模型的生成终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一、实施例二或实施例三中的步骤。
综上所述,本发明提供的一种量化模型的生成方法及终端,利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型,再对该目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型,根据目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数,将两个模型基于联合损失函数进行联合训练,能够优化第一量化模型,使第一量化模型学习目标检测模型的提取特征能力,若第一量化模型的map达到预设值,说明第一量化模型充分学习到了目标检测模型的提取特征能力,则得到收敛后的与第一量化模型对应的第二量化模型,也就是最优的量化模型,且该模型可直接用于部署,若未达到预设值,则继续进行联合训练直至联合损失函数达到预设值,基于知识蒸馏的原理,减少了模型量化后的精度损失,进一步提升了目标检测模型量化后的精度。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种量化模型的生成方法,其特征在于,包括步骤:
利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型;
所述量化方法如下式所示:
r=Round(S(q-Z));
Figure FDA0003340459120000011
式中,q表示所述收敛后的浮点型的目标检测模型的float32权重,Z表示所述收敛后的浮点型的目标检测模型的float32数值在量化时的偏移量,S表示所述收敛后的浮点型的目标检测模型的float32数值的缩放因子,即尺度,Round()表示四舍五入取整的数学函数,r表示量化后的一个整数值,n表示量化的bit数,x为当前待量化神经网络层的所有权重值;
所述梯度估计使用直通估计器,如下式所示:
Figure FDA0003340459120000012
式中,L为所述第一量化模型的损失函数,q为所述收敛后的浮点型的目标检测模型的权重,r为所述第一量化模型的权重;
所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型之前包括:
根据所述目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数。
2.根据权利要求1所述的一种量化模型的生成方法,其特征在于,所述联合分类损失函数为:
Figure FDA0003340459120000021
式中,Pfp32表示所述目标检测模型对目标的分类概率,Pint8表示第一量化模型对目标的分类概率,N表示预测的目标个数;
所述联合回归损失函数为:
Figure FDA0003340459120000022
式中,xfp32与xint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心横坐标,yfp32和yint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心纵坐标,wfp32和wint8分别表示所述目标检测模型与所述第一量化模型输出的目标宽,hfp32和hint8分别表示所述目标检测模型与所述第一量化模型输出的目标高。
3.根据权利要求2所述的一种量化模型的生成方法,其特征在于,所述联合损失函数为:
Ltotal=αLKL+βLhard_regression+Lori
式中,Lori表示所述目标检测模型与所述第一量化模型各自的分类损失与回归损失之和,α表示调节联合分类损失权重的参数,β表示调节联合回归损失权重的参数。
4.根据权利要求1至3中任一项所述的一种量化模型的生成方法,其特征在于,所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型包括:
基于两者的联合损失函数进行联合训练后,判断所述第一量化模型的客观评测数据是否达到预设值,若是,则得到收敛后的与所述第一量化模型对应的第二量化模型;若否,则根据预设数据集基于所述联合损失函数继续对所述目标检测模型与所述第一量化模型进行联合训练直至所述第一量化模型的客观评测数据达到预设值。
5.一种量化模型的生成终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
利用预设数据集对目标检测模型进行训练,得到收敛后的浮点型的目标检测模型;
对所述目标检测模型进行量化并基于梯度估计进行训练,得到收敛后的第一量化模型;
将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型;
所述量化方法如下式所示:
r=Round(S(q-Z));
Figure FDA0003340459120000031
式中,q表示所述收敛后的浮点型的目标检测模型的float32权重,Z表示所述收敛后的浮点型的目标检测模型的float32数值在量化时的偏移量,S表示所述收敛后的浮点型的目标检测模型的float32数值的缩放因子,即尺度,Round()表示四舍五入取整的数学函数,r表示量化后的一个整数值,n表示量化的bit数,x为当前待量化神经网络层的所有权重值;
所述梯度估计使用直通估计器,如下式所示:
Figure FDA0003340459120000032
式中,L为所述第一量化模型的损失函数,q为所述收敛后的浮点型的目标检测模型的权重,r为所述第一量化模型的权重;
所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型之前包括:
根据所述目标检测模型和第一量化模型各自的分类损失函数、联合分类损失函数、各自的回归损失函数和联合回归损失函数确定两者的联合损失函数。
6.根据权利要求5所述的一种量化模型的生成终端,其特征在于,所述联合分类损失函数为:
Figure FDA0003340459120000041
式中,Pfp32表示所述目标检测模型对目标的分类概率,Pint8表示第一量化模型对目标的分类概率,N表示预测的目标个数;
所述联合回归损失函数为:
Figure FDA0003340459120000042
式中,xfp32与xint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心横坐标,yfp32和yint8分别表示所述目标检测模型与所述第一量化模型输出的目标中心纵坐标,wfp32和wint8分别表示所述目标检测模型与所述第一量化模型输出的目标宽,hfp32和hint8分别表示所述目标检测模型与所述第一量化模型输出的目标高。
7.根据权利要求6所述的一种量化模型的生成终端,其特征在于,所述联合损失函数为:
Ltotal=αLKL+βLhard_regression+Lori
式中,Lori表示所述目标检测模型与所述第一量化模型各自的分类损失与回归损失之和,α表示调节联合分类损失权重的参数,β表示调节联合回归损失权重的参数。
8.根据权利要求5至7中任一项所述的一种量化模型的生成终端,其特征在于,所述将所述目标检测模型与所述第一量化模型基于两者的联合损失函数进行联合训练,得到收敛后的与所述第一量化模型对应的第二量化模型包括:
基于两者的联合损失函数进行联合训练后,判断所述第一量化模型的客观评测数据是否达到预设值,若是,则得到收敛后的与所述第一量化模型对应的第二量化模型;若否,则根据预设数据集基于所述联合损失函数继续对所述目标检测模型与所述第一量化模型进行联合训练直至所述第一量化模型的客观评测数据达到预设值。
CN202011601798.7A 2020-12-30 2020-12-30 一种量化模型的生成方法及终端 Active CN112651500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011601798.7A CN112651500B (zh) 2020-12-30 2020-12-30 一种量化模型的生成方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011601798.7A CN112651500B (zh) 2020-12-30 2020-12-30 一种量化模型的生成方法及终端

Publications (2)

Publication Number Publication Date
CN112651500A CN112651500A (zh) 2021-04-13
CN112651500B true CN112651500B (zh) 2021-12-28

Family

ID=75364309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011601798.7A Active CN112651500B (zh) 2020-12-30 2020-12-30 一种量化模型的生成方法及终端

Country Status (1)

Country Link
CN (1) CN112651500B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113705317B (zh) * 2021-04-14 2024-04-26 腾讯科技(深圳)有限公司 图像处理模型训练方法、图像处理方法及相关设备
CN113487014B (zh) * 2021-07-05 2022-08-05 上海西井信息科技有限公司 基于语义分割神经网络模型的任意比特量化方法及设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108765506A (zh) * 2018-05-21 2018-11-06 上海交通大学 基于逐层网络二值化的压缩方法
CN109902745A (zh) * 2019-03-01 2019-06-18 成都康乔电子有限责任公司 一种基于cnn的低精度训练与8位整型量化推理方法
CN110633747A (zh) * 2019-09-12 2019-12-31 网易(杭州)网络有限公司 目标检测器的压缩方法、装置、介质以及电子设备
CN111178197A (zh) * 2019-12-19 2020-05-19 华南农业大学 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法
CN111428765A (zh) * 2020-03-17 2020-07-17 武汉大学 一种基于全局卷积、局部深度卷积融合的目标检测方法
CN111612144A (zh) * 2020-05-22 2020-09-01 深圳金三立视频科技股份有限公司 一种应用于目标检测的剪枝方法及终端
CN111709497A (zh) * 2020-08-20 2020-09-25 腾讯科技(深圳)有限公司 一种信息处理方法、装置及计算机可读存储介质
CN111950700A (zh) * 2020-07-06 2020-11-17 华为技术有限公司 一种神经网络的优化方法及相关设备
CN111967305A (zh) * 2020-07-01 2020-11-20 华南理工大学 一种基于轻量级卷积神经网络的实时多尺度目标检测方法
CN112016605A (zh) * 2020-08-19 2020-12-01 浙江大学 一种基于边界框角点对齐和边界匹配的目标检测方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247989B (zh) * 2017-06-15 2020-11-24 北京图森智途科技有限公司 一种实时的计算机视觉处理方法及装置
CN110321923B (zh) * 2019-05-10 2021-05-04 上海大学 不同尺度感受野特征层融合的目标检测方法、系统及介质
CN110363281A (zh) * 2019-06-06 2019-10-22 上海交通大学 一种卷积神经网络量化方法、装置、计算机和存储介质
CN111967468A (zh) * 2020-08-10 2020-11-20 东南大学 一种基于fpga的轻量级目标检测神经网络的实现方法
CN112150821B (zh) * 2020-10-14 2022-05-06 清华大学 轻量化车辆检测模型构建方法、系统及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108765506A (zh) * 2018-05-21 2018-11-06 上海交通大学 基于逐层网络二值化的压缩方法
CN109902745A (zh) * 2019-03-01 2019-06-18 成都康乔电子有限责任公司 一种基于cnn的低精度训练与8位整型量化推理方法
CN110633747A (zh) * 2019-09-12 2019-12-31 网易(杭州)网络有限公司 目标检测器的压缩方法、装置、介质以及电子设备
CN111178197A (zh) * 2019-12-19 2020-05-19 华南农业大学 基于Mask R-CNN和Soft-NMS融合的群养粘连猪实例分割方法
CN111428765A (zh) * 2020-03-17 2020-07-17 武汉大学 一种基于全局卷积、局部深度卷积融合的目标检测方法
CN111612144A (zh) * 2020-05-22 2020-09-01 深圳金三立视频科技股份有限公司 一种应用于目标检测的剪枝方法及终端
CN111967305A (zh) * 2020-07-01 2020-11-20 华南理工大学 一种基于轻量级卷积神经网络的实时多尺度目标检测方法
CN111950700A (zh) * 2020-07-06 2020-11-17 华为技术有限公司 一种神经网络的优化方法及相关设备
CN112016605A (zh) * 2020-08-19 2020-12-01 浙江大学 一种基于边界框角点对齐和边界匹配的目标检测方法
CN111709497A (zh) * 2020-08-20 2020-09-25 腾讯科技(深圳)有限公司 一种信息处理方法、装置及计算机可读存储介质

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Fully Quantized Network for Object Detection;Rundong Li 等;《2019 IEEE conference on computer vision and pattern recognition》;20200109;2810-2819 *
Learning Efficient Object Detection Models with Knowledge Distillation;Guobin Chen 等;《31st Conference on Neural Information Processing Systems》;20171231;1-10 *
Training Quantized Neural Networks with a Full-precision Auxiliary Module;Bohan Zhuang 等;《2020 IEEE Conference on Computer Vision and Pattern Recognition》;20200805;1488-1497 *
一种基于多尺度特征融合的目标检测算法;张涛 等;《激光与光电子学进展》;20200812;第58卷(第2期);294-300 *
基于优化损失函数的YOLOv2目标检测器;杨海龙 等;《辽宁科技大学学报》;20200229;第43卷(第1期);52-57+71 *
基于位量化的深度神经网络加速与压缩研究;牟帅;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180615;I138-1290 *
基于目标检测的神经网络压缩与优化算法研究;彭康坚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200115;I138-1252 *
深度卷积神经网络压缩方法研究与实现;贾群;《中国优秀硕士学位论文全文数据库 信息科技辑》》;20191215;I140-51 *

Also Published As

Publication number Publication date
CN112651500A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
CN105868178B (zh) 一种基于短语主题建模的多文档自动摘要生成方法
CN112651500B (zh) 一种量化模型的生成方法及终端
CN110427654B (zh) 一种基于敏感状态的滑坡预测模型构建方法及系统
CN107203600B (zh) 一种利用刻画因果依赖关系和时序影响机制增强答案质量排序的评判方法
CN115131347B (zh) 一种用于锌合金零件加工的智能控制方法
CN111144552A (zh) 一种粮食品质多指标预测方法及装置
CN105895089A (zh) 一种语音识别方法及装置
CN109618288B (zh) 基于深度卷积神经网络的无线传感网距离测量系统及方法
CN117131348B (zh) 基于差分卷积特征的数据质量分析方法及系统
CN111476402A (zh) 耦合气象信息与emd技术的风电发电能力预测方法
JP2015038709A (ja) モデルパラメータ推定方法、装置、及びプログラム
CN109522515A (zh) 基于样本分位数的SαS分布参数估计的迭代方法
CN115983320A (zh) 一种基于深度强化学习的联邦学习模型参数量化方法
CN106803233B (zh) 图像透视变换的优化方法
WO2023102844A1 (zh) 剪枝模块的确定方法、装置及计算机可读存储介质
CN110929849B (zh) 一种基于神经网络模型压缩的视频检测方法和装置
CN110288592B (zh) 一种基于概率语义分析模型的锌浮选加药状态评价的方法
CN115032682A (zh) 一种基于图论的多站台地震震源参数估计方法
CN113592013A (zh) 一种基于图注意力网络的三维点云分类方法
CN113743012A (zh) 一种多用户场景下的云-边缘协同模式任务卸载优化方法
CN108932550B (zh) 一种基于模糊密集稀疏密集算法进行图像分类的方法
CN112464173A (zh) 基于mle和bic的随机点模式参数估计方法
CN112580714B (zh) 一种以错因强化方式动态优化损失函数的物品识别方法
CN115330346B (zh) 基于能力评价的滑坡众包标注结果评估及任务分配方法
CN114626527B (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