Distilling Visual Priors from Self-Supervised Learning

Distilling Visual Priors from Self-Supervised Learning

卷积神经网络(CNN)很容易对小的训练数据集进行过度拟合。我们提出了一个新颖的两阶段管道,利用自我监督学习和知识提炼来提高CNN模型在数据不足的情况下的图像分类的泛化能力。第一阶段是通过自监督学习学习一个拥有丰富的、可泛化的视觉表征的教师模型,第二阶段是以自我蒸馏的方式将表征提炼到学生模型中,同时针对图像分类任务微调学生模型。我们还为自监督对比学习代理任务提出了一种新的边际损失,以便在数据不足的情况下更好地学习表示。与其他技巧一起,我们在VIPriors图像分类挑战中取得了有竞争力的表现。

Introduction

卷积神经网络(CNN)通过对大规模数据集(如ImageNet[4])的监督训练,在图像分类方面取得了突破性进展[8]。然而,当数据集很小的时候,过度参数化的CNN倾向于简单地记忆数据集,不能很好地泛化到未见过的数据。为了缓解这种过度拟合的问题,人们提出了一些正则化技术,如Dropout[15]、BatchNorm[11]。此外,一些工作试图通过重新设计CNN构件,赋予模型一些令人鼓舞的特性(例如,翻译不变性[12])来对抗过度拟合。

最近,自监督学习显示了从没有外部标签信息的数据中学习有用的表征的巨大潜力。特别是,对比学习方法[7,1]在为下游任务学习更好的可转移的表征方面表现出比其他自监督学习方法更多的优势。与监督学习相比,自监督学习学到的表征对图像标签是无偏见的,这可以有效防止模型对任何物体类别的模式进行过度拟合。此外,现代对比学习[1]中的数据增强通常涉及多样化的转换策略,这与监督学习所使用的策略明显不同。这也可能说明对比学习比监督学习能更好地把握数据的多样性。

在本文中,我们进一步探索了在数据缺失的情况下对比学习的能力。我们的主要动机在于认识到,通过自监督学习学到的无标签偏见和高表现力的表征可以在很大程度上防止模型过度适应小型训练数据集。具体来说,我们为数据不足的图像分类设计了一个新的两阶段管道。第一阶段是利用自我监督的对比学习作为学习有用表征的代理任务,我们将其视为视觉先验,然后再使用图像标签以监督的方式训练模型。第二阶段是将第一阶段获得的权重作为起点,并利用标签信息进一步微调模型,以进行分类。

原则上,自我监督的预训练是一种直观的方法,可以防止标记数据缺乏时的过拟合,但正确构建预训练和微调管道对于良好的结果至关重要。具体来说,有两个问题需要解决。首先,自我监督学习中常见的做法是获取负采样的记忆库。虽然MoCo[7]已经证明随着bank规模的增加,其准确性提高了,但是,在数据缺乏的情况下,最大bank规模是有限的。

为了解决这个问题,我们提出了一种margin loss的方法,可以在保持相同性能的情况下减少银行的规模。我们希望这种方法能够对快速实验和评估有所帮助。其次,在小数据集上直接微调模型仍然面临着过度拟合的风险,根据观察,在预训练表征的基础上微调线性分类器可以得到一个好的结果。我们提议利用最近发表的一种特征蒸馏方法[9],在预训练的教师模型和学生模型之间进行self-distillation。这个self-distilation模块起到了regularizing模型的作用,使其不会忘记从对比学习阶段学到的视觉先验,从而可以进一步防止模型在小数据集上过度拟合。

2 Related Works

Self-supervised learning 重点是如何从启发式设计的代理任务中获得良好的数据表征,如图像着色[21]、跟踪视频中的物体[17]、去噪的自动编码器[16]和预测图像旋转[6]。最近使用对比学习目标[18]的工作取得了显著的性能,其中MoCo[7,2]是第一个自监督的方法,在多个下游任务上优于监督的预训练方法。在SimCLR[1]中,作者表明自监督方法使用的增强策略与监督方法截然不同,而且往往更难。这一现象表明,自监督学习的表征可以比监督的变体更加丰富和多样。

重点是如何从启发式设计的代理任务中获得良好的数据表征,如图像着色[21]、跟踪视频中的物体[17]、去噪的自动编码器[16]和预测图像旋转[6]。最近使用对比学习目标[18]的工作取得了显著的性能,其中MoCo[7,2]是第一个自监督的方法,在多个下游任务上优于监督的预训练方法。在SimCLR[1]中,作者表明自监督方法使用的增强策略与监督方法截然不同,而且往往更难。这一现象表明,自监督学习的表征可以比监督的变体更加丰富和多样。

Knowledge distillation 旨在将有用的知识或表征从教师模型中提炼到学生模型中[10]。原始的知识提炼使用预测的对数来将知识从教师转移到学生[10]。然后,一些工作发现,将特征图所传达的知识从教师转移到学生可以带来更好的表现[14,20]。Heo等人[9]对如何有效地从特征图中提炼知识进行了全面的研究,这也启发了我们对知识提炼的设计。自我蒸馏法对教师和学生都使用相同的模型[5],这已被证明可以提高模型的性能。我们利用自我蒸馏法作为调节项来防止我们的模型过度拟合。

3 Method

我们的方法包含两个阶段,第一阶段是使用最近发表的MoCo v2[2]对给定的数据集进行预训练,以获得良好的表征。在使用标签信息之前,学到的表征可以被视为视觉先验。第二阶段是用预训练的权重初始化自我蒸馏过程中使用的教师和学生模型。教师的权重被冻结,而学生则使用来自教师的分类损失和大修特征蒸馏(OFD)[9]损失的组合来更新。因此,在执行分类任务时,学生模型被来自教师的表示所规范化。这两个阶段在图1中得到了直观体现。

猜你喜欢

转载自blog.csdn.net/weixin_37958272/article/details/119187817