Abstract
无监督的对比学习取得了成功,而对比损失的机制很少被研究。本文专注于探究无监督损失的行为。本文将证明对比损失是一个具有难样本感知能力的损失函数,温度τ控制难样本的惩罚强度。以往的研究表明,均匀性是对比学习的一个重要特征。我们建立了均匀性和温度τ之间的关系。本文将证明,均匀性有助于对比学习学习可分离的特征,但过分追求均匀性会使对比损失对语义相似的样本无法容忍,这可能会破坏潜在的语义结构,不利于形成对下游任务有用的特征。究其原因,是由于实例判别目标函数的内在缺陷。具体来说,实例判别目标函数试图将所有不同的实例分开,忽略样本之间的潜在关系。将语义一致的样本分开对于获取一般下游任务的先验信息没有积极的作用。一个设计良好的对比损失应该对语义相似性样本有一定程度的容忍度。因此,我们发现对比损失会遇到一个均匀性-容忍性的困境,而温度的良好选择可以协调这两个特性,既有利于学习可分离特征,又有利于对语义相似样本的容忍,从而提高特征质量和下游性能。
Introduction
对比学习是一种无监督的方法,将原始的数据映射到超球面上。它尝试通过具有相同语义的正样本对互相拉近,让具有不同语义的负样本对互相远离,使得神经网络学习到不同视图之间共同的语义信息。在下图中,(a)图里具有相同语义的样本聚集,不同语义的样本远离,是一个比较好的表示。
对比损失函数与softmax函数有许多相似之处,
softmax+交叉熵(多分类问题中常见):
对比损失:
本文发现对比损失是一个负样本难程度感知损失函数,它自动地集中于优化难负样本,并根据它们的难程度给予惩罚。温度对难负样本的惩罚强度起控制作用。具体地说,小的温度T下的对比损失在最难的负样本上作用更强,使得每个样本的局部结构更为清晰,整体分布更为均匀。另一方面,大的温度T下的对比损失对难负样本不太敏感,随着温度的升高至正无穷,难程度感知特性消失,难程度感知特性对基于softmax的对比损失的成功具有重要意义。 基于以上观察,本文提出显式难负采样策略,它虽然简单但是效果很好。
本文将对比学习的温度系数T和表示的均匀性联系起来。将温度T作为可调节的参数,我们发现虽然均匀性是对比模型的性能的关键指标,但过度追求均匀性可能会破坏潜在的语义结构。这是由无监督对比损失的固有缺陷引起的。具体而言,大多数对比的学习方法旨在通过将同一个样本经过不同的数据增强之后得到的两个view视作正样本对,这样做的缺点就是不能将其他具有相同语义的样本当做正样本。对于这种对比学习方法来说,上图(a)和(b)的对比损失是相同的。推开具有相同语义的样本不利于产生有用的特征表示。
如果对比损失具有非常小的温度T,则损失函数将对最近的样本非常大的惩罚,而这个样本很有可能与锚样本具有相同的语义。
我们认识到在无监督的对比学习中存在着一个一致性-容忍性的困境。一方面,我们希望特征分布足够均匀,以便更易于分离。另一方面,我们希望对比损失能更接近语义相似的样本。一个好的对比损失应该是一个折衷方案,以适当地满足这两个属性。因此需要合适的温度T。
总体而言,贡献可归纳如下:
- 我们分析了对比损失的行为,表明对比损失是一种难程度感知的损失函数。
- 通过梯度分析,我们表明温度T是控制难负样本惩罚强度的关键参数。
- 我们表明,在对比学习中存在均匀性-容忍性困境,良好选择的温度T可以协调者两个性质,并且可以提高特征表示的质量。
2. Related Work
对比学习框架: CPC,CMC,SimCLR, MoCo….
分析对比学习属性的论文:
1 | 1. A theoretical analysis of contrastive unsupervised representation learning. |
与上述论文不同,我们主要专注于对比损失的固有特性。我们强调温度τ的重要性,并使用它来分析对比学习中一些有趣的现象。
3. Hardness-aware Property
接下来,我们将从梯度分析开始解释对比损失的性质。给定未标记的训练集$X=\left{x{1}, \ldots, x{N}\right}$,制定了对比损失:
其中$s{i, j}$表示样本i和样本j在超球面的余弦距离。$s{i, j}\in[-1,1]$, 越大表示样本i,j越近。为了方便,本文定义了
这个损失函数的目标是正样本对靠近,负样本对远离, 因此,使用如下更简单损失函数同样可以达到这个目的:
但是,作者发现损失函数(3)的效果不如损失函数(1). 接下来,作者分析他们的不同。
3.1. Gradients Analysis.
作者对正样本对$s{i,i}$和负样本$s{i,j}$对分析梯度。分析表明,正样本对梯度的大小等于负样本对梯度的总和。温度T控制负梯度的分布。较小的温度T倾向于将梯度集中在锚点的最接近的样本。
从式子(4)有一下观察:
1)对负样本对的梯度与$\exp \left(s_{i, j} / \tau\right)$成正相关,当T越小,对负样本的梯度越大。这一点与损失函数(3)对负样本对的梯度不同,它对所有负样本对的梯度是一样的。
2)相对于正样本的梯度幅度等于相对于所有负样本的梯度之和。也就是$\left(\sum{k \neq i}\left|\frac{\partial L\left(x{i}\right)}{\partial s{i, k}}\right|\right) /\left|\frac{\partial L\left(x{i}\right)}{\partial s_{i, i}}\right|=1$
3.2. The Role of temperature
这里定义了$r{i}\left(s{i, j}\right)=\left|\frac{\partial L\left(x{i}\right)}{\partial s{i, j}}\right| /\left|\frac{\partial L\left(x{i}\right)}{\partial s{i, i}}\right|$,表示了对负样本对梯度的相对值。
在不同温度T和不同的$s{i,j}$下,$r{i}\left(s_{i, j}\right)$的值如下:
从上图可以看出,随着温度T的降低,相对梯度惩罚更集中在高相似性区域上($s_{i,j}≈1$),随着温度的增加,相对惩罚分布趋于更均匀,这倾向于使所有负样本样本具有相同的惩罚程度。此外,随着温度降低,有效的惩罚区间变窄。极小的温度会导致对比损失仅集中在最接近的一两种样本上,这将严重影响效果。
针对以上观察,作者提出了针对难负样本的损失函数:
上式与原来的损失函数不同之处,是分母的负样本集里,只有难负样本,即$s{i, k} \geqslant s{\alpha}^{(i)}$的负样本K。
实验
取不同的温度$\tau \in {0.07, 0.3, 0.7, 1.0}$,
Contrastive是原始的对比损失(1):
simple 是式子(3):
HardContrastive是式子(9):
Hardsimple是只使用难负样本的简单形式。
对于α的设置:
数据集 | CIFAR10 | CIFAR100 | SVHN | ImageNet100 |
---|---|---|---|---|
α | 0.0819 | 0.0819 | 0.0315 | 0.034 |
总结:本文从梯度的角度分析对比损失函数,探究了温度系数T在对比学习中起到的作用。