\operatorname{sim}(\boldsymbol{u}, \boldsymbol{v})=\boldsymbol{u}^{\top} \boldsymbol{v} /\|\boldsymbol{u}\|\|\boldsymbol{v}\|\\ 算法伪代码 MoCo v2原文 本文就是在MoCo v1的基础上加入MLP,更强的数据增强,加入余弦学习率 结构图[1] BYOL原文 本文并没有构造对比学习损失(不需要负样本)...
在SimCLR发表一个月后,Kaiming He等人发表了MoCo v2,主要借鉴了SimCLR中的改动: 改进了数据增强的方法,增加使用blur augmentation来进行增强 在encoder得到表示后添加非线性层等 最终在以更小的batch_size和训练轮数,在ImageNet分类任务上提升超过SimCLR。
还有一些不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 ...
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
一般来说,对比方法在有更多的负样本的情况下效果更好,因为假定更多的负样本可以更有效地覆盖底层分布,从而给出更好的训练信号。 所以回到 MoCo 的图了,既然样本数量对于学习到的样本质量有很大的影响,那么我们就扩展负样本的数量就好!但是目前对于 batch size 是没有很好的解决办法的,实际上如下图 a,loss 的梯度...
与MoCo和SimCLR框架是正交的,当与MoCo一起使用时,它们会带来更好的图像分类和目标检测迁移学习结果。此外,MoCo框架可以处理大量的负样本,而不需要大量的训练批。与需要TPU支持的SimCLR的4k∼8kbatches相比,“MoCo v2”基线可以在典型的8-GPU机器上运行,并且获得比SimCLR更好的结果。
与MoCo和SimCLR框架是正交的,当与MoCo一起使用时,它们会带来更好的图像分类和目标检测迁移学习结果。此外,MoCo框架可以处理大量的负样本,而不需要大量的训练批。与需要TPU支持的SimCLR的4k∼8kbatches相比,“MoCo v2”基线可以在典型的8-GPU机器上运行,并且获得比SimCLR更好的结果。
与MoCo和SimCLR框架是正交的,当与MoCo一起使用时,它们会带来更好的图像分类和目标检测迁移学习结果。此外,MoCo框架可以处理大量的负样本,而不需要大量的训练批。与需要TPU支持的SimCLR的4k∼8kbatches相比,“MoCo v2”基线可以在典型的8-GPU机器上运行,并且获得比SimCLR更好的结果。