自监督学习-论文笔记

自监督学习近两年的一些比较好的方法:SimCLR, MoCo, BYOL。关于这几个方法有一个博客值得一看:https://generallyintelligent.ai/blog/2020-08-24-understanding-self-supervised-contrastive-learning/

自监督学习中,近几年一个很热门的方向是自监督对比学习,包括SimCLR,MoCo,CPC等方法都是基于对比学习的自监督学习方法。对比学习中一个比较重要的内容是对比损失函数。

对比损失函数

SimCLR

论文:A Simple Framework for Contrastive Learning of Visual Representations   ICML  2020

MoCo

论文:Momentum Contrast for Unsupervised Visual Representation Learning  CVPR 2020 最佳论文提名

动量对比学习。

BYOL

论文:Bootstrap Your Own Latent A New Approach to Self-Supervised Learning  NIPS 2020

与SimCLR和MoCo不同,这个方法并没有使用到对比学习。

DINO

论文:Emerging Properties in Self-Supervised Vision Transformers。ICCV 2021

论文有两个版本,一个是ICCV正式接收的版本,另一个是arxiv的版本,arxiv版本的内容更丰富一些,建议两个对比着进行学习。

自监督学习最新的一个方法,效果很好。与上面几种方法最大的不同是,这个模型用的基础模型是vision transformer。

该方法在进行自监督学习时的整体框架与前面几种方法是相似的,即都使用了不同的数据增强方式,设计一个辅助任务,并计算损失,这个方法不是显式基于对比学习的,所以自监督任务的损失函数并不是损失函数,而是一个交叉熵损失函数。DINO算法框架如下图所示:

自监督学习-论文笔记_第1张图片

上图中,有一个学生模型和教师模型,实际上这个地方和 MoCo 中是一样的,教师模型首先通过学生模型进行初始化,后面之后采用momentum的方式进行更新。

DINO 中在学生/教师模型得到样本的表征之后,projection head 进行的是soft-max操作,这里和前面SimCLR、MoCo、BYOL等几个方法都是不太一样的。softmax处理中使用的温度参数,即 temperature scaling, 目的是控制数据的分布,避免形成长尾分布或者尖峰分布。

教师模型得到样本表示之后进行一个centering的处理,作用是锐化样本表示的distribution,然后进行softmax处理,softmax的作用是平滑数据分布,所以这里centering和softmax两个处理形成了一个对抗的过程,避免模型的坍塌,即避免所有图像都收缩到一个点。

这篇论文的销蚀实验分析很重要,包括progection head, loss function, 分类头的选择,教师模型是否进行动量方式的更新等。

论文另一个很重要的实验研究是关于自监督场景下基于vision transformer学习到的特征与有监督学习任务中学习到的特征的可视化分析。如下图所示:

从这个图片中可以看出,自监督任务学习到的样本特征和有监督场景下学习到的特征分布是非常不同的。

你可能感兴趣的:(深度学习,机器学习)