从 SimCLR, MoCo, BYOL 了解目前图像自监督对比学习预训练在做什么
除了Transformer之外,自监督对比学习预训练目前也是CV领域的另一大研究热点。在不使用任何的标签的情况下,使用自监督对比学习预训练出的CNN编码器参数能够在分类、分割、检测等基础任务上都有上佳的表现。这篇文章重点总结了SimCLR, MoCo, BYOL三个经典的CV领域无监督对比学习预训练的方法。
一、自监督对比学习预训练简介
1)自监督学习为什么重要
机器学习通常以受监督的方式完成:我们使用由输入和“正确答案”(输出)组成的数据集来找到从输入数据映射到正确答案的最佳函数。相比之下,在自监督学习中,数据集中没有提供正确答案。相反,我们学习了一个将输入数据映射到自身的函数(例如:MAE中使用没有mask的区域来预测被mask区域的像素值)。
这种方法在从语言到图像和音频的所有方面都被证明是成功的。事实上,最近的NLP领域的语言模型(从word2vec到BERT和GPT-3),以及CV领域的预训练模型(MAE、PeCo)都是自监督方法的例子。有些学者认为自监督学习可能是类人智能的重要组成部分。
2)对比学习
对比学习是训练分类器区分“相似”和“不同”输入数据的过程。分类器的正例是同一图像的不同版本,而负例是同一数据集中的其他图像。例如,假设有一张狗的图片。在这种情况下,正例可能是该图像的不同数据增强形式(见下图),而反例可能是来自完全不同图像的数据增强。
原始图片的数据增强版本。这些中的任何两个都可以用作正例对
2)同一个原样本的不同augmentation结果 / view在特征空间有相同的表征。
二、图像对比学习中预训练典型方法
1)SimCLR(ICML2020)
2)MoCo
)。
这种形式(公式中
一般取接近1的值,比如0.998,这样使得momentum网络的参数在很多个step之后仍然差别不大)的更新能够保持Memory bank中存储的z'的一致性。
3)BYOL
链接:https://www.zhihu.com/question/402452508/answer/1293518245
来源:知乎
众所周知,contrastive learning框架有两大目标:
- 不同的原样本有不同的表征,负样本的存在就是为了确保这个目标
- 同一个原样本的不同augmentation结果 / view有相同的表征
而之前其实已经有挺多工作告诉我们,一个随机初始化的CNN就已经具备一定程度的图像特征抽取能力。更进一步地,如果CNN随机初始化之后,就已经会把不同的样本输入投射到特征空间的不同地方,并且投射得足够分散,那它就已经完成了contrastive learning框架中第一个目标。如果上述猜测成立,那么只要在接下来的训练过程中达成contrastive learning框架第二个目标,并且小心翼翼地维护第一个目标不被破坏,避免网络收敛到trivial solution,那就确实可以抛开负样本。而这个小心翼翼维护的操作,在BYOL里面就体现为”teacher不要太快跟上student的步伐“,论文Table 5说明,跟得太快会破坏contrastive特性,跟得太慢又有损训练效率,为了trade-off,就祭出了mean teacher这个好用的工具,平衡稳定性与效率。
所以我猜测BYOL能work的基石,很可能就是CNN结果在图像数据集上天然存在、不依赖于训练的contrastive feature repersentation能力,BYOL所做的,主要是为CNN补上了transformation invariance。换言之,如果换一个完全不同的网络结构(比如MLP)或者完全不同的数据形态(比如文本),导致该结构并不天然具备针对该数据形态的特征抽取能力,那么BYOL就不work,还得negative sample出来救场。
三、微调结果
上述预训练完之后,我们可以取其预训练好的encoder在分类、分割、检测任务上进行微调。
1)分类:
2)分割、检测与其他任务。可以看到甚至比有监督的预训练更好:
参考资料:
阿柴提示
以上若有你需要而查不到或有疑惑的项目,
请联系小编为你解答
Ps:欢迎关注公众号,获取更多计算机视觉、图像分割和自然语言处理领域资料:
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。