当前位置: 首页 > 科技观察

CVPR2021《Self-SupervisedLearning》是“Self-SupervisedLearning”领域的一鸣惊人的新作,仅负样本也能学习

时间:2023-03-16 00:07:27 科技观察

在自监督学习领域,基于对比学习(contrastivelearning)的思想在下游分类检测和任务中取得了明显的优势。其中,如何充分利用负样本来提高学习效率和学习效果一直是一个值得探索的方向。这篇论文“首次”提出使用端到端对抗的思想直接学习负样本,这在ImageNet和下游任务中都可以实现。SOTA。众所周知,负样本和正样本是对比学习的关键。此外,负样本的数量和质量对于对比学习是最重要的。BYOL[1]提出后,关于是否需要负样本的讨论很多。本文从对抗的角度对负样本进行了探索,同时也揭示了负样本的本质,BYOL在去除负样本后仍然可以取得很好的效果。的原因。论文链接:https://arxiv.org/abs/2011.08435论文代码已经开源:https://github.com/maple-research-lab/AdCoAdCo只使用了8196个负样本(负样本的八分之一MoCov2样本量),可以达到相同的精度。同时,这些直接可训练的负样本在相同的参数下,仍然可以达到与BYOL中的PredictionMLP相似的效果。这表明在自监督学习时代,通过让负样本可学习,对比学习仍然具有学习效率高、训练稳定、准确率高等一系列优势。内容1.你要负样本吗?2.AdCovs.BYOL3.新思路:AdversarialContrast:AdversarialContrastLearning4.实验结果1.负样本要不要?DeepMind去年提出的无监督模型BYOL[1]的突出特点之一是负样本的去除。在讨论AdCo之前,一个核心问题是我们在自监督时代是否需要负样本。首先,从纯粹实用主义的角度来看,MoCoV2[2]等基于负样本的比较学习方法比BYOL进行自监督训练的时间更少。不难理解,MoCoV2不需要基于GlobalBatchNormalization(BN)(需要GPU之间的通信),所以在速度上只需要BYOL的1/3左右的时间。另一方面,像MoCoV2这样的方法的一个麻烦部分是不断维护负样本队列。然而,使用一组负样本进行比较学习,从训练性能的角度来看,可能比之前的许多实验更稳定。毕竟多个负样本的比对可以提供比BYOL更多的样本分布信息,仅在对单张图像的两个变换增强样本得到的特征上做MSE,从训练的角度来说可以更稳定。同时,memorybank维护的负样本不需要进行梯度计算,相关计算量可以忽略不计。因此,我们认为负样本仍然是对比学习中值得探索的一个方向。但是,如何提高阴性样本的质量和效率,是需要解决的问题。一个更好的思路是我们是否可以不再依赖被动维护一个负样本队列来训练对比模型,而是直接将负样本作为网络参数的一部分,通过主动学习的方式train来做端到端的?2.AdCovs.BYOLBYOL中,除了globalBN之外,为了用一个分支得到的特征来监督另一个分支输出的特征,还需要训练一个MLP预测器(predictor),它只存在于查询分支实现非对称结构防止训练崩溃。BYOL的预测器中的参数虽然不是负样本,但在某种意义上可以看作是一个包含典型样本相应特征的密码本。该码本的组合形成了对另一个分支的输出特征的预测。为了达到准确预测的目的,就需要要求这个码本相对多样,能够更好的覆盖另一个分支输出的特征,从而防止崩溃的可能。从模型参数的角度来看,这个额外的PredictorLayer相当于一般比较学习中使用的负样本,只是前者是直接通过反向传播训练得到的,而后者是在MoCoV2[2]和SimCLR[3]中得到的通过收集过去或当前批次中的特征获得。那么,一个自然而然的问题是,负样本是否可以像预测变量一样进行训练?如果可能的话,意味着比较学习中的负样本也可以看作是模型的一部分,可以通过训练的方法得到,这为构建负样本提供了一种更直观、更优雅的方法。不幸的是,直接最小化contrastiveloss不能用来训练负样本,因为这样得到的负样本距离所有query样本都比较远,所以我们在AdCo中采用了对抗学习的思想。3、新思路:用对抗对比学习,直接训练负样本!基于此,我们提出AdCoadversarialcontrastivelearning,通过直接训练负样本来促进对比学习,进一步提高负样本的质量。1.与存储过去图像嵌入的记忆库相比,我们完全可以将负样本训练为可学习的权重。这里的好处是我们所有的负样本都可以在每次迭代中同步更新。质量。作为对比,MoCoV2每次只能更新当前负样本队列的一小部分,这导致进入memorybank进行对比学习的负样本贡献相对较小。2.当然,更新负样本并不能最小化相应的contrastiveloss,而是最大化它,使得得到的负样本更难,对训练表示网络更有价值,这就造成了对抗性比较学习和对抗的两个方面是负样本和特征网络。3、通过分析更新负样本的梯度,我们发现该方法具有非常明显的物理意义。通过对某个负样本属于当前正样本的正样本的后验概率进行加权,负样本每次更新的方向指向对正样本进行加权得到的梯度方向;具体来说,文章中公式(6)可以通过最大化比较损失函数给出直接训练负样本的梯度:条件概率是实验发现在相同的训练时间和minibatchsize下,AdCo的准确率会更高。这表明AdCo比其他自监督方法具有更高的训练效率和准确性。这种改进来自于对负样本更有效的更新迭代。4.实验结果与基于记忆库的方法相比,我们的模型在ImageNet分类任务上有显着改进。同时,在下游的检测和分类任务上,我们相比之前的自监督方法和全监督方法有了显着的提升:我们进一步追问AdCo是否可以通过训练更少的负样本来获得同样好的无监督预训练模型。答案是肯定的。如下图结果所示,仅使用原始样本的1/4和1/8,ImageNet上的top-1精度几乎没有损失。这进一步表明,通过直接以对抗方式训练负样本,并将负样本作为模型可训练参数的一部分,可以获得非常好的训练结果,而且相较于其他模型,使用的GPU训练时间也更少。较少的。此外,我们的学习效率也明显优于基于记忆库的方法。下面是ImageNet在不同自监督训练轮次下的对比: