Contrastive Representation Learning 对比表征学习(二)关键成分

原文翻译自这里

关键成分

大量数据增强

给定一训练样本,在计算其相关损失之前通常需要数据增强技术为该样本添加噪声。适度的数据增强设定对于学习一个优秀的,泛化性好的嵌入特征是至关重要的。其在不改变语义信息的同时将些微变量引入到样本之中,以此鼓励模型去学习表征的主要部分。比如,SimCLR中的实验表明随机裁剪和随机颜色失真对于学习图像的视觉表征是至关重要的。

大 Batch Size

对于很多依赖 batch 内负样本的对比方法(如SimCLRCLIP),它们能够成功的一个原因就是使用了大 batch size。只有当 batch size 足够大时,损失函数才能够覆盖足够多负样本,网络才能够学到能区分不同样本的重要表征。

复杂负样本挖掘

复杂的负样本应该具有与原始样本(anchor sample)不同的标签,但彼此的嵌入特征(embedding feature)需要尽可能的相似。在监督学习中,因为可以获取真实标签(ground truth),因此很容易区分任务专有的复杂负样本。比如当学习句式嵌入(sentence embedding)时,我们可以将标记为“矛盾”(contradiction)的句子对标记为复杂负样本对。

然而,当我们需要在无监督任务中操作时,对于复杂负样本的挖掘似乎成了一种trick。增加训练 batch size 或者 memory bank size 能够隐式得引入更多复杂负样本,但这可能导致对于大内存过度需求这一问题。

Chuang et al. (2020)对对比学习中的采样偏移现象进行了研究,并提出了去偏差损失。 在无监督中,我们是不知道真实标签的,因此可能存在误采样伪负样本的现象。这种采样偏差会极大的影响网络性能。
在这里插入图片描述

我们假设 anchor class c c c 的概率服从均匀分布 ρ ( c ) = η + \rho(c)=\eta^+ ρ(c)=η+,那么观测到其他类的概率为 η − = 1 − η + \eta^-=1-\eta^+ η=1η+.

  • 对于观测样本 x x x来说,其为正的概率为 p x + ( x ′ ) = p ( x ′ ∣ h x ′ = h x ) p_x^+(x^{'})=p(x^{'}|h_{x^{'}}=h_x) px+(x)=p(xhx=hx);
  • 其为负的概率为 p x − ( x ′ ) = p ( x ′ ∣ h x ′ ≠ h x ) p_x^-(x^{'})=p(x^{'}|h_{x^{'}}\neq h_x) px(x)=p(xhx=hx);

当我们采样 x − x^- x时,没有办法获取真正的 p x − ( x − ) p^-_x(x^-) px(x),因此存在某一概率 η + \eta^+ η+使得 x − x^- x错误的从锚类(anchor class) c c c中被采样。那么采样数据的实际分布就变成了:

p ( x ′ ) = η + p x + ( x ′ ) + η − p x − ( x ′ ) p(x^{'})=\eta^+p_x^+(x^{'})+\eta^-p_x^-(x^{'}) p(x)=η+px+(x)+ηpx(x)

通过简单的公式变换,我们可以去除损失中的偏差:

p x − ( x ′ ) = ( p ( x ′ ) − η + p x + ( x ′ ) ) / η − p_x^-(x^{'})=(p(x^{'})-\eta^+p_x^+(x^{'}))/\eta ^- px(x)=(p(x)η+px+(x))/η.

对于从 p p p中采样的 N N N个样本 { u i } i = 1 N \{u_i\}_{i=1}^N {ui}i=1N,以及从 p x + p_x^+ px+中采样的 M M M个样本 { v i } i = 1 M \{v_i\}_{i=1}^M {vi}i=1M,我们可以估计对比学习损失中分母的第二项的期望 E x − ∼ p x − [ e x p ( f ( x ) T f ( x − ) ) ] \mathbb{E}_{x^-\sim p_x^-}[exp(f(x)^Tf(x^-))] Expx[exp(f(x)Tf(x))]:

g ( x , { u i } i = 1 N , { v i } i = 1 M ) = m a x { 1 η − ( 1 N ∑ i = 1 N e x p ( f ( x ) T f ( u i ) ) − η + M ∑ i = 1 M e x p ( f ( x ) T f ( v i ) ) ) , e x p ( − 1 / τ ) } g(x,\{u_i\}_{i=1}^N,\{v_i\}_{i=1}^M)=max\{\frac{1}{\eta^-}(\frac{1}{N}\sum_{i=1}^Nexp(f(x)^Tf(u_i))-\frac{\eta^+}{M}\sum_{i=1}^Mexp(f(x)^Tf(v_i))), exp(-1/\tau)\} g(x,{ui}i=1N,{vi}i=1M)=max{η1(N1i=1Nexp(f(x)Tf(ui))Mη+i=1Mexp(f(x)Tf(vi))),exp(1/τ)}

τ \tau τ是温度系数,且 e x p ( − 1 / τ ) exp(-1/\tau) exp(1/τ)是期望 E x − ∼ p x − [ e x p ( f ( x ) T f ( x − ) ) ] \mathbb{E}_{x^-\sim p_x^-}[exp(f(x)^Tf(x^-))] Expx[exp(f(x)Tf(x))]的理论下界.

那么最终的去偏差后的对比损失为如下形式:

L d e b i a s N , M ( f ) = E x , { u i } i = 1 N ∼ p ; x + , { v i } i = 1 M ∼ p + [ − l o g e x p ( f ( x ) T f ( x + ) ) e x p ( f ( x ) T f ( x + ) ) + N g ( x , { u i } i = 1 N , { v i } i = 1 M ) ) ] L_{debias}^{N,M}(f)=\mathbb{E}_{x,\{u_i\}_{i=1}^N\sim p; x^+,\{v_i\}_{i=1}^M\sim p^+}[-log\frac{exp(f(x)^Tf(x^+))}{exp(f(x)^Tf(x^+))+Ng(x,\{u_i\}_{i=1}^N,\{v_i\}_{i=1}^M))}] LdebiasN,M(f)=Ex,{ui}i=1Np;x+,{vi}i=1Mp+[logexp(f(x)Tf(x+))+Ng(x,{ui}i=1N,{vi}i=1M))exp(f(x)Tf(x+))]

下面是对使用去偏差对比学习得到的表征使用可视化。
在这里插入图片描述

遵循以上描述,Robinson et al. (2021) 修改了采样概率,通过对概率 p x − ( x ′ ) p_x^-(x^{'}) px(x)加权来期望得到复杂的负样本。那么新的采样概率 q β ( x − ) q_\beta(x^-) qβ(x)就变成了:

q β ( x − ) ∝ e x p ( β f ( x ) T f ( x − ) ) ⋅ p ( x − ) q_\beta(x^-) \propto exp(\beta f(x)^Tf(x^-))\cdot p(x^-) qβ(x)exp(βf(x)Tf(x))p(x)

β \beta β是超参数。

通过使用重要性采样我们又可以对分母中第二项进行估计:

在这里插入图片描述

以下是计算NCE loss,debiased contrastive loss,和hard negative sample 的伪代码。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值