©PaperWeekly 原创 · 作者|张一帆
学校|华南理工大学本科生
研究方向|CV,Causality
知乎ID|yearn
本文梳理了四篇来自 NeurIPS 2020 和对比学习相关的文章,其中两篇为 spotlight。
InvP
论文标题:
Unsupervised Representation Learning by Invariance Propagation
论文链接:
https://arxiv.org/abs/2010.11694
Conclusion: 学习 category-level 的不变性表示。
传统的 contrastive learning 是属于 instance-level 的不变性表示,即每个图片单独为一类,该图片与其 argumented images 包含的类别信息保持不变,但是不能保证同一类的两张图片在隐空间相互接近(如何保证同一类的两张图片在隐空间相互接近:有监督对比学习可以在有 label 的情况下实现 category-level 的不变性表示。)。
Smoothness Assumption[1]:文章的立足点,在一个高密度区域内,如果两个 image 的特征 接近,那么他们的语义信息(或者标签)相似。

Contributions:

Positive sample discovery:
基于连续性假设,一个 high-density region 往往是同一类。进行 步以下过程:每一步中,将当前已经发现的正样本的所有 最近邻加到正样本集中。比起使用传统的 KNN 选择 个最近邻,这里将 设置的比较小,因此不会选到 这种不在同一个 high-density region 的点,以此在无标签的情况下挖掘同一类别的不同实例,有了这些 category-level 的正样本,我们就能更容易得到 category-level 的不变性表示。
Hard sampling mining:
对于正样本和负样本,这里都进行了难例挖掘,对于一个样本 ,他的挖掘损失定义为 , 是其正样本难例挖掘结果, 则是难负样本集,分别定义如下
  • Hard positive sampling:在上述找到的正样本集合 中选 个与 相似度最小的构成集合 (上图中 C 相对于 A 即最难正样本)
  • Hard negative sampling:找 的 近邻构成 , 要足够大使得 ,然后难负样本集合为 。
这里最重要的 insight 即已经很近的正样本和已经很远的负样本(不属于近邻的难样本已经离和 很远了)我们无需再优化,重要的是进一步拉近离得远的正样本,推开那些模糊的负样本。
训练总体损失为 ,第一项可以看作传统对比学习的 instance discrimination 损失,第二项即挖掘损失,在开始的 T 个 epoch, ,否则为 1,因为在训练的开始网络随机初始化,因此挖掘的难例不可信,
Experiments:
在 Imagenet 上训练模型,在分类,半监督,trainsfer learning,目标检测四个任务上进行了实验与比较,得到了不错的结果,看起来比起 Moco 和 SimCLR 还是有提升的。对 category-level 不变性带来的效果也进行了单独的分析,显然这种方法正负样本相似度的分布比 instance discrimination 带来的分布差别更大,更好分辨。也能找到一些难正样本,这在传统 instance-level 的对比学习中是很难得到的。
Opinions:
  • 迭代式的 KNN 真的比传统 KNN 好吗?并不见得!如果两个 high-density region 很靠近,或者相互重叠,那么多次迭代的结果会选择更多的语义信息不相同的数据点。当然这只是我的看法,作者的实验中这样的方法还是有改善的。
  • 整体来看还是比较 Heuristics。
MoCHi
论文标题:
Hard Negative Mixing for Contrastive Learning
论文链接:
https://arxiv.org/abs/2010.01028
Conclusion:通过在特征空间进行 mixup 的方式产生更难的负样本
Motivation:难样本一直是对比学习的主要研究部分,扩大 batch size,使用 memory bank 都是为了得到更多的难样本,然而,增加内存/ batch size 并不能使得性能一直快速提升:更多的负样本并不一定意味着带来更难的负样本(文章对这类问题做了详尽的实验,有兴趣的可以查阅原文),那么我们能否在不增大内存的情况下得到更多更难的样本?
Contributions
我们有 K 个负样本特征 ,选与 query 特征 距离最小的 个作为难样本集合 。
Mixing the hardest negatives:随机在难样本集合中选择两个特征 ,我们可以将其混合产生一个更难的 ,我们随计选择 生成 个难样本, 保证了计算效率的提升。
Mixing for even harder negatives:上一步与传统的 mixup 并没有太大差别,这里提出的正负样本特征混合是比较 novel 的地方。随机在难样本集合中选择一个特征 ,我们可以将其与 query 混合产生一个更难的 , 确保了 query 的贡献小于负样本,这里总共产生 个负样本,需要满足 。
Opinions:
新瓶旧酒刷性能,不过对问题的分析非常非常透彻,提供了不同的 insight,这点很值得学习。
DCL
论文标题:
Debiased Contrastive Learning
论文链接:
https://arxiv.org/abs/2007.00224
Conclusion: 克服 sample bias:在没有 label 的情况下,尽可能减少负样本中的 false negative samples。
Sampling bias:假设数据分布为 ,我们从分布中取出 ,他们有相同的类别 ,假设类别分布为 , 是均匀的(该属于每类的概率是先验知识,既可以从数据中估计,也可以作为一个超参数),即观察到样本是该类的概率是均匀的 ,属于每类的概率是先验知识,既可以从数据中估计,也可以作为一个超参数。 是观察到不同类样本的概率。
现在的问题是,因为我们没有 label,因此得不到负样本的分布 ,因此大家都是直接从 中抽取负样本,那么这些样本 就有 的概率其实是正样本,这被称为取样偏差 (Sampling bias)
Contributions:
文章的宗旨:找不到 我就近似他,怎么近似呢,我们先将数据分布展开得到 ,简单移项得到:
经过一些数学变化,给定 ,我们可以将损失函数写为:
其中重点在于这个 函数,其形式如下:
可以看到虽然我们依然从 分布中采样得到了这些 ,但是我们使用额外的正样本 对他们进行了修正,可以看作是一次 reweighting。通过一系列的分析,文章证明了 debiased 损失与真正 unbiased 损失之间的差距。
Experiments
在一些常见数据集上做了实验,可以看到通过 unbiased 的损失带来了不小的提升。
通过增加正样本的数目,我们从 采样得到的负样本得到逐渐强烈的修正, debiased 将会和 unbiased 的结果越来越接近,如下图所示:
Opinions:很不错的文章,推导太扎实了,从 motivation 到 implementation 一路都有扎实的理论基础,不愧是 spotlight。
CSI
论文标题:
CSI: Novelty Detection via Contrastive Learning on Distributionally Shifted Instances
论文链接:
https://arxiv.org/abs/2007.08176
Conclusion: 将 anchor 进行数据增强得到的 image 作为负例来提升 OOD 检测性能。
给定 ,其中 是一组数据增强策略(在本文特指正样本的增强策略),在本文特指正样本的增强策略,记 为传统的 infomax 损失,那么 SimCLR 定义如下:
SimCLR 的作者发现了一些增强策略 (例如,旋转) 有时会降低 SimCLR 的区分性能。该文的一个重要发现是,这种降低区分性能的增强策略可以提升 OOD 检测的能力。
Contributions
文章主要有两个贡献:
与 SimCLR 将增强后的数据看作正例不同,该文将增强后的数据看作负例,考虑一组增强策略 ,将 batch 中所有样本(包括 anchor 图像与其他负样本)依次通过 后形成新的负样本集合进行对比学习。
除了这个损失之外,作者定义了一个 pretext task,预测每个被增强数据施加的是哪种增强策略,具体形式为:
二者相加就是文章的整体损失:
Why it works?这里的关键之处在于如何选择 ,直观来讲, 要能产生尽可能 OOD 的样例,作者设计了相应的 score funtion,对各种增强策略进行了实验,发现 rotate 产生的 OOD 样本更好,使用其作为负样本的增强策略这个结果与文章 [2] 的发现很类似。
当然这种策略相比于 SimCLR 很难获得下游任务上性能的提升,毕竟是把正样本看作负例了。作者在 CIFAR-10 上训练一个线性分类器来评估学到的 representation,CSI 获得了 的准确率,而 SimCLR 则是 ,不过 CSI 进行 OOD 检测的能力强得多。
参考文献
[1] https://ieeexplore.ieee.org/abstract/document/4787647
[2] https://arxiv.org/abs/1906.12340
更多阅读
#投 稿 通 道#
 让你的论文被更多人看到 
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:[email protected] 
• 所有文章配图,请单独在附件中发送 
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
继续阅读
阅读原文