CPC(Representation Learning with Constrastive Predictive Encoding)
时间序列预测的代理任务

CMC(Constrastive MultiView Encoding)

对比式自监督图片,有负样本
MoCo V1(Momentum Contrast for Unsupervised Visual Representation Learning)

MoCo的想法主要是在之前end-to-end和memory bank基础上产生的。q表示query,也就是对比的left;k表示key,也就是对比的right,k中既包含和q相似的样本(可能会标记为k+),也包含也q不相似的样本
关于end-to-end方式(The end-to-end update by back-propagation is a natural mechanism. It uses samples in the current mini-batch as the dictionary, so the keys are consistently encoded (by the same set of encoder parameters). But the dictionary size is coupled with the mini-batch size, limited by the GPU memory size. It is also challenged by large mini-batch optimization),实际上就是编码器q和k都可以通过梯度回传来传递参数,q和k都是在一个mini-batch中生成的,q和k可以用相同的编码器也可以用不同的编码器。因此end-to-end模式中字典大小和mini-batch size是等价的,受限于字典大小。SimCLR本质上也是一种end-to-end的方式,SimCLR用了更多的数据增量方式,而且提出在编码器后加一个projector,可以让效果大大编号。同时google的TPU可以把batch size调到8192,这是SimCLR普通人玩不起的。。。
memory bank会把整个数据集的特征都存到内存中,但是更新每次只能更新q的梯度,每次从memory bank里随机抽样一些key并且更新,但是这样的话大的bank里key不够一致。
因此MoCo主要两个contribution:1. Momentum解决memory bank不一致的问题,而且每次要给一个大的动量,实验测比如m=0.999;2. 用一个大的dictionary,通过一个动态queue来实现dictionary
另外MoCo在对下游任务做微调时,learning rate居然到30。。。如果和有监督的样本空间差别非常大
MoCo选择instance discrimination(个体判别,判断两张图是不是同一个东西)作为pretext tasks(代理任务,还有其他代理任务例如CPC【contrastive predictive coding,预测性对比学习,通过上下文信息来预测未来】和CMC【contrastive multiview coding,通过不同视角来进行对比,例如图片上色】),使用InfoNCE(Noise Contrastrive Estimation,两类,数据和噪声分两类;但是等到了InfoNCE就不止两类了,变成多类了,就这么点区别。注意NCE是要对噪声进行采样的,但是从形式上看和cross entropy loss区别只是一个是类别个数,另外一个是负样本个数)作为Loss Function。
这个视频讲解比较好 MoCo 论文逐段精读 - 知乎
手敲一下Pytorch版的伪代码:
import torch
import torch.nn as nn
loader = ...
encoder_q = ...
encoder_k = ...
aug1 = ...
aug2 = ...
queue = ... # (dim, K)
m = 0.9
tau = ...
optimizer = torch.optim.SGD(encod

本文深入探讨了对比学习在无监督视觉表示学习中的应用,包括MoCo、MoCoV2、MoCoV3、SimCLR、BYOL等方法。这些方法通过代理任务如实例判别、预测编码和多视图编码,利用对比损失函数优化特征表示。MoCo引入了动量编码和大型字典,解决了记忆库一致性问题。SimCLR扩大了批处理大小并使用投影层。BYOL则通过预测层避免了负样本坍塌。同时,文章还提到了SwAV、DiNo、iBot等聚类和预测式自监督方法,以及MAE、BEiT等生成式自监督模型,展示了各种自监督学习策略在图像表示学习中的创新和进步。
最低0.47元/天 解锁文章
2769





