图像分类模型的知识蒸馏方法、装置和计算机设备与流程

文档序号:23654930发布日期:2021-01-15 13:51阅读:207来源:国知局
图像分类模型的知识蒸馏方法、装置和计算机设备与流程

本申请涉及机器学习技术领域,特别是涉及一种图像分类模型的知识蒸馏方法、装置和计算机设备。



背景技术:

随着机器学习技术的发展,采用模型进行图像处理或识别已经越来越普遍。通常来说,更大更深更复杂的模型有着更好的拟合效果与更好的预测能力,但同时其计算效率低、耗时大、参数量大,从而不利于移动端、芯片端等应用层的部署;而简单模型虽然拟合能力弱,但其计算效率更高、参数量更少,从而更利于部署。

而知识蒸馏(knowledgedistillation)作为一种重要的模型压缩手段,可以将复杂模型(teacher,也称教师模块或第一模型)中的知识(darkknowledge)迁移到简单模型(student,也称学生模型或第二模型)中,来使得student模型的拟合能力能够逼近甚至超过teacher模型,从而用更少的时间和空间复杂度来得到类似的预测效果。然而,不同的知识蒸馏方法对于需要迁移的darkknowledge定义不同。其中,在分类任务上,传统的基于输出结果的知识蒸馏,通常是通过直接拉近teacher模型与student模型的输出值(模型softmax(逻辑回归)之后输出的logits(一个事件发生与该事件不发生的比值的对数)值或者网络中间层输出的feature(特征))之间的距离,使得student模型得到近似teacher模型的预测结果。

但目前基于图像分类任务的知识蒸馏方法通常只考虑到了单个batch(批)样本层面的信息提取,不具有全局性,从而无法得到性能更佳的图像分类student模型。



技术实现要素:

基于此,有必要针对上述传统基于输出结果的知识蒸馏无法得到性能更佳的student模型的问题,提供一种能够得到更佳性能的图像分类模型的知识蒸馏方法、装置和计算机设备。

一种图像分类模型的知识蒸馏方法,所述方法包括:

获取用于知识蒸馏的训练数据集,所述训练数据集中包括多个样本图像;

将所述训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与所述训练数据集对应的图像特征集合,所述图像特征集合中包括与每一个样本图像一一对应的第一图像特征;

对于所述训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征;

根据所述训练数据集中任意一个样本图像对应的第二图像特征以及所述训练数据集对应的图像特征集合确定蒸馏损失;

根据所述蒸馏损失对所述第二分类模型进行反向传播,更新所述第二分类模型的模型参数。

在其中一个实施例中,所述根据所述训练数据集中任意一个样本图像对应的第二图像特征以及所述训练数据集对应的图像特征集合确定蒸馏损失,包括:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的正例特征和负例特征;根据所述样本图像对应的正例特征、负例特征以及第二图像特征,计算所述蒸馏损失。

在其中一个实施例中,所述基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的正例特征和负例特征,包括:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的第一图像特征,确定为与所述样本图像对应的正例特征;获取所述图像特征集合中除与所述样本图像对应的正例特征之外的其他第一图像特征,确定为与所述样本图像对应的负例特征。

在其中一个实施例中,所述根据所述样本图像对应的正例特征、负例特征以及第二图像特征,计算所述蒸馏损失,包括:根据所述样本图像对应的正例特征、负例特征以及第二图像特征,采用信息噪声收敛估计损失函数计算所述蒸馏损失,所述信息噪声收敛估计损失函数其中,q为所述样本图像对应的第二图像特征,t+为所述样本图像对应的正例特征,ti-为所述样本图像对应的负例特征,k为所述负例特征的个数,τ为超参数。

在其中一个实施例中,所述将所述训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与所述训练数据集对应的图像特征集合,包括:将所述训练数据集中的每一个样本图像输入第一分类模型,得到与每一个样本图像一一对应的第一原始图像特征;对于每一个第一原始图像特征分别进行范数归一化处理,得到对应处理后的第一图像特征;基于每一个第一原始图像特征分别对应的第一图像特征,得到对应的图像特征集合。

在其中一个实施例中,所述对于所述训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征,包括:对于所述训练数据集中任意一个样本图像,将样本图像输入第二分类模型,得到与所述样本图像对应的第二原始图像特征;对所述第二原始图像特征进行仿射变换以及范数归一化处理,得到对应处理后的第二图像特征。

一种图像分类处理方法,所述方法包括:

获取待处理图像;

通过图像分类模型对所述待处理图像进行分类处理,得到所述待处理图像的分类结果,所述图像分类模型为通过如上所述的图像分类模型的知识蒸馏方法得到的第二分类模型。

一种图像分类模型的知识蒸馏装置,所述装置包括:

训练数据集获取模块,用于获取进行知识蒸馏的训练数据集,所述训练数据集中包括多个样本图像;

第一图像特征提取模块,用于将所述训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与所述训练数据集对应的图像特征集合,所述图像特征集合中包括与每一个样本图像一一对应的第一图像特征;

第二图像特征提取模块,用于对于所述训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征;

蒸馏损失获取模块,用于根据所述训练数据集中任意一个样本图像对应的第二图像特征以及所述训练数据集对应的图像特征集合确定蒸馏损失;

反向传播模块,用于根据所述蒸馏损失对所述第二分类模型进行反向传播,更新所述第二分类模型的模型参数。

一种图像分类处理装置,所述装置包括:

待处理图像获取模块,用于获取待处理图像;

分类处理模块,用于通过图像分类模型对所述待处理图像进行分类处理,得到所述待处理图像的分类结果,所述图像分类模型为通过如上所述的图像分类模型的知识蒸馏方法得到的第二分类模型。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

上述图像分类模型的知识蒸馏方法、装置和计算机设备,通过获取用于知识蒸馏的训练数据集,将训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与训练数据集对应的图像特征集合,对于训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征,并根据训练数据集中任意一个样本图像对应的第二图像特征以及训练数据集对应的图像特征集合确定蒸馏损失,根据蒸馏损失对第二分类模型进行反向传播,更新第二分类模型的模型参数,从而使得第二分类模型能够真正学习到样本图像之间的关系特征,并达到与第一分类模型类似的预测效果,以得到性能更佳的图像分类模型。

附图说明

图1为一个实施例中图像分类模型的知识蒸馏方法的流程示意图;

图2为一个实施例中获取第一图像特征步骤的流程示意图;

图3为一个实施例中获取第二图像特征步骤的流程示意图;

图4为一个实施例中确定蒸馏损失步骤的流程示意图;

图5为另一个实施例中图像分类模型的知识蒸馏方法的流程示意图;

图6为一个实施例中图像分类处理方法的流程示意图;

图7为一个实施例中图像分类模型的知识蒸馏装置的结构框图;

图8为一个实施例中图像分类处理装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

由于传统的基于输出结果的知识蒸馏,是通过直接拉近teacher模型与student模型的输出值之间的距离,使得student模型得到近似teacher模型的预测结果。但这种方法显然存在直观上的缺点,student模型只能学习到teacher模型的输出表现,而无法真正的学习到样本之间的关系特征。而近来一些度量学习领域的知识也慢慢的开始被用来改进知识蒸馏中的loss(损失)函数,直观上的理解就是,在teacher模型的特征空间上的距离近的样本,在student模型的特征空间上也应该足够近,同理在teacher模型的特征空间上的距离远的样本,在student模型的特征空间上也应该较远。

基于此,本申请提供了一种图像分类模型的知识蒸馏方法,如图1所示,包括以下步骤:

步骤110,获取用于知识蒸馏的训练数据集。

其中,训练数据集中包括多个样本图像,该训练数据集是用于通过知识蒸馏将teacher模型中的知识迁移到student模型的过程中,使得student模型能够真正学习到样本图像之间的关系特征,从而达到与teacher模型类似的预测效果的样本数据。在本实施例中,以图像分类任务来说,teacher模型可以是已训练好模型参数的第一分类模型,student模型则可以是待通过知识蒸馏获得该第一分类模型中的知识的第二分类模型。具体地,当要通过知识蒸馏将第一分类模型中的知识迁移到第二分类模型中时,则首先需要获取用于知识蒸馏的训练数据集,该训练数据集中的每一个样本图像可以为任意尺寸的静态图像或者视频帧图像等。

步骤120,将训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与训练数据集对应的图像特征集合。

其中,第一分类模型是已训练好的用于对图像进行分类的神经网络,其通常包括输入层、隐藏层和输出层,在本实施例中,第一分类模型是具有一定的复杂度和规模的神经网络。图像特征集合中包括与每一个样本图像一一对应的第一图像特征,第一图像特征则是第一分类模型在对样本图像进行分类检测时所提取的图像特征结果,在本实施例中,第一图像特征是样本图像经过第一分类模型的输出层之前得到的图像特征。具体地,将过将训练数据集中的每一个样本图像输入第一分类模型,从而得到每一个样本图像分别对应的第一图像特征,基于训练数据集中每一个样本图像一一对应的第一图像特征,得到与训练数据集对应的图像特征集合,即图像特征集合中包括每一个样本图像的第一图像特征。

步骤130,对于训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征。

其中,第二分类模型是待通过知识蒸馏获得上述第一分类模型中的知识的神经网络,其通常包括输入层、隐藏层和输出层。该第二分类模型的复杂度和规模均低于上述第一分类模型,也就是说,该第一分类模型可以为包含较多层、结构复杂且功能强大的神经网络,第二分类模型则为包含层数较少,结构简单的神经网络。第二图像特征则是第二分类模型在对样本图像进行分类检测时所提取的图像特征结果,在本实施例中,第二图像特征是样本图像经过第二分类模型的输出层之前得到的图像特征。具体地,对于训练数据集中的任意一个样本图像,将该样本图像输入第二分类模型,从而得到该样本图像对应的第二图像特征。

步骤140,根据训练数据集中任意一个样本图像对应的第二图像特征以及训练数据集对应的图像特征集合确定蒸馏损失。

其中,蒸馏损失用于表征在知识蒸馏过程中第二分类模型相对于第一分类模型的差距。在本实施例中,通过训练数据集中任意一个样本图像对应的第二图像特征以及训练数据集对应的图像特征集合而确定蒸馏损失,进而基于蒸馏损失调整第二分类模型的模型参数,从而使得第二分类模型能够真正学习到样本图像之间的关系特征,并达到与第一分类模型类似的预测效果。

步骤150,根据蒸馏损失对第二分类模型进行反向传播,更新第二分类模型的模型参数。

具体地,在通过上述步骤得到蒸馏损失后,则可以根据该蒸馏损失,对第二分类模型进行一次反向传播,完成对第二分类模型的一次迭代训练的计算,从而更新第二分类模型的模型参数。可以理解的是,对于训练数据集中的每一个样本图像,均可以按上述步骤130至步骤150的方法进行第二图像特征的提取,并确定蒸馏损失,进而根据蒸馏损失对第二分类模型的模型参数进行更新,从而使得第二分类模型能够真正学习到样本图像之间的关系特征,并达到与第一分类模型类似的预测效果。

上述图像分类模型的知识蒸馏方法,其通过获取用于知识蒸馏的训练数据集,将训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与训练数据集对应的图像特征集合,对于训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征,并根据训练数据集中任意一个样本图像对应的第二图像特征以及训练数据集对应的图像特征集合确定蒸馏损失,根据蒸馏损失对第二分类模型进行反向传播,更新第二分类模型的模型参数,从而使得第二分类模型能够真正学习到样本图像之间的关系特征,并达到与第一分类模型类似的预测效果,以得到性能更佳的图像分类模型。

在一个实施例中,如图2所示,在上述步骤120中,将训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与训练数据集对应的图像特征集合,具体可以包括如下步骤:

步骤121,将训练数据集中的每一个样本图像输入第一分类模型,得到与每一个样本图像一一对应的第一原始图像特征。

其中,第一原始图像特征是样本图像经过第一分类模型的输出层之前,也即样本图像经过第一分类模型的隐藏层之后还未经过输出层处理所得到的原始图像特征。具体地,通过将训练数据集中的每一个样本图像输入第一分类模型,从而得到每一个样本图像分别对应的第一原始图像特征,即得到与每一个样本图像一一对应的第一原始图像特征。

步骤122,对于每一个第一原始图像特征分别进行范数归一化处理,得到对应处理后的第一图像特征。

其中,本实施例中的范数归一化处理可以采用l2范数归一化的方式进行处理,l2范数归一化是对向量x的每个维度数据x1,x2,…,xn都除以||x||2(即l2范数)得到一个新向量,通过l2范数归一化处理可以消除特征之间单位的影响,并提升学习模型的收敛速度。在本实施例中,对于每一个第一原始图像特征的每个维度数据都除以l2范数,从而得到对每一个第一原始图像特征进行范数归一化处理后的第一图像特征。

步骤123,基于每一个第一原始图像特征分别对应的第一图像特征,得到对应的图像特征集合。

具体地,基于每一个第一原始图像特征分别对应的第一图像特征,得到与训练数据集对应的图像特征集合,即图像特征集合中包括与每一个样本图像一一对应的第一图像特征。

上述实施例中,通过将训练数据集中的每一个样本图像输入第一分类模型,得到与每一个样本图像一一对应的第一原始图像特征,对于每一个第一原始图像特征分别进行范数归一化处理,得到对应处理后的第一图像特征,基于每一个第一原始图像特征分别对应的第一图像特征,得到对应的图像特征集合,由于该图像特征集合中存储的是多个样本图像的图像特征,从而解决了单个batch内样本数目不够的问题。

在一个实施例中,如图3所示,在上述步骤130中,对于训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征,具体可以包括如下步骤:

步骤131,对于训练数据集中任意一个样本图像,将样本图像输入第二分类模型,得到与样本图像对应的第二原始图像特征。

同理,第二原始图像特征是样本图像经过第二分类模型的输出层之前,也即样本图像经过第二分类模型的隐藏层之后还未经过输出层处理所得到的原始图像特征。具体地,对于训练数据集中的任意一个样本图像,通过将该样本图像输入第二分类模型,从而得到该样本图像对应的第二原始图像特征。

步骤132,对第二原始图像特征进行仿射变换以及范数归一化处理,得到对应处理后的第二图像特征。

其中,仿射变换又称仿射映射,是指在几何中,将一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间的过程。在本实施例中,通过对第二原始图像特征进行仿射变换,从而使得通过第二分类模型输出的第二原始图像特征的维度与通过第一分类模型输出的第一原始图像特征的维度相一致。进而对进行仿射变换后的第二原始图像特征进行范数归一化处理,从而得到对应处理后的第二图像特征。其中,范数归一化处理可以采用与上述步骤122中相同的方法,本实施例中不再对此进行赘述。

上述实施例中,对于训练数据集中任意一个样本图像,将样本图像输入第二分类模型,得到与样本图像对应的第二原始图像特征,并对第二原始图像特征进行仿射变换以及范数归一化处理,得到对应处理后的与第一图像特征具有相同维度的第二图像特征,从而便于第二分类模型学习到样本图像之间的关系特征。

在一个实施例中,如图4所示,在上述步骤140中,根据训练数据集中任意一个样本图像对应的第二图像特征以及训练数据集对应的图像特征集合确定蒸馏损失,具体可以包括如下步骤:

步骤141,基于训练数据集中的任意一个样本图像,获取图像特征集合中与样本图像对应的正例特征和负例特征。

其中,正例特征是指对于训练数据集中的任意一个样本图像,在图像特征集合中与该样本图像对应的第一图像特征,而负例特征则是图像特征集合中除与该样本图像对应的正例特征之外的其他第一图像特征。也即,对于训练数据集中的任意一个样本图像,其对应的正例特征为该样本图像在图像特征集合中对应的第一图像特征,负例特征则是图像特征集合中除该样本图像对应的正例特征之外的所有第一图像特征。基于此,可以确定训练数据集中任意一个样本图像对应的正例特征和负例特征。

步骤142根据样本图像对应的正例特征、负例特征以及第二图像特征,计算蒸馏损失。

具体地,本实施例可以采用信息噪声收敛估计损失函数(infonoise-constrastiveestimationloss)计算所述蒸馏损失,其中,信息噪声收敛估计损失函数其中,q为训练数据集中任意一个样本图像对应的第二图像特征,t+为该样本图像在图像特征集合中对应的正例特征,ti-为该样本图像在图像特征集合中对应的第i个负例特征,k为图像特征集合中该样本图像对应的负例特征的个数,τ为可设置的超参数。

如图5所示,以下基于图5进一步说明本申请中图像分类模型的知识蒸馏方法,其中,teacher模型与student模型的模型结构为预先给定的,且预训练好teacher模型的网络参数,则对student模型进行知识蒸馏的方法如下:

1、固定teacher模型的网络参数,获取用于知识蒸馏的训练数据集(假设其含有n个样本图像),将每个样本图像输入该teacher模型,得到每个样本图像经过teacher模型全连接层之前的feature(即第一原始图像特征),分别记为f1,f2,…,fn,其中,fi∈rd,d为特征维度。对于每个样本图像输出的特征fi(即每个样本图像对应的第一原始图像特征)经由“l2norm1”层(即l2范数归一化层)做l2范数归一化处理,从而得到对应处理后的第一图像特征即ti。

其中,l2范数归一化层(即l2norm1)的处理过程如下:

其中,fi为第i个样本图像经teacher模型输出后得到的第一原始图像特征,‖fi‖2为第i个样本图像输出的特征fi所对应的l2范数,d为特征维度,fij为fi的第j维图像特征。

其中,ti则为对fi进行l2范数归一化处理后得到的第一图像特征。对于上述训练数据集中每一个样本图像一一对应的f1,f2,…,fn,经过l2范数归一化处理后得到对应的t1,t2,…,tn,组成的图像特征集合作为memorybank(记忆库),其大小为n×d,其中n为集合中元素的个数,也即第一图像特征的个数,d为每一个第一图像特征的特征维度。

2、对于训练数据集中任意一个样本图像m,得到该样本图像m经过student模型全连接层之前的feature(即第二原始图像特征),若记为fm,则fm∈rd,d为特征维度。

在本实施例中,通过对fm进行仿射变换(具体可通过图中的fc层进行仿射变换处理),从而使得fm具有与fi相同的特征维度,在本实施例中,fc层其具体的仿射变换如下所示:

qm′=wfm+b;其中,w∈rd×d,w表示仿射变换的参数矩阵,b为偏置,d为fm的特征维度,d为对fm进行仿射变换的目标特征维度,fm为样本图像m经student模型输出后得到的第二原始图像特征,qm′为对fm进行仿射变换后得到的对应的图像特征。

进而对qm′进行l2范数归一化处理(具体由“l2norm2”层进行处理),从而得到对应处理后的第二图像特征即q。其中,l2范数归一化处理过程如下:

其中,qm′为对fm进行仿射变换后得到的对应的图像特征,‖qm′‖2为图像特征qm′所对应的l2范数,d为特征维度,qm′j为qm′的第j维图像特征。

其中,q为对qm′进行l2范数归一化处理后得到的第二图像特征。

3、对于样本图像m,其对应在memorybank中的第一图像特征ti+为正例特征(为方便说明,以下公式中用t+表示),而memorybank中的其他第一图像特征则为样本图像m对应的负例特征(为方便说明,以下公式中用ti-表示),其中k为负例特征的个数。

4、对于上述样本图像m,基于上述得到的对应memorybank中的正例特征与负例特征求该样本图像对应的infonceloss:

其中,q为样本图像m对应的第二图像特征,t+为样本图像m对应的正例特征,ti-为样本图像m对应的第i个负例特征,k为负例特征的个数,τ为可设置的超参数。

基于此,对于任意样本图像n,则基于memorybank中的正例特征与负例特征求infonceloss:

其中,qn为任意样本图像n对应的第二图像特征,tn+为样本图像n对应的正例特征,为样本图像n对应的第j个负例特征,k为负例特征的个数,τ为可设置的超参数。

5、loss回传,根据梯度更新student网络参数。

本实施例提供的图像分类模型的知识蒸馏方法,通过引入memorybank来储存大量样本图像的特征向量,解决了单个batch内样本图像数目不够的问题,同时通过infonceloss替换传统知识蒸馏中常用的kl散度,相比传统的关系蒸馏的方案中,利用在表征学习任务上表现优异的infonceloss来提取teacher模型与student模型输出样本图像间相似性的信息,且利用memorybank确保特征复用,同时利用infonce优秀的区分positivepair(正例特征)与negativepair(负例特征)的能力加上memorybank提供的大量negativepair,从而极大的提升了对于图像分类模型的知识蒸馏效果。

在一个实施例中,如图6所示,本申请还提供了一种图像分类处理方法,包括以下步骤:

步骤610,获取待处理图像。

其中,待处理图像为待进行分类处理的图像。其中分类处理包括但不限于进行目标检测或识别、进行前背景分割或进行目标跟踪等中涉及分类的场景。

步骤620,通过图像分类模型对待处理图像进行分类处理,得到待处理图像的分类结果。

其中,图像分类模型为通过如上图1至图5所述的图像分类模型的知识蒸馏方法得到的第二分类模型。可以理解的是,在通过如上图1至图5所述的图像分类模型的知识蒸馏方法得到该第二分类模型后,还可以基于实际应用中涉及分类的场景对该第二分类模型进行训练,使其能够学习到具体场景中的分类特征,并通过训练后的第二分类模型对待处理图像进行分类处理,从而得到待处理图像的分类结果。

由于上述用于进行分类处理的图像分类模型是通过如上图1至图5所述的图像分类模型的知识蒸馏方法得到的,因此,该图像分类模型能够真正学习到样本图像之间的关系特征,并达到与复杂模型类似的预测效果,在对其进行训练后用于具体的分类任务时,其输出的分类结果也会更加准确。

应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,提供了一种图像分类模型的知识蒸馏装置,包括:训练数据集获取模块701、第一图像特征提取模块702、第二图像特征提取模块703、蒸馏损失获取模块704和反向传播模块705,其中:

训练数据集获取模块701,用于获取进行知识蒸馏的训练数据集,所述训练数据集中包括多个样本图像;

第一图像特征提取模块702,用于将所述训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与所述训练数据集对应的图像特征集合,所述图像特征集合中包括与每一个样本图像一一对应的第一图像特征;

第二图像特征提取模块703,用于对于所述训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征;

蒸馏损失获取模块704,用于根据所述训练数据集中任意一个样本图像对应的第二图像特征以及所述训练数据集对应的图像特征集合确定蒸馏损失;

反向传播模块705,用于根据所述蒸馏损失对所述第二分类模型进行反向传播,更新所述第二分类模型的模型参数。

在一个实施例中,所述蒸馏损失获取模块704包括:特征获取单元,用于基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的正例特征和负例特征;损失计算单元,用于根据所述样本图像对应的正例特征、负例特征以及第二图像特征,计算所述蒸馏损失。

在一个实施例中,所述特征获取单元具体用于:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的第一图像特征,确定为与所述样本图像对应的正例特征;获取所述图像特征集合中除与所述样本图像对应的正例特征之外的其他第一图像特征,确定为与所述样本图像对应的负例特征。

在一个实施例中,损失计算单元具体用于:根据所述样本图像对应的正例特征、负例特征以及第二图像特征,采用信息噪声收敛估计损失函数计算所述蒸馏损失,所述信息噪声收敛估计损失函数其中,q为所述样本图像对应的第二图像特征,t+为所述样本图像对应的正例特征,ti-为所述样本图像对应的第i个负例特征,k为所述负例特征的个数,τ为超参数。

在一个实施例中,第一图像特征提取模块具体用于:将所述训练数据集中的每一个样本图像输入第一分类模型,得到与每一个样本图像一一对应的第一原始图像特征;对于每一个第一原始图像特征分别进行范数归一化处理,得到对应处理后的第一图像特征;基于每一个第一原始图像特征分别对应的第一图像特征,得到对应的图像特征集合。

在一个实施例中,第二图像特征提取模块具体用于:对于所述训练数据集中任意一个样本图像,将样本图像输入第二分类模型,得到与所述样本图像对应的第二原始图像特征;对所述第二原始图像特征进行仿射变换以及范数归一化处理,得到对应处理后的第二图像特征。

关于图像分类模型的知识蒸馏装置的具体限定可以参见上文中对于图像分类模型的知识蒸馏方法的限定,在此不再赘述。上述图像分类模型的知识蒸馏装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,如图8所示,提供了一种图像分类处理装置,包括:待处理图像获取模块801和分类处理模块802,其中:

待处理图像获取模块801,用于获取待处理图像;

分类处理模块802,用于通过图像分类模型对所述待处理图像进行分类处理,得到所述待处理图像的分类结果,所述图像分类模型为通过如上所述的图像分类模型的知识蒸馏方法得到的第二分类模型。

关于图像分类处理装置的具体限定可以参见上文中对于图像分类处理方法的限定,在此不再赘述。上述图像分类处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练数据集对应的图像特征集合。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像分类模型的知识蒸馏方法或实现一种图像分类处理方法。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取用于知识蒸馏的训练数据集,所述训练数据集中包括多个样本图像;

将所述训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与所述训练数据集对应的图像特征集合,所述图像特征集合中包括与每一个样本图像一一对应的第一图像特征;

对于所述训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征;

根据所述训练数据集中任意一个样本图像对应的第二图像特征以及所述训练数据集对应的图像特征集合确定蒸馏损失;

根据所述蒸馏损失对所述第二分类模型进行反向传播,更新所述第二分类模型的模型参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的正例特征和负例特征;根据所述样本图像对应的正例特征、负例特征以及第二图像特征,计算所述蒸馏损失。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的第一图像特征,确定为与所述样本图像对应的正例特征;获取所述图像特征集合中除与所述样本图像对应的正例特征之外的其他第一图像特征,确定为与所述样本图像对应的负例特征。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述样本图像对应的正例特征、负例特征以及第二图像特征,采用信息噪声收敛估计损失函数计算所述蒸馏损失,所述信息噪声收敛估计损失函数其中,q为所述样本图像对应的第二图像特征,t+为所述样本图像对应的正例特征,ti-为所述样本图像对应的第i个负例特征,k为所述负例特征的个数,τ为超参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述训练数据集中的每一个样本图像输入第一分类模型,得到与每一个样本图像一一对应的第一原始图像特征;对于每一个第一原始图像特征分别进行范数归一化处理,得到对应处理后的第一图像特征;基于每一个第一原始图像特征分别对应的第一图像特征,得到对应的图像特征集合。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:对于所述训练数据集中任意一个样本图像,将样本图像输入第二分类模型,得到与所述样本图像对应的第二原始图像特征;对所述第二原始图像特征进行仿射变换以及范数归一化处理,得到对应处理后的第二图像特征。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取待处理图像;

通过图像分类模型对所述待处理图像进行分类处理,得到所述待处理图像的分类结果,所述图像分类模型为通过如上所述的图像分类模型的知识蒸馏方法得到的第二分类模型。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取用于知识蒸馏的训练数据集,所述训练数据集中包括多个样本图像;

将所述训练数据集中的每一个样本图像输入第一分类模型进行图像特征提取,得到与所述训练数据集对应的图像特征集合,所述图像特征集合中包括与每一个样本图像一一对应的第一图像特征;

对于所述训练数据集中任意一个样本图像,通过第二分类模型进行图像特征提取,得到对应的第二图像特征;

根据所述训练数据集中任意一个样本图像对应的第二图像特征以及所述训练数据集对应的图像特征集合确定蒸馏损失;

根据所述蒸馏损失对所述第二分类模型进行反向传播,更新所述第二分类模型的模型参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的正例特征和负例特征;根据所述样本图像对应的正例特征、负例特征以及第二图像特征,计算所述蒸馏损失。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于所述训练数据集中的任意一个样本图像,获取所述图像特征集合中与所述样本图像对应的第一图像特征,确定为与所述样本图像对应的正例特征;获取所述图像特征集合中除与所述样本图像对应的正例特征之外的其他第一图像特征,确定为与所述样本图像对应的负例特征。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述样本图像对应的正例特征、负例特征以及第二图像特征,采用信息噪声收敛估计损失函数计算所述蒸馏损失,所述信息噪声收敛估计损失函数其中,q为所述样本图像对应的第二图像特征,t+为所述样本图像对应的正例特征,ti-为所述样本图像对应的第i个负例特征,k为所述负例特征的个数,τ为超参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述训练数据集中的每一个样本图像输入第一分类模型,得到与每一个样本图像一一对应的第一原始图像特征;对于每一个第一原始图像特征分别进行范数归一化处理,得到对应处理后的第一图像特征;基于每一个第一原始图像特征分别对应的第一图像特征,得到对应的图像特征集合。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对于所述训练数据集中任意一个样本图像,将样本图像输入第二分类模型,得到与所述样本图像对应的第二原始图像特征;对所述第二原始图像特征进行仿射变换以及范数归一化处理,得到对应处理后的第二图像特征。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取待处理图像;

通过图像分类模型对所述待处理图像进行分类处理,得到所述待处理图像的分类结果,所述图像分类模型为通过如上所述的图像分类模型的知识蒸馏方法得到的第二分类模型。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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