CVPR2021「自监督学习」领域重磅新作,只用负样本也能学?

简介: 在自监督学习领域,基于contrastive learning(对比学习)的思路已经在下游分类检测和任务中取得了明显的优势。

微信图片_20220112225628.jpg

 新智元报道  

来源:CVPR 2021编辑:LQ

【新智元导读】在自监督学习领域,基于contrastive learning(对比学习)的思路已经在下游分类检测和任务中取得了明显的优势。其中如何充分利用负样本提高学习效率和学习效果一直是一个值得探索的方向,本文「第一次」提出了用对抗的思路end-to-end来直接学习负样本,在ImageNet和下游任务均达到SOTA.


众所周知,负样本和正样本是对比学习的关键。进一步而言,负样本的数量和质量对于对比学习又是其中的重中之重。在BYOL[1]提出后,对于是否需要负样本也引发了很多讨论,本文从对抗的角度去探索负样本,也揭示了负样本的本质和BYOL在去除负样本之后仍然能够达到非常好的效果的原因。


微信图片_20220112225633.png


论文链接:https://arxiv.org/abs/2011.08435

论文代码已开源:https://github.com/maple-research-lab/AdCo


AdCo仅仅用8196个负样本(八分之一的MoCo v2的负样本量),就能达到与之相同的精度。同时,这些可直接训练的负样本在和BYOL中Prediction MLP参数量相同的情况下依然能够取得相似的效果。这说明了在自监督学习时代,通过将负样本可学习化,对比学习仍然具有学习效率高、训练稳定和精度高等一系列优势。


目录

1、要不要负样本?

2、AdCo vs. BYOL

3、新思路:Adversarial Contrast: 对抗对比学习

4、实验结果


1、 要不要负样本?

去年DeepMind提出的无监督模型BYOL[1]的一个突出特点是去掉了负样本,在讨论AdCo前,一个很核心的问题就是在自监督时代,我们究竟要不要负样本?


首先,从比较纯粹的实用主义角度来说,MoCo V2[2]这类基于负样本的对比学习方法,自监督训练的时间都是比BYOL较少的。这点不难理解,MoCo V2不需要基于Global Batch Normalization (BN)(GPU之间需要通讯),所以从速度来说仅仅需要BYOL约1/3的时间。


另一方面,类似MoCo V2的方法一个比较麻烦的地方是要不断得维护一个负样本的队列。但是,用一组负样本做对比学习,从训练性能的角度来说,从前诸多的实验来看可能更稳定,毕竟多个负样本的对比可以提供更多的样本的分布信息,比BYOL只在单个图像的两个变换增强样本得到的特征上做MSE从训练的角度来说可以更稳定。同时memory bank维持的负样本并不需要梯度计算,所以相关计算量可以忽略不计。


因此,我们认为负样本在对比学习里仍然是一个值得探索的方向。但需要解决如何提高负样本的质量和使用效率的问题。一个比较好的想法是我们能不能不再依赖一个被动的维护一个负样本队列去训练对比模型,而是直接通过主动学习的方法把负样本当作网络参数的一部分去做end-to-end的训练?


2、 AdCo vs. BYOL


BYOL中除了global BN外,为了用一个分支得到的特征去监督另外一个分支输出的特征,还需要训练一个只存在于query分支的MLP的预测器(predictor)以达到非对称的结构防止训练collapse。


虽然BYOL的predictor里的参数不是负样本,但某种意义上可以看作是某种包含典型样本对应特征的codebook,这个codebook的组合形成了对另一个分支输出特征的预测。为了达到精确预测的目的,势必要求这个codebook要比较diverse,能比较好的覆盖另外一个分支输出的特征,从而阻止collapse的可能。


从模型参数的角度来说,这个额外的 Predictor Layer 相当于一般对比学习里用到的负样本,只不过前者是直接通过反向传播训练得到的,而后者在MoCo V2[2]和SimCLR[3]里是通过收集过去或者当前的batch中的特征得到的。


那么,一个自然的问题就是,负样本能够也能像预测器一样通过训练出来吗?如果可以,就意味着对比学习中的负样本也可以看作是模型的一部分,并且可以通过训练的方法得到,这就给出了一种更加直观优美的方法来构造负样本。


遗憾的是,直接去最小化contrastive loss并不能用来训练负样本,因为这样得到的是远离所有query样本的负样本,因此我们在AdCo中采取了对抗学习的思路。

 

3、 新思路:用对抗对比学习去直接训练负样本!


依据此,我们提出了AdCo对抗对比学习,通过直接训练负样本的方式来进一步提高负样本的质量从而促进对比学习。


1、相比于memory bank去存储过往图片embedding的方式,我们完全可以把负样本作为可学习的权重来训练,这里的好处是我们的所有负样本可以在每次迭代中同步更新。质量。作为对比,MoCo V2每次只能更新当前负样本队列里的很小的一部分,这导致了最早进入memory bank的负样本对于对比学习的贡献相对较小。


2、当然,更新负样本就不能去最小化对应的contrastive loss,而要最大化它,使得得到的负样本更加地困难,而对训练representation network更有价值,这就得到了一个对抗性的对比学习,对抗的双方是负样本和特征网络。


3、通过对update负样本的梯度进行分析,我们发现这种方法具有非常明显的物理意义。负样本每次更新的方向都是指向当前正样本的一个以某个负样本所归属的正样本的后验概率为权重,对正样本做加权平均得到的梯度方向;


具体而言,文章中的公式(6)通过最大化对比损失函数可以给出直接训练负样本的梯度:


                                         微信图片_20220112225636.png


其中的条件概率是

               

                             微信图片_20220112225639.png


微信图片_20220112225642.png


实验发现,在同样的训练时间、minibatch大小下,AdCo的精度都会更高。这说明了,AdCo比其他的自监督方法就有更高的训练效率和精度。这种提升来自对负样本更有效的更新迭代。


4、实验结果


相比于基于memory bank的方法,我们的模型在ImageNet分类任务上有了显著的提升。


                    微信图片_20220112230506.png


                    微信图片_20220112230509.png


同时,在下游检测和分类任务中,我们相比过往自监督方法和全监督方法都有显著的提升:


           微信图片_20220112230512.png


我们进一步AdCo是否可以通过训练更少的负样本来得到同样好的无监督预训练模型。答案是肯定的。


如下面的结果所展示的,只用原先1/4和1/8的样本,在ImageNet上的top-1 accuracy几乎没有任何损失。这进一步说明了,通过直接用对抗的方式训练负样本,把负样本看成是模型可训练参数的一部分,完全可以得到非常好的训练效果,而且相对于其他的模型,所用的 GPU训练时间也更少。 


            微信图片_20220112230514.png


进一步而言,我们的学习效率也显著优于基于memory bank的方法,以下是不同自监督训练轮数下在ImageNet上的对比:

                       

                         

                  微信图片_20220112230517.png


参考资料:[1] Grill, Jean-Bastien, et al. "Bootstrap your own latent: A new approach to self-supervised learning." arXiv preprint arXiv:2006.07733 (2020).[2] Chen, Xinlei, et al. "Improved baselines with momentum contrastive learning." arXiv preprint arXiv:2003.04297 (2020).[3] Chen, Ting, et al. "A simple framework for contrastive learning of visual representations." International conference on machine learning. PMLR, 2020.


推荐你看:惨烈!特斯拉再次撞上白色卡车,两名乘客急送ICU

「油管」翻译太别扭?最符合国人习惯的词典,收好了!

相关文章
|
6月前
|
机器学习/深度学习 监控 算法
【论文速递】CVPR2022-基于双重对比学习的非配对深度图像去噪
【论文速递】CVPR2022-基于双重对比学习的非配对深度图像去噪
|
2月前
|
机器学习/深度学习 人工智能
CMU清华教LLM练成数学高手,LeanSTaR训练模型边思考边证明,登顶新SOTA
【9月更文挑战第2天】卡内基梅隆大学与清华大学的研究团队开发出名为LeanSTaR的语言模型,该模型结合形式化验证与机器学习技术,在数学证明上取得了重大突破,实现了类似人类数学家的思考和证明能力。这一成果不仅提升了数学证明任务的性能,尤其在复杂推理方面表现突出,还为数学研究和教育提供了有力支持。论文详细内容可访问 https://arxiv.org/abs/2407.10040。
49 12
|
4月前
|
编解码 计算机视觉
CVPR 2024 Highlight:比LERF提速199倍!清华哈佛发布LangSplat:三维语义高斯泼溅
【7月更文挑战第8天】清华哈佛联合发布的LangSplat模型以3D语义高斯泼溅技术,比LERF快199倍,提升三维场景语言理解速度与准确性。模型利用3D高斯函数编码语言信息,实现高效交互,同时降低内存需求。然而,依赖高质量训练数据,计算复杂度较高且可解释性有限。[链接](https://arxiv.org/pdf/2312.16084.pdf)**
72 25
|
5月前
|
机器学习/深度学习 定位技术
ICLR 2024 Spotlight:连续数值分布式表征加持,浙大UIUC让语言模型擅长表格预测
【6月更文挑战第23天】在ICLR 2024会议上,浙大和UIUC的研究团队推出TP-BERTa,一种改进的BERT模型,专为表格预测。通过将连续数值特征转为文本并利用自注意力机制,TP-BERTa能有效处理高维、异构表格数据,提高预测性能。预训练和微调策略使其在XGBoost等传统方法及FT-Transformer等深度学习模型中脱颖而出。论文链接:[anzIzGZuLi](https://openreview.net/pdf?id=anzIzGZuLi)
106 5
|
5月前
|
数据采集 人工智能 算法
ICLR 2024 Spotlight:单模型斩获蛋白质突变预测榜一!西湖大学提出基于结构词表方法
【6月更文挑战第1天】西湖大学团队研发的蛋白质语言模型SaProt,在结构词表方法下,于蛋白质突变预测任务中荣登榜首。SaProt利用Foldseek编码的结构标记理解蛋白质行为,超越现有基准模型,在10个下游任务中表现出色。尽管训练资源需求大,且有特定任务优化空间,但该模型为生物医学研究带来新工具,促进科学理解与合作。论文链接:[https://www.biorxiv.org/content/10.1101/2023.10.01.560349v4](https://www.biorxiv.org/content/10.1101/2023.10.01.560349v4)
185 7
|
6月前
|
机器学习/深度学习 计算机视觉
【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角
【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角
|
人工智能 数据可视化 数据挖掘
IJCAI 2023 | 腾讯优图新作 CECNet: 提升小样本学习在分类、检测和分割任务上的性能
IJCAI 2023 | 腾讯优图新作 CECNet: 提升小样本学习在分类、检测和分割任务上的性能
273 0
|
机器学习/深度学习 边缘计算 算法
无惧大规模GNN,用子图也一样!中科大提出首个可证明收敛的子图采样方法 | ICLR 2023 Spotlight
无惧大规模GNN,用子图也一样!中科大提出首个可证明收敛的子图采样方法 | ICLR 2023 Spotlight
190 0
|
编解码 自然语言处理 机器人
哈佛大学砸场子:DALL-E 2只是「粘合怪」,生成正确率只有22%
哈佛大学砸场子:DALL-E 2只是「粘合怪」,生成正确率只有22%
101 0