对比学习损失函数(RINCE/ReLIC/ReLICv2)

对比学习常用的损失函数为InfoNCE。

一、Robust Contrastive Learning against Noisy Views(RINCE)

原文链接:https://arxiv.org/pdf/2201.04309.pdf

本文提出RINCE,一种对噪声(如图像的过度增广、视频的过度配音、视频和标题未对准等)有鲁棒性的损失,且不需要显式地估计噪声。

文章提到:RINCE是一个用Wasserstein dependency measure表示的互信息的对比下界;而InfoNCE是KL散度表示的互信息的下界。

设数据分布为,噪声数据集为

对比学习损失函数(RINCE/ReLIC/ReLICv2),其中标签正确即对比学习损失函数(RINCE/ReLIC/ReLICv2)的概率为。则目标为最小化

对比学习损失函数(RINCE/ReLIC/ReLICv2)

其中为二元交叉熵损失。

对称的损失函数对噪声有鲁棒性。损失函数

对比学习损失函数(RINCE/ReLIC/ReLICv2)对称即满足

对比学习损失函数(RINCE/ReLIC/ReLICv2) (1)

(为常数),其中为产生的预测分数(对的梯度也应具有对称性)。

对称的对比损失有如下形式:

对比学习损失函数(RINCE/ReLIC/ReLICv2) (2)

其中

对比学习损失函数(RINCE/ReLIC/ReLICv2)对比学习损失函数(RINCE/ReLIC/ReLICv2)分别为正/负样本对的分数。权重的大小反映正负样本的相对重要程度。

InfoNCE不满足对

对比学习损失函数(RINCE/ReLIC/ReLICv2)梯度中的对称条件。

RINCE损失如下:

对比学习损失函数(RINCE/ReLIC/ReLICv2)

其中和均在

对比学习损失函数(RINCE/ReLIC/ReLICv2)范围内(实验表明对的值不敏感)。

对比学习损失函数(RINCE/ReLIC/ReLICv2)时,RINCE完全满足(2)式的对称性(此时,满足(1)式且对比学习损失函数(RINCE/ReLIC/ReLICv2)):
对比学习损失函数(RINCE/ReLIC/ReLICv2)
此时该损失对噪声有鲁棒性。
趋于0时,RINCE渐近趋于InfoNCE。

不论为何值,正样本分数越高,负样本分数越低,损失越小。

在梯度计算时:

对比学习损失函数(RINCE/ReLIC/ReLICv2)时,RINCE更重视easy-positive的样本(分数高的正样本);
InfoNCE(对比学习损失函数(RINCE/ReLIC/ReLICv2))更重视hard-positive的样本(分数低的正样本);
两者均重视hard-negative的样本(分数高的负样本)。

因此InfoNCE在无噪声时收敛更快,而

对比学习损失函数(RINCE/ReLIC/ReLICv2)的RINCE对噪声更有鲁棒性。实际中在对比学习损失函数(RINCE/ReLIC/ReLICv2)的范围内取。

二、Representation learning via invariant casual mechanisms(ReLIC)

原文链接:https://arxiv.org/pdf/2010.07922.pdf

本文把数据分为内容和风格(例如要分类图像是否为狗时,图像中的狗为内容,而背景、光照等因素为风格),学习到的表达应只与内容有关。

采用数据增广的方案在保留内容的同时改变风格(如图像旋转、改变灰度、裁剪和平移等),形成正样本。

对比学习损失函数(RINCE/ReLIC/ReLICv2)

上式表示神经网络;与相关,往往取;

对比学习损失函数(RINCE/ReLIC/ReLICv2)对比学习损失函数(RINCE/ReLIC/ReLICv2)是全连接层。对比学习损失函数(RINCE/ReLIC/ReLICv2)为一对增广;对比学习损失函数(RINCE/ReLIC/ReLICv2)对比学习损失函数(RINCE/ReLIC/ReLICv2)

前面一项为通常的对比损失,而后面一项是增广的不变性惩罚(或者不变性损失)(即增广应尽可能地不改变内容),该项可以减小类间距离。

本文还解释了自监督学习成功的原因,即证明了:设下游任务集合,且任务

对比学习损失函数(RINCE/ReLIC/ReLICv2)比中所有任务均更细化。如果通过对比学习损失函数(RINCE/ReLIC/ReLICv2)学习到的表达只与内容有关,那么这个表达可以泛化到中所有的下游任务。

三、Pushing the limits of self-supervised ResNets: Can we outperform supervised learning without labels on ImageNet?(ReLICv2)

原文链接:https://arxiv.org/pdf/2201.05119.pdf

ReLICv2和ReLIC的损失函数相似:

对比学习损失函数(RINCE/ReLIC/ReLICv2)

这里的就是ReLIC中公式第一项

对比学习损失函数(RINCE/ReLIC/ReLICv2)后的内容,而对比学习损失函数(RINCE/ReLIC/ReLICv2)就是ReLIC中公式的第二项:
对比学习损失函数(RINCE/ReLIC/ReLICv2)
对比学习损失函数(RINCE/ReLIC/ReLICv2)
对比学习损失函数(RINCE/ReLIC/ReLICv2)表示stop gradient,在优化过程中可以避免退化解。

和ReLIC的区别在于选择正负样本:正样本的产生先采用multi-crop augmentation和基于显著性的背景移除,然后用标准的SimCLR的增广方案(见自监督学习概述对比学习部分例2);负样本可以使用hard-negative sampling,但本文就在batch里面均匀随机抽取。

:两个离散概率分布的KL散度:

对比学习损失函数(RINCE/ReLIC/ReLICv2)

通常

对比学习损失函数(RINCE/ReLIC/ReLICv2)为数据的真实分布,对比学习损失函数(RINCE/ReLIC/ReLICv2)为数据的预测分布。

Original: https://blog.csdn.net/weixin_45657478/article/details/125811825
Author: byzy
Title: 对比学习损失函数(RINCE/ReLIC/ReLICv2)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/627693/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球