Bilibili视频-对比学习论文综述【论文精读】

Bilibili视频-对比学习论文综述【论文精读】

对比学习论文综述【论文精读】

百花齐放

Unsupervised Feature Learning via Non-Parametric Instance Discrimination

提出个体判别任务。

Bilibili视频-对比学习论文综述【论文精读】_第1张图片

Motivation

本篇文章的motivation来自于监督学习方法中的结果。对于一个分类器,输入图片是一个猎豹,而输出的结果的可能性中,可能性高的往往和猎豹有紧密的关系;而输出可能性低的往往和猎豹没有关系。

作者把每一个Instance看成一个类别,而目标则是学习到一个特征,从而让分类器能够把每个图片都区分开来。

Bilibili视频-对比学习论文综述【论文精读】_第2张图片

方法:

通过一个卷积神经网络把图片编码成一个特征,然后希望这些特征能够在特征空间中尽可能的分开。

对比学习:

正样本是图片本身(数据增强);负样本是数据集中的其他图片。

把所有图片的特征存放在Memory bank中(也就是一个字典)。每个特征的维度不能太高,否则字典会很大。

用NCE loss计算对比学习的目标函数。同时更新Memory Bank。

Unsupervised Embedding Learning via Invariant and Spreading Instance Feature

SimCLR的前身。没有使用额外的结构存储数据样本。正负样本来源于同一个minibatch。

Bilibili视频-对比学习论文综述【论文精读】_第3张图片

Motivation:相似的图片编码后的特征应该很相似,而不相似的图片编码后的特征应该不相似。

Bilibili视频-对比学习论文综述【论文精读】_第4张图片

方法:正样本是图片本身,负样本是batch中的所有其他样本(包括原始图片和数据增强后的图片)。

该算法的好处在于可以用一个样本进行端到端的训练。

没有取得好的结果的原因在于没有使用足够大的字典。

Representation Learning with Contrastive Predictive Coding

使用生成式代理任务

Bilibili视频-对比学习论文综述【论文精读】_第5张图片

想法:

给定输入 x x x,将 t t t时刻之前的输入喂给一个编码器,编码器会返回给我们一些特征,把这些特征输入给一个自回归模型,得到 c t c_t ct,用 c t c_t ct预测未来的信息。

正样本选择原本的未来信息 x t + i x_{t+i} xt+i,负样本则随机选择其他信息。

Contrastive Multiview Coding

Bilibili视频-对比学习论文综述【论文精读】_第6张图片

将一个物体的多个视角定义为正样本。作者希望模型能够学习到物体的特征,使得无论输入的是哪个视角模型都能够正确的做出判断。如上图所示。

cmc是第一个使用多视角进行对比学习的工作。

缺点:使用几个视角就需要几个编码器。

CV双雄

Momentum Contrast for Unsupervised Visual Representation Learning

主要贡献:把之前对比学习的方法归纳为字典查询问题。提出队列和动量编码器来使字典更大。

  • 用队列解决大字典的问题;
  • 用动量编码器去解决字典特征不一致的问题。

A Simple Framework for Contrastive Learning of Visual Representations

Bilibili视频-对比学习论文综述【论文精读】_第7张图片

给定输入 x x x,对于使用不同的数据增强方法得到的 x ^ i , x ^ j \hat x_i,\hat x_j x^i,x^j,把数据增强后的这两个图片作为正样本。负样本则为batch中剩下的样本以及数据增强之后的样本。再使用 f ( ⋅ ) f(·) f()对输入进行编码,再经过一个 g ( ⋅ ) g(·) g()(只在训练时使用),一个全连接层后,得到结果。

使用normalized temperature-scaled交叉损失函数进行评估。

主要贡献

  • 使用了更多的数据增强
  • 增加了 g g g函数
  • 使用了更大的batch size

数据增强方法:


Big Self-Supervised Models are Strong Semi-Supervised Learners

Bilibili视频-对比学习论文综述【论文精读】_第8张图片

文章主要分为三个部分:

  1. 用SIMCLR进行自监督的对比学习
  2. 在训练好的模型的基础上,只需要一小部分数据对模型进行微调
  3. 使用该模型作为Teacher模型对无标签的数据打标签,进行自学习

模型的改变:

  1. 更大的模型
  2. 增大mlp层的规模
  3. 使用动量编码器

Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

将对比学习与聚类结合。

Bilibili视频-对比学习论文综述【论文精读】_第9张图片

左边是对比学习的方法。

作者希望在对比学习的最后,不用Feature去做近似。而是借助一些先验信息去和一些简单的东西作比较(聚类的中心),从而不去和负样本作比较。

使用聚类的好处:

  1. 减少计算,不需要和大量负样本进行比较。
  2. 聚类中心存在语义含义,更高效。

Multi-crop:

  • 从图片中取得更多的crop而不是两个。
  • 变小crop的size从而不增大计算量

不用负样本

Bootstrap Your Own Latent A New Approach to Self-Supervised Learning

核心思想:自己和自己进行学习。

不用负样本的好处:在进行目标函数计算的时候,模型只需要让所有相似的物体的特征也尽可能的相似。从而存在一种捷径方法(问题),一个模型无论给什么输入都能返回同样的输出(0)。

Bilibili视频-对比学习论文综述【论文精读】_第10张图片

输入 x x x经过数据增强得到 v , v ′ v,v' v,v,然后分别通过架构相同参数不同的编码器 f θ , f ξ f_\theta,f_\xi fθ,fξ得到特征,然后通过mlp g θ , g ξ g_\theta,g_\xi gθ,gξ得到特征 z z z,之后将 z θ z_\theta zθ再经过一层mlp得到 q θ ( z θ ) q_\theta(z_\theta) qθ(zθ),希望得到的这个结果与 z ξ ′ z'_\xi zξ尽可能的相似。

训练网络的时候采用MSE loss

不使用batch norm会导致模型坍塌,后续研究表明使用batch norm会让模型学习到batch中的所有样本,相当于是学习到了负样本的信息。

BYOL works even without batch statistics

Bilibili视频-对比学习论文综述【论文精读】_第11张图片

提出batch norm 不关键的原因:实验发现及时在使用batch norm的条件下,某些特例依然表现不佳。

作者给出解释的理由是:如果一开始就能让模型初始化比较好,那么后面的训练即使不用batch norm也没问题

Exploring Simple Siamese Representation Learning

提出的创新点:

  • 不使用负样本
  • 不使用动量编码器
  • 不适用大的batch size

Bilibili视频-对比学习论文综述【论文精读】_第12张图片

作为认为该模型能够成功训练而不坍塌的原因在于stop gradient操作

Transformer

An Empirical Study of Training Self-Supervised Vision Transformers

核心论点:提高VIT的稳定性

MoCoV3相当于MoCoV2和SimSiam的合体

采用ViT作为骨干时存在一个问题就是当batch size增大后训练会变得不稳定。

解决方法:冻住patch projection层

Emerging Properties in Self-Supervised Vision Transformers

Bilibili视频-对比学习论文综述【论文精读】_第13张图片

效果:完全不用任何标签信息训练出的vision transformer,其自注意图能够准确的抓住物体的轮廓信息。

Bilibili视频-对比学习论文综述【论文精读】_第14张图片
和BYOL结构相似,但作者采用的是蒸馏的思想,把两个编码器一个看成student,一个看成teacher

你可能感兴趣的:(论文阅读,笔记,深度学习笔记,音视频,学习,深度学习)