读论文——MoCo(何恺明 CV中的无监督)

第一遍

标题以及作者(2020 3.23)

读论文——MoCo(何恺明 CV中的无监督)_第1张图片

前置知识

  1. 代理任务(用来生成有监督信号):

    Instance Discrimination

    同一个图片中的不同块是一类,不同图片就是不同的类

摘要

  1. 将对比学习视为字典查询任务,构建一个动态的字典。(样本队列+移动平均编码器)
  2. MoCo学习到的特征可以迁移到下游任务中,在7种下游视觉任务上,让无监督学习比有监督学习表现更好。(Note:特征提取器和迁移下游任务是具有区别的)

结论

  1. MoCo在一亿数据集上的表现和百万数据集上的表现提升不大,有没有可能是代理任务需要改进。
  2. 作者提出Mask auto-encoding 有没有可能在CV和NLP中让无监督学习更强。(2021年就出了MAE)

介绍

  1. 将对比学习视作是一个字典查询工作,anchor作为query在由正样本和负样本组成的字典中,计算差异,寻找出字典中的正样本。

  2. 要求字典要足够大(能够更好地覆盖图片语义空间);一致性(正样本和负样本需要由相同或者相似的编码器编码)

  3. 本文模型

    读论文——MoCo(何恺明 CV中的无监督)_第2张图片

第二遍

相关工作

  1. 对比损失是在表示空间中衡量样本的相似性
  2. 代理任务(pretext tasks),重建某个图、patch、预测方位、预测顺序
  3. 不同的对比学习和代理任务可以配对使用

MoCo方法

3.1 对比学习视为字典查找

  1. InfoNCE(noise contrastive estimation)
    L q = − log ⁡ exp ⁡ ( q ⋅ k + / τ ) ∑ i = 0 K exp ⁡ ( q ⋅ k i / τ ) 其 中 K 表 示 K 个 负 样 本 , τ 表 示 一 个 超 参 数 , 用 来 调 整 l o g i t 的 分 布 \mathcal{L}_{q}=-\log \frac{\exp \left(q \cdot k_{+} / \tau\right)}{\sum_{i=0}^{K} \exp \left(q \cdot k_{i} / \tau\right)} \\ 其中K表示K个负样本,\tau表示一个超参数,用来调整logit的分布 Lq=logi=0Kexp(qki/τ)exp(qk+/τ)KKτlogit

3.2 动量对比

  1. 使用一个队列来维护一个字典

  2. 动量更新
    θ k ← m θ k + ( 1 − m ) θ q \theta_k \leftarrow m\theta_k + (1-m)\theta_q θkmθk+(1m)θq
    m默认为0.999

  3. 对比学习机制

    读论文——MoCo(何恺明 CV中的无监督)_第3张图片

实验

4.2 迁移特征

  1. 迁移学习是无监督学习的重要作用,通过微调可以将模型用于数据较少的任务上。

第三遍

小结:

  1. MoCo的创新点主要有:1. 利用队列的数据结构以及InfoNCE损失函数,构建了一个大的字典 2. 利用动量更新的方法,解决了负样本编码器更新问题,从而解决了字典中的特征一致性问题。
  2. 该论文也启发了CV的无监督学习,证明在CV中也可以吃大数据集的红利,通过在更大的数据集上进行无监督训练可以得到更好的模型。

字典中的特征一致性问题。
2. 该论文也启发了CV的无监督学习,证明在CV中也可以吃大数据集的红利,通过在更大的数据集上进行无监督训练可以得到更好的模型。

你可能感兴趣的:(#,计算机视觉,机器学习,计算机视觉,深度学习)