ℓi,j=−logexp(q·k+/τ)∑i=0Kexp(q·ki/τ) 其中,τ是温度参数,一般来说,queryq=fq(xq),相应的,。k=fk(xk)。,fq,fk都是一个编码器网络,二者可以参数完全相同,也可以部分共享参数,甚至完全不同而,xq,xk既可以是图片,也可以只是patch,或者是一系列的patch。 作者认为对比学习是在...
公式中的τ是一个温度的超参数,这个温度一般是用来控制分布的形状的,τ的值越大,1/τ就越小,就相当于将分布中的数值都变小了,尤其是经过exponential之后就变得更小了,最后就会导致这个分布变得更平滑;相反,如果τ取得值越小,也就是1/τ越大,那么分布里的值也就相应的变大,经过exponential之后,原来大的值变得...
所以,fk编码器的更新还需要根据动量更新公式: 其中,θq是编码器fq的参数,θk是编码器fk的参数,m是动量参数,属于[0,1]。上面的公式中,只有θq是通过反向传播更新的。较大的m值,如0.999效果较好。 复制参数值 + 动量更新公式 使得MoCo的字典可以保持与查询q具有一致性。 3、与end-to-end和memory bank的比较...
其余都是负样本,至于分母 τ 就是softmax的温度参数,用来控制概率分布的尖锐和平滑。
其中τ 是根据 [61] 的温度超参数。 总和超过1 个正样本和K 个负样本。 直观地说,这个损失是试图将 q 分类为 k+ 的(K+1)路基于 softmax 的分类器的对数损失。 对比损失函数也可以基于其他形式 [29, 59, 61, 36],例如基于边际的损失和 NCE 损失的变体。 对比损失作为一个无监督的目标函数,用于训练表...
总结一下,端对端方法字典大小受限于显存,memory bank 方法将 k 存储起来,碰到相应的q更新一次,字典大小不受限制,但是key之间是不一致的。MoCo用缓慢更新 k的编码器的方式 保证了队列中k 的一致性。 MoCoV2 https://arxiv.org/abs/2003.04297 用两层MLP检测头代替一层全连接。 使用模糊图像增广。
CPC v2 引入SimCLR v1的几个技术,ImageNet精度直接从40多提到70多 MoCov2 相比MoCov1,引入了projection head;使用更多数据增强、cosi调度器和更长的训练epoch SimCLR v2 受noisy student影响,使用伪标签进行半监督训练。相比SimCLRv1使用了更大的backbone,动量编码器和两层的 projection head SwAV 结合聚类和...
今天介绍 MoCo 系列第一版 MoCo v1 就是在 SimCLR 发表前经典的图像自监督学习方法,MoCo v1 和 v2 是针对 CNN 设计的,而 MoCo v3 是针对 Transformer 结构设计的,反映了 MoCo 系列对视觉模型的普适性。 [TOC] 自监督学习 Self-Supervised Learning ...
MoCo v1是MoCo方法的第一个版本,它通过构建一个动量编码器和一个目标编码器的对比学习框架,实现了在...