谷歌提出:对比学习在图像领域视觉表征中为何有效?

2022-04-01 17:51:22 浏览数 (1)

作者 | 对白 整理 | 对白的算法屋 编者寄语:

揭秘对比学习在图像领域为何有效。

卷友们好,我是对白。

最近看到了一篇比较有意思的文章,希望来交流分享一波。最近的自监督学习技术已大大缩小了ImageNet分类的监督学习无监督学习之间的差距。

利用对比学习的思想,自监督学习可以从数据本身中学习到更好的视觉表征,那么为什么这种对比表证的学习能够成功呢?

除开算法的角度,这篇文章从数据的角度入手,为理解对比学习的成功提供些启示。

每天一个不同的小期待 (ฅ>ω<*ฅ)

一、正文

目前的算法成功都是基于在ImageNet数据集之上,那么是否在其他数据集上也能适用呢?作者抛出了本文最核心的问题:在什么样的条件下,自监督对比表示学习可以学习到好的视觉表征?

作者从数据量、数据域、数据质量和任务粒度四个角度进行探究,提出了四个问题:

  • 数据量有什么影响?
  • 预训练有什么影响?
  • 数据质量有什么影响?
  • 任务粒度有什么影响?

作者接下来通过实验,在四个数据集上ImageNet,iNat21,Places365和GLC20,使用SimCLR的框架,对每个问题对行探究,我也依次梳理实验的结论。

1. 数据量

重点关注蓝线和红线,可以看到在三个数据集上的表现十分接近,得到三点发现

  1. 超过 50 万张预训练图像几乎没有任何好处。
  2. 当有监督无法使用时,自监督的预训练可以是一个很好的初始化器。
  3. 对于某些数据集,自监督表示可以接近有监督的性能,但只能通过使用大量标记图像。

结论1:

当数据量超过500k时,再增加额外的预训练数据对模型的效果提升有限

2. 数据域

1.并非所有的预训练数据集都能起到同等的作用

作者通过交叉的方式观察不同数据域的影响,可以看到同一数据域的效果最好,即对角线上的值。

2.添加跨域数据并不一定会导致更有能力的表示

作者探究组合数据集的方式是否能获得更好的效果。

3. 不同的表示很少是互补的

作者将学习到的表征进行线性组合,观察是否可以得到更好的表征效果,事实证明他们并非互补的,效果有好有坏。

结论2:

增加不同的数据域作为预训练图片并不一定能学习到更通用、强大的表征。

3. 数据质量

3.1 图像分辨率至关重要。

3.2 添加高频噪声比擦除高频信息的危害要小得多。

结论3:

数据质量的好坏对于监督和自监督的预训练有不同的影响

4. 任务粒度

4.1随着任务粒度的增加,对比学习和监督学习之间的性能差距也越来越大。

4.2 数据增强是否是错误的?

4.3 对比学习是否存在粗粒度偏差?

结论4:

在细粒度的分类任务上,对比学习的效果和监督学习相差甚远

二、结论

(1) 超过500k图像的额外预训练数据对于模型性能的提升效果有限。

(2) 添加其他域的预训练图像并不能使对比学习生成更一般的表示。

(3) 损坏的预图像对于有监督和自监督模型有不同的影响。

(4) 对比学习在细粒度视觉分类任务上的表现远不如监督学习。

你好,我是对白,硕士毕业于清华,现大厂算法工程师,拿过八家大厂的SSP级以上offer。

高中荣获全国数学和化学竞赛二等奖。

本科时独立创业五年,成立两家公司,并拿过总计三百多万元融资(已到账),项目入选南京321高层次创业人才引进计划。创业做过无人机、机器人和互联网教育,保研后选择退居为股东。

我每周至少更新三篇原创,分享自己的算法技术、创业心得和人生感悟。

0 人点赞