APP下载

基于多分类器分级蒸馏的长尾视觉识别方法

2024-11-05巩炫瑾

现代信息科技 2024年16期

摘 要:为了提高模型在长尾视觉识别领域的性能,文章提出了一种多分类器分级蒸馏框架,该框架包括旋转自监督预训练和多分类器蒸馏。旋转自监督预训练通过预测图像旋转,平等地考虑每一张图像,减少模型受到长尾标签的影响。多分类器蒸馏通过三个专门优化的分类器将教师模型的知识一一对应蒸馏到学生模型。在开源的长尾图像识别数据集上进行了充分实验,并与现有方法进行了比较。实验结果表明,所提出的方法在长尾图像视觉识别方面取得了一定的提升。

关键词:知识蒸馏;长尾分布;图像识别;深度学习模型

中图分类号:TP183;TP391.4 文献标识码:A 文章编号:2096-4706(2024)16-0049-05

Long-tailed Visual Recognition Method Based on Multi-classifier Graded Distillation

Abstract: In order to enhance model performance in the long-tailed visual recognition domain, this paper proposes a multi-classifier graded distillation framework. The framework comprises rotation self-supervised pre-training and multi-classifier distillation. Rotation self-supervised pre-training treats each image equally by predicting image rotations, and mitigates the impact of long-tailed labels on the model. Multi-classifier systematically distills the knowledge from the teacher model to the student model through three specifically optimized classifiers. Extensive experiment results are conducted on open-source long-tailed image recognition datasets, and comparisons are made with existing methods. The experimental results demonstrate that the proposed method achieves notable improvements in long-tailed image visual recognition.

Keywords: knowledge distillation; long-tailed distribution; image recognition; Deep Learning model

0 引 言

不平衡数据在现实世界中是普遍存在的,大规模的数据集往往以一种长尾分布的形式呈现[1]。尤其在安全或健康相关方面的应用,如自动驾驶和医疗诊断[2],数据本质上是严重失衡的。尽管现代深度学习和机器学习技术已经在不同的任务集上取得了令人印象深刻的成果,但大多数模型在面对非常罕见或长尾样本的不均匀数据分布时仍会遇到困难。如何从这种不平衡数据集中获取到有用信息已然成为当下研究的热点。

处理不平衡数据的一个经典方法是数据重采样方法[3-4],这样做的目的是为了让类别分布更加平衡,该方法包括对多数类别的降采样和对少数类别的过采样,但是重采样技术在深度学习中会产生一系列的问题,例如过采样会导致模型的过拟合,而降采样会限制神经网络的泛化能力。另一种常用的方法是重加权方法[5-6],该种方法是作用于损失函数上,对不同类别或不同样本对应的分类损失项赋予不同的权重。然而,这些方法都牺牲了多数类的准确性来补偿少数类。

最近的研究表明,将长尾分类解耦为两个阶段:表征学习和分类器学习,是一种良好的处理数据不平衡的方法[7-8]。Kang等人[9]通过自然(实例平衡)采样学习高质量的表示,并通过类平衡采样调整分类器实现强大的分类性能。Zhou等人[10]提出了一个双边分支网络,其中一个分支使用实例平衡采样训练,另一个分支使用类平衡采样,得出了类似的结论。解耦学习思想被广泛采用,Cao等人[11]提出了不同的分类器调整方法,通过调整Logit鼓励增大少数类与多数类之间的相对差距。通过向输出层添加额外的可学习层来修改原始Logit。然而上述方法没有考虑到少数类别的未被充分代表的特征。

总之,现有的方法要么缺乏一种能学习到良好表征的机制,要么过于复杂,缺乏很好的泛化性。针对上述方法存在的问题,本文提出一种基于多分类器的知识蒸馏方法,首先,考虑到直接在不平衡数据集中以监督学习的方式训练一个网络会产生较差的性能,其原因是不平衡数据集的标签信息会带来“偏见”,这种偏见使模型不能学习到很好的表征,于是我们在进行知识蒸馏之前先对学生网络进行自监督的预训练,目的是使学生网络在不平衡数据集中学习到更好的初始化,一旦网络经过自我监督预训练产生了良好的初始化,网络就可以从训练前的任务中受益,并最终学习到更好的表示。其次,通过知识蒸馏技术,使用分级蒸馏损失将教师网络中所包含头部、中部、尾部类的知识尽可能多地传递给学生网络。我们在几个长尾基准数据集上进行了大量实验,证明了所提出的方法是长尾学习场景中有效的学习方法。

1 相关概念

1.1 知识蒸馏

知识蒸馏(Knowledge Distillation, KD)是一种将知识从大的教师模型转移到小的学生模型的模型压缩技术,自诞生以来就受到了广泛关注。Hinton等人[12]提出将知识从教师模型的预测概率分布中提取到学生模型中,称为基于Logit的知识蒸馏。知识蒸馏引入软标签,即带有参数τ的Softmax函数,以此来软化概率分布,使概率分布携带更多的有用信息,如式(1)所示:

其中,pi为模型第i类的概率分布,zi为模型第i类的输出结果,C为类别数,τ为温度参数,用于调节概率分布的平缓程度,τ越大,概率分布就越平均。于是,基于Logit的知识蒸馏通过对齐学生模型与教师模型的概率分布以此来将教师模型的知识传输给学生模型,形式如式(2)所示:

其中,ps和pt分别为学生模型和教师模型带温度参数τ的经过Softmax函数的概率分布,KL为Kullback-Leible散度损失。

1.2 自监督学习

自监督学习[13]近年来取得了显著进展,尤其是在图像视觉方面。自监督方法设计各种代理任务(proxy tasks)来辅助神经网络学习,这些任务可以是预测图像上下文或旋转、图像着色、解决图像拼图游戏、最大化全局和局部特征的互信息以及实例识别。最近的研究工作表明[14],经过自监督预训练初试化的模型可以产生更好的表示,这一研究启发了我们,我们将预测图片旋转任务作用于学生网络,使其学习到一种良好的初始化方法,以至于在知识蒸馏阶段将教师网络的知识转移给学生网络时学生能更好地吸收和归纳。

2 相关方法

2.1 预定义

我们有n个图像X={x1,…,xn}。每个图像根据Y进行标记Y={y1,…,yn},其中yi∈C为第C类的标签。在本文中,训练集遵循长尾分布。尽管训练集不平衡,但目标是准确识别所有类,因此我们使用平衡的测试集来评估分类结果。

2.2 训练教师模型

我们观察到现有的通过知识蒸馏解决长尾分布问题的方法,大多都专注于蒸馏方法的改进,而忽略了对教师模型进行详细的分析,现有的教师模型仅仅使用普通交叉熵损失训练网络,这使得模型的决策边界严重偏向头部类,影响知识蒸馏的效果,基于这一问题我们提出一种多分类器的教师网络结构,通过额外的分类器来增强尾部类的分类结果,具体而言,其中一个主分类器Ch+m+t学习识别头部类+中部类+尾部类的图片,另外两个分类器Cm+t和Ct分别识别中部类+尾部类和尾部类的图片,最终的分类结果为这三个分类器的结果之和,损失函数如下:

其中(X,Y)为一个批次中的图像和标签。(Xh+m+t,Yh+m+t)与由所有类图像组成的(X,Y)相同。(Xm+t,Ym+t)是(X,Y)的子集,仅包含中部和尾部类的图像。(Xt,Yt)是(X,Y)的子集,仅包含属于尾部类的图像。CE为交叉熵损失。通过Lbranch使三个分类器分工明确,分别针对头+中+尾部,中+尾部,尾部进行专门优化学习。

2.3 知识蒸馏过程

前段已经了解了教师网络的训练策略,本段我们将介绍所提知识蒸馏方法的蒸馏过程,整体框架图如图1所示,我们将在本节具体介绍其中的内容。

2.3.1 旋转自监督预训练

在此阶段,我们在原始长尾数据分布下预训练学生网络。分类任务为判断图像旋转角度,对比传统N分类任务,虽然其提供了丰富的语义信息,但它也受到长尾标签的影响。尾部类的样本可能会被数据丰富的头部类所淹没,从而导致表征不足的问题。因此,我们构建了平衡的自监督分类任务,要求模型预测图像旋转,旋转角度为{0°,90°,180°,270°},将传统N类分类任务转换为四分类任务,它们在不受标签影响的情况下可以平等地考虑每个图像。

2.3.2 多分类器蒸馏

知识蒸馏首先被引入用于通过软标签将知识从高性能网络(教师模型)转移到小型网络(学生模型)。我们的方法受到知识蒸馏的启发,但与之有本质区别。在我们的方法中,学生模型与教师模型大小是相同的。此外,针对长尾识别,软标签中的暗知识可以通过将知识从头部类转移到尾部类从而帮助尾部类更好地进行识别。由于类样本分布不均匀,我们设计了一种基于多分类器的分级蒸馏方法,将教师网络的三个分类器中包含头部+中部+尾部,中部+尾部,尾部的知识一一对应蒸馏到学生网络中,分级蒸馏损失函数Lclassifier如下所示:

最终学生模型的损失函数为:

其中α为超参数用于平衡两个损失项。

3 实验分析

我们在两个开源数据集进行了一系列实验来证明所提方法的有效性。我们首先介绍了数据集和实验设置,然后讨论和验证所提方法和现有方法的实验结果,最后对所提方法进行消融实验。

3.1 数据集和实验设置

实验所用硬件环境为11th Gen Intel Core i5 2.40 GHz,16 GB内存,使用Python编程语言实现,操作系统平台为Windows 10。在实验中,将使用两个基准数据集,即CIFAR10-LT和 CIFAR100-LT,来验证本文所提方法的有效性,数据集的详细信息如表1所示。

原始CIFAR10和CIFAR100都包含6万张大小为32×32彩色图片,其中5万张用于训练,其余用于验证。前者有10个类,每个类别有5 000张训练样本和1 000张测试样本,后者有100个类,每个类别有500张训练样本和100张测试样本。CIFAR10-LT和CIFAR100-LT分别为其对应长尾版本。本文和文献[8]的构造方法一致,训练集中每个类别的数量按照Nc=Nmax×(IR)-c/C进行配置,其中,C为数据集中类别总数,Nc为第c个类别所包含的样本数,Nmax为原始数据集中样本数量最多的类别所包含的样本数,在CIFAR10数据集中Nmax为5 000,在CIFAR100数据集中Nmax为500,IR为不平衡比率。IR可用于描述数据集的不平衡程度,定义为训练集中样本数最多的类所包含的样本数量与样本数最少的类所包含样本数量之间的比值。在本文中对不同方法基于三种不平衡比率(IR)进行验证,IR的取值分别为100、50和10,测试集数量不变。不同IR下的数据训练集样本分布如图2和图3所示。

对于CIFAR10-LT和CIFAR100-LT数据集,我们对图像进行预处理操作,具体操作是从原始图像或在水平翻转中随机裁剪一个32×32面片,每侧填充4个像素,并将像素归一化值为[0,1]。我们采用ResNet-32作为所有实验的骨干网络。采用动量为0.9的SGD优化器。迭代次数为200Epoch。初始学习率设为0.1,前五个Epoch通过线性预热进行训练。学习率在160和180个Epoch分别衰减0.1。批次大小为128用于所有实验,动量衰减率为0.000 5。采用广泛使用的Top-1分类准确率作为评估指标,所报告的准确率为模型在相同设置情形下运行三次取平均的结果。

3.2 实验结果

为了验证本文所提方法的有效性,本文与长尾视觉识别相关的7种主流方法进行对比:CE、CB、LDAM、BBN、BKD、SSD、ResLT。结果如表2所示。

表2中,CE是使用普通交叉熵损失训练长尾分布数据集,我们将其作为基线,本文所提方法相对CE在数据集CIFAR10-LT和CIFAR100-LT上的分类准确率分别提升了11.71%、10.21%、3.22%、9.98%,9.4%,8.15%。其中BKD、DiVE、SSD与我们一样使用了知识蒸馏技术训练模型,可以看出本文所提方法相对他们在数据集CIFAR10-LT、CIFAR100-LT上的分类准确率有较大的提升。

从图4中可以看出,所提方法是对头部类、中部类和尾部类进行全面的改进,对比与CE方法,所提方法可以在不损失头部类准确度的情况下大幅度提升中部类和尾部类的准确度。

图5研究了不同的温度参数τ对于学生网络性能的影响,可以看出当温度很高时(τ =5)会导致学生性能的下降,原因是因为高温会增加非正确类的Logit从而影响学生网络预测的正确性。

我们还研究了自监督预训练学生模型的有效性。在不平衡比率IR为100的CIFAR100-LT数据集上评估结果,具体而言,根据训练样本数将测试集划分为3个部分:head(训练样本数≥100)、medium(20<训练样本数<100)和tail(训练样本数≤20)用于研究自监督预训练方法对不同部分的改进效果。结果如图6所示。

从图6中可以看出使用自监督旋转预训练(ssp)可以使学生模型整体性能提升1.85%,并且对于不同部分均有明显的提升,如对于head部分有1.89%的改进,medium部分有1.94%的改进,tail部分有2.02%的改进,说明自监督预训练能帮助学生网络更好的识别不同类的语义信息,并且有助于学生模型更好地吸收教师传递过来的知识2m2ApfMsPV/2ot1T+zRTuQ==

4 结 论

本文针对长尾视觉识别中尾部类不能被很好识别的问题,提出了一种基于分类器分级蒸馏的长尾视觉识别方法。首先提出一种基于多分类器的教师模型训练方法,可以有效增强教师的教学能力,然后采用了自监督技术对网络进行预训练,最后通过分级知识蒸馏将教师模型中有用的信息传递给学生模型,实验结果表明,本文所提方法可以有效地提高长尾视觉识别任务的准确性。

参考文献:

[1] HE H B,GARCIA E A. Learning from Imbalanced Data [J].IEEE Transactions on Knowledge & Data Engineering,2009,21(9):1263-1284.

[2] KONG S,RAMANAN D. OpenGAN: Open-Set Recognition via Open Data Generation [C]//2021 IEEE/CVF International Conference on Computer Vision.Montreal:IEEE,2021:793-802.

[3] HAN H,WANG W Y,MAO B H. Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learning [C]//International Conference on Intelligent Computing,ICIC 2005.Hefei:Springer,2005:878-887.

[4] DRUMNOND C,HOLTE R C. Class Imbalance and Cost Sensitivity: Why Under-sampling beats OverSampling [EB/OL].[2024-01-08].https://www.docin.com/p-871518697.html.

[5] CHU P,BIAN X,LIU S P,et al. Feature Space Augmentation for Long-Tailed Data [C]//16th European Conference on Computer Vision.Glasgow:Springer,2020:694-710.

[6] SHEN L,LIN Z C,HUANG Q M. Relay backpropagation for effective learning of deep convolutional neural networks [C]//14th European conference on computer vision.Amsterdam:Springer,2016:467-482.

[7] KHAN S H,HAYAT M,BENNAMOUN M,et al. Cost-Sensitive Learning of Deep Feature Representations From Imbalanced Data [J].IEEE Transactions on Neural Networks and Learning Systems,2018,29(8):3573-3587.

[8] WANG Y X,RAMANAN D,HEBERT M. Learning to Model the Tail [C]//NIPS'17:Proceedings of the 31st International Conference on Neural Information Processing Systems,2017:7032-7042.

[9] KANG B Y,XIE S N,ROHRBACH M,et al. Decoupling Representation and Classifier for Long-Tailed Recognition [J/OL].arXiv:1910.09217[cs.CV].[2024-01-08].https://arxiv.org/abs/1910.09217?context=cs.CV.

[10] ZHOU B Y,CUI Q,WEI X S,et al. Bbn: Bilateral-Branch Network with Cumulative Learning for Long-tailed Visual Recognition [C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Seattle:IEEE,2020:9716-9725.

[11] CAO K D,WEI C,GAIDON A,et al. Learning Imbalanced Datasets with Label-Distribution-Aware Margin Loss [J/OL].arXiv:1906.07413 [cs.LG].[2024-01-09].https://arxiv.org/abs/1906.07413.

[12] HINTON G,VINYALS O,DEAN J. Distilling the Knowledge in a Neural Network [J/OL].arXiv:1503.02531[stat.ML].[2024-01-09].https://arxiv.org/abs/1503.02531.

[13] GIDARIS S,SINGH P,KOMODAKIS N. Unsupervised Representation Learning by Predicting Image Rotations [J/OL].arXiv:1803.07728 [cs.CV].[2024-01-09].https://arxiv.org/abs/1803.07728v1.

[14] YANG Y Z,XU Z. Rethinking the Value of Labels for Improving Class-Imbalanced Learning [J/OL].arXiv:2006.07529[cs.LG].[2024-01-09].https://arxiv.org/abs/2006.07529?amp=1.