MoCo论文阅读笔记

        本文提出了动量对比(MoCo)的无监督视觉表征学习。从对比学习[29]作为字典查找的角度来看,我们 建立了一个具有队列和移动平均编码器的动态字典。这表明,在许多视觉任务中,无监督和有监督的表示学习之间的差距已经在很大程度上弥合了。

       无监督表示学习在自然语言处理中非常成功,例如,如GPT [50,51]和Bert[12]所示。但在计算机视觉中,有监督的预训练仍然占主导地位,而无监督的方法通常会落后。原因可能源于它们各自信号空间的差异。语言任务有离散的信号空间(单词、子单词单位等。)用于构建标记化词典,无监督学习可以基于该词典。相比之下,计算机视觉进一步涉及字典构建[54,9,5],因为原始信号处于连续的高维空间中,并且不是为人类交流而构建的(例如,不像单词)。

        最近的几项研究[61,46,36,66,35,56,2]展示了使用对比损失相关方法进行无监督视觉表征学习的有希望的结果[29]。这些方法可以被认为是构建动态字典。字典中的“key”(tokens)是从数据(例如,图像或patches)中采样的,并由编码器网络表示。无监督学习训练编码器执行字典查找:编码的“query”应该与其匹配的key相似,而与其他query不相似。学习被表述为最小化对比损失[29]。
       从这个角度来看,我们假设构建这样的词典是可取的:(I)大的和(ii)在训练过程中随着它们的发展而一致的。较大的字典可以更好地采样潜在的连续的、高维的视觉空间,而字典中的关键字应该由相同或相似的编码器来表示,以便它们与查询的比较是一致的。然而,使用对比损失的现有方法可能在这两个方面中的一个方面受到限制。 
       CSDN:字典 key 越多,表示的视觉信息越丰富,匹配时更容易找到具有区分性的本质特征。 如果字典小、key少,模型可能学到 shortcut 捷径,不能泛化 。字典里的 key (k0, k1, k2, …, kN) 应该由相同的 or 相似的编码器生成。如果字典的 key 是由不同的编码器得到的,query q 做字典查询时,很有可能 找到和 query 使用同一个 or 相似编码器生成的 key,而不是语义相似的 key,这是另一种形式的 shortcut solution(原文链接:https://blog.csdn.net/weixin_44751294/article/details/122720525)
       无监督学习的一个主要目的是 预训练表示(即特征),这些表示可以通过微调转移到下游任务。术语“前置pretext”意味着正在解决的任务不是真正感兴趣的,而是仅仅为了学习良好的数据表示的真正目的而解决的。
MoCo侧重于损失函数方面。 
       ·对比损失测量表示空间中样本对的相似性。与将输入匹配到固定目标不同,在对比损失公式中,目标可以在训练期间动态变化,并且可以根据网络计算的数据表示来定义 [29]。
       ·对抗性损失 [24] 衡量概率分布之间的差异。它是一种广泛成功的无监督数据生成技术。生成对抗网络和噪声对比估计(NCE) [28]之间存在关系。
       一些前置任务通过例如单个(“样本”)图像的变换[17],patch排序[13,45],跟踪[59]或分割视频中的对象[47],或聚类特征[3,4]来形成伪标签。
       对比学习[29]及其最近的发展,可以被认为是为字典查找任务训练一个编码器。
       图2这三种机制的不同之处在于如何维持key以及如何更新key编码器。
       从上述角度来看,对比学习是一种在图像等高维连续输入上建立离散字典的方式。字典是动态的,因为密钥是随机采样的,并且密钥编码器在训练过程中不断发展。我们的假设是,好的特征可以通过覆盖一组丰富的负样本的大字典来学习,而字典键的编码器尽可能保持一致,尽管它在进化。
       使用队列可以使字典变大,但是也使得通过反向传播(梯度应该传播到队列中的所有样本)来更新key编码器变得困难。我们假设这种失败是由于快速变化的编码器降低了key表示的一致性。我们提出一个动量更新来解决这个问题。
       θq通过反向传播更新,θk=mθk+(1-m)θq,θk进化地更加平滑,因此,尽管队列中的key由不同的编码器编码(在不同的小批量中),但是这些编码器之间的差异可以很小。
       ①通过反向传播端到端更新是一种自然机制。它使用当前小批量中的样本作为字典,因此key被一致地编码(通过相同的编码器参数集)。但是 字典大小与mini-batch大小相关联,受到GPU内存大小的限制。它也面临着大型mini-batch优化的挑战[25]。
       ②memory bank由数据集中所有样本的表示组成。
       此外,我们的方法更节省内存,可以在十亿级数据上训练,这对于一个内存库来说是很难处理的。
       基于[61],我们认为如果query和key来自同一图像,则它们是正对,否则是负样本对。在实验中,我们发现使用BN会阻止模型学习良好的表示。这可能是因为样本之间的batch内通信(由BN引起)泄漏了信息。对于key编码器fk,我们在当前mini-batch中洗牌,然后在GPU之间分配(编码后再洗牌);query编码器fq的mini-batch的样本顺序不变。这确保了用于计算query及其正key的批处理统计数据来自两个不同的子集。这有效地解决了作弊问题,并允许训练受益于BN。
       这三种机制都受益于更大的k,这支持了我们建立大型词典的动机。
       当m在0.99∾0.9999时,它表现得相当好,表明缓慢前进(相对大的动量)的key编码器是有益的。
       无监督学习的主要目标是学习可转移的特征。与ImageNet监督预训练相比,由无监督预训练产生的特征可以具有不同的分布。但是用于下游任务的系统通常具有为监督预训练选择的超参数(例如,学习率)。为了缓解这个问题,我们在微调过程中采用了特征归一化:我们使用经过训练的BN进行微调(并跨GPU同步[49]),而不是通过仿射层将其冻结[33]。
       预训练与detector结构之间的关系在过去一直被掩盖,应该是一个考虑因素。
       MoCo在很大程度上弥合了多种视觉任务中无监督和有监督表示学习之间的差距。这表明MoCo可以在这个大规模、相对不精确的数据集上表现良好。这代表了现实世界无监督学习的一个场景。MoCo从IN-1M到IG-1B的进步一直很明显,但相对较小,这表明更大规模的数据可能没有得到充分利用。我们希望高级的前置任务将改善这一点。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值