美文网首页
论文笔记-Supervised Contrastive Lear

论文笔记-Supervised Contrastive Lear

作者: 升不上三段的大鱼 | 来源:发表于2022-11-30 19:33 被阅读0次

    论文:https://arxiv.org/pdf/2004.11362.pdf
    代码:https://github.com/HobbitLong/SupContrast

    交叉熵损失有很多缺点,例如对嘈杂标签缺乏鲁棒性,分类边距可能较差,导致泛化性能下降。

    作者在对比学习的基础上加上了标签信息,提出了一种监督学习的损失,让来自相同类别的特征比不同类别的特征更靠近。

    方法

    给定一批输入数据,首先应用两次数据增强,获得该 batch 的两个副本。两个副本都通过编码器网络向前传播,获得 2048 维的归一化嵌入。在训练期间,该特征表示通过一个投影网络进一步传播。监督对比损失是在投影网络的输出上计算的。为了使用经过训练的模型进行分类,作者使用交叉熵损失在冻结的特征表示之上训练了一个线性分类器。

    特征学习框架

    主要组成部分是:

    • 数据增强模块,Aug(·)。对于每个输入样本 x,生成两个随机增强 \tilde{x}= Aug(x),每个代表数据的不同视角(view),并包含原始样本中信息的一些子集。
      在实验中,Aug(·) 包括了4种实现:AutoAugment, RandAugment,SimAugment, Stacked RandAugment。
    • 编码器网络,Enc(·),它将 x 映射到表示向量 r= Enc(x) ∈ \mathcal{R}^{D_E} 。两个增强样本分别输入到同一个编码器,产生一对表示向量。 r 被归一化为 \mathcal{R}^{D_E} 中的单位超球面(本文所有实验中的 D_E = 2048),实验表明这种归一化提高了 top-1 的准确性。
      实验中,Enc(·) 的结构有 ResNet-50,ResNet-101,ResNet-200。
    • 投影网络,Proj(·),将r 映射到向量z= Proj(r) ∈ \mathcal{R}^{D_P}。作者将 Proj(·) 设置为为一个多层感知器 ,具有一个大小为 2048 的隐藏层和大小为 D_P = 128 的输出向量,或者只是一个大小为D_P = 128的线性层。作者在对比训练结束时丢弃 Proj(·)。因此,在推理时模型包含与使用相同编码器 Enc(·) 的交叉熵模型完全相同数量的参数。

    对比损失函数

    对比学习中的 infoNCE loss:


    其中, z_l 是网络输出特征,i是anchor,j(i) 是所有正样本。

    作者提出的有监督对比loss加入了多个正样本:


    作者认为这两个版本的loss:

    • 能够泛化到任意数量的正样本,作者让同一个batch里的同一个类别的都作为正样本,让来自同一类别的样本更加靠近
    • 对比能力随着负样本数量增强
    • 能够更好的实现强负样本(正样本)的选择

    但是这两种 loss 并不是等价的,作者通过推导证明了 L_{in}^{sup} \leq L_{out}^{sup},也就是L_{out}^{sup}L_{in}^{sup} 的上界,因此作者选择了L_{out}^{sup}

    与其他 loss 的联系
    作者证明了 Triplet Loss 是使用一正一负样本时对比损失的特例。当使用多个负数时,作者表明 SupCon Loss 等同于 N-pairs Loss。

    实验

    实验也证明了确实有提高:


    相关文章

      网友评论

          本文标题:论文笔记-Supervised Contrastive Lear

          本文链接:https://www.haomeiwen.com/subject/byxnxdtx.html