1 概述
在NLP领域,无监督表征学习有GPT、BERT等效果非常好的模型,但是CV领域还是有监督模型作为主流。作者认为主要是因为CV和NLP领域处理的数据对应的信号空间不同:语言任务有离散的信号空间,词语词之间可以视为是独立的词组,能够很方便地构成字典(Dictionary),这种词典是无监督学习便于学习依赖的特征;而视觉领域的原始信号是在一个连续且高维空间中,无法成为结构化的信号,使得无监督学习难以展现在NLP领域发挥出的效果。
作者提出了一种动态字典,即MOCO,新的minibatch对应的字典在进入队列时,将会替换最早进入的字典,使得字典始终是所有数据的子集,又始终代表最新的表征,经过试验发现,Moco的表现非常之好。
2 思想
对比学习的思想在于,通过一些已编码的query(q),使其与其对应的key(k)相对应,k是被编码的样本的在字典中的key { k 0 , k 1 , k 2 . . . } \lbrace k_0,k_1,k_2...\rbrace {
k0,k1,k2...},假设 q q q与 k + k_+ k+相匹配,对比损失的目的是尽量拉近 q q q与 k + k_+ k+之间的距离而增大 q q q与其他 k i k_i ki之间的距离(拉近正对,缩小负对,其他的 k i k_i ki都是负对),Moco用的是点积的方法衡量相似度,称为InfoNCE loss:
ℓ i , j = − log exp ( q ⋅ k + / τ ) ∑ i = 0 K exp ( q ⋅ k i