在SimCLR发表一个月后,Kaiming He等人发表了MoCo v2,主要借鉴了SimCLR中的改动: 改进了数据增强的方法,增加使用blur augmentation来进行增强 在encoder得到表示后添加非线性层等 最终在以更小的batch_size和训练轮数,在ImageNet分类任务上提升超过SimCLR。
1:核心思想: 1:SimCLR系列:V1-[1] V2-[2]:同一张图片,经过不同的data augmentation之后,就是自己的的positive GT,其他图片都是negative GT。 2:MoCo系列:V1-[3] V2-[4] V3-[5]:同一张图片,经过不同的data augmentation之后,不直接作为彼此的GT,而要经过一个队列: 2:差异对比: 1:SimCLR系列:V1-...
还有一些不sync BN但是起到global BN效果的trick 比如mocov2中使用的在load数据时把每个node的数据做一些互换,这样子等于说A node里有了本来应该在B node里的数据。 2.mocov1 mocov2 步骤:1)预处理:对同一张图做两次augmentation 得到来自同一张原图的两张增强过的图片。 2)encoder:结构mocov1为resnet50,moc...
BYOL 中 target emcoder 其实就是 Moco 中的 momentum-encoder,其参数更新来自于 online-encoder,而不是由 loss 计算。可以说 BYOL 在 Moco-v2 的基础上直接去掉了负样本的对比,而是在正样本projection之后再进行 predition 来预测图像特征。 SimSiam 就更简单了,SimSiam 相当于在 BYOL 的基础上进一步去掉了 momen...
SimCLR v2 结合无监督预训练、半监督训练、有监督的微调和未标记数据的蒸馏等等一系列的训练手段。具体如下图: 左边,非监督的方法学习一个任务无关的通用的表征,这里直接用 SimCLR,不同点在于网络变大和也借用了 MoCo 部分架构。 中间,用监督的方法进行 fine-turning ...
无监督对比学习之师夷长技以制夷的MOCO v2《Improved Baselines with Momentum Contrastive Learning》 SimCLR凭借着几个trick和豪气冲天的GPU/TPU把MOCO干趴了 扭头MOCO就用SimCLR的trick干了回去, SimCLR,你在TPU上练的死劲不管用了! MOCO v1 详见https://blog.csdn.net/weixin_42764932/article/details/...
一般来说,对比方法在有更多的负样本的情况下效果更好,因为假定更多的负样本可以更有效地覆盖底层分布,从而给出更好的训练信号。 所以回到 MoCo 的图了,既然样本数量对于学习到的样本质量有很大的影响,那么我们就扩展负样本的数量就好!但是目前对于 batch size 是没有很好的解决办法的,实际上如下图 a,loss 的梯度...
PASSL包含 SimCLR,MoCo v1/v2,BYOL,CLIP,PixPro,simsiam, SwAV, BEiT,MAE 等图像自监督算法以及 Vision Transformer,DEiT,Swin Transformer,CvT,T2T-ViT,MLP-Mixer,XCiT,ConvNeXt,PVTv2 等基础视觉算法 - PaddlePaddle/PASSL
BYOL 中 target emcoder 其实就是 Moco 中的 momentum-encoder,其参数更新来自于 online-encoder,而不是由 loss 计算。可以说 BYOL 在 Moco-v2 的基础上直接去掉了负样本的对比,而是在正样本projection之后再进行 predition 来预测图像特征。 SimSiam 就更简单了,SimSiam 相当于在 BYOL 的基础上进一步去掉了 ...