[NeurIPS 2020] Supervised Contrastive Learning

Introduction

  • 作者将自监督对比学习扩展为了有监督对比学习 (SupCon) 来充分利用数据集提供的标签信息。有监督对比学习使得同类的样本特征彼此接近,不同类的样本特征彼此远离,并且对每个 anchor 而言,有监督对比学习使用多个正样本和多个负样本,相比之下,triplet loss 只使用一个正样本和一个负样本,N-pair loss 只使用一个正样本和多个负样本,这使得有监督对比学习不需要负样本挖掘就能达到不错的性能
    在这里插入图片描述在这里插入图片描述

Method

Representation Learning Framework

  • Stage 1. 给定一个 batch 的数据,首先给每个样本进行两次数据增强,然后将数据增强后的样本输入 encoder 得到 2048 维的 normalized embed,经过 projection network 得到最终输出,计算 supervised contrastive loss
  • Stage 2. 丢掉 projection network,冻结 backbone 参数,新增全连接层,使用 CE loss 训练 (The linear classifier can also be trained jointly with the encoder, as long as it doesn’t propagate gradients back to the encoder.)
    在这里插入图片描述

Contrastive Loss Functions

Self-Supervised Contrastive Loss

在这里插入图片描述

  • 其中, i ∈ I = { 1 , . . . , 2 N } i\in I=\{1,...,2N\} iI={1,...,2N} 为 multiviewed batch (i.e., 数据增强后 batch) 内样本的索引, j ( i ) j(i) j(i) 为与 i i i 从同一图像得到的增强图像索引, A ( i ) = I \ { i } A(i)=I\backslash\{i\} A(i)=I\{i} z i = P r o j ( E n c ( x ~ i ) ) z_i=Proj(Enc(\tilde x_i)) zi=Proj(Enc(x~i)) x ~ i \tilde x_i x~i 为数据增强后的图像

Supervised Contrastive Losses

  • 引入标签信息后,一个 anchor 可以找到 multiviewed batch 内属于同一类别的多个样本作为正样本,下面两式均可将自监督对比学习推广到有监督对比学习
    在这里插入图片描述其中 P ( i ) = { p ∈ A ( i ) : y p = y i } P(i)=\{p\in A(i): y_p= y_i\} P(i)={pA(i):yp=yi}.
  • L o u t s u p \mathcal L_{out}^{sup} Loutsup 中,summation over positives 在 log 外,而在 L i n s u p \mathcal L_{in}^{sup} Linsup 中,summation over positives 在 log 内。虽然它们从形式上看差不多,但实验证明 L o u t s u p \mathcal L_{out}^{sup} Loutsup 的性能更好
    在这里插入图片描述 作者认为这是 normalization factor 1 / ∣ P ( i ) ∣ 1/|P(i)| 1/∣P(i) 带来的影响。对于 L o u t s u p \mathcal L_{out}^{sup} Loutsup,normalization factor 可以 “remove bias present in the positives in a multiviewed batch contributing to the loss”,而对于 L i n s u p \mathcal L_{in}^{sup} Linsup,由于 normalization factor 在 log 内,因此它只是一个常数项,并不会影响参数梯度。下面作者利用梯度推导进行了说明,最终作者选择使用 L o u t s u p {\mathcal L_{out}^{sup}} Loutsup 的形式作为有监督对比损失

Gradient Derivation

  • (1) L i n s u p \boldsymbol {\mathcal L_{in}^{sup}} Linsup
    在这里插入图片描述在这里插入图片描述其中,
    在这里插入图片描述
  • (2) L o u t s u p \boldsymbol {\mathcal L_{out}^{sup}} Loutsup
    在这里插入图片描述在这里插入图片描述其中,
    在这里插入图片描述
  • 现在两种形式的损失函数梯度可以统一地写为
    在这里插入图片描述其中,
    在这里插入图片描述If each z p z_p zp is set to the (less biased) mean positive representation vector, z ˉ \bar z zˉ, X i p i n X_{ip}^{in} Xipin 就等价于 X i p o u t X_{ip}^{out} Xipout
    在这里插入图片描述作者认为 using the mean of positives benefits training,因此 L o u t s u p {\mathcal L_{out}^{sup}} Loutsup 性能更好

Intrinsic Hard Positive and Negative Mining Properties

  • Intrinsic ability to perform hard positive/negative mining. 当在 projection head 后加上 normalization 时,有监督对比学习产生的梯度信息就能隐式地进行 hard positive/negative mining,hard positives/negatives 的梯度更大,easy positives/negatives 的梯度更小,并且对于难正样本而言,负样本数量越多这一效果越明显。因此,作者认为有监督对比学习无需进行显式的难样本挖掘。下面进行具体分析

  • w i w_i wi 为 projection head 的 unnormalized output,i.e., z i = w i / ∥ w i ∥ z_i=w_i/\|w_i\| zi=wi/∥wi,有
    在这里插入图片描述其中,
    在这里插入图片描述代入之前推导的梯度公式,有
    在这里插入图片描述其中,
    在这里插入图片描述
  • 下面以正样本为例,考虑 ∂ L i sup ⁡ ∂ w i ∣ P ( i ) \left.\frac{\partial \mathcal{L}_i^{\sup }}{\partial w_i}\right|_{\mathrm{P}(\mathrm{i})} wiLisup P(i). 对简单正样本 z i ⋅ z p ≈ 1 z_i\cdot z_p\approx1 zizp1,有
    在这里插入图片描述难正样本 z i ⋅ z p ≈ 0 z_i\cdot z_p\approx0 zizp0,有
    在这里插入图片描述此时考虑 L o u t s u p \mathcal L_{out}^{sup} Loutsup 的梯度模长,有
    在这里插入图片描述其中, ∑ n ∈ N ( i ) exp ⁡ ( z i ⋅ z n / τ ) ≥ 0 \sum_{n \in N(i)} \exp \left(\boldsymbol{z}_i \cdot \boldsymbol{z}_n / \tau\right) \geq 0 nN(i)exp(zizn/τ)0 (assuming z i ⋅ z n ≤ 0 \boldsymbol z_i \cdot \boldsymbol z_n \leq 0 zizn0), ∑ p ′ ∈ P ( i ) exp ⁡ ( z i ⋅ z p ′ / τ ) − ∣ P ( i ) ∣ ≥ 0 \sum_{p^{\prime} \in P(i)} \exp \left(\boldsymbol{z}_i \cdot \boldsymbol{z}_{p^{\prime}} / \tau\right)-|P(i)| \geq 0 pP(i)exp(zizp/τ)P(i)0 (assuming z i ⋅ z p ′ ≥ 0 \boldsymbol z_i \cdot \boldsymbol z_{p'} \geq 0 zizp0). 因此, ∑ n ∈ N ( i ) exp ⁡ ( z i ⋅ z n / τ ) \sum_{n \in N(i)} \exp \left(\boldsymbol{z}_i \cdot \boldsymbol{z}_n / \tau\right) nN(i)exp(zizn/τ) ∑ p ′ ∈ P ( i ) exp ⁡ ( z i ⋅ z p ′ / τ ) − ∣ P ( i ) ∣ \sum_{p^{\prime} \in P(i)} \exp \left(\boldsymbol{z}_i \cdot \boldsymbol{z}_{p^{\prime}} / \tau\right)-|P(i)| pP(i)exp(zizp/τ)P(i) 越大,即正负样本的数量越多,难正样本的梯度模长也就越大,难正样本挖掘的效果也就越明显
  • 对于负样本也可以推出类似结论
  • 总的来说,增加 batch size 可以增加正负样本数量,进而增强难正负样本挖掘的效果,同时也增加了选取到更合适的难正负样本的可能,因此大 batch size 可以有效增加有监督对比学习的性能;此外,上述推导过程也说明 projection head 后的 normalization layer 是十分必要的,它有助于进行隐式的难正负样本挖掘

Connection to Triplet Loss and N-pairs Loss

  • Triplet Loss 和 N-pairs Loss 是有监督对比学习的特例。当 batch 内只有一个正样本和一个负样本时,有监督对比学习等价于 Triplet Loss,而当 batch 内只有一个正样本和多个负样本时,有监督对比学习等价于 N-pairs Loss.
  • Triplet Loss.
    在这里插入图片描述
  • N-pairs Loss.
    在这里插入图片描述

Experiments

Classification Accuracy

在这里插入图片描述
在这里插入图片描述

Robustness to Image Corruptions and Reduced Training Data

在这里插入图片描述

Hyperparameter Stability

在这里插入图片描述

Transfer Learning

在这里插入图片描述

References

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对比式自监督学习是一种无监督学习的方法,旨在通过通过训练模型来学习数据的表示。这种方法在计算机视觉领域中得到了广泛的应用。 对比式自监督学习的核心思想是通过将数据例子与其在时间或空间上的某种变形或扭曲版本对比,来训练模型。这种对比鼓励模型捕捉到数据的关键特征,从而学习到更好的表示。 对比式自监督学习的一个常见应用是图像的自学习。通过将图像进行旋转、剪切、缩放等变形,来构建一个正样本(原始图像)和负样本(变形图像)对。然后将这些对输入到一个深度神经网络中进行训练,以学习图像表示。训练过程中,网络被要求将正样本和负样本区分开,从而学习到图像的特征。 对比式自监督学习有许多优点。首先,它不需要标注数据,使其适用于大规模的无标签数据。其次,由于数据自动生成,可以轻松地扩展到大数据集。另外,对比式自监督学习的模型可以用于其他任务的迁移学习,使得模型更通用。 然而,对比式自监督学习也存在一些挑战和限制。首先,生成变形样本的过程可能会降低数据的质量,从而降低学习效果。其次,选择合适的变形方式和参数也是一个挑战。另外,对于某些领域和任务,对比式自监督学习可能不适用或效果不佳。 总之,对比式自监督学习是一种有效的无监督学习方法,可用于数据表示学习。它在计算机视觉领域有着广泛的应用,并具有许多优点。然而,仍然需要进一步的研究和发展来克服其中的挑战和限制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值