美文网首页人工智能
Deep InfoMax:基于互信息最大化的表示学习

Deep InfoMax:基于互信息最大化的表示学习

作者: 酷酷的群 | 来源:发表于2022-04-02 18:16 被阅读0次

论文标题:Learning deep representations by mutual information estimation and maximization
论文链接:https://arxiv.org/abs/1808.06670
论文来源:ICLR 2019

之前的相关博客:MINE:随机变量互信息的估计方法

一、概述

本文提出的方法主要目的是训练一个表示学习的函数(也就是一个encoder)来最大化其输入与输出之间的互信息(Mutual Information, MI)。高维连续随机变量互信息的估计一向是个困难的问题,然而最近的方法(上面的博客)已经可以利用神经网络来对互信息进行有效地计算。

本文的方法利用互信息的估计来进行表示学习,并且表明完整的输入和encoder输出之间的互信息(global MI)对于学习到有用的表示来说是不足够的,输入的结构也起到一定作用,也就是说,表示与输入的局部部分(比如图片的patch)之间的互信息(local MI)能够提高表示的质量,而global MI在给定表示重构输入方面有重要的作用。

二、方法

  1. 介绍

使用\mathrm{X }\mathrm{Y }分别代表encoderE_{\psi }: \mathrm {X}\rightarrow \mathrm {Y}的定义域和值域,E_{\psi }是由\psi参数化的神经网络。这些参数定义了一系列的encoder\mathrm{E }_{\Phi }= \left \{E_{\psi }\right \}_{\psi \in \Psi }。现在已有输入空间上的一些训练样本\mathrm {X}:X=\left \{x^{{(i)}}\in \mathrm {X}\right \}_{i=1}^{N},对应经验概率分布\mathbb{P}。定义\mathbb{U}_{\psi ,\mathbb{P}}代表encoder输出的分布,也就是说\mathbb{U}_{\psi ,\mathbb{P}}是首先采样x\sim \mathrm{X}然后采样y\sim E_{\psi }(x)所产生的y\in \mathrm {Y}的分布。

下图展示了本文中使用的一种encoder,大致过程就是将图片通过卷积网络得到M\times M的feature map,然后将这些feature map合并成图片的表示向量Y

encoder

本文的encoder按照以下标准进行训练:
①优化参数\psi,使得互信息I(X;E_{\psi }(X))最大,这里的互信息取决于目标的不同,可以是表示与完整输入X之间的,也可以是与输入的子集之间的;
②取决于目标的不同,分布\mathbb{U}_{\psi ,\mathbb{P}}可以匹配先验分布\mathbb{V},这可以引导encoder的输出具有想要的特征。

  1. 互信息最大化(Global MI)
  • 框架

下图展示了互信息(global MI)最大化的基本框架:

global MI

大概过程是将图片的特征向量与其feature map或者其他图片的feature map组合成样本对然后使用Discriminator进行打分,过程依照MINE方法(见文章开头博客),该方法是训练一个分类器来区分来自XY的联合分布\mathbb{J}或者边缘分布乘积\mathbb{M}的样本。MINE采用KL散度的Donsker-Varadhan表示的下界进行互信息估计:

I(X;Y):=D_{KL}(\mathbb{J}||\mathbb{M})\geq \hat{I}_{\omega }^{(DV)}(X;Y):=E_{\mathbb{J}}[T_{w}(x,y)]-logE_{\mathbb{M}}[e^{T_{w}(x,y)}]

这里T_{\omega }:\mathrm {X}\times \mathrm{Y}\rightarrow \mathbb{R},就是由\omega参数化的Discriminator。学习E_{\psi }的过程可以通过同时估计和最大化I(X;E_{\psi }(X))来进行:

(\hat{\omega },\hat{\psi })_{G}=\underset{\omega ,\psi }{argmax}\hat{I}_{\omega }(X;E_{\psi }(X))

这里G代表“global”。注意E_{\psi }f_{\psi }C_{\psi }两部分组成,也就是E_{\psi }=f_{\psi }\circ C_{\psi },其中C_{\psi }将图片映射成M\times M的feature map,f_{\psi }将feature map映射成表示向量Y=E_{\psi }(X)。上面的式子中X其实指的是C_{\psi }(X),global MI也就是要最大化C_{\psi }(X)E_{\psi }(X)。另外T_{\psi ,\omega }=D_{\omega }\circ g\circ (C_{\psi },E_{\psi })g代表连接encoder输出和Discriminator的函数。

  • JS散度形式

另外,我们的目的是要最大化互信息,而不是估计其值(上述KL散度形式的互信息可以作为互信息的估计值),因此我们可以采用其他非KL散度的形式,比如Jensen-Shannon MI估计:

\hat{I}_{\psi ,\omega }^{(JSD)}(X;E_{\psi }(X)):=E_{\mathbb{P}}[-sp(-T_{\psi ,\omega }(x,E_{\psi }(x)))]-E_{\mathbb{P}\times \tilde{\mathbb{P}}}[sp(T_{\psi ,\omega }(x^{'},E_{\psi }(x)))]

x是输入样本,x^{'}是从\tilde{\mathbb{P}}中采样的样本,sp(z)=log(1+e^{z})是softplus激活函数。

那么上面的式子是怎么来的呢?首先按照文章前面MINE博客中推导得到的f-divergence的对偶形式,有:

D_{f}(\mathbb{J}||\mathbb{M})=E_{\mathbb{J}}[g_{f}(T_{\psi ,\omega }(x,y))]+E_{\mathbb{M}}[-f^{*}(g_{f}(T_{\psi ,\omega }(x,y)))]

而JS散度对应的共轭函数f^{*}(t)=-log(1-e^{t}),激活函数为g_{f}(z)=-log(1+e^{-z}),代入得到:

D_{JSD}(\mathbb{J}||\mathbb{M})=E_{\mathbb{J}}[log\frac{1}{1+e^{-T_{\psi ,\omega }(x,y)}}]+E_{\mathbb{M}}[log(1-e^{-log(1+e^{-T_{\psi ,\omega }(x,y)})})]\\ =E_{\mathbb{J}}[log\frac{1}{1+e^{-T_{\psi ,\omega }(x,y)}}]+E_{\mathbb{M}}[log(1-\frac{1}{1+e^{-T_{\psi ,\omega }(x,y)}})]\\ =E_{\mathbb{J}}[-sp(-T_{\psi ,\omega }(x,y))]-E_{\mathbb{M}}[sp(T_{\psi ,\omega }(x,y))]\\ =\hat{I}_{\psi ,\omega }^{(JSD)}(X;E_{\psi }(X))

XY的互信息等价于\mathbb{J}\mathbb{M}的KL散度,但并不等价于其JS散度,不过通过最大化JS散度也可以最大化互信息,但是不能用来作为互信息的估计值。

在上面的式子中,xE(x)相当于正样本对,x^{'}E(x)相当于负样本对,最大化互信息的过程就是让正样本对的得分T_{\psi ,\omega }(x,E_{\psi }(x))变大,让负样本对的得分T_{\psi ,\omega }(x^{'},E_{\psi }(x))的得分变小。

  • InfoNCE形式

本文还利用了另外一种互信息的下界表示的形式,由InfoNCE损失而来。InfoNCE的目标是最大化正样本对的得分,最小化负样本对的得分,其形式为:

E_{\mathbb{P}}[log\frac{exp(T_{\psi ,\omega }(x,E_{\psi }(x)))}{T_{\psi ,\omega }(x,E_{\psi }(x))+\sum _{x^{'}}T_{\psi ,\omega }(x^{'},E_{\psi }(x))}]

因此类似的InfoNCE形式的互信息的下界就是:

\hat{I}_{\psi ,\omega }^{(InfoNCE)}(X;E_{\psi }(X)):=E_{\mathbb{P}}[T_{\psi ,\omega }(x,E_{\psi }(x))-logE_{\tilde{\mathbb{P}}}[e^{T_{\psi ,\omega }(x^{'},E_{\psi }(x))}]]

本文实验采用了JSD和InfoNCE两种形式,在下游任务上,使用InfoNCE通常优于JSD,尽管这种效果随着更具挑战性的数据而减弱。InfoNCE和DV需要大量的负样本,而JSD对负样本的数量够没那么敏感,在负样本数量较小时效果优于InfoNCE。

  • 算法

Global MI的算法为:
①从数据集中采样原始图像x_{+}^{(1)},\cdots ,x_{+}^{(n)}\sim \mathbb{P},接着计算feature mapC_{\psi }(x_{+}^{(i)})\forall i
②获得图像的表示y^{(i)}=E_{\psi }(x_{+}^{(i)})
③将(C_{\psi }(x_{+}^{(i)}),y^{(i)})组成正样本对;
④从数据集中采样不同的图像x_{-}^{(1)},\cdots ,x_{-}^{(n)}\sim \mathbb{P},接着计算feature mapC_{\psi }(x_{-}^{(j)})\forall j
⑤将(C_{\psi }(x_{-}^{(j)}),y^{(i)})组成负样本对;
⑥对JSD或者InfoNCE的目标函数进行梯度下降。

  1. 局部互信息最大化(Local MI)
  • 框架

对于global MI来说,某些任务可能是不必要的。举例来说,像素级别的噪声对于图像分类任务来说是不重要的,所以图片的表示不应该编码这些噪声。为了能够使得图像的表示更适合分类任务,我们可以最大化表示与图像的局部块之间的平均互信息,这样有利于表示包含图像块之间共享的信息。

下图展示了local MI的框架:

local MI

具体的做法是,首先跟前面的做法一样,将图片编码成M\times M的feature map,C_{\psi }(x):=\left \{C_{\psi }^{(i)}(x)\right \}_{i=1}^{M\times M},然后得到E_{\psi }(x),然后最大化每个位置的C_{\psi }^{(i)}(x)E_{\psi }(x)的平均互信息:

(\hat{\omega },\hat{\psi })_{L}=\underset{\omega ,\psi }{argmax}\frac{1}{M^{2}}\sum_{i=1}^{M}\hat{I}_{\psi ,\omega }(C_{\psi }^{(i)}(x);E_{\psi }(X))

  • 算法

Local MI的算法为:
①从数据集中采样原始图像x_{+}^{(1)},\cdots ,x_{+}^{(n)}\sim \mathbb{P},接着计算feature mapC_{\psi }(x_{+}^{(i)})\forall i
②获得图像的表示y^{(i)}=E_{\psi }(x_{+}^{(i)})
③将(C_{\psi }(x_{+}^{(i)})_{k},y^{(i)})组成正样本对;
④从数据集中采样不同的图像x_{-}^{(1)},\cdots ,x_{-}^{(n)}\sim \mathbb{P},接着计算feature mapC_{\psi }(x_{-}^{(j)})\forall j
⑤将(C_{\psi }(x_{-}^{(j)})_{k},y^{(i)})组成负样本对;
⑥对JSD或者InfoNCE的目标函数(local)进行梯度下降。

  1. 将表示与先验分布匹配

由于任务的不同,有时我们希望学习到的表示能够有一些统计学上的限制,具体的,我们可能希望分布\mathbb{U}_{\psi ,\mathbb{P}}能够与一个先验分布\mathbb{V}(比如均匀分布、高斯分布等)相匹配。具体的方法是训练另一个DiscriminatorD_{\phi }:\mathrm {Y}\rightarrow \mathbb{R},来按照GAN的方式使得\mathbb{U}_{\psi ,\mathbb{P}}逼近\mathbb{V}

(\hat{\omega },\hat{\psi })_{P}=\underset{\psi }{argmin}\; \underset{\phi }{argmax}\hat{D}_{\phi }(\mathbb{V}||\mathbb{U}_{\psi ,\mathbb{P}})=E_{\mathbb{V}}[logD_{\phi }(y)]+E_{\mathbb{P}}[log(1-D_{\phi }(E_{\psi }(x)))]

GAN的相关内容:
生成对抗网络-基本概念|深度学习(李宏毅)(二十二)
生成对抗网络-理论部分|深度学习(李宏毅)(二十三)

  1. Deep InfoMax的目标函数

Global MI、Local MI以及先验匹配的目标函数可以结合在一起,那么Deep InfoMax最终的完整目标函数就是:

\underset{\omega _{1},\omega _{2},\psi }{argmax}(\alpha \hat{I}_{\psi ,\omega _{1}}(X;E_{\psi }(X))+\frac{\beta }{M^{2}}\sum_{i=1}^{M}\hat{I}_{\psi ,\omega _{2}}(X^{(i)};E_{\psi }(X)))+\underset{\psi }{argmin}\; \underset{\phi }{argmax}\gamma \hat{D}_{\phi }(\mathbb{V}||\mathbb{U}_{\psi ,\mathbb{P}})

其中\alpha ,\beta ,\gamma是超参数。

三、 实验

本文实验在CIFAR10和CIFAR100、Tiny ImageNet、STL-10以及CelebA等数据集上进行。以下为部分实验结果:

实验 实验 实验 实验 实验

参考资料

Learning Deep Representations by Mutual Information Estimation and Maximization
对 Deep InfoMax(DIM)的理解
Deep InfoMax

相关文章

网友评论

    本文标题:Deep InfoMax:基于互信息最大化的表示学习

    本文链接:https://www.haomeiwen.com/subject/rqmajrtx.html