What Makes for Good Views for Contrastive Learning

Tian Y., Sun C., Poole B., Krishnan D., Schmid C. & Isola P. What Makes for Good Views for Contrastive Learning? arXiv preprint arXiv 2005.10243, 2020.

是什么使得对比学习有效, 对比学习的关键之处是什么? 本文设计了很多巧妙的实验来说明这一点.

一般的对比学习, 通过是构造俩个随机变量 v 1 , v 2 v_1, v_2 v1,v2, 然后通过InfoNCE损失来区分开联合分布 p ( v 1 , v 2 ) p(v_1, v_2) p(v1,v2)以及 p ( v 1 ) p ( v 2 ) p(v_1)p(v_2) p(v1)p(v2)(也是互信息所衡量的指标),
L N C E = − E [ log ⁡ e h ( v 1 , i v 2 , i ) ∑ j = 1 K e h ( v 1 , i , v 2 , j ) ] , \mathcal{L}_{NCE} = - \mathbb{E} [\log \frac{e^{h(v_{1,i}v_{2,i})}}{\sum_{j=1}^K e^{h(v_{1, i}, v_{2, j})}}], LNCE=E[logj=1Keh(v1,i,v2,j)eh(v1,iv2,i)],
其中 h ( ⋅ , ⋅ ) h(\cdot, \cdot) h(,)通常是包含两个encoders f v 1 , f v 2 f_{v_1},f_{v_2} fv1,fv2, 以及project head h h h. 最小化NCE损失实际上是在最大化互信息的一个上界
I ( v 1 ; v 2 ) ≥ log ⁡ K − L N C E = : I N C E ( v 1 ; v 2 ) . I(v_1;v_2) \ge \log K - \mathcal{L}_{NCE} =: I_{NCE}(v_1;v_2). I(v1;v2)logKLNCE=:INCE(v1;v2).
I N C E ( v 1 ; v 2 ) I_{NCE}(v_1;v_2) INCE(v1;v2)在下面将作为互信息的一个替代出现.

充分Encoder: f 1 f_1 f1关于 v 1 v_1 v1是充分的, 如果 I ( v 1 , v 2 ) = I ( f 1 ( v 1 ) ; v 2 ) I(v_1, v_2) = I(f_1(v_1);v_2) I(v1,v2)=I(f1(v1);v2), 即经过特征提取后, 并没有丢失与 v 2 v_2 v2的共享的信息.

最小充分Encoder: f 1 f_1 f1 v 1 v_1 v1的最小充分Encoder, 如果 I ( f 1 ( v 1 ) , v 1 ) ≤ I ( f ( v 1 ) ; v 1 ) I(f_1(v_1), v_1) \le I(f(v_1); v_1) I(f1(v1),v1)I(f(v1);v1)对任意的充分Encoder f f f成立, 即我们希望一个好的encoder能够撇去非共享的信息(我们认为是噪声).

最优表示: 对于分类任务 T \mathcal{T} T来说, 从 x x x中预测类别标签 y y y x x x最优特征表示 z ∗ z^* z y y y的最小充分统计量.


注:

充分统计量定义: 一个函数 T ( X ) T(X) T(X)被称之为一族概率分布 { f θ ( x ) } \{f_{\theta}(x)\} {fθ(x)}的充分统计量, 如果给定 T ( X ) = t T(X)=t T(X)=t X X X的条件分布与 θ \theta θ无关, 即
f θ ( x ) = f ( x ∣ t ) f θ ( t ) ⇒ θ → T ( X ) → X ⇒ I ( θ ; T ( X ) ) ≥ I ( θ ; X ) . f_{\theta}(x) = f(x|t) f_{\theta}(t) \Rightarrow \theta \rightarrow T(X) \rightarrow X \Rightarrow I(\theta;T(X)) \ge I(\theta;X). fθ(x)=f(xt)fθ(t)θT(X)XI(θ;T(X))I(θ;X).
此时, I ( θ ; T ( X ) ) = I ( θ ; X ) I(\theta;T(X))= I(\theta;X) I(θ;T(X))=I(θ;X).

最小充分统计量定义: 如果一个充分统计量 T ( X ) T(X) T(X)与其余的一切关于 { f θ ( x ) } \{f_{\theta}(x)\} {fθ(x)}的充分统计量 U ( X ) U(X) U(X)满足
θ → T ( X ) → U ( X ) → X . \theta \rightarrow T(X) \rightarrow U(X) \rightarrow X. θT(X)U(X)X.


用这里的话表述就是
p ( x , z ∣ y ) = p ( x ∣ z ) p ( z ∣ y ) ⇒ x → z → y ⇒ I ( z ; y ) = I ( x ; y ) . p(x, z|y) = p(x|z)p(z|y) \Rightarrow x \rightarrow z \rightarrow y \Rightarrow I(z;y) = I(x;y). p(x,zy)=p(xz)p(zy)xzyI(z;y)=I(x;y).
同时
y → z ∗ → z → x . y \rightarrow z^* \rightarrow z \rightarrow x. yzzx.
上面加了自己的理解, 但是我对这理解有信心.

InfoMin

Proposition4.1: 假设 f 1 , f 2 f_1, f_2 f1,f2为两最小充分encoders(分别关于 v 1 , v 2 v_1, v_2 v1,v2). 给定下游任务 T \mathcal{T} T和即对应的标签 y y y, 则最优的 v v v应当满足
( v 1 ∗ , v 2 ∗ ) = min ⁡ v 1 , v 2 I ( v 1 ; v 2 ) , s . t .   I ( v 1 ; y ) = I ( v 2 ; y ) = I ( x ; y ) , (v_1^*, v_2^*) = \min_{v_1, v_2} I(v_1;v_2), \quad \mathrm{s.t.}\: I(v_1;y) = I(v_2;y)=I(x;y), (v1,v2)=v1,v2minI(v1;v2),s.t.I(v1;y)=I(v2;y)=I(x;y),
此时, 最优的特征表示 z 1 ∗ , z 2 ∗ z_1^*, z_2^* z1,z2关于 T \mathcal{T} T是最优的.

这个主张可以很直观地去理解, 即假设我们的encoder足够好: 在保留 v 1 , v 2 v_1, v_2 v1,v2的共享信息的同时, 能够撇去大量的无关信息, 则最优的views 应该在不丢失标签信息的前提下, 二者的共享信息越少.

  1. v 1 , v 2 v_1, v_2 v1,v2应当有足够的共享信息用于下游任务;
  2. v 1 , v 2 v_1, v_2 v1,v2之间共享的信息越少越好, 即共享信息最好仅仅与下游任务有关, 无别的噪声;

为此, 作者举了一个相当有趣的例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MgexQoKn-1603546861993)(https://i.loli.net/2020/10/24/1RkZKXTYiOtJ7yd.png)]

数字, 在某个随机背景上以一定速度移动, 这个数据集有三个要素:

  1. 什么数字;
  2. 数字的位置;
  3. 背景;

左边的 v 1 v_1 v1即为普通的view, 右边 v 2 + v_2^+ v2+是对应的正样本, 所构成的三组正样本对分别共享了

  1. 数字的位置;
  2. 数字;
  3. 背景;

三个信息, 其余两个要素均是随机选择, 故正样本也仅共享了对应要素的信息. 负样本对的各要素均是随机选择的.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQ4dcPbt-1603546861997)(https://i.loli.net/2020/10/24/YOMiNJ5F2d4cb36.png)]

实验结果如上表, 如果像文中所表述的, 正样本对仅关注某一个要素, 则用于下游任务(即判别对应的元素, 如判别出数字, 判别出背景, 判别出数字的位置), 当我们关注哪个要素的时候, 哪个要素的下游任务的效果就能有明显提升(注意数字越小越好).

本文又额外做了同时关注多个要素的实验, 实验效果却并不理想, 往往是背景这种更为明显, 更占据主导的地位的共享信息会被对比损失所关注.

这个实验是上述主张的一个有力验证.

Sweet Spot

现在的InfoNCE损失, 其目的是最大化互信息的一个下界, 那么这个下界也就是 I N C E I_{NCE} INCE是否越大越好呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNQ9fEPk-1603546861999)(https://i.loli.net/2020/10/24/q5evyiOZVscAENx.png)]

上面这个图有些奇怪, 不过其大致表示的含义是:

  1. I ( v 1 ; v 2 ) < I ( x ; y ) I(v_1;v_2)< I(x;y) I(v1;v2)<I(x;y), 则增大二者的互信息是有利于下游任务的;
  2. I ( v 1 ; v 2 ) = I ( x ; y ) I(v_1;v_2) = I(x;y) I(v1;v2)=I(x;y)的时候, 即二者共享的信息恰为用于下游任务所需的信息时, 效果最佳;
  3. I ( v 1 ; v 2 ) > I ( x ; y ) I(v_1;v_2) > I(x; y) I(v1;v2)>I(x;y)继续增大二者的互信息, 实际上是在增加噪声, 这不利于提取到好的特征.

故随着 v 1 , v 2 v_1, v_2 v1,v2二者的互信息的增加, 特征迁移的效果应该是呈现一个倒U的形状.

作者通过不同的augmentation方法来验证.

空间距离

作者从一个大图上, 分别从 ( x , y ) (x, y) (x,y) ( x + d , y + d ) (x+d, y+d) (x+d,y+d), d ∈ [ 64 , 384 ] d \in [64, 384] d[64,384]作为起点截取大小为 64 × 64 64\times64 64×64的patch作为样本对, 显然 d d d越大二者的互信息越小, 最后用于分类任务的结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-13M4TUC7-1603546862002)(https://i.loli.net/2020/10/24/zxOnTGB93ZI1mlM.png)]

这是很明显的倒U.

Color Spaces

作者又尝试了不同的color spaces分割作为构建样本对的依据:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GgJ60pAa-1603546862003)(https://i.loli.net/2020/10/24/KUzScbLoYjxmFl1.png)]

同样有类似的结果.

没有呈现倒U是因为单纯的分割没法让 I N C E I_{NCE} INCE变得太小.

Frequency Separation

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ei9JQfi7-1603546862004)(https://i.loli.net/2020/10/24/MWP5owRYEbJdfvU.png)]

构建 novel views

作者紧接着, 提出了一些构造 novel views 的办法. 正如前面已经提到过的, novel views v 1 , v 2 v_1,v_2 v1,v2应当是二者仅共享一些与下游任务有关的信息, 抓住这个核心.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UXfw8s0W-1603546862004)(https://i.loli.net/2020/10/24/km6Tr8CNn5MZ9j2.png)]

无监督

min ⁡ g max ⁡ f 1 , f 2 I N C E f 1 , f 2 ( g ( X ) 1 , g ( X ) 2 : 3 ) , \min_g \max_{f_1, f_2} I_{NCE}^{f_1, f_2} (g(X)_1, g(X)_{2:3}), gminf1,f2maxINCEf1,f2(g(X)1,g(X)2:3),
其中 g g g是一个生成器, 将 X X X映射为相同大小的 X ′ X' X, 然后选取 v 1 = X 1 ′ , v 2 = X 2 : 3 ’ v_1=X_1', v_2 = X_{2:3}’ v1=X1,v2=X2:3 f 1 , f 2 f_1, f_2 f1,f2是两个encoder. 这个思路和GAN很像, 就是希望 g g g v 1 , v 2 v_1, v_2 v1,v2之间的互信息压缩, 但是 f f f要将提高二者的互信息.

注: 个人认为有点奇怪, 因为我觉得上面的 f 1 , f 2 f_1, f_2 f1,f2 g g g并没有牵制作用, g g g完全可以生成噪声, 这样不就令 I N C E I_{NCE} INCE很小了? 所以 g g g的网络不能太复杂?

半监督

正如我上面注提到的问题, 原来作者也注意到了这个问题, 并希望借助标签信息来破解
min ⁡ g , c 1 , c 2 max ⁡ f 1 , f 2 I N C E f 1 , f 2 ( g ( X ) 1 ; g ( X ) 2 : 3 ) + L c e ( c 1 ( g ( X ) ) , y ) + L c e ( c 2 ( g ( X ) 2 : 3 ) , y ) , \min_{g,c_1, c_2} \max_{f_1, f_2} I_{NCE}^{f_1, f_2} (g(X)_1; g(X)_{2:3}) + \mathcal{L}_{ce} (c_1(g(X)), y) + \mathcal{L_{ce}}(c_2(g(X)_{2:3}), y), g,c1,c2minf1,f2maxINCEf1,f2(g(X)1;g(X)2:3)+Lce(c1(g(X)),y)+Lce(c2(g(X)2:3),y),
即除上面提到的外, 我们希望 g g g转换后的图片, 能够用于分类, 这样一来, g g g就不得不生成一些具有意义的图片. 称之为半监督的原因是, 分类误差可以仅作用于有标签的数据集.

注: 感觉分类任务可以直接替换成下游任务, 虽然有种画蛇添足的感觉.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值