type
status
date
slug
summary
tags
category
icon
password
paper | |
github | |
个人博客位置 |
1 Motivation
经典的自监督对比学习方法以instance discrimination作为pretext task。在这种方法中,会对batch的图片进行数据增强,以同一图片不同的数据增强为正例,其它作为负例,以自监督对比损失(式1)作为训练目标进行学习。
是一个batch的索引。(这个batch有原始数据经过两个不同的数据增强形成)
:索引的positive sample的索引,对于每一个都有1个positive,个negative
: 索引的图片表征
然而,在某些特定场景下,我们可能已经掌握了类别标签信息,或者至少能够明确哪些实例属于同一类别,而无需具体的类名。在这种情况下,直接沿用传统的自监督对比学习方法进行优化,显然未能充分利用这些宝贵的先验知识。
为了解决这一问题,supervised contrastive learning应运而生。其核心思想在于,将传统的自监督对比学习框架扩展至包含正例信息的场景中。该方法从同一类别中进行采样来构建正例,如下图所示。
2 Supervised Contrastive Learning(SupCon
)
对于
SupCon
batch中第个sample,它不像式(1)中只有而是由多个。假定在该batch中为的所有positive的索引集合,那么应当将式(1)改为但这样改有个小问题。同一个batch中对于不同,的大小可能不一致(可以理解成样本不均衡)。为了均衡不同大小的,作者引入了一个normalize系数。针对这个normalize系数的位置对式(2)提出了两种变体:
(一)outside supervised contrastive learning
(二)inside supervised contrastive learning
这两个等式并不等价,由于是凹函数,根据Jensen's inequality有。可见是的上界。分别分析式(3)和式(4)的梯度信息:(附录有完整求导过程)
其中,且
可以发现,当时,两个loss等价。
从上述的梯度分析中,可以发现相比用了positive的mean,训练过程应当更稳定,从作者的实验观察,outside比inside有较大的提升。
3 Experiment&Analysis
作者用分类准确率来评估SupCon的性能。
3.1 不同loss function的分类准确率
3.2 不同augmentation在ImageNet1K的分类准确率
此处作者给出了一些在不同augmentation的实验结果。
3.3 SupCon的训练稳定性
3.3.1 超参稳定性
作者分别评估不同Augmentation (
RandAugment
,AutoAugment
,SimAugment
,Stacked RandAugment
)、Optimizer(LARS
, SGD
with Momentum and RMSProp
)、learning rate模型的性能。实验发现,SupCon
对Augmentation,Optimizer相对不敏感,对learning rate相对敏感。总体上SupCon的超参稳定性远胜于CE。
3.4 模型对加噪数据的鲁棒性
As we know,深度学习模型拟合的是训练数据,其对
OOD
数据(out of domain)的鲁棒性是难以保证的。此节作者评估模型对加噪声后的数据的鲁棒性,评估的benchmark为ImageNet-C
,评估指标为mCE
(Mean Corruption Error)、rel.mCE
(Relative Mean Corruption Error metrics)和ECE
(Expected Calibration Error)3.5 SupCon 训练参数的配置建议
3.5.1 Effect of Number Batch Size
batch size对
SupCon
有较多增益。作者实验中所用的batch size为6144。如果计算资源有限,可以结合moco
的思路,用menory来缓存,作者实验发现,memory缓存的向量为8192,即使采用256的batch size也能达到79.1%的精度。3.5.2 Effect of Temperature in Loss Function
temperature越小会让式(3)softmax后的结果约接近onehot,此次的梯度强度大,有利于加速训练。但过小的temperature可能会带来数值不稳定的问题。可以配置为0.1
3.5.3 Effect of Number Positives
作者测试positive number对分类精度的增益。测试表明:当positive number增加时,分类精度稳定增长。可能受限于成本,作者没有给出什么时候这个收益会达到bottleneck。
小结
本文系统总结了Supervised Contrastive Learning这篇paper的主要内容。并对文中部分推导进行了补充,以便理解。若有不当之处,恳请指出。
拓展阅读
《Selective-Supervised Contrastive Learning with Noisy Labels》 引入一个filter机制,用高置信的positive来做supervised contrastive learning,提升监督质量。
《Balanced Contrastive Learning for Long-Tailed Visual Recognition》提出了balanced supervised contrastive learning loss。1)通过class-averaging来平衡不均衡负类的梯度;2)通过class-complement方法实现每次梯度更新都会考虑所有类别信息。
《Learning Vision from Models Rivals Learning Vision from Data》 将SupCon应用到合成数据表征学习领域。
附录
A. 两种SupCon两种形式loss的梯度分析
对的梯度
其中
(二) 对的梯度
其中
B. SupCon具备隐式的Hard Sample Mining的能力
hard sample mining在表征学习上是一个非常常用的trick。SupCon有一个非常好的性质:它能隐式的做hard sample mining这个操作。
对于向量表征,我们通常会使用normalize这个操作。不妨记:,计算对的梯度:
其中:
将B.2及式(5)带入B.1中有:
当与为easy sample时,,此时
当与为hard sample时,,此时
首先来看梯度的强度(先不考虑前面的系数)
当为easy sample时,此时的梯度强度接近0
当为hard sample时,B.5 可以简化为
考虑outside形式的
SupCon
,有由于,因此
从式B.8不难得出,梯度强度受益于negative和positive sample的数量。
此处有个假设,
对于positive的easy sample,由于,导致较小的梯度强度。
对于positive的hard sample,此时,根据式B.8,梯度强度进一步受益于negative和positive sample的数量。
同理可以分析negative场景下的梯度信号,此处不再赘述。
C SupCon和其他loss的关系
(一) 与自监督对比学习loss的联系
自监督对比学习时SupCon的一个特例。当positive的数量为1时,此时SupCon等同于自监督对比损失。
(二) 与triplet loss的联系
假定一个batch为一个三元组(anchor, positive, negative), 分别为anchor image, positive image, negative image的表征,且有。假设与的距离远大于的距离,此时的SupCon为
由此我们从SupCon推出了triplet loss的形式,它是SupCon的一个特例。
(三) 与N-pair loss的联系
当时,SupCon等价于N-pair loss。表示图片作为anchor时生成的图片索引。
- 作者:莫叶何竹🍀
- 链接:http://www.myhz0606.com/article/SupCon?target=comment
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章