《A Simple Framework for Contrastive Learning of Visual Representations》
提出了利用对比学习实现视觉表示(visual representation),并且分析了框架中比较有用的组成,认为1.数据增强的组成很重要;2.在表示和contrastive loss之间引入一种可学习的非线性变换;3.对比学习可以从更大的批量和更长的训练中受益,也得益于更深更广的网络。
框架主要由四个部分组成:数据增强模块,编码器f(用的ResNet),处理embedding以计算loss的神经网络,对比的loss函数。有,损失函数定义如下:
(i, j)为正样本。sim的正样本结果尽量大,负样本结果尽量小,也就是log中的数尽量大,-log尽量小,所以要减小这个loss。
SimCLR的算法如下。流程非常简单。对同一张图片做两种增强,正样本就是同一个\x_k的两个增强,负样本就是其他图片的增强。
后面都是结合试验的文字分析,没仔细看,在这里也不加赘述了。