Facebook人工智能的一种新的自我监督学习算法:Barlow Twins
3个要点
✔️ 一种用于视觉任务的新型自我监督学习算法
✔️ 与传统方法相比,可以用更小的批次大小和更大的维度工作。
✔️ 与SOTA模型竞争的性能
Barlow Twins: Self-Supervised Learning via Redundancy Reduction
written by Jure Zbontar, Li Jing, Ishan Misra, Yann LeCun, Stéphane Deny
(Submitted on 4 Mar 2021)
Comments: Accepted to arXiv.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Artificial Intelligence (cs.AI); Machine Learning (cs.LG); Neurons and Cognition (q-bio.NC)
code:![]()
![]()
首先
近年来,在ImageNet等大规模计算机视觉基准中,自我监督学习已经开始与监督学习竞争。在计算机视觉中,已经引入了很多数据增强的自监督学习方式。目标是学习一个不受输入变化影响的通用表示。对于一个模型来说,要实现这个目标,最容易做的就是学习一个常量表示,这是不可取的。因此,我们使用SimCLR、SimSIAM、BYOL、SwAV、SeLa等。暹罗网络变体使用各种技术,如在网络对中引入不对称性。
在本文中,我们提出了Barlow Twins:一种利用冗余减少的自监督学习算法,这是神经科学家H.Barlow提出的概念。该方法试图使输出表示之间的交叉相关矩阵更接近于一个常数矩阵。与其他方法不同的是,它的批处理量小,而且能很好地处理高维表示。在ImageNet的低数据域中,它的表现也优于其他方法,与目前的SOTA模型相当。
Barlow Twins
Barlow Twins算法的实现非常简单。首先,我们随机抽取一组图像X。这些图像采用T随机图像放大方法进行扭曲,扭曲后的图像集为YA和YB得到了。倾斜图像存储在一个函数(DNN)中,其可学习参数θfθ然后传给因此,使两个输出批次沿批次维度的均值为零。ZA和ZB得到了。沿批次维度(b)的交叉相关矩阵计算如下
C是一个大小与网络输出的维度相同的方阵,其值从-1到1。损失函数计算如下
上式中的不变项是为了使对角项更接近于1,即使表示对输入失真不变;第二项是为了使相关矩阵的非对角分量接近于0,即减少输出单元之间的冗余。 λ是一个常数,数值越大,优先减少冗余。 Pytorch风格的伪代码如下所示。
重要的消融研究
我们使用Barlow Twins在ImageNet数据集上训练了模型,并对模型的线性评估进行了如下研究。
删除损失功能
与我们的方法类似,SSL的损失函数,如infoNCE,沿批次维度归一化,但测量余弦相似性的损失函数沿特征维度归一化。因此,我们尝试沿特征维度进行归一化,使数值骑在单位球面上,但结果是劣质的。当对最后两个投影隐藏层(MLPs)不进行块状归一化(BN)时,性能稍差,当对协方差矩阵不进行归一化时,性能明显差。 最后,用温度的交熵损失代替损失函数没有影响。
批量
由于使用infoNCE损失的方法,如SimCLR,在小批量的情况下表现不佳,我们需要测试我们的方法对批量大小的鲁棒性。从上图中可以看出,我们的模型即使在小批量到256个的情况下也表现得相当好。
数据扩展的必要性
如上图所示,数据增强对提高性能非常重要。这表明,使用的增强类型可以让我们更好地控制模型的表达。而BYOL,在使用的增量类型上并没有太大的差异。
排名
其他SSL方法会根据维数的不同而降低模型的性能,而在BT的情况下,我们发现增加投影机的维数可以显著提高模型的性能。我们还发现,当投影机网络的层数较多时,效果较好,最多三层。
额外的不对称性
BYOL和SimCLR使用另外一种方法将不对称性引入网络。虽然我们的损失函数本身就引入了不对称性,但我们试验了一下,看看额外的不对称性是否会有帮助:对于一个网络,我们增加了一个具有两个密集层的预测网络(对第一层使用批归一化和ReLU),对于另一个网络,我们增加了一个停止梯度机制另一个具有停止梯度机制的网络。两者都没有进一步提高性能,同时使用时不利。
结果和评价
利用ImageNet ILSVRC-2012数据集,我们预先训练了没有标签的网络(ResNet-50骨干),并对其在图像分类和对象检测等各种任务上进行评估。随机裁剪(总是)、随机调整大小(总是)、水平翻转,以及。抖动灰度、高斯模糊和日晒进行了各种增强过程,如:
我们固定了预先训练的ResNet-50模型的权重,并训练了一个线性层进行分类。与其他自监督模型相比,前1名和前5名的准确率如上表所示。下表显示了在Places-205(最高精度1)、VOC07(mAP)和iNat18(最高精度1)数据集上微调模型的结果。
在这两种情况下,性能都与目前的SOTA型号相当或更好。
同样,我们发现我们的方法在对象检测和实例分割任务上与转移学习的效果很好。上表是使用Faster R-CNN对VOC07+12的对象检测基准,以及使用Mask R-CNN对COCO的对象检测和实例分割得分。
摘要
Barlow Twins方法与目前最先进的方法相当,但有几个相反的特性。最吸引人的特性之一是它在高维特征投影中的表现。在克服了硬件的限制之后,值得探讨的是如何利用这种方法在大于16000的区域学习更高维度的表示。这项工作为今后的研究打下了良好的基础,可能会进一步完善这种方法,以获得更优秀的SSL算法。
与本文相关的类别