《What Makes for Good Views for Contrastive Learning》
Introduction
在对比学习中,选择不同的视角对于下游的分类至关重要,那么,如何定义什么才是好的视角,如何选择一种好的数据增强方式,用什么准则来指导选择好的数据增强方式,本文就是围绕着三个问题来解决的。
在数据增强的时候,不同view的选择方式如何影响实验的结果?作者认为好的view的选择应该在减少不同view的共同信息(mutual information)的同时,尽可能使提取到的下游任务需要的信息简洁。直观上来讲,我们从什么角度看待一个物体并不会改变这个物体本身,多视角学习的关键任务就是对观察目标建立视角不变
的表征。
文章的主要贡献:
- 在对比学习中,如何选择最佳的view是依赖于下游任务的
- 特征的表示能力与共享信息之间是一种U型的曲线关系
- 设计了一种在给定任务下的半监督学习方法
什么是好的视角(view)? ------> InfoMin principle
含有对于下游任务最少的必要信息。即不同视角共享的信息应尽可能地与下游任务相关,无关的信息尽可能少。
如何定义最佳视角的选择?
如上图,设
I
(
v
1
;
v
2
)
I(v_1;v_2)
I(v1;v2)为两个视角包含的共同信息,
I
(
v
1
;
y
)
I(v_1;y)
I(v1;y)为视角
v
1
v_1
v1包含的任务相关的信息,
I
(
v
2
;
y
)
I(v_2;y)
I(v2;y)为视角
v
2
v_2
v2包含的任务相关的信息。
当
I
(
v
1
;
v
2
)
<
I
(
x
;
y
)
I(v_1;v_2)<I(x;y)
I(v1;v2)<I(x;y)时,两个view不能包括有些任务相关的信息,从而降低下游任务的性能。
当
I
(
v
1
;
y
)
=
I
(
v
2
;
y
)
=
I
(
v
1
;
v
2
)
=
I
(
x
;
y
)
I(v_1;y)=I(v_2;y)=I(v_1;v_2)=I(x;y)
I(v1;y)=I(v2;y)=I(v1;v2)=I(x;y)时,
v
1
v_1
v1和
v
2
v_2
v2两个视角包含的信息是只与任务相关的,没有多余的噪声,称为sweet spot
。
当
I
(
v
1
;
v
2
)
>
I
(
x
;
y
)
I(v_1;v_2)>I(x;y)
I(v1;v2)>I(x;y)时,两个视角共享的信息超过了任务相关的信息,含有任务不相关的噪声。
存在什么问题?
在无监督学习中,我们通常不知道标签信息,而标签信息对于指导下游任务是很关键的,因此,如何找到最好的视角选择方式就变得很困难。
如何通过训练的方式选择好的数据增强方式?
无监督方法
设数据增强方式为
g
(
⋅
)
g(\cdot)
g(⋅),根据上面的infoMin准则
,我们想要训练使两个编码器
f
1
,
f
2
f_1,f_2
f1,f2对不同视角提取的共有信息尽可能多,同时训练使
g
(
⋅
)
g(\cdot)
g(⋅)能够最小化不同视角的信息,目标函数可表示为:
min
g
max
f
1
,
f
2
I
N
C
E
f
1
,
f
2
(
g
(
X
)
1
;
g
(
X
)
2
)
\min_g\max_{f_1,f_2}I_{NCE}^{f_1,f_2}(g(X)_1;g(X)_2)
gminf1,f2maxINCEf1,f2(g(X)1;g(X)2)
通过上面的目标函数,在大多数情况下都可以减少不同view之间的共享信息,然而在实际训练中,这种对抗的训练方式很容易不稳定,因为实际上没有下游标签信息的指导,
g
(
⋅
)
g(\cdot)
g(⋅)自己也不知道应该朝向什么方向进行优化。鉴于此,作者引入了一种半监督的学习方式:
半监督方法
在半监督的学习方法中,我们假设下游任务的一小部分标签是可利用的,这样一来这些标签信息就可以指导
g
(
⋅
)
g(\cdot)
g(⋅)向着保留与标签相关信息的方向优化,在实际中,在不同的view表征上引入两个分类器
c
1
,
c
2
c_1,c_2
c1,c2来指导学习过程:
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
)
⏟
u
n
s
u
p
e
r
v
i
s
e
d
:
r
e
d
u
c
e
I
(
v
1
;
v
2
)
+
L
c
e
(
c
1
(
g
(
X
)
1
)
,
y
)
+
L
c
e
(
c
2
(
g
(
X
)
2
)
,
y
)
⏟
s
u
p
e
r
v
i
s
e
d
:
k
e
e
p
I
(
v
1
;
y
)
a
n
d
I
(
v
2
,
y
)
\min_{g,c_1,c_2}\max_{f_1,f_2}\begin{matrix}\underbrace{I_{NCE}^{f_1,f_2}(g(X)_1;g(X)_2)}\\ {unsupervised:reduce I(v_1;v_2)} \end{matrix}+ \begin{matrix}\underbrace{\mathcal{L}_{ce}(c_1(g(X)_1),y)+\mathcal{L}_{ce}(c_2(g(X)_2),y)} \\{supervised:keep I(v_1;y) and I(v_2,y)}\end{matrix}
g,c1,c2minf1,f2max
INCEf1,f2(g(X)1;g(X)2)unsupervised:reduceI(v1;v2)+
Lce(c1(g(X)1),y)+Lce(c2(g(X)2),y)supervised:keepI(v1;y)andI(v2,y)
其中,
I
N
C
E
I_{NCE}
INCE应用在所有的数据上面,后面的
L
c
e
\mathcal{L}_{ce}
Lce只应用在标签数据上面。在开始训练的时候,同时采样无标签数据和标签数据进行优化,当损失函数降低到一定程度时,固定
g
(
⋅
)
g(\cdot)
g(⋅)来进行无监督对比学习的训练。