上文从 KL(q(x,y)‖p(x,y)) K L ( q ( x , y ) ‖ p ( x , y ) ) KL(q(\mathbf x, y)\Vert p(\mathbf x, y)) 推导出GAN的两个Loss,并给出生成器Loss的正则项设计思路,接下来我们仍从引入隐变量构成联合概率分布角度,推导VAE的Loss。
首先,我们观察 KL(p(x,z)‖q(x,z)) K L ( p ( x , z ) ‖ q ( x , z ) ) KL(p(\mathbf x, \mathbf z)\Vert q(\mathbf x, \mathbf z)) 有:

KL(p(x,z)‖q(x,z))=KL(p(x)‖q(x))+∫p(x)KL(p(z|x)‖q(z|x))dx≥KL(p(x)‖q(x))(1) K L ( p ( x , z ) ‖ q ( x , z ) ) = K L ( p ( x ) ‖ q ( x ) ) + ∫ p ( x ) K L ( p ( z | x ) ‖ q ( z | x ) ) d x ≥ K L ( p ( x ) ‖ q ( x ) ) ( 1 )

KL(p(\mathbf x, \mathbf z)\Vert q(\mathbf x, \mathbf z)) = KL(p(\mathbf x)\Vert q(\mathbf x)) + \int p(\mathbf x)KL(p(\mathbf z \vert \mathbf x) \Vert q(\mathbf z \vert \mathbf x))d\mathbf x \\ \ge KL(p(\mathbf x)\Vert q(\mathbf x)) \qquad(1)
即 KL(p(x,z)‖q(x,z)) K L ( p ( x , z ) ‖ q ( x , z ) ) KL(p(\mathbf x, \mathbf z)\Vert q(\mathbf x, \mathbf z)) 是 KL(p(x)‖q(x)) K L ( p ( x ) ‖ q ( x ) ) KL(p(\mathbf x)\Vert q(\mathbf x)) 的上界,优化此上界就达到了优化 KL(p(x)‖q(x)) K L ( p ( x ) ‖ q ( x ) ) KL(p(\mathbf x)\Vert q(\mathbf x)) 本身。
对于VAE而言, x x \mathbf x 表示数据样本空间的一个数据点,e.g:MNIST的图片空间是784(28*28)维度空间; z z \mathbf z 表示编码器生成的编码(Code),它是一个多维随机变量,一般为100维,于是有:
1、真实分布: p(x,z)=p(z|x)p(x) p ( x , z ) = p ( z | x ) p ( x ) p(\mathbf x, \mathbf z)=p(\mathbf z \vert \mathbf x)p(\mathbf x)
2、拟合分布: q(x,z)=q(x|z)q(z) q ( x , z ) = q ( x | z ) q ( z ) q(\mathbf x, \mathbf z)=q(\mathbf x \vert \mathbf z)q(\mathbf z)
在VAE中,可令 q(z) q ( z ) q(\mathbf z)为标准正态分布, p(z|x) p ( z | x ) p(\mathbf z \vert \mathbf x)为正态分布,而 q(x|z) q ( x | z ) q(\mathbf x \vert \mathbf z)为随机变量 z z \mathbf z 到空间 X X \mathbf X的映射的随机分布的密度。回到联合概率分布KL散度:

KL(p(x,z)‖q(x,z))=∬p(x,z)logp(x,z)q(x,z)dxdz=∬p(z|x)p(x)logp(z|x)p(x)q(x|z)q(z)dxdz=∬p(z|x)p(x) [logp(z|x)+logp(x)−logq(x|z)−logq(z)]dxdz=∬p(z|x)p(x)logp(x)dxdz−∬p(z|x)p(x)logq(x|z)dxdz+∬p(z|x)p(x)logp(z|x)q(z)dxdz(2) K L ( p ( x , z ) ‖ q ( x , z ) ) = ∬ p ( x , z ) log ⁡ p ( x , z ) q ( x , z ) d x d z = ∬ p ( z | x ) p ( x ) log ⁡ p ( z | x ) p ( x ) q ( x | z ) q ( z ) d x d z = ∬ p ( z | x ) p ( x ) [ log ⁡ p ( z | x ) + log ⁡ p ( x ) − log ⁡ q ( x | z ) − log ⁡ q ( z ) ] d x d z = ∬ p ( z | x ) p ( x ) log ⁡ p ( x ) d x d z − ∬ p ( z | x ) p ( x ) log ⁡ q ( x | z ) d x d z + ∬ p ( z | x ) p ( x ) log ⁡ p ( z | x ) q ( z ) d x d z ( 2 )

KL(p(\mathbf x, \mathbf z)\Vert q(\mathbf x, \mathbf z))=\iint p(\mathbf x, \mathbf z) \log \frac {p(\mathbf x, \mathbf z)}{q(\mathbf x, \mathbf z)} d\mathbf x d\mathbf z \\ =\iint p(\mathbf z \vert \mathbf x)p(\mathbf x) \log \frac {p(\mathbf z \vert \mathbf x)p(\mathbf x)}{q(\mathbf x \vert \mathbf z)q(\mathbf z)}d\mathbf x d\mathbf z \\ = \iint p(\mathbf z \vert \mathbf x)p(\mathbf x) \ [\log p(\mathbf z \vert \mathbf x) + \log p(\mathbf x) - \log q(\mathbf x \vert \mathbf z) - \log q(\mathbf z)] d\mathbf x d\mathbf z \\ =\iint p(\mathbf z \vert \mathbf x)p(\mathbf x) \log p(\mathbf x)d\mathbf x d\mathbf z - \iint p(\mathbf z \vert \mathbf x)p(\mathbf x) \log q(\mathbf x \vert \mathbf z)d\mathbf x d\mathbf z + \iint p(\mathbf z \vert \mathbf x)p(\mathbf x)\log \frac {p(\mathbf z \vert \mathbf x)}{q(\mathbf z)} d\mathbf x d\mathbf z \qquad(2)
1、右边第一项是 ∬p(x,z)p(x)logp(x)dxdz ∬ p ( x , z ) p ( x ) log ⁡ p ( x ) d x d z \iint p(\mathbf x,\mathbf z )p(\mathbf x) \log p(\mathbf x)d\mathbf x d\mathbf z 是真实分布的积分,与VAE可调参数无关,因而在优化时无需考虑,可忽略。
2、第三项有:

∬p(z|x)p(x)logp(z|x)q(z)dxdz=Ex∼p(x)(∫p(z|x)logp(z|x)q(z)dz)=Ex∼p(x)(KL(p(z|x)‖q(z)))(3) ∬ p ( z | x ) p ( x ) log ⁡ p ( z | x ) q ( z ) d x d z = E x ∼ p ( x ) ( ∫ p ( z | x ) log ⁡ p ( z | x ) q ( z ) d z ) = E x ∼ p ( x ) ( K L ( p ( z | x ) ‖ q ( z ) ) ) ( 3 )

\iint p(\mathbf z \vert \mathbf x)p(\mathbf x)\log \frac {p(\mathbf z \vert \mathbf x)}{q(\mathbf z)} d\mathbf x d\mathbf z = \mathbf E_{\mathbf x \sim p(\mathbf x)}\left(\int p(\mathbf z \vert \mathbf x)\log \frac {p(\mathbf z \vert \mathbf x)}{q(\mathbf z)} d\mathbf z \right) \\ = \mathbf E_{\mathbf x \sim p(\mathbf x)}(KL(p(\mathbf z \vert \mathbf x) \Vert q(\mathbf z))) \qquad(3)
3、第二项有:

∬p(z|x)p(x)logq(x|z)dxdz=∫p(x)∫p(z|x)logq(x|z)dxdz=Ex∼p(x)(∫p(z|x)logq(x|z)dz)(4) ∬ p ( z | x ) p ( x ) log ⁡ q ( x | z ) d x d z = ∫ p ( x ) ∫ p ( z | x ) log ⁡ q ( x | z ) d x d z = E x ∼ p ( x ) ( ∫ p ( z | x ) log ⁡ q ( x | z ) d z ) ( 4 )

\iint p(\mathbf z \vert \mathbf x)p(\mathbf x) \log q(\mathbf x \vert \mathbf z)d\mathbf x d\mathbf z = \int p(\mathbf x)\int p(\mathbf z \vert \mathbf x) \log q(\mathbf x \vert \mathbf z)d\mathbf x d\mathbf z = \mathbf E_{\mathbf x\sim p(\mathbf x)}\left(\int p(\mathbf z \vert \mathbf x) \log q(\mathbf x \vert \mathbf z)d\mathbf z\right) \qquad(4)
若 x∼p(x) x ∼ p ( x ) \mathbf x\sim p(\mathbf x) 仅抽样1个点,得到 xi x i \mathbf x_i 作为Encoder的输入,求 x∼p(x) x ∼ p ( x ) \mathbf x\sim p(\mathbf x)的期望就失去了意义,则(4)式变形为:

∬p(z|x)p(x)logq(x|z)dxdz=∫p(z|xi)logq(x|z)dz=Ez∼p(z|xi)(logq(x|z))(5) ∬ p ( z | x ) p ( x ) log ⁡ q ( x | z ) d x d z = ∫ p ( z | x i ) log ⁡ q ( x | z ) d z = E z ∼ p ( z | x i ) ( log ⁡ q ( x | z ) ) ( 5 )

\iint p(\mathbf z \vert \mathbf x)p(\mathbf x) \log q(\mathbf x \vert \mathbf z)d\mathbf x d\mathbf z = \int p(\mathbf z \vert \mathbf x_i) \log q(\mathbf x \vert \mathbf z)d\mathbf z \\ = \mathbf E_{\mathbf z\sim p(\mathbf z \vert \mathbf x_i)}\left( \log q(\mathbf x \vert \mathbf z) \right) \qquad(5)
若 z∼p(z|xi) z ∼ p ( z | x i ) \mathbf z\sim p(\mathbf z \vert \mathbf x_i) 也仅抽一个样本 zi z i \mathbf z_i ,(5)式得到 logq(xi|zi) log ⁡ q ( x i | z i ) \log q(\mathbf x_i \vert \mathbf z_i)。
综上,对VAE的Encoder和Decoder优化时,有以下等价关系:

KL(p(x,z)‖q(x,z))∼−logq(xi|zi) + Ex∼p(x)(KL(p(z|x)‖q(z)))(6) K L ( p ( x , z ) ‖ q ( x , z ) ) ∼ − log ⁡ q ( x i | z i ) + E x ∼ p ( x ) ( K L ( p ( z | x ) ‖ q ( z ) ) ) ( 6 )

KL(p(\mathbf x, \mathbf z)\Vert q(\mathbf x, \mathbf z)) \sim -\log q(\mathbf x_i \vert \mathbf z_i) \ + \ \mathbf E_{\mathbf x \sim p(\mathbf x)}(KL(p(\mathbf z \vert \mathbf x) \Vert q(\mathbf z))) \qquad(6)
(6)式右端恰好是VAE的Loss表达式。

小结:
1、GAN与VAE两个生成模型的Loss推导都可以放在联合概率密度的KL散度的统一框架下进行讨论,而且都得到了与原始推导相同的结果;
2、GAN与VAE所设计的隐变量不同,结构不同,导致了近似处理的方法不同,但它们的出发点是相同的(上述第一点)。
3、GAN最后的Loss反映的是生成样本与真实样本的概率流型之间的距离,而VAE最后的Loss反映的是Auto-Encoder的输出 x̂ x ^ \mathbf {\hat x} 与原来数据点 x x \mathbf x 两点之间的距离。因而导致了生成效果的不同,以及训练难度的不同。

问题:能否将两者结合起来呢?

本文主要参考文章:
文章:Variational Inference: A Unified Framework of Generative Models and Some Revelations,原文:arXiv:1807.05936,中文链接:https://kexue.fm/archives/5716

VAE与GAN的关系(2)相关推荐

  1. VAE与GAN的关系(1)

    VAE(Variational Auto-Encoder)和GAN(Ganerative Adversarial Networks)都是生成模型(Generative model).所谓生成模型,即能 ...

  2. 三大深度学习生成模型:VAE、GAN及其变种

    本章将为读者介绍基于深度学习的生成模型.前面几章主要介绍了机器学习中的判别式模型,这种模型的形式主要是根据原始图像推测图像具备的一些性质,例如根据数字图像推测数字的名称,根据自然场景图像推测物体的边界 ...

  3. 全新视角:用变分推断统一理解生成模型(VAE、GAN、AAE、ALI)

    前言 我小学开始就喜欢纯数学,后来也喜欢上物理,还学习过一段时间的理论物理,直到本科毕业时,我才慢慢进入机器学习领域.所以,哪怕在机器学习领域中,我的研究习惯还保留着数学和物理的风格:企图从最少的原理 ...

  4. 理解:用变分推断统一理解深度生成模型(VAE、GAN、AAE、ALI(BiGAN))

    参考文章:https://kexue.fm/archives/5716 https://zhuanlan.zhihu.com/p/40282714 本篇博客主要是参照上述两个博文,另外加入了一些自己的 ...

  5. 生成模型VAE、GAN和基于流的模型详细对比

    在Ian Goodfellow和其他研究人员在一篇论文中介绍生成对抗网络两年后,Yann LeCun称对抗训练是"过去十年里ML最有趣的想法".尽管GANs很有趣,也很有前途,但它 ...

  6. 在TensorFlow中对比两大生成模型:VAE与GAN(附测试代码)

    来源:机器之心 本文长度为3071字,建议阅读6分钟 本文在 MNIST 上对VAE和GAN这两类生成模型的性能进行了对比测试. 项目链接:https://github.com/kvmanohar22 ...

  7. 各种生成模型:VAE、GAN、flow、DDPM、autoregressive models

    目录 1 生成模型分类 1 2 Autoregressive model 2 3 变分推断 3 3.1 ELBO 3 3.2 变分分布族Q 5 4 VAE 6 5 GAN 6 6 flow模型 7 7 ...

  8. NLP(二)文本生成 --VAE与GAN模型和迁移学习

    NLP(二)文本生成 --VAE与GAN模型和迁移学习 VAE与GAN模型和迁移学习 1. Auto Encoder 自编码器 1.1 结构 1.2 核心思想 1.3 损失函数 1.4 Denoisi ...

  9. 【GAN优化外篇】详解生成模型VAE的数学原理

    最近在学习生成模型的相关知识,这篇文章将介绍一下变分自编码器(Variational Auto-encoder),本文只介绍一些粗浅内容,不会涉及比较深刻的问题. 作者&编辑 | 小米粥 1. ...

最新文章

  1. 小余学调度:学习记录(2021年12月)
  2. 考究Hadoop中split的计算方法
  3. manjaro linux 关机,给本子安装manjaro 出现无法关机的解决办法
  4. Myeclipse学习总结(4)——Eclipse常用开发插件
  5. css3之 谜灯卡片_纯css3灯泡开关特效代码
  6. 遍历一个List的几种方法
  7. python脚本操作excel
  8. FLASH和EEPROM的最大区别
  9. python wordcloud 对电影《我不是潘金莲》制作词云
  10. 怎么彻底粉碎文件夹?文件还能恢复吗?操作过程在这里
  11. 小白也能看懂的华为交换机常用命令大全
  12. ADB的使用-简单命令
  13. Android Studio gradle 统一版本管理
  14. java resource文件_利用java如何实现读取resource目录下文件
  15. 【R语言】预测模型最合适阈值Cutoff选取及其它指标计算
  16. 暗金色 rgb_杜伽TAURUS K310樱桃RGB红轴体验:做工精良、手感优秀
  17. 究竟wifi是怎么定位我的
  18. cache line大小
  19. 为什么响应式(自适应)网站是一个坑
  20. 人脸核身 微信h5_微信小程序人脸核身---快速入门到实战(附开发工具类,复制即用)...

热门文章

  1. 2.FFmpeg5.1下载和使用
  2. 多芯片同步技术解决措施
  3. Oracle 11g R2 Rman备份与恢复(二)
  4. 面试宝典-Mysql篇
  5. 推荐几个c++自学网站
  6. 用opencv训练LBP特征分类器生成xml文件
  7. FMEA分析-S/O/D分值能否改变?
  8. M4V转换器用户指南-如何无损转换M4V视频!
  9. 5.16特长生模拟题 买装备
  10. Android滚动截屏,ScrollView截屏,Listview截屏,Recyclerview截屏, 截长图