【论文笔记——DIM】Learning Deep Representations By Mutual Information Estimation and Maximization

arxiv:https://arxiv.org/abs/1808.06670
code:https://github.com/rdevon/DIM
report video:https://www.youtube.com/watch?v=o1HIkn8LEsw&t=256s

1 Introduction

无监督学习一个重要的问题就是学习有用的 representation,本文的目的就是训练一个 representation learning 函数(即编码器encoder) ,其通过最大编码器输入和输出之间的互信息(MI)来学习对下游任务有用的 representation,而互信息可以通过 MINE [ 1 ] ^{[1]} [1]的方法进行估算。

作者还提到,直接最大化全部输入和编码器的输出(即全局的MI)更适合于重建性的任务,而在分类的下游任务上效果不太好。而最大化输入的局部区域(例如不是完整的图片,而是图片中的一块)和输出(即学到的representation)的平均互信息在下游任务(如图像分类)上的效果更好。

因为这种方法类似于对抗自动编码器(AEE, adversarial autoencoders) [ 2 ] ^{[2]} [2]的,将MI最大化和先验匹配结合起来,根据期望的统计特性约束 representation,并且还与 infomax 的优化规则密切相关 [ 3 ] ^{[3]} [3],因此作者称其为 Deep InfoMax(DIM).

因此,文章的主要贡献如下:

  • 提出了 Deep InfoMax(DIM),可以同时估算和最大化输入数据和高级representation之间的互信息(MI)
  • 作者提出的最大化互信息的方法,可以根据下游任务是分类还是重建,来对优化全局还是局部的信息进行调整。
  • 使用对抗学习约束representation,来使其具有特定于先验的期望统计特征
  • 介绍了两种测量 representation 质量的新方法,一个基于Mutual Information Neural Estimation(MINE) [ 1 ] ^{[1]} [1],一个基于neural dependency measure(NDM) [ 4 ] ^{[4]} [4],并用它们将DIM与其他无监督学习方法进行比较

2 Objectives of Deep InfoMax

首先,先来看一下传统的图像 encoder 结构 ,如下图:

在这里插入图片描述

x x x 表示原始图像, f ψ ( x ) f_{\psi}(x) fψ(x) 表示经过卷积层输出的 M × M M×M M×M(注意,DIM 里的 M × M M×M M×M 指的是 M × M M×M M×M 块,而不是像素)的 feature map,而 y = h ψ ( f ψ ( x ) ) y=h_{\psi}\left(f_{\psi}(x)\right) y=hψ(fψ(x)) 则为经过全连接层之后最终的 feature vector(也可以理解为图像的一种 representation),再将这个 representation 应用于一些下游任务,如分类。

而 DIM 的整体思路如下图,也就是“用图片 encode 后得到的 representation( y y y),与同一张图片的 feature map 组成正样本对,和另一张图片的 feature map 组成负样本对,然后利用 GAN 的思想训练一个 Discriminator 来区分这两中样本对”。
在这里插入图片描述

既然要训练 Discriminator ,就不得不提一下 DIM 的损失函数,那么就得先说一下其优化目标。

首先,我们定义一些数学符号:

  • x ∈ X x∈X xX为 image 数据集;编码器 encoder 为 E ψ = h ψ ∘ f ψ { E }_{\psi}=h_{\psi} \circ f_{\psi} Eψ=hψfψ ∘ \circ 表示是由后面那两个函数组成 ); f ψ ( x ) f_{\psi}(x) fψ(x) 表示由将原始图像 x x x 映射到 feature map; h ψ ( f ψ ( x ) ) h_{\psi}(f_{\psi}(x)) hψ(fψ(x)) 表示将 feature map 再映射到最后的输出 representation,即 y = h ψ ( f ψ ( x ) ) = E ψ ( x ) ∈ Y y=h_{\psi}(f_{\psi}(x))=E_{\psi}(x) ∈ Y y=hψ(fψ(x))=Eψ(x)Y

  • 将样本从 f ψ ( X ) f_{\psi}(X) fψ(X) 经过 h ψ h_{\psi} hψ 得到的 y ∈ Y y∈Y yY 的分布,也叫做 ”push-forward distribution“(目前还不是很理解这个名词),记作 Q ψ , X Q_{\psi,X} Qψ,X

而 DIM 最终的优化目标也就是以下两点:

  • 最大化 f ψ ( X ) f_{\psi}(X) fψ(X) Y Y Y 之间的互信息。(作者根据具体任务的不同,又分为了 global 和 local 两种,后面再提)
  • 在最终的 representation 中再加入一个统计性的约束,使得到的 y y y 的分布(push-forward distribution) Q ψ , X Q_{\psi,X} Qψ,X尽量与先验分布 Q p r i o r Q_{prior} Qprior 相匹配,有点类似对抗自编码器(AAE)。

3 Loss function

Global Infomax

知道了优化目标,下面就是如何去建立和推导该目标的数学表达方式。

我们首先解决第一个优化目标,也就是最大化互信息。互信息就是衡量两个变量的相关性,如果 X X X Y Y Y 相互独立,即 P X Y = P X P Y P_{XY}=P_{X}P_{Y} PXY=PXPY,那么它们的互信息 I ( X ; Y ) I(X;Y) I(X;Y) 也就为0。互信息的定义如下:
I ( X ; Y ) = ∑ X , Y P ( X , Y ) log ⁡ P ( X ∣ Y ) P ( X ) (1) \begin{aligned} \mathcal I(X;Y) &=\sum_{X, Y} P(X, Y) \log \frac{P(X \mid Y)}{P(X)} \\ \end{aligned} \tag 1 I(X;Y)=X,YP(X,Y)logP(X)P(XY)(1)
KL散度则是衡量同一个随机变量两个分布之间的差异,其值越小,说明分布越接近,定义如下:
D K L ( X ∣ ∣ Y ) = E P X Y [ log ⁡ P ( X ) P ( Y ) ] (2) \begin{aligned} \mathcal D_{KL}(X||Y) &=\mathbb{E}_{P_{X Y}}[\log \frac{P(X)}{P(Y)}] \\ \end{aligned} \tag 2 DKL(XY)=EPXY[logP(Y)P(X)](2)
MI和KL散度之间的关系也不难推导,如下:
I ( X ; Y ) = ∑ X , Y P ( X , Y ) log ⁡ P ( X ∣ Y ) P ( X ) = ∬ P ( X , Y ) l o g P ( X ∣ Y ) P ( X ) = E P X Y [ l o g P ( X ∣ Y ) P ( X ) ] = E P X Y [ l o g P ( X , Y ) P ( X ) P ( Y ) ] = D K L ( P X Y ∣ ∣ P ( X ) P ( Y ) ) (3) \begin{aligned} \mathcal I(X;Y) &=\sum_{X, Y} P(X, Y) \log \frac{P(X \mid Y)}{P(X)} \\ &=\iint P(X,Y)log \frac{P(X|Y)}{P(X)} \\ &=\mathbb{E}_{P_{X Y}}[log \frac{P(X|Y)}{P(X)}] \\ &=\mathbb{E}_{P_{X Y}}[log \frac{P(X,Y)}{P(X)P(Y)}] \\ &=\mathcal D_{K L}(P_{X Y}||P(X)P(Y)) \end{aligned} \tag 3 I(X;Y)=X,YP(X,Y)logP(X)P(XY)=P(X,Y)logP(X)P(XY)=EPXY[logP(X)P(XY)]=EPXY[logP(X)P(Y)P(X,Y)]=DKL(PXYP(X)P(Y))(3)
因为互信息没办法精确的计算,但是已经有一些算法可以对其进行估计,作者首先使用了Mutual Information Neural Estimation(MINE) [ 1 ] ^{[1]} [1]方法,其基于KL散度的 Donsker-Varadhan representation 给出了互信息的下限,如下公式:
I ( X ; Y ) : = D K L ( J ∣ ∣ M ) ≥ I ^ ω ( D V ) ( X ; Y ) : = E J [ T ω ( x , y ) ] − log ⁡ E M [ e T ω ( x , y ) ] (4) \mathcal{I}(X ; Y):=\mathcal{D}_{K L}(\mathbb{J}|| \mathbb{M}) \geq \widehat{\mathcal{I}}_{\omega}^{(D V)}(X ; Y):=\mathbb{E}_{\mathbb{J}}\left[T_{\omega}(x, y)\right]-\log \mathbb{E}_{\mathbb{M}}\left[e^{T_{\omega}(x, y)}\right] \tag 4 I(X;Y):=DKL(JM)I ω(DV)(X;Y):=EJ[Tω(x,y)]logEM[eTω(x,y)](4)
上式中的 J \mathbb{J} J 表示 X X X Y Y Y 的联合分布 P X Y P_{X Y} PXY M \mathbb{M} M 表示 X X X Y Y Y 的边缘分布的乘积 P X P y P_{X}P_{y} PXPy T ω T_{\omega} Tω 表示参数为 ω \omega ω 的鉴别器。

更具体来说,这里的 X X X 为图像的 feature map( f ψ ( X ) f_{\psi}(X) fψ(X)), Y Y Y 为图像编码后的得到的 representation( E ψ ( X ) E_{\psi}(X) Eψ(X))。 P X Y P_{XY} PXY 表示图片的 f ψ ( X ) f_{\psi}(X) fψ(X) 和其 E ψ ( X ) E_{\psi}(X) Eψ(X) 之间的联合分布(因为来自同一张图片),而 P X ~ P Y P_{ \tilde X}P_Y PX~PY 表示另一张图片 f ψ ( X ~ ) f_{\psi}(\tilde X) fψ(X~) 和同一个 E ψ ( X ) E_{\psi}(X) Eψ(X) 之间这两个边缘分布的乘积(因为来自不同的图片)。前者需要最大化,而后者需要最小化。因为鉴别器 T ψ T_{\psi} Tψ 接收两个参数 f ψ ( X ) / f ψ ( X ~ ) f_{\psi}(X) / f_{\psi}(\tilde X) fψ(X)/fψ(X~) 和 E_{\psi}(X)$,然后输出一个分数,表示有多大的把握确信这个 feature map 是对应于这个 representation的(即来自同一张图片),显然来自同一张图片的输出越大越好,来自不同图片的输出越小越好。

因此最大化 I ( X ; Y ) \mathcal I(X;Y) I(X;Y) 的目标变成了最大化其的下限 I ^ ω ( D V ) ( X ; Y ) \widehat{\mathcal{I}}_{\omega}^{(D V)}(X ; Y) I ω(DV)(X;Y),而又转化为了一个对抗训练问题。这样,我们就可以写出这一目标的损失函数了,如下( ψ \psi ψ 为编码器 E E E 的参数, ω \omega ω 为鉴别器的参数):
l o s s G = max ⁡ ω , ψ I ^ ω ( D V ) ( f ψ ( X ) ; E ψ ( X ) ) = max ⁡ ω , ψ E P X Y [ T ω ( f ψ ( X ) , E ψ ( X ) ) ] − log ⁡ E P X × P X ~ [ e T ω ( f ψ ( X ) , E ψ ( X ) ) ] = min ⁡ ω , ψ − ( E P X Y [ T ω ( f ψ ( X ) , E ψ ( X ) ) ] − log ⁡ E P X × P X ~ [ e T ω ( f ψ ( X ) , E ψ ( X ) ) ] ) (5) \begin{aligned} loss_G&=\underset{\omega, \psi}{\max} \widehat{\mathcal{I}}_{\omega}^{(D V)}(f_{\psi}(X);E_{\psi}(X)) \\ &=\underset{\omega, \psi}{\max} \mathbb{E}_{P_{XY}}\left[T_{\omega}(f_{\psi}(X),E_{\psi}(X))\right]-\log \mathbb{E}_{P_X×P_{\tilde X}}\left[e^{T_{\omega}(f_{\psi}(X),E_{\psi}(X))}\right] \\ &=\underset{\omega, \psi}{\min} -(\mathbb{E}_{P_{XY}}\left[T_{\omega}(f_{\psi}(X),E_{\psi}(X))\right]-\log \mathbb{E}_{P_X×P_{\tilde X}}\left[e^{T_{\omega}(f_{\psi}(X),E_{\psi}(X))}\right]) \end{aligned} \tag 5 lossG=ω,ψmaxI ω(DV)(fψ(X);Eψ(X))=ω,ψmaxEPXY[Tω(fψ(X),Eψ(X))]logEPX×PX~[eTω(fψ(X),Eψ(X))]=ω,ψmin(EPXY[Tω(fψ(X),Eψ(X))]logEPX×PX~[eTω(fψ(X),Eψ(X))])(5)
但由于我们的优化目标并不需要知道 MI 的具体估计值,而只需要能够将其最大化即可,所以我们不一定需要使用 KL 散度(也就是基于 DV representation 的方法),因此将上述损失函数可以写成更广泛的形式,如下:
l o s s G = max ⁡ ω , ψ I ^ ω ( f ψ ( X ) ; E ψ ( X ) ) = min ⁡ ω , ψ − I ^ ω ( f ψ ( X ) ; E ψ ( X ) ) (6) \begin{aligned} loss_G&=\underset{\omega, \psi}{\max}\widehat{\mathcal{I}}_{\omega}\left(f_{\psi}(X) ; E_{\psi}({X})\right) \\ &=\underset{\omega, \psi}{\min}-\widehat{\mathcal{I}}_{\omega}\left(f_{\psi}(X) ; E_{\psi}({X})\right) \end{aligned} \tag 6 lossG=ω,ψmaxI ω(fψ(X);Eψ(X))=ω,ψminI ω(fψ(X);Eψ(X))(6)
式子中的 I ^ ω \widehat{\mathcal{I}}_{\omega} I ω 可以换成其他的 MI 估计器,只要能给出 MI 的边界将其进行最大化即可。在文章中,作者尝试了 Jensen-Shannon MI estimator [ 4 ] ^{[4]} [4] 和 infoNCE [ 5 ] ^{[5]} [5] 两种方法,如下,并对其各自的优势与性能进行了比较分析:
I ^ ω , ψ ( J S D ) ( X ; E ψ ( X ) ) : = E P [ − sp ⁡ ( − T ψ , ω ( x , E ψ ( x ) ) ) ] − E P × P ~ [ sp ⁡ ( T ψ , ω ( x ′ , E ψ ( x ) ) ) ] , w h e r e   s p ( z ) = l o g ( 1 + e z ) (7) \widehat{\mathcal{I}}_{\omega, \psi}^{(\mathrm{JSD})}\left(X ; E_{\psi}(X)\right):=\mathbb{E}_{\mathbb{P}}\left[-\operatorname{sp}\left(-T_{\psi, \omega}\left(x, E_{\psi}(x)\right)\right)\right]-\mathbb{E}_{\mathbb{P} \times \tilde{\mathbb{P}}}\left[\operatorname{sp}\left(T_{\psi, \omega}\left(x^{\prime}, E_{\psi}(x)\right)\right)\right] \\ ,where \space sp(z)=log(1+e^z) \tag 7 I ω,ψ(JSD)(X;Eψ(X)):=EP[sp(Tψ,ω(x,Eψ(x)))]EP×P~[sp(Tψ,ω(x,Eψ(x)))],where sp(z)=log(1+ez)(7)

I ^ ω , ψ ( i n f o N C E ) ( X ; E ψ ( X ) ) : = E P [ T ψ , ω ( x , E ψ ( x ) ) − E P ~ [ log ⁡ ∑ x ′ e T ψ , ω ( x ′ , E ψ ( x ) ) ] ] (8) \widehat{\mathcal{I}}_{\omega, \psi}^{(\mathrm{infoNCE})}\left(X ; E_{\psi}(X)\right):=\mathbb{E}_{\mathbb{P}}\left[T_{\psi, \omega}\left(x, E_{\psi}(x)\right)-\mathbb{E}_{\tilde{\mathbb{P}}}\left[\log \sum_{x^{\prime}} e^{T_{\psi, \omega}\left(x^{\prime}, E_{\psi}(x)\right)}\right]\right] \tag 8 I ω,ψ(infoNCE)(X;Eψ(X)):=EP[Tψ,ω(x,Eψ(x))EP~[logxeTψ,ω(x,Eψ(x))]](8)

可以看到,我们上面得到的损失函数有一个下标 G G G,实际上就是代表这是 Global 情况下的目标。所谓 Gloabl ,也就是说我们是直接最大化整个图像的输入和输出之间的互信息的,在说什么是 Local Infomax 之前,再总结一下 Global Infomax 的流程:

(1)从数据集中取样原始图像 x + ( 1 ) , … , x + ( n ) ∼ P X x_+^{(1)},\dots,x_+^{(n)} \sim P_X x+(1),,x+(n)PX ,然后计算 feature map f ψ ( x + ( i ) ) ∀ i f_{\psi}(x_+^{(i)}) \forall_i fψ(x+(i))i

(2)计算图像的 representation y ( i ) = h ψ ( f ψ ( x + ( i ) ) ) y^{(i)}=h_{\psi}(f_{\psi}(x_+^{(i)})) y(i)=hψ(fψ(x+(i)))

(3)将 ( f ψ ( x + ( i ) ) , y i ) {(f_{\psi}(x_+^{(i)}),y^{i})} (fψ(x+(i)),yi) 组成正样本对

(4)从数据集中取样不同的图像 x − ( 1 ) , … , x − ( n ) ∼ P X x_{-}^{(1)},\dots,x_{-}^{(n)} \sim P_X x(1),,x(n)PX,然后计算 feature map f ψ ( x − ( i ) ) ∀ i f_{\psi}(x_{-}^{(i)}) \forall_i fψ(x(i))i

(5)将 ( f ψ ( x − ( i ) ) , y i ) {(f_{\psi}(x_-^{(i)}),y^{i})} (fψ(x(i)),yi) 组成负样本对

(6)通过优化编码器的参数 ψ \psi ψ 和鉴别器的参数 ω \omega ω 来最小化 − ( 1 n ∑ i = 1 n T ψ ( f ψ ( x + ( i ) ) , y ( i ) ) ) − l o g 1 n ∑ i = 1 n e T ψ ( f ψ ( x − ( i ) ) , y ( i ) ) ) ) -(\frac{1}{n} \sum_{i=1}^{n}T_{\psi}(f_{\psi}(x_+^{(i)}),y^{(i)}))-log \frac{1}{n} \sum_{i=1}^{n} e^{T_{\psi}(f_{\psi}(x_-^{(i)}),y^{(i)}))}) (n1i=1nTψ(fψ(x+(i)),y(i)))logn1i=1neTψ(fψ(x(i)),y(i))))

Local Infomax

先说一下为什么要提出 Local Infomax?直觉上来看,对于一张图片来说,如果我们的下游任务不是重建类的任务,只是对图片进行分类,那么就没有必要对一些琐碎或者对分类任务无关紧要的像素。而如果我们的目标是最大化整张输入图片的 feature map 与 representation,那么编码器为了符合最后的全局最优情况,就有可能会选择到这些对下游任务并无实际作用的部分进行编码,这样得到的 representation 就肯定不会是针对下游任务最优的 representation。

而 Local Infoamx 的思想就是,我们并不将整张图片的 feature map 一次性输入损失函数来进行 MI 最大化,而是将其分为 M × M M×M M×M块( M M M 不是指像素,而是指被分成了 M 2 M^2 M2 个块),一次输入一个块和同一个 representation,最终目标是使这 M 2 M^2 M2 个块和整张图片的 representation 的平均 MI 达到最大。这样就可以使给每个块之间共享的一些信息进行编码。

文章中也用实验证明了,根据下游任务的不同,Local Inofmax 在图像分类等一些下游任务中确实具有更好的效果。

因此,也就很容易写出 Local Infomax 的损失函数(与 l o s s G loss_G lossG ω \omega ω 不是同一个):
l o s s L = max ⁡ ω , ψ 1 M 2 ∑ i = 1 M 2 I ^ ω , ψ ( f ψ ( i ) ( X ) ; E ψ ( X ) ) = min ⁡ ω , ψ 1 M 2 − ∑ i = 1 M 2 I ^ ω , ψ ( f ψ ( i ) ( X ) ; E ψ ( X ) ) (9) \begin{aligned} loss_L&=\underset{\omega, \psi}{\max} \frac{1}{M^{2}} \sum_{i=1}^{M^{2}} \widehat{\mathcal{I}}_{\omega, \psi}\left(f_{\psi}^{(i)}(X) ; E_{\psi}(X)\right) \\ &=\underset{\omega, \psi}{\min} \frac{1}{M^{2}} -\sum_{i=1}^{M^{2}} \widehat{\mathcal{I}}_{\omega, \psi}\left(f_{\psi}^{(i)}(X) ; E_{\psi}(X)\right) \end{aligned} \tag 9 lossL=ω,ψmaxM21i=1M2I ω,ψ(fψ(i)(X);Eψ(X))=ω,ψminM21i=1M2I ω,ψ(fψ(i)(X);Eψ(X))(9)
总结一下 Local Infomax 的流程:

(1)从数据集中取样原始图像 x + ( 1 ) , … , x + ( n ) ∼ P X x_+^{(1)},\dots,x_+^{(n)} \sim P_X x+(1),,x+(n)PX ,然后计算 feature map f ψ ( x + ( i ) )   ∀ i f_{\psi}(x_+^{(i)}) \space \forall_i fψ(x+(i)) i

(2)计算图像的 representation y ( i ) = h ψ ( f ψ ( x + ( i ) ) )   ∀ i y^{(i)}=h_{\psi}(f_{\psi}(x_+^{(i)})) \space \forall_i y(i)=hψ(fψ(x+(i))) i

(3)将 ( f ψ ( x + ( i ) ) j , y i )   ∀ j {(f_{\psi}(x_+^{(i)})_j,y^{i})} \space \forall_j (fψ(x+(i))j,yi) j 组成正样本对

(4)从数据集中取样不同的图像 x − ( 1 ) , … , x − ( n ) ∼ P X x_{-}^{(1)},\dots,x_{-}^{(n)} \sim P_X x(1),,x(n)PX,然后计算 feature map f ψ ( x − ( i ) ) ∀ i f_{\psi}(x_{-}^{(i)}) \forall_i fψ(x(i))i

(5)将 ( f ψ ( x − ( i ) ) j , y i )   ∀ j {(f_{\psi}(x_-^{(i)})_j,y^{i})} \space \forall_j (fψ(x(i))j,yi) j 组成负样本对

(6)通过优化编码器的参数 ψ \psi ψ 和鉴别器的参数 ω \omega ω 来最小化 − 1 M 2 ∑ j = 1 M 2 ( 1 n ∑ i = 1 n T ψ ( f ψ ( x + ( i ) ) j , y ( i ) ) ) − l o g 1 n ∑ i = 1 n e T ψ ( f ψ ( x − ( i ) ) j , y ( i ) ) ) ) -\frac{1}{M^2} \sum_{j=1}^{M^2}(\frac{1}{n} \sum_{i=1}^{n}T_{\psi}(f_{\psi}(x_+^{(i)})_j,y^{(i)}))-log \frac{1}{n} \sum_{i=1}^{n} e^{T_{\psi}(f_{\psi}(x_-^{(i)})_j,y^{(i)}))}) M21j=1M2(n1i=1nTψ(fψ(x+(i))j,y(i)))logn1i=1neTψ(fψ(x(i))j,y(i))))

看起来和 Global Infomax 的流程差不多,主要是在第(3)(5)步中,现在需要对每个 patch 执行此操作(也就是Global的 M 2 M^2 M2 倍) ,而之所以只用 j j j 来对 patch 进行索引,是因为 patch 在哪一行哪一列并不重要。第(5)步中的每个patch j j j 则是来自另一张不同的图像。

Local Infomax的原理图如下:

在这里插入图片描述

至于怎么计算这个平均互信息,文章的附录中给了两种方法,一个是直接将最后的 representation( Y Y Y)复制然后接到 feature map(+) 的块后面形成real,接到 feature map(-) 后面形成 fake,然后再利用一个 1 × 1 1×1 1×1 的卷积鉴别器对对进行评分,如下图:

在这里插入图片描述

另一种方法则是利用点击运算,即对 representation( Y Y Y)进行全连接网络的编码,每个块用一个 1 × 1 1×1 1×1 的网络进行编码,最后得到的两个结果是想同纬度的,然后进行点乘操作得到对应块的分数:

在这里插入图片描述

Matching representations to prior

若学习到的隐变量服从标准正态分布的先验分布,这有利于使得编码空间更加规整,甚至有利于解耦特征,便于后续学习。因此,在 DIM 中,我们同样希望加上这个约束,作者利用对抗自编码器(AAE)的思路引入对抗来加入这个约束,即训练一个新的鉴别器,而将编码器当做生成器。鉴别器的目标是区分 representation 分布的真伪(即是否符合先验分布),而编码器则是尽量欺骗判别器,输出更符合先验分布的 representation,如下图:

在这里插入图片描述

具体做法是,训练另一个鉴别器 D ϕ D_{\phi} Dϕ,我们需要学习到一种 representation 来让这个鉴别器 D ϕ D_{\phi} Dϕ 确信其来自先验分布 Q p r i o r Q_{prior} Qprior,这不就是一种对抗的思想。

训练该鉴别器的损失函数如下:
l o s s m a t c h i n g = min ⁡ ψ max ⁡ ϕ D ^ ϕ ( Q p r i o r ∥ Q ψ , X ) = min ⁡ ψ max ⁡ ϕ E Q p r i o r [ log ⁡ D ϕ ( y ) ] + E Q ψ , X [ log ⁡ ( 1 − D ϕ ( E ψ ( x ) ) ) ] (10) \begin{aligned} loss_{matching}&=\underset{\psi}{ \min } \underset{\phi}{ \max } \widehat{\mathcal{D}}_{\phi}\left(Q_{prior} \| Q_{\psi,X}\right) \\ &=\underset{\psi}{ \min } \underset{\phi}{ \max } \mathbb{E}_{Q_{prior}}\left[\log D_{\phi}(y)\right]+\mathbb{E}_{Q_{\psi,X}}\left[\log \left(1-D_{\phi}\left(E_{\psi}(x)\right)\right)\right] \end{aligned} \tag {10} lossmatching=ψminϕmaxD ϕ(QpriorQψ,X)=ψminϕmaxEQprior[logDϕ(y)]+EQψ,X[log(1Dϕ(Eψ(x)))](10)

Final loss

将上面三个目标整合后,也就得到了 DIM 的最终目标,如下:
max ⁡ ω 1 , ψ α I ^ ω 1 ( f ψ ( X ) ; E ψ ( X ) )                          ( g l o b a   I n f o M a x ) + max ⁡ ω 2 , ψ β M 2 ∑ i = 1 M 2 I ^ ω 2 , ψ ( f ψ ( i ) ( X ) ; E ψ ( X ) )     ( l o c a l   I n f o M a x ) + min ⁡ ψ max ⁡ ϕ γ D ^ ϕ ( Q p r i o r ∥ Q ψ , X )                    ( p r i o r   m a t c h i n g ) = min ⁡ ω 1 , ω 2 , ψ ( − α I ^ ω 1 ( f ψ ( X ) ; E ψ ( X ) ) − β M 2 ∑ i = 1 M 2 I ^ ω 2 , ψ ( f ψ ( i ) ( X ) ; E ψ ( X ) ) ) + min ⁡ ψ max ⁡ ϕ γ D ^ ϕ ( Q p r i o r ∥ Q ψ , X ) \begin{aligned} &\underset{\omega_1, \psi}{\max} \alpha \widehat{\mathcal{I}}_{\omega_1}(f_{\psi}(X);E_{\psi}(X)) \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space (globa \space InfoMax)\\ &+\underset{\omega_2, \psi}{\max} \frac{\beta}{M^{2}} \sum_{i=1}^{M^{2}} \widehat{\mathcal{I}}_{\omega_2, \psi}\left(f_{\psi}^{(i)}(X) ; E_{\psi}(X)\right) \space\space\space (local \space InfoMax)\\ &+\underset{\psi}{ \min } \underset{\phi}{ \max } {\gamma}\widehat{\mathcal{D}}_{\phi}\left(Q_{prior} \| Q_{\psi,X}\right) \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space (prior \space matching) \\ &=\underset{\omega_1,\omega_2,\psi}{\min} (-\alpha\widehat{\mathcal{I}}_{\omega_1}(f_{\psi}(X);E_{\psi}(X)) - \frac{\beta}{M^{2}}\sum_{i=1}^{M^{2}} \widehat{\mathcal{I}}_{\omega_2, \psi}\left(f_{\psi}^{(i)}(X) ; E_{\psi}(X)\right)) + \underset{\psi}{ \min } \underset{\phi}{ \max } {\gamma}\widehat{\mathcal{D}}_{\phi}\left(Q_{prior} \| Q_{\psi,X}\right) \end{aligned} ω1,ψmaxαI ω1(fψ(X);Eψ(X))                        (globa InfoMax)+ω2,ψmaxM2βi=1M2I ω2,ψ(fψ(i)(X);Eψ(X))   (local InfoMax)+ψminϕmaxγD ϕ(QpriorQψ,X)                  (prior matching)=ω1,ω2,ψmin(αI ω1(fψ(X);Eψ(X))M2βi=1M2I ω2,ψ(fψ(i)(X);Eψ(X)))+ψminϕmaxγD ϕ(QpriorQψ,X)

之所以加上 α 、 β 、 γ \alpha、\beta、\gamma αβγ三个参数,是因为有时候我们只想使用 global InfoMax (如重建类下游任务),就可以将 β \beta β 设置为0;而有时候只想使用 Iocal InfoMax (如分类任务),就可以将 α \alpha α 设置为0;但这两种情况下,最佳的 γ \gamma γ是不同的,所以也需要 γ \gamma γ 来进行调节。


References

[1] Ishmael Belghazi, Aristide Baratin, Sai Rajeswar, Sherjil Ozair, Y oshua Bengio, Aaron Courville, and R Devon Hjelm. Mine: mutual information neural estimation. arXiv preprint arXiv:1801.04062, ICML’2018, 2018.

[2] Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow, and Brendan Frey. Adversarial autoencoders. arXiv preprint arXiv:1511.05644, 2015.

[3] Anthony J Bell and Terrence J Sejnowski. An information-maximization approach to blind separation and blind deconvolution. Neural computation, 7(6):1129–1159, 1995.

[4] Philemon Brakel and Y oshua Bengio. Learning independent features with adversarial nets for non-linear ica. arXiv preprint arXiv:1710.05050, 2017.

[5] Sebastian Nowozin, Botond Cseke, and Ryota Tomioka. f-gan: Training generative neural samplers using variational divergence minimization. In Advances in Neural Information Processing Systems, pp. 271–279, 2016.

[6] Aaron van den Oord, Yazhe Li, and Oriol Vinyals. Representation learning with contrastive predictive coding. arXiv preprint arXiv:1807.03748, 2018.

  • 15
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值