∇ \nabla ∇ 联系方式:
e-mail: FesianXu@gmail.com
github: https://github.com/FesianXu
知乎专栏: 计算机视觉/计算机图形理论与应用
微信公众号:
传统的CLIP [1]对比学习模型依赖于海量的图文对训练数据,以及每个正样本对应的负样本的数量,为了弥补CLIP模型对于负样本数量的极度依赖,而单纯通过当前batch size
提供足够的负样本又强烈依赖于显卡资源的现况,有些方案提出采用虚拟batch size
(即是memory bank
)进行弥补 [2]。MoCo [3]模型提出采用动量编码器和负样本队列的方式,可以利用训练历史上的负样本,从而扩大了参与训练的负样本数量。
在文章[4]中,作者提出了CLIP-Lite
,该模型通过Jensen-Shannon散度对互信息进行下界估计,而不是像CLIP
采用infoNCE对互信息进行估计。互信息(Mutual Information, MI)描述了『在知道某个随机变量
Y
Y
Y后,对于另一个随机变量
X
X
X的不确定性的减少程度』,对于离散随机变量
X
,
Y
X,Y
X,Y而言,其联合概率分布为
P
X
,
Y
(
x
,
y
)
P_{X,Y}(x,y)
PX,Y(x,y),其互信息可表示为
I
(
X
;
Y
)
I(X;Y)
I(X;Y),那么:
I
(
X
;
Y
)
=
∑
x
,
y
P
X
Y
(
x
,
y
)
log
(
P
X
Y
(
x
,
y
)
P
X
(
x
)
P
Y
(
y
)
)
=
E
P
X
Y
[
log
(
P
X
Y
P
X
P
Y
)
]
(1-1)
\begin{aligned} I(X;Y) &= \sum_{x,y}P_{XY}(x,y)\log(\dfrac{P_{XY}(x,y)}{P_{X}(x)P_{Y}(y)}) \\ &= \mathbb{E}_{P_{XY}}[\log(\dfrac{P_{XY}}{P_{X}P_{Y}})] \end{aligned} \tag{1-1}
I(X;Y)=x,y∑PXY(x,y)log(PX(x)PY(y)PXY(x,y))=EPXY[log(PXPYPXY)](1-1)
定义随机变量的熵(entropy)和条件熵(conditional entropy)为:
H
(
X
)
=
−
∑
x
P
X
(
x
)
log
(
P
X
(
x
)
)
=
−
E
P
X
[
log
(
P
X
)
]
H
(
X
∣
Y
)
=
∑
y
P
Y
(
y
)
[
−
∑
x
P
X
∣
Y
(
x
∣
y
)
log
(
P
X
∣
Y
(
x
∣
y
)
)
]
=
E
P
Y
[
−
E
P
X
∣
Y
[
log
P
X
∣
Y
]
]
(1-2)
\begin{aligned} H(X) &= -\sum_{x} P_{X}(x) \log(P_{X}(x)) = -\mathbb{E}_{P_X}[\log(P_X)] \\ H(X|Y) &= \sum_{y} P_{Y}(y) [-\sum_{x}P_{X|Y}(x|y)\log(P_{X|Y}(x|y))] = \mathbb{E}_{P_Y}[-\mathbb{E}_{P_{X|Y}}[\log{P_{X|Y}}]] \end{aligned} \tag{1-2}
H(X)H(X∣Y)=−x∑PX(x)log(PX(x))=−EPX[log(PX)]=y∑PY(y)[−x∑PX∣Y(x∣y)log(PX∣Y(x∣y))]=EPY[−EPX∣Y[logPX∣Y]](1-2)
其中有:
P
X
∣
Y
(
x
∣
y
)
=
P
X
Y
(
x
,
y
)
P
Y
(
y
)
(1-3)
P_{X|Y}(x|y) = \dfrac{P_{XY}(x,y)}{P_{Y}(y)} \tag{1-3}
PX∣Y(x∣y)=PY(y)PXY(x,y)(1-3)
联合(1-2)和(1-3),我们有:
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
=
−
∑
x
P
X
(
x
)
log
(
P
X
(
x
)
)
−
∑
y
P
Y
(
y
)
[
−
∑
x
P
X
∣
Y
(
x
∣
y
)
log
(
P
X
∣
Y
(
x
∣
y
)
)
]
=
−
∑
x
P
X
(
x
)
log
(
P
X
(
x
)
)
+
∑
y
∑
x
P
X
Y
(
x
,
y
)
log
(
P
X
∣
Y
(
x
∣
y
)
)
=
−
∑
y
∑
x
P
X
Y
(
x
,
y
)
log
(
P
X
(
x
)
)
+
∑
y
∑
x
P
X
Y
(
x
,
y
)
log
(
P
X
∣
Y
(
x
∣
y
)
)
=
∑
y
∑
x
P
X
Y
(
x
,
y
)
[
log
(
P
X
∣
Y
(
x
∣
y
)
)
−
log
(
P
X
(
x
)
)
]
=
∑
y
∑
x
P
X
Y
(
x
,
y
)
log
(
P
X
Y
(
x
,
y
)
P
X
(
x
)
P
Y
(
y
)
)
(1-4)
\begin{aligned} I(X;Y) &= H(X) - H(X|Y) \\ &= -\sum_{x} P_{X}(x) \log(P_{X}(x)) - \sum_{y} P_{Y}(y) [-\sum_{x}P_{X|Y}(x|y)\log(P_{X|Y}(x|y))] \\ &= -\sum_{x} P_{X}(x) \log(P_{X}(x)) + \sum_{y}\sum_{x}P_{XY}(x,y)\log(P_{X|Y}(x|y)) \\ &= -\sum_{y}\sum_{x}P_{XY}(x,y) \log(P_{X}(x)) + \sum_{y}\sum_{x}P_{XY}(x,y)\log(P_{X|Y}(x|y)) \\ &= \sum_{y}\sum_{x}P_{XY}(x,y) [\log(P_{X|Y}(x|y))-\log(P_{X}(x))] \\ &= \sum_{y}\sum_{x}P_{XY}(x,y) \log(\dfrac{P_{XY}(x, y)}{P_X(x)P_Y(y)}) \end{aligned} \tag{1-4}
I(X;Y)=H(X)−H(X∣Y)=−x∑PX(x)log(PX(x))−y∑PY(y)[−x∑PX∣Y(x∣y)log(PX∣Y(x∣y))]=−x∑PX(x)log(PX(x))+y∑x∑PXY(x,y)log(PX∣Y(x∣y))=−y∑x∑PXY(x,y)log(PX(x))+y∑x∑PXY(x,y)log(PX∣Y(x∣y))=y∑x∑PXY(x,y)[log(PX∣Y(x∣y))−log(PX(x))]=y∑x∑PXY(x,y)log(PX(x)PY(y)PXY(x,y))(1-4)
因此互信息可以理解为在知道了额外信息(随机变量
Y
Y
Y)后,对于随机变量
X
X
X的不确定性的减少程度。显然,当且仅当
P
X
Y
(
x
,
y
)
=
P
X
(
x
)
P
Y
(
y
)
P_{XY}(x,y)=P_{X}(x)P_{Y}(y)
PXY(x,y)=PX(x)PY(y)的时候,有
I
(
X
;
Y
)
=
0
I(X;Y)=0
I(X;Y)=0,此时可以理解为随机变量
X
,
Y
X,Y
X,Y是完全独立的。
对互信息进行优化在表征学习中有着广泛地应用,通过最大化互信息可以学习到更好的表征。不难看出,互信息可以用Kullback-Leibler(KL) 散度表示,为:
I
(
X
;
Y
)
=
D
K
L
(
P
X
Y
(
x
,
y
)
∣
∣
P
Y
(
y
)
P
X
(
x
)
)
(1-5)
I(X;Y) = D_{KL}(P_{XY}(x,y)||P_{Y}(y)P_{X}(x)) \tag{1-5}
I(X;Y)=DKL(PXY(x,y)∣∣PY(y)PX(x))(1-5)
然而,对高维的连续随机变量进行互信息估计是一件很困难的事情,特别是当联合概率分布和边缘概率分布都是未知分布的情况下。因此存在有一些方法尝试对互信息进行下界估计,通过对下界进行求最优化从而间接达到对互信息进行优化的目的。目前最常用的有几种下界估计,Donsker-Varadhan(DV)下界,infoNCE下界和Jensen-Shannon(JS)散度下界。DV下界 [5,6] 如(1-6)所示,其中的
T
ω
(
x
,
y
)
T_{\omega}(x,y)
Tω(x,y)是一个参数为
ω
\omega
ω的神经网络判别器,
T
ω
:
X
×
Y
→
R
T_{\omega}:\mathcal{X} \times \mathcal{Y} \rightarrow \mathbb{R}
Tω:X×Y→R,其对
x
x
x和
y
y
y的相关程度进行判断。
I
(
X
;
Y
)
:
=
D
K
L
(
P
X
Y
(
x
,
y
)
∣
∣
P
Y
(
y
)
P
X
(
x
)
)
≥
I
^
ω
(
D
V
)
(
X
;
Y
)
=
E
P
X
Y
[
T
ω
(
x
,
y
)
]
−
log
(
E
P
X
P
Y
[
exp
(
T
ω
(
x
,
y
)
)
]
)
(1-6)
\begin{aligned} I(X;Y) &:= D_{KL}(P_{XY}(x,y)||P_{Y}(y)P_{X}(x)) \geq \hat{I}^{(DV)}_{\omega}(X;Y) \\ &= \mathbb{E}_{P_{XY}}[T_{\omega}(x,y)]-\log(\mathbb{E}_{P_XP_Y}[\exp(T_{\omega}(x,y))]) \end{aligned} \tag{1-6}
I(X;Y):=DKL(PXY(x,y)∣∣PY(y)PX(x))≥I^ω(DV)(X;Y)=EPXY[Tω(x,y)]−log(EPXPY[exp(Tω(x,y))])(1-6)
假设
Y
=
E
ψ
(
X
)
Y=E_{\psi}(X)
Y=Eψ(X)是对输入
X
X
X进行求表征的函数,
ψ
\psi
ψ是表征神经网络的参数。那么对
I
^
ω
(
D
V
)
(
X
;
E
ψ
(
X
)
)
\hat{I}^{(DV)}_{\omega}(X;E_{\psi}(X))
I^ω(DV)(X;Eψ(X))进行最优化,需要同时优化
ω
,
ψ
\omega,\psi
ω,ψ。表示为:
(
ω
^
,
ψ
^
)
=
arg
max
ω
,
ψ
I
^
ω
(
X
;
E
ψ
(
X
)
)
(1-7)
(\hat{\omega}, \hat{\psi}) = \arg \max_{\omega, \psi} \hat{I}_{\omega}(X;E_{\psi}(X)) \tag{1-7}
(ω^,ψ^)=argω,ψmaxI^ω(X;Eψ(X))(1-7)
infoNCE下界如式子(1-8)所示:
I
^
ω
,
ψ
i
n
f
o
N
C
E
(
X
;
E
ψ
(
X
)
)
=
E
P
[
T
ω
,
ψ
(
x
,
E
ψ
(
x
)
)
−
E
P
~
[
log
∑
x
′
exp
(
T
ω
,
ψ
(
x
′
,
E
ψ
(
x
)
)
)
]
]
(1-8)
\hat{I}_{\omega, \psi}^{infoNCE} (X;E_{\psi}(X)) = \mathbb{E}_{\mathbb{P}}[T_{\omega, \psi}(x, E_{\psi}(x))-\mathbb{E}_{\tilde{\mathbb{P}}}[\log{\sum_{x^{\prime}}\exp{(T_{\omega,\psi}(x^{\prime}, E_{\psi}(x)))}}]] \tag{1-8}
I^ω,ψinfoNCE(X;Eψ(X))=EP[Tω,ψ(x,Eψ(x))−EP~[logx′∑exp(Tω,ψ(x′,Eψ(x)))]](1-8)
从式子(1-6)和(1-8)中,我们发现DV下界和infoNCE下界都依赖于负样本数量,越多负样本才能有越好的效果(笔者暂时还不太理解DV下界为啥依赖于负样本数量)。而在CLIP-Lite中作者提出用JS下界去替代CLIP中的infoNCE下界,而JS下界不依赖于负样本数量,因此每个正样本至多只需要一个负样本就可以进行下界优化,如Fig 1.1所示。JS下界见式子(1-9):
I
(
X
;
E
ψ
(
X
)
)
≥
I
^
ω
J
S
(
X
;
E
ψ
(
X
)
)
=
E
P
(
X
,
E
ψ
(
X
)
)
[
−
log
(
1
+
exp
(
−
T
ω
)
)
]
−
E
P
(
X
)
P
(
E
ψ
(
X
)
)
[
log
(
1
+
exp
(
T
ω
)
)
]
(1-9)
I(X;E_{\psi}(X)) \geq \hat{I}_{\omega}^{JS}(X; E_{\psi}(X)) \\ = \mathbb{E}_{P(X,E_{\psi}(X))}[-\log{(1+\exp(-T_{\omega}))}] - \mathbb{E}_{P(X)P(E_{\psi}(X))}[\log{(1+\exp(T_{\omega}))}] \tag{1-9}
I(X;Eψ(X))≥I^ωJS(X;Eψ(X))=EP(X,Eψ(X))[−log(1+exp(−Tω))]−EP(X)P(Eψ(X))[log(1+exp(Tω))](1-9)
其中的
T
ω
:
X
×
E
ψ
(
X
)
→
R
T_{\omega}: \mathcal{X} \times E_{\psi}(X) \rightarrow \mathbb{R}
Tω:X×Eψ(X)→R同样是个以
ω
\omega
ω为参数的神经网络判别器,用于判断当前输入的图文对是正样本还是负样本,最后的优化目标同样是同时对
ω
\omega
ω和
ψ
\psi
ψ进行优化:
(
ω
^
,
θ
^
i
,
θ
^
t
)
=
arg
max
ω
,
θ
^
i
,
θ
^
t
I
^
ω
J
S
D
(
f
i
(
x
i
;
θ
i
)
,
f
t
(
x
t
;
θ
t
)
)
(1-10)
(\hat{\omega}, \hat{\theta}_i, \hat{\theta}_t) = \arg\max_{\omega, \hat{\theta}_i, \hat{\theta}_t} \hat{I}_{\omega}^{JSD} (f_i(x_i;\theta_{i}), f_t(x_t;\theta_{t})) \tag{1-10}
(ω^,θ^i,θ^t)=argω,θ^i,θ^tmaxI^ωJSD(fi(xi;θi),ft(xt;θt))(1-10)
其中的
f
i
(
x
i
)
f_i(x_i)
fi(xi)和
f
t
(
x
t
)
f_t(x_t)
ft(xt)是图片和文本的编码器,如Fig 1.2所示。
Reference
[1]. Radford, A., Kim, J. W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., … & Sutskever, I. (2021). Learning transferable visual models from natural language supervision. arXiv preprint arXiv:2103.00020.
[2]. https://fesian.blog.csdn.net/article/details/119515146
[3]. He, K., Fan, H., Wu, Y., Xie, S., & Girshick, R. (2020). Momentum contrast for unsupervised visual representation learning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9729-9738).
[4]. Shrivastava, Aman, Ramprasaath R. Selvaraju, Nikhil Naik, and Vicente Ordonez. “CLIP-Lite: Information Efficient Visual Representation Learning from Textual Annotations.” arXiv preprint arXiv:2112.07133 (2021).
[5]. M.D Donsker and S.R.S Varadhan. Asymptotic evaluation of certain markov process expectations for large time, iv. Communications on Pure and Applied Mathematics, 36(2):183–212, 1983.
[6]. Hjelm, R. Devon, Alex Fedorov, Samuel Lavoie-Marchildon, Karan Grewal, Phil Bachman, Adam Trischler, and Yoshua Bengio. “Learning deep representations by mutual information estimation and maximization.” arXiv preprint arXiv:1808.06670 (2018).