前言

一直被这个翻译的名词带偏,误以为对比学习就是使数据集按其差异性不断放大直到分成许彼此高度相似的类(鉴定为高级版聚类),实质上

这种说法是错误的!

更准确一点的说法是,对比学习是预训练的一种手段,与VAE、Resnet等网络一致,都是从某个数据集中不断学习其分布特性,并以某种压缩后的描述方式反映该数据集的整体分布。二者的区别在于学习的过程:

  1. 对比学习是从数据集本身的差异性出发,不断放大不同类别的差异性,并缩小同类别的差异性,直到描述所反映的分布在差异性的度量下达到最优;(称为差异性描述)
  2. VAE等则是更直白地学习数据本身的压缩特性,以获取能够在最小信息损失的情况下恢复原始数据的压缩编码,该编码在隐空间中的分布与真实数据的分布类似。(称为生成性描述)

鉴于这两种描述学习方式的差异,对比学习常用于某些类别分布较为明显的数据集,例如著名的分类数据集ImageNet(当然该数据集VAE也可以用),对比学习得到描述向量也多用于基于特征的视觉任务,而不是如VAE那种基于逐像素恢复的任务,因此在图像重建领域(如图像去噪、图像超分等)直接使用对比学习预处理数据集并不合理。但是可以借鉴对比学习的吸引、排斥方式,实现条件引导。