乐趣区

关于机器学习:对比学习框架SimCLR解读

导言

迁徙学习在 CV 工作的作用曾经广为人知。其个别会应用预训练的深度卷积网络来解决新工作。这些网络在大规模标注数据集,如 ImageNet 中监督训练好。它们的提取的特色能很好适应新工作。

然而当训练数据短少标注时,咱们通常会应用预训练网络的权重,而后给网络加上新的分类层,而后从新训练网络。这个技巧被称为迁徙学习。应用预训练模型的权重来做新工作,模型的学习速度会放慢,并且比从零开始训练的模型要更精确。

然而这种迁徙学习办法依赖于监督训练的模型。这些标注数据并不易得。但咱们仔想想想无监督样本是短缺的。因而应用无监督数据来学习特色表来学习更好的监督模型是很有意义的。实际上,这是个很早就存在的问题,最近钻研发现无监督示意学习办法能慢慢赶上了监督学习的办法成果。其中比照学习就是一个典型的例子。

比照学习的指标是让类似样本产生雷同的示意,不类似的样本产生不同的示意。比照学习的外围是噪声比照预计损失(Noise Contrastive Estimator (NCE) loss),其其示意如下:


其中 x + 是输出 x 的类似点,(x,x+) 又可称为正对。通常 x + 由 x 变换得来,如图像裁剪,旋转变换或其余的数据增广伎俩。反之,x- 则是 x 的不类似样本,则有负对 (x,x-),NCE loss 会使得负对与正对区别开。个别对于每组正对,都会有 K 组负对。负对的数目对比照学习效果影响很大。

sim(.) 代表类似度度量。通常其应用内积或余弦类似度。g(.) 是一个卷积神经网络。有的比照学习会用 siamese 网络。

A Simple Framework for Contrastive Learning of Visual Representations - SimCLR

SimCLR 基于上述的比照框架。SimCLR 的思维是对立同一图片的两种增广版本的示意。在训练中,每个样本 i 与 batch 里其余样本 j 形成 pair 对。不会与本身或变换的本身样本组成负对。因而就失去 2 *(N-1) 个负对。这种形式使得 SimCLR 不像 PIRL 和 MOCO 那样须要额定的存储负对样本。

SimCLR 应用 ResNet-50 作为次要的卷积提取器,承受图像输出后失去嵌入向量 h,而后应用给 MLP(relu 激活函数) 输入 z =g(h)。比照损失在 z 上计算。当训练完结,抛弃 g,间接应用 h 在做其它工作。

退出移动版