Improved Baselines with Momentum Contrastive Learning

Improved Baselines with Momentum Contrastive Learning

1. 论文摘要

SimCLR 的两点有效改进是:在encoder 编码特征计算loss 前加入了 MLP 的projection head 以及多种数据增强手段。 将这两点改进应用到Moco 框架又可以解决SimCLR 本身需要大 batch size,比较依赖硬件内存的问题。

2. 方法介绍

  • Contrastive learning
    继续采用正负pair 判别的代理任务,query 和 key 来自同一张图片的不同数据增强方法则为正例, 否则为负例。
    在这里插入图片描述
    在这里插入图片描述
    原始的SimCLR 是采用end to end 的方式,负例keys 都是来源于同一个batch,并且通过反向传播来更新参数。假设batch 里有N 个样本,则计算affinity 的复杂度为N*N, 计算量较大,且比较依赖于大的batch size.
    而通过引入MoCo的框架,只需要把query送到encoder中去,而不需要很大的Batch。其中Momentum encoder用于计算positive和negative encoding的,但是这个encoder是不用反向梯度来更新的,而是直接用左边的encoder来做一个moving average。

实验结果

在这里插入图片描述
针对MLP 、数据增强、cos 学习率以及训练epoch 的消融实验:
(1)MLP 对ImageNet 任务提升明显,从60.6%->66.2%, 对于voc object dection 提升有限。
(2)单独使用数据增强方法(引入新的blur augmentation),对linear classification 的准确率提高低于MLP, 但是在VOC detection的表现却更好,说明两任务之间的提升并不是单调一致的。
(3)使用新的学习率方法在ImageNet 有小幅度提升,对detection任务有小幅下降。
(4)增大训练的epoch可以提升两个任务的结果。
在这里插入图片描述
在这里插入图片描述

在相同的epoch 和batch size 下表现好于SimCLR, 并且对硬件的要求减小,训练时间加快。

猜你喜欢

转载自blog.csdn.net/pitaojun/article/details/108431916