无监督
Last updated
Was this helpful?
Last updated
Was this helpful?
$L=\frac{1}{2 N} \sum_{n=1}^{N} y d^{2}+(1-y) \max (margin-d, 0)^{2}$
$d=||a_n-b_n||_2$代表两个样本的欧式距离,代表两个样本的欧式距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配,margin为设定的阈值。
当y=1时,损失函数为$L=\frac{1}{2 N} \sum_{n=1}^{N} d^{2}$,即相似样本的距离要尽可能的小。
当y=0时,损失函数为$L=\max (margin-d, 0)^{2}$,即非相似样本的距离要尽可能的大,大于某个与之就可以结束了,类似SVM中的soft margin。
MOCO——Momentum Contrast for Unsupervised Visual Representation Learning
首先就是要提一下对比学习——基本思想就是让相似的样本距离比非相似的样本更近,这里构造一种损失来度量;那么神经网络经过这样的对比学习,就模型区分能力就更加强大了。如果负样本对越多,对比效果就越好,模型的训练难度就越大,最后训练得到的模型具备的能力肯定就更强。这里怎么样才能够在训练过程中增加对比度,也就是增加负样本对的数目,同时不会依赖硬件GPU显存太多,就是一个比较难的问题。Moco给出了一个很好的答案。
这里提出了一个重要的思想,将对比学习当作词典查询(Contrastive Learning as Dictionary Look-up)。将一个当作query,其他的当作key,共有(k+1)个key,其中一个正样本(通过和query不同的数据增强得到),k个负样本。损失函数用infoNCE,其中$\tau$是温度系数:
MoCo的训练过程如下: