https://zhuanlan.zhihu.com/p/582652684
Few-Shot Classification with Contrastive Learning
Zhanyuan Yang1 Jinghua Wang2 Yingying Zhu1*
1Shenzhen University
2Harbin Institute of Technology (Shenzhen)
导读
论文Few-Shot Classification with Contrastive Learning发表在计算机视觉顶级会议ECCV 2022上,由深圳大学计算机与软件学院未来媒体技术与计算研究所完成。
项目主页:
https://github.com/Yzy5020/fsc-cl
该工作提出了一种基于对比学习的两阶段小样本图像分类框架,通过在预训练和元训练阶段利用对比学习来解决小样本图像分类问题,该方法容易与其他两阶段式的小样本图像分类方法相结合。
引言
基于深度学习的方法在带标注数据稀少的现实生活场景中很难做到良好地泛化,并且针对带标注数据的收集过程颇为费时费力,这更加使其成为一种挑战。受人类从少数例子中学习新概念的能力的启发,小样本学习被认为是应对该挑战的一个有前景的方向,它可以将从少数基础类样本中学习到的知识适应于新的任务。
图1. 有监督预训练模型在基类和新类上的可视化结果
现有的方法在预训练或元训练过程中都只是利用基类的带标签样本来优化标准交叉熵损失,这将导致模型只对已经见过的类别有着最好的分类性能,并且这些方法可能会丢弃针对未见过的类别的分类任务的有利信息,如图1所示。因此最近的一些工作[1,2,3]着眼于自监督代理任务来解决小样本图像分类问题,而其他工作[4,5,6,7]则专注于对比学习方法。这些方法要么简单地将对比损失[8]作为辅助损失,要么没有有效地利用自监督代理任务在小样本学习的训练范式中带来的额外信息。
为此,我们提出了一个基于对比学习的两阶段分类算法框架,通过将对比学习无缝整合到预训练和元训练阶段来解决小样本图像分类问题。具体来说,该方法在预训练阶段利用自监督和有监督的对比损失来训练模型,其中自监督对比损失以特征向量-特征图和特征图-特征图两种形式进一步利用特征图的局部信息。其次,该方法在元训练阶段采用了一种跨视图任务式训练机制一种基于增强任务的距离缩放对比损失,使模型克服不同任务视图之间的偏差,促进模型在新类样本上的泛化能力。
技术贡献
本工作主要贡献如下:
提出了一个基于对比学习的两阶段式小样本图像分类框架来提高分类性能;
在预训练阶段采用了基于全局和局部信息的自监督对比性损失和监督对比性损失来学习更通用的表征;
在元训练阶段提出了一种跨视图任务式训练方法和一种基于增强任务的距离缩放对比损失,使模型在未见过的类别上更好地泛化。
方法介绍
该方法的具体流程如图2所示,所提出的两阶段式框架包含预训练和元训练阶段,其中均使用图像样本经过两种随机数据增强策略得到的两种视图作为输入。
图2. 方法流程
首先,在预训练阶段采用有监督和自监督对比损失来获得一个良好的初始表征。除了在全局层面提出了自监督对比损失 Lglobalss ,还通过特征向量-特征图模块和特征图-特征图模块来计算局部自监督对比损失 Llocalss 来生成更通用的表征。预训练阶段的总损失为:
其中, LCE 是交叉熵损失, Lglobalss 和 Llocalss 分别为全局有监督对比损失和全局自监督对比损失。 α1,,α2,,α3 是比例系数。
其次,在元训练阶段,对一个由支持集和查询集组成的任务片段,分别应用两个不同的数据增强策略以得到该图像样本集的两个不同的视图。跨视图任务式训练机制分别在两个支持集视图上对每个查询集视图进行最近邻中心分类。同时,该方法继承预训练后投影模块,将两个任务片段视图中的样本投影为向量并在此基础上构建对比样本对,然后引入样本之间的距离系数来计算基于距离缩放对比损失 Linfo 。该阶段的损失为:
其中 Lmeta 最近邻中心分类的优化目标,β是比例系数。该阶段方法使模型能够学习到适应不同任务的更具判别性的表征。
结果展示
如图3所示,该方法与其他两阶段算法相结合后所获得的嵌入向量分布的类簇变得更加明显,且类边界更加精确。说明该方法可以在新类上生成更加可迁移的表征。
图3. 可视化结果
总结展望
本文将对比性学习应用于小样本学习的两阶段训练范式,以减轻对表征泛化的限制。具体来说,本文使用特征向量-特征图和特征图-特征图模块,在预训练阶段加入自监督的对比性损失。此外,本文还提出了一个跨视图任务式训练策略和一个距离缩放对比性损失,有效地将对比性学习扩展到元训练阶段。综合实验结果表明,本文提出的方法在小样本图像分类任务上取得了有竞争力的效果。
思考讨论
Q: 文章采用了两种随机数据增强策略来对图像生成不同的视图。本文所提出的方法是可以使用多种数据增强策略?
A: 可以。目前我们只采用了两种较为接近的数据增强策略。我们可以将对比损失拓展成多视图的形式,如此便可以使用多种数据增强策略或者重复使用一种随机数据增强策略来生成同一个图像的多个视图,进而提升特征提取器的效果。
以下是开放型问题,欢迎各位读者交流讨论:
Q: 在源域和目标域数据分布存在差异的情况下该方法是否依然有效?
A: 跨域分类是一个非常有实用价值的方向,我们将在未来的工作中对其做进一步研究。
参考文献
[1] Chen, Zhengyu, et al. "Pareto self-supervised training for few-shot learning." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.
[2] Gidaris, Spyros, et al. "Boosting few-shot visual learning with self-supervision." Proceedings of the IEEE/CVF international conference on computer vision. 2019.
[3] Su, Jong-Chyi, Subhransu Maji, and Bharath Hariharan. "When does self-supervision improve few-shot learning?." European conference on computer vision. Springer, Cham, 2020.
[4] Doersch, Carl, Ankush Gupta, and Andrew Zisserman. "Crosstransformers: spatially-aware few-shot transfer." Advances in Neural Information Processing Systems 33 (2020): 21981-21993.
[5] Liu, Chen, et al. "Learning a few-shot embedding model with contrastive learning." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 35. No. 10. 2021.
[6] Ma, Jiawei, et al. "Partner-assisted learning for few-shot image classification." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.
[7] Ouali, Yassine, Céline Hudelot, and Myriam Tami. "Spatial contrastive learning for few-shot classification." Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Cham, 2021.
[8] Chen, Ting, et al. "A simple framework for contrastive learning of visual representations." International conference on machine learning. PMLR, 2020.