DEEP VARIATIONAL INFORMATION BOT

2018-12-08  本文已影响0人  Aiqz

DEEP VARIATIONAL INFORMATION BOTTLENECK

论文“Deep Variational information bottleneck”阅读笔记

作者:艾庆忠 时间:2018.12.04

本人为小白一个,此文作为学习笔记,暂存于此。

第一部分 准备内容

​ 在阅读此论文之前,需对VAE、Variational Inference(变分推断)以及Information Bottleneck有所了解,借此机会对上述内容做一回顾总结。

VAE与Variational Inference

​ VAE, 也就是是论文“Auto-Encoding Variational Bayes”中提出的变分贝叶斯自编码器,属于深度生成模型 ,也是深度学习中的经典算法之一。变分自编码器算法实现较为简单,相当于给隐变量空间Z加入正则约束,使得其分布满足高斯分布。但是推导过程并不简单,其中涉及到变分推断的知识。下面总结一下变分推断。

​ 最后,代码实现(pytorch):

Basic VAE Example

Information Bottleneck

​ 前面的内容主要对变分推断以及VAE相关知识进行简单的总结与回顾。接下来说一下信息瓶颈(information Bottleneck)。信息瓶颈的概念最早出现并在理论神经科学中应用。在机器学习中关于信息论的内容基本是用entropy, cross-entropy, KL divergence,mutual information 之类的概念来定义损失函数或者正则项,这样应用信息论只是粗略地利用这些概念的物理直觉,而并未触及信息论的本质。而 Tishby将information Bottleneck与机器学习相结合,他的主要观点是:Learning theory 其实是信息论中的rate-distortion theory。

​ 在介绍Rate-distortion Theory之前,首先说明一个概念,Mutual information(互信息),下面是wiki上的定义:

​ In probability theoryand information theory, the mutual information (MI) of two random variables is a measure of the mutual dependence between the two variables. More specifically, it quantifies the "amount of information" (in units such as shannons, commonly called bits) obtained about one random variable through observing the other random variable. The concept of mutual information is intricately linked to that of entropy of a random variable, a fundamental notion in information theory that quantifies the expected "amount of information" held in a random variable.

Not limited to real-valued random variables like the correlation coefficient, MI is more general and determines how similar the joint distribution \displaystyle p(x,y) is to the products of factored marginal distribution \displaystyle p(x)\cdot p(y). MI is the expected value of the pointwise mutual information (PMI).

大概的意思就是,X与Y之间的MI表示通过观察 X 能够获得关于 Y 的信息的量化表示,符号表示为I(X;Y).另一种理解方式是知道一个变量之后,另一个变量不确定性的减少量。MI越大,不确定性越小。MI越小则不确定性越大。当X与Y独立时,I(X;Y)等于0. 有了Mutual information概念后,就可以引入Rate-distortion Theory了。

​ Rate-distortion Theory是Shannon提出的有损压缩的基本理论。大致的意思是说在压缩信息源的时候,一方面我们需要用尽可能短的比特数表达信源,另一方面我们需要在信息重建时达到尽量小的distortion。这两个目标是相互矛盾的。Rate distortion theory 告诉我们,这个问题的数学本质是解一个优化问题:最小化信源X与重建信号Y之间的mutual information I(X; Y) (对应于比特数), subject to a distortion constraint。 这个问题可以用 Lagrange multiplier 来formulate, 再用alternating minimization的方法来做优化就可以导出经典的 Blahut-Arimoto Algorithm. (这个算法跟K-means 和EM clustering of Gaussian Mixture 很接近,也可以理解为它们的一种泛化。)

​ 终于,可以说到information Bottleneck了。information Bottleneck是Rate-distortion Theory的一个应用或特例。和之前一样,我们希望将X尽可能的压缩到T,同时满足两个要求:第一,尽可能压缩掉样例 X 中跟学习 目标 Y (比如要预测的 class label)不相关的信息,第二是尽量减小用 T 构建目标 Y 的 distortion。压缩程度用X与T的MI来表示,即I(X;T). 而distortion用负的Y与T的MI表示,即-I(Y;T). 把这两个目标一个做优化目标,一个做正则约束, 再用Lagrange multiplier就构造出了 I(X;T)-β I(Y;T) 这样的最小化优化问题,同样也可以导出一个类似于Blahut-Arimoto Algorithm 的迭代算法。直观上理解,就是存在一个tradeoff,第二项为了找到X中与Y中最相关的信息;而第一项是为了让这个相关信息越少越好。所以最终得到的结果就是,找到X中与Y最相关的信息。

​ 在此基础上,Tishby 认为 I(Y;T) 可以理解为一种机器学习的performance metric, 而I(X; T) 可以理解为regularizer 负责控制模型的复杂度。

​ 以上,大概就是Information bottleneck的内容。。。

第二部分 Deep Vib

​ 千呼万唤始出来。。。终于到了我们的Deep Vib,深度变分信息瓶颈。有了前面的VAE,Variablal Inference以及Information Bottleneck的基础,Deep Vib理解起来就没有难度了。

​ 在Information Bottleneck中,假设我们将输入数据X编码为Z,通常情况下,将这个过程定义为带参数的model(encoder),形式化表示为p(z|x;\theta). 在有监督学习任务中,我们希望最大化编码信息 Z 与 labe Y之间的MI(互信息),这样就可以利用编码信息 Z 来完成分类任务。所以目标函数如下:
I(Z,Y;\theta)=\int dx\ dy\ p(z,y|\theta)log\frac{p(z,y|\theta)}{p(z|\theta)p(y|\theta)}
但是根据Rate-distortion Theory,还需要一个正则项来限制复杂性。论文中用编码信息 Z 与 源数据 X 之间的MI来作为正则项。从而,最终的优化(最大化)目标为:
R_{IB}(\theta)=I(Z,Y;\theta)-\beta I(Z,X;\theta)
其实这个优化目标就是前面所说的Information Bottleneck的直接使用。只不过与Information Bottleneck原文中的正则项与损失函数进行了互换。所以,这不是这个论文中的重点。

​ 本文的重点或者创新点在于引入了变分近似法,同时,变分近似法的使用使得我们可以使用神经网络来确定参数,以及VAE中的reparameterization的trick也可以使用。

​ 反观上面的优化目标,由于p(y|z)与p(Z)不可计算,所以引入了q(y|z)与r(Z)来进行变分近似。从而得到最终的优化目标为原优化目标的变分下界。以下为具体的推导:

对于第一项,由于:
KL[p(Y|Z),q(Y|Z)]\ge0\\ so,\int dy\ p(y|z)log\ p(y|z)\ge\int dy\ p(y|z)log\ q(y|z)
因此,可得:
\begin{split} I(Z,Y)&\ge\int dydz\ p(y,z)log\frac{q(y|z)}{p(y)}\\ &=\int dydz\ p(y,z)log\ q(y|z)-\int dy\ p(y)log\ p(y)\\ &=\int dydz\ p(y,z)log\ q(y|z)+H(y) \end{split}
注意到H(Y)与我们的优化目标无关,所以忽略不计。

进一步,由Morkov chain (Y--X--Z),以及边缘概率密度公式,可得:
I(Z,Y)\ge\int dxdydz\ p(x)p(y|x)p(z|x)log\ q(y|z)
到此为止,对于第一项的变分近似,我们只需要联合数据分布的样本,以及来自可处理的变分近似q(y|z)的随机编码器的样本。

接着第二项,同样的方法,使用r(Z)来变分近似p(Z):
I(Z,X)\le\int dxdydz\ p(x)p(y|x)p(z|x)log\ \frac{p(z|x)}{r(z)}
结合两项可得新的变分下界为:
I(Z,Y)-\beta I(Z,X)\ge\int dxdydz\ p(x)p(y|x)p(z|x)log\ q(y|z)\\ -\beta\int dxdydz\ p(x)p(y|x)p(z|x)log\ \frac{p(z|x)}{r(z)} = L
经验估计:
L\approx \frac{1}{N}\sum_{n=1}^N[\int dz\ p(z|x_n)log\ q(y_n|z)-\beta \ p(z|x_n)log\frac{p(z|x_n)}{r(z)}]
最后:
J_{IB}=\frac{1}{N}\sum_{n=1}^NE_{\epsilon\sim p(\epsilon)}[-log \ q(y_n|f(x_n,\epsilon))]+\beta KL[p(Z|x_n0,r(Z))]
以上,就是Deep VIB的内容,最后贴一点代码:

pytorch

tensorflow

Reference:

[1]https://blog.csdn.net/hjimce/article/details/57082788

[2]如何评价 Tishby 的打开深度学习黑箱的 Information Bottleneck 理论? - 月光宝盒娱乐频道的回答 - 知乎 https://www.zhihu.com/question/65697409/answer/294041505

[3]http://shaofanlai.com/post/67

上一篇 下一篇

猜你喜欢

热点阅读