《Intriguing Properties of Contrastive Losses》阅读笔记
Intriguing Properties of Contrastive Losses
题目:对比损失的有趣特性
1. 概要
本文对目前广泛使用的标准对比损失进行了推广,并研究了广义对比损失在参数和数据分布上的一些性质。
本文通过实验发现,对比损失倾向于学习简单特征,并且少量简单特征即可压制甚至完全消除图像更为复杂且本质的特征的作用,进而影响模型表现。
2. 广义对比损失
2.1 广义对比损失的定义
本文在目前广泛使用的对比损失的基础之上,提出了广义对比损失的表达形式,并研究了其中的一些性质。
作者提出了一种广义对比损失的表达形式如下:
Lgeneralizedcontrastive=Lalignment+λLdistribution\mathcal{L}_{\mathrm{generalized\ contrastive}}=\mathcal{L}_{\mathrm{alignment}}+λ\mathcal{L}_{\mathrm{distribution}} Lgeneralized contrastive=Lalignment+λLdistribution
第一项为**Lalignment\mathcal{L}_{\mathrm{alignment}}Lalignment,其作用是拉近正对之间的距离**;第二项为Ldistribution\mathcal{L}_{\mathrm{distribution}}Ldistribution,作用是让负样本服从于给定的先验分布。
2.2 标准对比损失是广义对比损失的一个特例
那么,我们常用的交叉熵损失是否符合上述表达式呢?
一个标准的基于交叉熵的对比损失表达式如下:
其中,sim\mathrm{sim}sim代表余弦相似度。
将对数项进行分解,转化为如下形式:
上式第一项的作用非常明确,即拉近正对之间的相似性,最小化第二项的作用是拉远负样本与负样本之间的距离,最终将使得隐藏表征zzz趋近于超球面中的均匀分布,因此可以视为是一种分布匹配损失。因此,基于交叉熵的标准对比损失属于广义对比损失的一个特例,最终将使负样本趋近于均匀分布。
在上式右侧,温度参数τττ出现在第二项的两个地方,其中一个代表的是Ldistribution\mathcal{L}_{\mathrm{distribution}}Ldistribution的权重,另一处代表的是高斯核的宽度,作者认为这两处的值不一定非要相等,可以解耦,用λλλ表示代表权值的一处,得到τττ解耦的广义交叉熵对比损失:
温度参数τττ和尺度参数λλλ的关系:
解耦之后的标准交叉熵损失具有两个可调参数τττ和λλλ,作者研究了设置不同值的情况下,二者对用标准对比损失所训练出来的分类模型线性评估结果的影响:
从上图中可以发现,τττ和λλλ对线性评估结果呈现负相关关系,在设置参数时应从左下和右上端取值。
2.3 广义对比损失和互信息的关系
有研究已经证明,基于交叉熵的标准对比损失是互信息的一个下界,本文认为广义对比损失与互信息仍然保持这种关系。
两个潜在变量UUU与VVV的互信息可以写为:
I(U;V)=H(U)−H(U∣V)I(U;V)=H(U)-H(U|V) I(U;V)=H(U)−H(U∣V)
将其与广义对比损失相比较:
Lgeneralizedcontrastive=Lalignment+λLdistribution\mathcal{L}_{\mathrm{generalized\ contrastive}}=\mathcal{L}_{\mathrm{alignment}}+λ\mathcal{L}_{\mathrm{distribution}} Lgeneralized contrastive=Lalignment+λLdistribution
Lalignment\mathcal{L}_{\mathrm{alignment}}Lalignment的作用在于拉近正类内部的相似性,即减少不同类之间的不确定性,与互信息中的第二项相对应,而
Ldistribution\mathcal{L}_{\mathrm{distribution}}Ldistribution的作用在于尽量使负类之间趋近于先验分布,这一损失将会尽量使得样本的熵最大,故而可以看作H(U)H(U)H(U)在表征中的代理,当先验分布是均匀分布时,熵最大。不过广义对比损失比互信息在第二项多了一个可调参数λλλ。
2.4 使用不同先验分布对对比损失表现的影响
标准正态分布使用的是交叉熵损失,使得Ldistribution\mathcal{L}_{\mathrm{distribution}}Ldistribution趋近于超球面上的均匀分布。为了研究其他的先验分布对于对比损失的表现是否有影响,本文根据最优运输理论,构造出了基于Sliced Wasserstein Distance(SWD)距离的均匀超球面(Uniform hypersphere)分布、均匀超立方分布(Uniform hypercube)和高斯分布(Normal distribution):
在使用SWD Loss时,首先根据最优运输算法将样本进行有序排列,对于1维样本直接计算排列后的1维Wasserstein距离,对于n维样本,先将其投影到n个1维正交子空间中,在计算并求和所有子空间的1维Wasserstein距离。(粗略介绍,详细方法可以查看论文)。
使用最优运输方法构造出符合不同先验分布的SWD Loss之后,评估给出的Loss在Cifar10、ImageNet(线性投影头为2层和3层)下的线性评估结果,如下图所示:
最终发现,对于CIFAR10,随着epoch的增大,不同先验分布对线性评估影响不大;对于使用2层线性投影头的ImageNet,解耦标准交叉熵损失和服从均匀超球面先验的SWD表现更好一些,但是一旦把线性投影头换成3层的,不同先验分布之间就没有很明显的区别。
3. 特征压制
如下图所示,SimCLR在进行数据增强时发现,相比于裁剪和旋转等不改变图像内容的操作,对图像进行颜色增强会提升模型的表现:
这可能说明,在模型利用对比损失学习表征时,可能更倾向于学习图像之间共享的颜色信息,意味着颜色特征压制了其他特征的表现。为了研究这一现象,作者在两个数据集上进行了不同实验进行探究。
3.1 在DigitOnImageNet dataset上的实验
DigitOnImageNet dataset以ImageNet为基础,给每一张图片添加一个MNIST数据集中的数字,并将这一数字复制到图片中的九个位置,之后使用SimCLR的数据增强方法进行增强,再进行训练。本文认为额外添加的MNIST数字特征与图像原始特征是竞争关系。
使用batch_size为1024,2层线性投影头的SimCLR模型训练上述数据集,线性评估结果如下:
可以看到,对于有监督学习方法,额外的数字特征没有对分类线性评估结果造成干扰,而对对比学习方法具有较大影响,随着温度参数和添加的数字种类增加,线性评估结果均变差了。由此认为,对比学习学习到了更为简单的数字特征,而没有学习到占大部分的更为复杂的图像特征。
3.2 在RandBit dataset数据集上的实验
上一个实验说明了简单特征可以抑制复杂特征在对比学习中的影响,在此基础上,作者设计了一种更为极端的数据集进行实验。
对于一幅RGB图像,先额外从[1,log2(n)][1, log_2(n)][1,log2(n)]范围中采样一个整数,将其表示为nnn个二进制通道,这意味着给这张图象增加了nnn个通道的数据,之后只对RGB图像部分进行数据增强操作,额外增加的部分不进行数据增强。示意图如下图所示:
本文构建了基于CIFAR10,MNIST和ImageNet三个数据集的RandBit dataset,使用不同的模型进行分类训练,评估其分类精度:
在CIFAR10上的表现如下:
在MNIST上的表现如下:
在ImageNet上的表现如下:
横坐标为nnn的值,可以看出,在三个数据集上,对比学习方法在不同模型上的表现均显著变差,意味着即使是非常少量共享信息(几个比特)的简单特征对对比损失的表现都可能产生主导性影响。
《Intriguing Properties of Contrastive Losses》阅读笔记相关推荐
- trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer
一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...
- VoxelNet阅读笔记
作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记
- Transformers包tokenizer.encode()方法源码阅读笔记
Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode
- 源码阅读笔记 BiLSTM+CRF做NER任务 流程图
源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...
- Mina源码阅读笔记(一)-整体解读
2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...
- “CoreCLR is now Open Source”阅读笔记
英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...
- QCon 2015 阅读笔记 - 团队建设
QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...
- 05《软件需求模式》阅读笔记
剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...
- [置顶] Linux协议栈代码阅读笔记(一)
Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...
- 大型网站技术架构:核心原理与案例分析阅读笔记二
大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...
最新文章
- 手把手教你如何建立自己的Linux系统(二)
- 界面原型设计工具(2)
- Windwos下连远程linux Hbase小问题
- collections python_python: collections
- 数据挖掘学习笔记之人工神经网络(一)
- 塞尔达传说gba_【译介】塞尔达传说:不可思议的帽子2004年开发者访谈
- scholar communication
- 一些非常有用的链接和工具
- php post调用api,PHP(CURL)POST数据调用API简单示例
- no route to host什么意思_Day 74:Vue里的route和router
- push declined due to email privacy restrictions
- LOJ6503. 「雅礼集训 2018 Day4」Magic(容斥原理+NTT)
- java的oracle考试认证(OCJP)之路
- Winform中 ListView控件的使用
- 社交网络模型及属性介绍
- 网卡82546驱动linux,英特尔网卡驱动 Intel PRO100/1000/10GbE Win7/Win8/2
- 大众与以色列前情报头子组建网络安全公司
- UPC10728:Imputation
- 读 python 机器学习实践指南
- C++实现“23”抽签小游戏