统一对比学习框架?没错它来了。

卷友们好,我是rumor。

这可能是我今年最后一次看paper了。于是我选择了躺在我文件夹里两周之久的一篇文章,由清华和商汤出品[1]

38d078ef3cdfed7aff1100e2bf5adbc1.png

当时我在Arxiv上一眼就相中了它,但我却迟迟没开始看,一是因为快年终了事情比较多,二是它的公式太多了。我好久没看有这么多公式的文章了,简直是我脑细胞的世界末日。所以在21年的尾巴,我决定了结这件痛苦的todo。

结果读完发现,真是妙啊。

今年大火的对比学习冒出了诸多框架,MoCo、SimCLR、SwAV、SimSiam等等等,让人傻傻分不清楚,也说不几米本质不同究竟在哪儿,而这篇文章从梯度角度进行分析,发现所有的对比学习框架本质就三个东西:positive gradient、negative gradient和平衡两个梯度的超参数

同时从结论出发进行了控制变量实验,发现momentum encoder居然是影响最大的因素

前情回顾

今年以来,对比学习共有三种框架出现:

388306b0a80ed455bd34137c9a439b3c.png

(想偷懒,直接给大家放我之前分享的PPT啦hhh。

基于负例的

d3d509229fc368b0cc4b372f42b2b7f9.png 0906537586574d8247d9da593c88c0ab.png d69521721e4b03ffd4176ff8bc3047cd.png

基于非对称网络的

ffb9470ba333e158f74203bad4bf4084.png

基于特征去相关的

8e1db9c403f1938260798f0b53729388.png

统一框架

上述框架有很多不同:

  • 核心是loss:典型的对比学习采用InfoNCE,非对称框架则只提升正例的cosine,特征去相关框架则让特征交叉矩阵变成单位矩阵

  • 样本集:当前batch、memory bank、所有之前的样本

  • Encoder更新方式:参数共享、stop-gradient、momentum-encoder

而作者经过对三种框架的loss求梯度,最终发现这些自监督方法都可以简化为以下形式:

50a54d3da31cd4a667e554bf22d2444a.png

也就是由正例反馈的梯度、负例反馈的梯度和两者的比重。

有同学可能疑惑非对称框架是怎么分解出负例梯度的,这个核心点主要在Predictor上。最近一篇文献DirectPred[2]给出过Predictor更详细的分解,分解后再算梯度恰好是这个样子:

297dfb3eb37a65df8b55d27a4766121d.png

所以,目前已经把不同的loss统一到一起了,接下来就是分别测试样本集和encoder更新方式对效果的影响。

疯狂对比

样本集的影响

先把encoder都设定为momentum encoder,观察样本集的影响:

244dfa064f38426a9a4f48825a3f9a5c.png

结果惊喜的发现:

  1. 对比a、b,发现原来我们一直相信的增加负例居然没什么用

  2. 鉴于BYOL=SimSima+momentum-encoder,作者只放了BYOL的结果,同时又简化成了e,发现效果也没怎么降。最终将e称为UniGrad,也是经过作者验证最好的

  3. 作者又分别对f和i进行了简化,结果效果也没怎么降

搞了半天,各个方法只差了0.5个点,原来样本集对效果的影响并不大

Encoder更新的影响

注:因为作者统一框架后网络是对称的,所以参数共享与stop-gradient等价。

aa3a4db4b101eddf2fe76a95936d4457.png

从前两行来看,用了动量之后明显要过要好上一截。那动量到底对什么有效呢?作者又做了第三行实验,只给正例进行动量更新,发现效果基本持平。作者猜想原因是momentum encoder给自监督学习提供了一个比较一致且缓慢更新的目标

不同方法的更新进程

最后,作者又对比了不同方法的训练过程,发现其中的diff真的不大:

018e4af18450368be6160c59ecc01211.png

总结

读完这个文章,突然有一种圆满的感觉,起码今年我在对比学习方面的一些疑惑终于画上了句号。之前大家的花样太多了,超参数设置的又不一样,很难真正进行对比。而这次终于有一篇文章进行了更本质的思考,给出了有价值的结论。

CV的知识又提升了,开心。

参考资料

[1]

Exploring the Equivalence of Siamese Self-Supervised Learning via A Unified Gradient Framework: https://www.arxiv-vanity.com/papers/2112.05141/

[2]

Un- derstanding self-supervised learning dynamics without con- trastive pairs.: https://arxiv.org/abs/2102.06810v1


欢迎对NLP感兴趣的朋友加入我们的「NLP卷王养成」群,一起学习讨论~

扫码添加微信备注「NLP」即可⬇️

1c928dda4ad24be0aaa7da14e71d2203.png

33964a0638b1b66d205beee4c8d39168.png


大家好我是rumor

一个热爱技术,有一点点幽默的妹子

欢迎关注我

带你学习带你肝

一起在人工智能时代旋转跳跃眨巴眼

「公式都推导了吗」ee532a0e80ffd97bdd73eec45df46a06.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值