Exploring Simple Siamese Representation Learning

Exploring Simple Siamese Representation Learning
作者:Xinlei Chen, Kaiming He 2020年
今天学习内容主要来自知乎的一篇文章
参考链接点击这!

1、摘要

孪生网络常用在计算增广图像之间的相似性。但存在“Collapsing”问题。(即输出恒定)我们经常使用这三种方式解决:{负样本对,批量,动量编码器}。本文提出了一个关于停止梯度含义的假设,对防止“Collapsing”很有效。

2、主要思想

在这里插入图片描述
一般过程:假设输入图像x,对它进行两次随机增强得到x1,x2。分别送入编码器f(.)和一个Projection MLP(主干网络使用Resnet),其中一个分支接入Prediction MLP(用h表示)。用公式表示这个过程为:
在这里插入图片描述
然后希望最小化之间的负余弦距离:(公式1)
在这里插入图片描述
对称损失表示为:(公式2)
在这里插入图片描述
本文创新:另一个分支加入stop-gradient
所以改进的公式1可以表示为:在这里插入图片描述
改进的公式2可以表示为:
在这里插入图片描述
Projection MLP和Prediction MLP的结构图:
在这里插入图片描述

3、实验部分

这部分主要是做了一些消融实验。
1、说明Stop-Gradient的作用
在这里插入图片描述
结果解释:
左图不使用Stop-gradient,loss一直下降,但是不能说明是“Collapsing”现象;中间的图计算的是方差。理论来讲,如果是“Collapsing”现象,则方差接近0;可以发现不加Stop-gradient的操作方差为0,出现了“Collapsing”现象,与之相反,加了Stop-gradient操作的方差保持在1/根号下d。右图为测试结果的准确率,可以看出加了Stop-gradient操作的准确率一直在上升。
2、判断Predictor (h)的作用
在这里插入图片描述
结果解释:a是去掉h部分,可以发现会出现“Collapsing”现象;b是随机初始化,不是“Collapsing”现象导致的,但是准确率也非常低;c是学习率不衰减,可以发现准确率很高。作者推测是因为h应该适应最新的表示,所以在特征被充分训练之前,没有必要通过减少学习率来强制让模型收敛。
3、batch_size的影响
在这里插入图片描述
结果解释:我们的方法batch_size不论给大给小,准确率都不错。与SimCLR 和 SwAV 这两种方法相比优势在于,后者都是在batch_size为4096的情况下效果不错,我们的在64,128的小批量下效果依旧很好。(针对大batch_size可以使用优化器LARS)
4Batch Normalization在不同位置的作用
在这里插入图片描述
结果解释:a是不使用BN(效果不是很好,但是没有发生“Collapsing”现象);b是在隐藏层使用;c是默认,将BN加到f的输出;d是将BN加入到预测MLP即h的输出,效果不好,但是与“Collapsing”无关,训练不稳定且损失震荡。
5、Similarity Function的选择
在这里插入图片描述
结果解释:余弦函数效果好
在这里插入图片描述
6、Symmetrization对称性的比较
在这里插入图片描述
结果解释:第一个是对称,中间是非对称。对称有助于提高准确性,但它与预防坍塌无关。对称为每幅图像多做了一个预测,我们可以通过在非对称版本2×中为每幅图像采样两对来大致补偿这一预测,它使差距缩小。

4、总结

在各种设置中,SimSiam可以在不产生Collapsing现象的情况下产生有意义的结果。优化器(批大小)、批归一化、相似函数和对称可能会影响准确性,但我们没有看到任何证据表明它们与防止Collapsing有关。其中起关键作用的主要是stop-gradient操作。

附带另一篇有关自监督对比学习的文章:
Supervised Contrastive Learning

4月2号打卡!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值