带你理解对比学习损失函数的性质以及温度系数的作用(一)

简介: 带你理解对比学习损失函数的性质以及温度系数的作用(一)

很多小伙伴都了解对比学习,但要说温度系数的作用可能就不太清楚了。


卷友们好,我是对白。


对比学习中的温度系数是一个神秘的参数,大部分论文都默认采用小的温度系数来进行自监督对比学习(例如0.07,0.2)。然而并没有对采用小温度系数的解释,以及温度系数是如何影响学习过程的,即温度系数这个角色的意义。


今天给大家介绍一篇CVPR2021中研究对比损失(Contrastive Loss)温度系数的论文,由我校出品,解释了温度系数的具体作用,还借此探索了对比学习的学习机制,相信大伙看完以后,在内卷的道路上又可以领先别人一步了(真是太卷了QAQ)。


b18f9da9bcaa52129bb4b3a9209de4cb.png


首先总结下本文的发现:


1.对比损失函数是一个具备困难负样本自发现性质的损失函数,这一性质对于学习高质量的自监督表示是至关重要的,不具备这个性质的损失函数会大大恶化自监督学习的性能。关注困难样本的作用就是:对于那些已经远离的样本,不需要继续让其远离,而主要聚焦在如何使没有远离的那些的样本远离,从而使得到的表示空间更均匀(uniformity)。


2.温度系数的作用是调节对困难样本的关注程度:越小的温度系数越关注于将本样本和最相似的其他样本分开)。作者对温度系数进行了深入的分析和实验,并利用温度系数来解释对比学习是如何学到有用表征的。


3.对比损失存在一个均匀性-容忍性的Dilemma(Uniformity-Tolerance Dilemma)。小温度系数更关注于将与本样本相似的困难样本分开,因此往往可以得到更均匀的表示。然而困难样本往往是与本样本相似程度较高的,例如同一个类别的不同实例,即有很多困难负样本其实是潜在的正样本。过分强迫与困难样本分开会破坏学到的潜在语义结构。


论文对温度系数的作用进行了理论的分析和实验的验证。


一、对比损失更关注困难样本的特性



首先给出自监督学习广泛使用的对比损失(InfoNCE loss)的形式:


ff842e8b0cbc9bd2da4a7ace3119ce44.png


其中 是温度系数。直观来说,该损失函数要求第i个样本和它的另一个augmentation的副本(即正样本)之间的相似度 尽可能大,而与其他的实例(负样本)之间的相似度 尽可能小。然而,很多的损失可以达到这个要求,例如下面的最简单的形式 :


7c6414e60845af16601d4cc77328968f.png


然而实际训练过程,采用 作为损失函数效果非常不好,论文给出了使用contrastive loss(Eq1)和简单损失(Eq2)的性能对比,温度系数采用0.07:


77395104d8c1becb97af943e7c3d8ed8.png


上面的结果显示,在所有数据集上Contrastive Loss要远远好于Simple Loss。作者通过探究发现,不同于Simple Loss,Contrastive Loss是一个困难样本自发现的损失函数。我们可以通过公式(2)看到,Simple Loss对所有的负样本相似度给予了相同权重的惩罚( ,损失函数对所有的负样本相似度的梯度都是相同的)。而Contrastive Loss则更会自动的给距离更近相似度更高的负样本更多的惩罚。这一点可以通过对比损失(Eq1 中)对不同负样本的相似度的惩罚梯度的简单计算来观察:


对正样本的梯度:


d280c678d87ac8d5e0c86970eef32385.png


对负样本的梯度:


e548adde5fb080cd03aef6785d547b2f.png


其中:


0eb7dd58acfd843d6e369de37e10c454.png


对于所有的负样本比较来说, 的分母项都是相同的。那么 越大,则 的分子项越大,梯度项也越大。也就是说,对比损失给予了更相似(困难)的负样本更大的远离该样本的梯度。可以把不同的负样本想像成同极点电荷在不同距离处的受力情况,距离越近的点电荷受到的库伦斥力更大,而距离越远的点电荷受到的斥力越小。对比损失也是这样的。这种性质更有利于形成在超球面均匀分布的特征。


为了验证上面表格中对比损失和简单损失的差距确实是因为对比损失具有困难样本自发现的特性,作者还用了一种显式的困难样本挖掘算法用于简单损失上。即选取最相似的4096个样本作为负样本,并用Eq2的简单损失作为损失函数,采用显式困难样本挖掘算法的简单损失函数效果大大提升,远远超过了温度系数取0.07时的对比损失。结果如下表所示:


6134f4304d524dbf1e6d7dcb502f0d53.png


二、温度系数的作用



除了上面介绍的困难样本自发现的性质之外,观察Eq3和Eq4,我们可以容易地发现,损失函数对正样本的梯度绝对值等于所有对负样本的梯度值绝对值的和,即


4875c8622058b529553725d15d7a640c.png


给予这个观察,作者定义了对第j个负样本的一个相对惩罚强度:


c5ea4ee3260bf3cc845b2284baeddc13.png


则对于所有的 , 形成了一个玻尔兹曼概率分布,该分布的熵随着温度系数的增大严格增大,即 是随着 单调递增的(只需要满足所有的 不相等即可)。至此作者们发现,温度系数决定了此分布的熵。如果我们将 由大到小排序,形成一个顺序统计量,那么熵的大小将决定了分布的陡峭程度,如下图所示,下图是作者演示的负样本惩罚梯度在不同温度系数下与相似度的关系。当温度系数很小时,例如蓝色线0.07,随着 的增大将惩罚梯度剧烈的增大。而当温度系数逐渐增大,相对梯度的熵逐渐也增大,概率分布逐渐接近均匀分布,例如途中的绿色线。那么对相似度大的负样本的关注度逐渐减小。


9b269fbd4996c0671d91520b98e861d4.png


上面论证了温度系数的作用,即温度系数决定了对比损失对困难负样本的关注程度,越大的温度系数,往往一视同仁,不会太过关注更困难的负样本;而温度系数越小,则越关注与该样本相似度非常大的困难负样本,给予困难负样本更大的梯度与正样本分离。


作者为了更具体的解释温度系数的作用,计算了两种极端情况,即温度系数趋向于0和无穷大。


当温度系数趋向于0时:


eb0286ce05f18cd75fe674cd7f633b28.png


可以看出,此时对比损失退化为只关注最困难的负样本的损失函数。而当温度系数趋向于无穷大时:


b23d77a086e217093b8cc58ce58b84d9.png


此时对比损失对所有负样本的权重都相同,都为 ,即对比损失失去了困难样本关注的特性。有趣的是,当温度系数趋向于无穷时,该损失便变成了之前介绍的简单损失 。


作者通过上面的两个极限情况也分析出了对比损失随着温度系数的增大而倾向于“一视同仁”,随着温度系数的减少而只关注最困难的负样本,这样的一种调节负样本关注度的作用。


相关文章
|
6月前
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享(上)
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享
|
6月前
|
算法
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(上)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
6月前
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(下)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
6月前
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享(下)
【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享
|
6月前
|
Windows
R语言有状态依赖强度的非线性、多变量跳跃扩散过程模型似然推断分析股票价格波动
R语言有状态依赖强度的非线性、多变量跳跃扩散过程模型似然推断分析股票价格波动
|
6月前
|
算法 Windows
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
|
6月前
|
算法 定位技术
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
159 2
|
算法 SoC
【状态估计】基于FOMIAUKF、分数阶模块、模型估计、多新息系数的电池SOC估计研究(Matlab代码实现)
【状态估计】基于FOMIAUKF、分数阶模块、模型估计、多新息系数的电池SOC估计研究(Matlab代码实现)
118 0
|
算法
【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)
【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)
548 0
下一篇
无影云桌面