• 苏剑林 : 貌似没有?
  • 汐风牧神 : 好的,我们的代码开源了,https://github.com/...
  • 苏剑林 : 早上在arxiv已经刷到了,谢谢推荐。扫了一眼似乎是个新颖的思...
  • ttchen : github上最后看到大神有在一个quora_duplicat...
  • 汐风牧神 : 苏神,我们最近发现一种能够大幅提升RoPE外推性能的新方法,C...
  • Jiming Zheng : 您好,请问现在还能申请邮箱吗,我想申请@spaces.ac.c...
  • yhz : Hi 您好,我注意到datasets/user_dict_2....
  • Fulong Ye : 为什么DDIM的观察是最终的目标函数只跟$p(x_{t}|x_...
  • Mr Yan : 明白了,多谢!
  • 咸鱼 : 苏老师,公式(6)到(7)是如何得到的呢?我动手推了好久也没成...
  • 这篇文章很简短,主要描述的是一个很有用、也不复杂、但是我居然这么久才发现的事实~

    《深度学习的互信息:无监督提取特征》 一文中,我们通过先验分布和最大化互信息两个loss的加权组合来得到Deep INFOMAX模型最后的loss。在那篇文章中,虽然把故事讲完了,但是某种意义上来说,那只是个拼凑的loss。而本文则要证明那个loss可以由变分自编码器自然地导出来。

    过程 #

    不厌其烦地重复一下,变分自编码器(VAE)需要优化的loss是
    \begin{equation}\begin{aligned}&KL(\tilde{p}(x)p(z|x)\Vert q(z)q(x|z))\\
    =&\iint \tilde{p}(x)p(z|x)\log \frac{\tilde{p}(x)p(z|x)}{q(x|z)q(z)} dzdx\end{aligned}\end{equation}
    相关的论述在本博客已经出现多次了。VAE中既包含编码器,又包含解码器,如果我们只需要编码特征,那么再训练一个解码器就显得很累赘了。所以重点是怎么将解码器去掉。

    其实再简单不过了,把VAE的loss分开两部分
    \begin{equation}\begin{aligned}&KL(\tilde{p}(x)p(z|x)\Vert q(z)q(x|z))\\
    =&\iint \tilde{p}(x)p(z|x)\log \frac{p(z|x)}{q(z)} dzdx-\iint \tilde{p}(x)p(z|x)\log \frac{q(x|z)}{\tilde{p}(x)} dzdx\end{aligned}\end{equation}
    第一项是先验分布的KL散度,第二项的$\log \frac{q(x|z)}{\tilde{p}(x)}$其实不也就是$x,z$的点互信息吗?假如$q(x|z)$具有无限的拟合能力,最终必然也会有$\tilde{p}(x)p(z|x) = q(x|z)p(z)$(贝叶斯公式),所以第二项也就是
    \begin{equation}KL(q(x|z)p(z)\Vert \tilde{p}(x)p(z))=KL(\tilde{p}(x)p(z|x)\Vert \tilde{p}(x)p(z))\end{equation}
    就是$x,z$两个随机变量的互信息了,前面的负号意味着我们要最大化互信息。

    剩下的处理过程就跟 《深度学习的互信息:无监督提取特征》 一样了,略。

    结语 #

    开头已经说了,这篇文章会很简短,没有什么内容。主要目的就是给出变分自编码器的loss的新理解(最小化先验分布 + 最大化互信息),然后就可以自然而言地导出Deep INFOMAX的loss。

    如果我还没有写 《深度学习的互信息:无监督提取特征》 ,那么我肯定会用这个出发点来讲解Deep INFOMAX,不过既然那篇文章都写了好几天了,所以只好另开这个简短的小文,来补充说明一下~

    转载到请包括本文地址: https://spaces.ac.cn/archives/6088

    更详细的转载事宜请参考: 《科学空间FAQ》

    如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

    如果您觉得本文还不错,欢迎 分享 / 打赏 本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

    如果您需要引用本文,请参考:

    苏剑林. (Oct. 10, 2018). 《变分自编码器 = 最小化先验分布 + 最大化互信息 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/6088

    @online{kexuefm-6088,
    title={变分自编码器 = 最小化先验分布 + 最大化互信息},
    author={苏剑林},
    year={2018},
    month={Oct},
    url={\url{https://spaces.ac.cn/archives/6088}},

    苏神你好,我有个问题,既然VAE和之前那篇DEEP INFOMAX的优化目标都是最小化先验分布 + 最大化互信息,那么之前那篇DEEP INFOMAX不就没意义了吗?相当于DEEP INFOMAX重新推导了VAE?

    如果从VAE角度看,DEEP INFOMAX有两点贡献:
    1、引入了局部互信息,这个大大提升了特征提取效果;
    2、使用f散度的估计方法取代了$q(x|z)$的直接计算(也就是说不用重构原图)。

    October 25th, 2018

    还有,如果按照你的解释,最优解的情况下就有p(z)=q(z),那么把公式2的第一项中的q(z)直接换成p(z),那不是就直接等于X和Z的互信息了吗?这个loss就变成了互信息-互信息?期待苏神针对这个想法做进一步的推导哈哈~

    October 26th, 2018

    我修改了一下,应该是目前这样描述才对。

    根据贝叶斯公式$q(x|z)$满足$q(x|z)p(z)=p(z|x)\tilde{p}(x)$,这里$p(z)$是真实的隐变量分布,这个结果不依赖于对$p(z)$的先验分布假设,所以还不能直接替换为$q(z)$,应该用回原始的$p(z)$。

    October 26th, 2018

    我的理解是第二项有两层含义吧,$\frac{q(x|z)}{\bar{p}(x)}=\frac{q(x|z)}{p(x|z)}\frac{p(x|z)}{\bar{p}(x)}$,前一个代表了$q(x|z)$的强拟合能力,后一项代表了互信息吧

    不是,就是直接拿
    $$p(z|x)\tilde{p}(x)/p(z)=\frac{p(z|x)\tilde{p}(x)}{\int p(z|x)\tilde{p}(x) dx}$$
    去替换$q(x|z)$的意思。因为我们已经知道了$q(x|z)$的最优解是它,而且这里我们又不需要$q(x|z)$做生成模型。所以从理论角度,这个替换没有问题。后面就是用f-gan的结果进行近似了。

    July 17th, 2020

    不知道可不可以这样简单的证明,$p(x,z)$是真实联合分布,在最优解的情况下,$KL(p(x,z)||q(x,z))=0$, $p(x,z)=q(x,z)$, $p(z)p(x|z)=q(z)q(x|z)$, 因为$q(x|z)$具有无限拟合的能力,所以$q(x|z)=p(x|z)$, 得出$p(z)=q(z)$. 请指教。

    看完这个推导很好奇,能不能从这里出发做一些关于在VAE上disentangle变量的工作呢?近期的一系列paper,比如beta-VAE,FactorVAE和今年NIPS的isolating sources of disentanglement in variational autoencoders都是在VAE的loss的KL项上面做拆解和reweight,那可不可以从这里得到一些新的思路呢?

    November 29th, 2018

    我已经做了一些探究了,但是普适性不强,在图像上有类似infomax( https://kexue.fm/archives/6024 )的表现,在nlp中却不够好。而且我发现,原来的infomax在nlp上的表现也不好。

    November 29th, 2018

    感觉你经常能从别人提出的模型或者loss function里面找到一些新的insight,佩服佩服。因为我最近对VAE的disentangle非常感兴趣,不知道你是否对上述提到的那一系列文章的loss有新的见解呢?

    December 2nd, 2018

    $q(x|z)$理论上可以具有无限的拟合能力,而且如果$q(x|z)$真的具有无限的拟合能力,能够完成重构出$x$出来,这是好事。

    但是实际上我们做不到这一点,VAE中,真正实验的时候,我们通常只是让$q(x|z)$是高斯分布,这就没有无限的拟合能力。如果做不到这一点,强迫重建,可能会让模型在特征提取的时候抓不到重点,所以干脆还不如不重构。

    至于本文,是希望给出一个VAE的分解理解的理论视角,在这种纯分析的情况下,我们可以假设$q(x|z)$具有无限的拟合能力。正如VAE本身并没有假设$q(x|z)$是高斯分布,理论上它可以是任意复杂的分布,只是落实到实验中我们迫不得已而已。

    May 8th, 2019

    信息瓶颈告诉我们尽量用最少的信息来完成任务。

    注意要先有任务,然后完成任务,然后才减少互信息。而VAE中的任务其实就是最大化$x,z$的互信息,而最小化先验分布的KL散度会产生两个效应:1、确实也在降低互信息;2、使得$z$的分布更符合正态分布。

    虽然第一个效应与任务本身矛盾,但事实上第二个loss的增大效应会比KL散度的降低效应会强很多,因此第一个效应虽然矛盾,但无伤大雅;所以最小化KL散度主要是“使得$z$的分布更符合正态分布”。

    谢谢你的回答。
    请问这里可以这样来理解吗,第一项最小化的是编码器的输入与输出间的互信息,从而可以促使编码器学习到更有效、更泛化的特征;第二项最大化的是解码器的输入与输出间的互信息,促使解码器在解码时能够充分利用到z的信息。
    这两项虽然都是关于x与z的互信息,但一个是对于编码器的,另一个是对于解码器的。

    博主你好,我不明白这个VAE的objective怎么从最大化p(x)变成KL散度了。
    结论也与我现在的观察冲突。在beta-vae中,beta=0近似于AE,beta=1为VAE。我目前观察到的现象是beta越大I(x,z)越小。

  • 苏剑林 : 貌似没有?
  • 汐风牧神 : 好的,我们的代码开源了,https://github.com/luban-agi/coca,感...
  • 苏剑林 : 早上在arxiv已经刷到了,谢谢推荐。扫了一眼似乎是个新颖的思路,等我认真读读再来请教。
  • ttchen : github上最后看到大神有在一个quora_duplicate_questions英文数据集...
  • 汐风牧神 : 苏神,我们最近发现一种能够大幅提升RoPE外推性能的新方法,Collinear Constra...
  • Jiming Zheng : 您好,请问现在还能申请邮箱吗,我想申请@spaces.ac.cn的个性邮箱 我的QQ:1262...
  • yhz : Hi 您好,我注意到datasets/user_dict_2.txt 中有一些您自行整理的词,...
  • Fulong Ye : 为什么DDIM的观察是最终的目标函数只跟$p(x_{t}|x_{0})$有关呢?而跟联合分布$...
  • Mr Yan : 明白了,多谢!
  • 咸鱼 : 苏老师,公式(6)到(7)是如何得到的呢?我动手推了好久也没成功,(6)有一个积分符号,里面又...
  •