美文网首页
对比学习

对比学习

作者: 可能性之兽 | 来源:发表于2022-09-23 10:28 被阅读0次

深度学习的本质就是做两件事情:Representation Learning(表示学习) 和 Inductive Bias Learning(归纳偏好学习)。

要说到对比学习,首先要从自监督学习开始讲起。自监督学习属于无监督学习范式的一种,特点是不需要人工标注的类别标签信息,直接利用数据本身作为监督信息,来学习样本数据的特征表达,并用于下游任务。


image.png

Generative Methods(生成式方法)这类方法以自编码器为代表,主要关注pixel label的loss。举例来说,在自编码器中对数据样本编码成特征再解码重构,这里认为重构的效果比较好则说明模型学到了比较好的特征表达,而重构的效果通过pixel label的loss来衡量。

Contrastive Methods(对比式方法)这类方法则是通过将数据分别与正例样本和负例样本在特征空间进行对比,来学习样本的特征表示。Contrastive Methods主要的难点在于如何构造正负样本。

同理,相比起Generative Methods需要对像素细节进行重构来学习到样本特征,Contrastive Methods只需要在特征空间上学习到区分性。因此Contrastive Methods不会过分关注像素细节,而能够关注抽象的语义信息,并且相比于像素级别的重构,优化也变得更加简单。

对比学习

对一条样本x1通过数据增强得到x2,那么这就是一对正样本对,和其他样本就是负样本对。
通常的做法就是:一个batch假设大小是M(假设其中一个样本是x1),那么通过数据增强得到2M(x1数据增强得到x2),正样本就是x1和x2,负样本就是x1和batch内其他的样本。

一个例子是:
尽管我们已经见过很多次钞票长什么样子,但我们很少能一模一样的画出钞票;虽然我们画不出栩栩如生的钞票,但我们依旧可以轻易地辨别出钞票。基于此,也就意味着表示学习算法并不一定要关注到样本的每一个细节,只要学到的特征能够使其和其他样本区别开来就行,这就是对比学习和对抗生成网络(GAN)的一个主要不同所在。

表示学习的核心就是要学习一个映射函数 f,把样本 x 编码成其表示 f(x),对比学习的核心就是使得这个 f 满足下面这个式子:

image.png

这里的 x+ 就是和 x 类似的样本,x− 就是和 x 不相似的样本,s(⋅,⋅) 这是一个度量样本之间相似程度的函数,一个比较典型的 score 函数就是就是向量内积,即优化下面这一期望:

image.png

如果对于一个 x,我们有 1 个正例和 N−1 个负例,那么这个 loss 就可以看做是一个 N 分类问题,实际上就是一个交叉熵,而这个函数在对比学习的文章中被称之为 InfoNCE。事实上,最小化这一 loss 能够最大化 f(x) 和 f(x+) 互信息的下界,让二者的表示更为接近。理解了这个式子其实就理解了整个对比学习的框架,后续研究的核心往往就聚焦于这个式子的两个方面。

MoCo

CPC

对于文本、音频这样的数据,常见的裁剪、旋转等变换操作就无法适用了,因为其数据本身的时序性,设计合理的方法来把这一点考虑进去是至关重要的。Contrastive Predictive Coding(CPC) 这篇文章就提出,可以利用一定窗口内的 xt 和 xt+k 作为 Positive pair,并从输入序列之中随机采样一个输入 xt∗ 作为负例,下图说明了 CPC 的工作过程:


image.png

Simsce
ESimsce
ConSERT
SCCL
CLEA
...........

对比学习(Contrastive Learning) - 知乎 (zhihu.com)

对比学习火了 (qq.com)

相关文章

  • 对比学习

    对比学习(Contrastive Learning)是自监督学习的一种。自监督学习属于无监督学习范式的一种。常见的...

  • 对比学习

    1、对比学习、度量学习、bert 自监督的度量学习 simclr moco swav 2、基于对比学习的推荐模型 ...

  • 对比学习

    深度学习的本质就是做两件事情:Representation Learning(表示学习) 和 Inductive ...

  • 对比学习

    这段时间浏览了大量的自监督学习方面的知识,今天就通过本篇博客将这些有关方面的知识进行汇总。本文将从SimCLR,M...

  • 文本分类还停留在BERT?对偶比学习框架也太强了

    论文简介:对偶对比学习:如何将对比学习用于有监督文本分类论文标题:Dual Contrastive Learnin...

  • Swift中的数组

    最近开始学习总结关于Swift的知识,今天先从最基础的数组开始。对比OC的数组方法来学习,这样更容易对比学习 初始...

  • iOS开发中使用OC和swift的对比

    背景: 为了更好地学习,本人决定将学习的swift和OC进行下对比。 对比: 1.import的类 OC:某个只要...

  • 《世界十大学习方法》之对比学习法

    《世界十大学习方法》之对比学习法 每次单独学习一个知识好,还是对比学习多种知识好?明显是后一种更好,每次单独学习,...

  • 对比看ConcurrentHashMap之一

    通过HashMap对比看ConcurrentHashMap 之前详细看了HashMap的实现,现在通过对比来学习下...

  • 世界五大学习法之跨界学习法(对比学习)

    世界五大学习法之跨界学习法(对比学习) 跨界学习法包括四种方法:1)跨界融合,2)方法迁移,3)对比学习,4)思维...

网友评论

      本文标题:对比学习

      本文链接:https://www.haomeiwen.com/subject/pxfnortx.html