一个框架统一Siamese自监督学习,清华、商汤提出简洁、有效梯度形...
点击上方“迈微AI研习社”,选择“星标★”公众号
重磅干货,第一时间送达
来自清华大学、商汤科技等机构的研究者们提出一种简洁而有效的梯度形式——UniGrad,不需要复杂的 memory bank 或者 predictor 网络设计,也能给出 SOTA 的性能表现。
当下,自监督学习在无需人工标注的情况下展示出强大的视觉特征提取能力,在多个下游视觉任务上都取得了超过监督学习的性能,这种学习范式也因此被人们广泛关注。 在这股热潮中,各式各样的自监督学习方法不断涌现,虽然它们大多都采取了孪生网络的架构,但是解决问题的角度却差异巨大,这些方法大致可以分为三类:以 MoCo、SimCLR 为代表的对比学习方法,以 BYOL、SimSiam 为代表的非对称网络方法,和以 Barlow Twins、VICReg 为代表的特征解耦方法。这些方法在对待如何学习特征表示这个问题上思路迥异,同时由于实际实现时采用了不同的网络结构和训练设置,研究者们也无法公平地对比它们的性能。 因此,人们自然会产生一些问题:这些方法之间是否存在一些联系?它们背后的工作机理又有什么关系?更进一步的,具体是什么因素会导致不同方法之间的性能差异? 为此,来自清华大学、商汤科技等机构的研究者们提出一个统一的框架来解释这些方法。相较于直接去比较它们的损失函数,他们从梯度分析的角度出发,发现这些方法都具有非常相似的梯度结构,这个梯度由三部分组成:正梯度、负梯度和一个平衡系数。其中,正负梯度的作用和对比学习中的正负样本非常相似,这表明之前提到的三类方法的工作机理其实大同小异。更进一步,由于梯度的具体形式存在差异,研究者通过详细的对比实验分析了它们带来的影响。结果表明,梯度的具体形式对性能的影响非常小,而关键因素在于 momentum encoder 的使用。
论文链接:https://arxiv.org/pdf/2112.05141.pdf
在这个统一框架的基础上,研究者们提出了一种简洁而有效的梯度形式——UniGrad。UniGrad 不需要复杂的 memory bank 或者 predictor 网络设计,也能给出 SOTA 的性能表现。在多个下游任务中,UniGrad 都取得了不错的迁移性能,而且可以非常简单地加入其它增强技巧来进一步提升性能。
本节将分析不同方法的梯度形式,首先给出三类方法各自的梯度形式,然后归纳其中的共性结构。从梯度的角度读者也可以更好地理解不同类型的方法是如何工作的。为了方便表述,作者用u表示当前样本特征, v表示其它样本特征,添加下标 ,


对比学习方法希望当前样本



具体实现时,两类代表性方法 MoCo 和 SimCLR 有许多差异:MoCo 使用了 momentum encoder 作为 target branch 的编码器,而 SimCLR 让 target branch 与 online branch 共享参数;MoCo 使用 memory bank 来存储负样本,而 SimCLR 使用当前 batch 中其它样本作为负样本。 通过对 SimCLR 梯度的略微化简(关闭 target branch 的梯度反传,不会影响最终性能),对比学习方法的梯度可以统一成下面的形式:
在这个式子中,


非对称网络方法只使用正样本来学习特征,并且通过非对称网络的设计来避免平凡解。这类方法一般会在 online branch 后增加一个 predictor 网络

这类方法中,作为代表的 BYOL 和 SimSiam 非常相似,唯一的差异就是是否使用 momentum encoder。虽然这类方法表现出非常优异的性能,人们对它们的工作原理却所知甚少。最近 DirectPred 这篇文章从网络优化的动态过程出发对它们做了初步的解释,这篇工作观察到 predictor 网络的特征空间会逐渐与特征的相关性矩阵的特征空间对齐,基于此,DirectPred 提出了 predictor 网络的一种解析解。在此工作的基础上,作者进一步展示出非对称网络方法与其它方法的联系,特别地,它们的梯度可以推导为
其中



特征解耦方法旨在减小各特征维度之间的相关性来避免平凡解。由于不同工作采用的损失函数在形式上差异很大,作者对它们分别进行讨论。 Barlow Twins 采取如下损失函数:
其中

作者首先将第一项替换为


通过对特征施加



统一形式
对比以上三类方法的梯度形式,作者发现它们都具有相似的结构:
其中,



性能对比
尽管结构相似,不同方法的具体梯度形式依然存在区别,而且 target branch 的类型、负样本集合的构成也都不一样,本节将通过对比实验来探究对最终性能的主要影响因素。 梯度形式
为了方便对比,作者首先在各类方法内部进行化简和对比,最终再对比不同方法。完整的实验结果如表 1 所示。



之前为了公平对比,作者对各类方法都使用了 momentum encoder,现在来研究不同类型的 target branch 对最终结果的影响,实验结果如表 2 所示。
最终方法
基于上述的统一框架,作者提出了一种简洁有效的自监督方法(UniGrad):
其中

更多细节可参考论文原文,更多精彩内容请关注迈微AI研习社,每天晚上七点不见不散!
© THE END
投稿或寻求报道微信:MaiweiE_com
GitHub中文开源项目《计算机视觉实战演练:算法与应用》,“免费”“全面“”前沿”,以实战为主,编写详细的文档、可在线运行的notebook和源代码。
项目地址 https://github.com/Charmve/computer-vision-in-action
项目主页 https://charmve.github.io/L0CV-web/
推荐阅读
(更多“抠图”最新成果)
微信号: MaiweiE_com
GitHub: @Charmve
CSDN、知乎: @Charmve
投稿: yidazhang1@gmail.com
主页: github.com/Charmve
如果觉得有用,就请点赞、转发吧!
评论