Supervised Contrastive Learning

这篇文章非常有意思,在代表自监督领域的对比学习方法中提出了有监督的对比学习框架。

Introduction

交叉熵损失函数有缺乏对嘈杂标签鲁班性,差边距等缺点,但是很多替代方案始终不能泛用地替代它。此工作中提出了一种监督学习的损失,通过利用标签信息建立对比自监督信息。在将不同实例拉开的同时还使来自同一类的更紧密地结合在一起。看图一目了然:在这里插入图片描述
左边是传统的自监督,可以看到在嵌入空间内同类样本也被拉开了,理论上我们希望同类的特征应该紧靠一起,这就是作者要这么做的原因把。
有监督对比学习的正负实例的选择策略也不同:正样本是从与锚点相同类别的样本中提取的而不是像自监督学习中所做的是锚点的数据增强。每个锚点使用多个正实例和多个负实例,无需进行负例的选择探究。作者还分析了所设置的两种自监督损失函数的效果。

Method

给定一批输入数据,首先应用两次数据增强以获得该批的两个副本。两个副本都通过编码器网络前向传播,以获得 2048 维的归一化嵌入。在训练期间,该表示通过投影网络进一步传播,该投影网络在推理时被丢弃。在投影网络的输出上计算监督对比损失。与监督学习的不同之处在于,在分类头之前,划分了一个阶段用于优化对比损失。而与自监督学习不同的是,选取的正负例是根据是否同类来区分的。如下图:
在这里插入图片描述

Data Augmentation :

对于每个输入样本 x,生成两个随机增强, x = A u g ( x ) x = Aug(x) x=Aug(x) ,每个都代表数据的不同视图。

Encoder Network:

这个模块主要用于将x编码为一个表示向量,两个增强样本分别输入到同一个编码器,产生一对表示向量。 r = E n c ( x ) r = Enc(x) r=Enc(x)

Projection Network:

将表示向量r映射到一个投影空间: z = P r o j ( r ) z = Proj(r) z=Proj(r)

Loss function

对于一个批次内的样本、标签对 { x k , y k } k = 1 … N \left\{ {x}_{k}, {y}_{k}\right\}_{k=1 \ldots N} { xk,yk}k=1N , 在训练时将其扩充为 2 N 2N 2N { x ^ 2 k , y ^ 2 k } k = 1 … N \left\{\hat{x}_{2k}, \hat{y}_{2k}\right\}_{k=1 \ldots N} { x^2k,y^2k}k=1N
{ x ^ 2 k −

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值