VAE与GAN的关系(2)
上文从 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(\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(\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、第三项有:
\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、第二项有:
\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)式变形为:
\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(\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)相关推荐
- VAE与GAN的关系(1)
VAE(Variational Auto-Encoder)和GAN(Ganerative Adversarial Networks)都是生成模型(Generative model).所谓生成模型,即能 ...
- 三大深度学习生成模型:VAE、GAN及其变种
本章将为读者介绍基于深度学习的生成模型.前面几章主要介绍了机器学习中的判别式模型,这种模型的形式主要是根据原始图像推测图像具备的一些性质,例如根据数字图像推测数字的名称,根据自然场景图像推测物体的边界 ...
- 全新视角:用变分推断统一理解生成模型(VAE、GAN、AAE、ALI)
前言 我小学开始就喜欢纯数学,后来也喜欢上物理,还学习过一段时间的理论物理,直到本科毕业时,我才慢慢进入机器学习领域.所以,哪怕在机器学习领域中,我的研究习惯还保留着数学和物理的风格:企图从最少的原理 ...
- 理解:用变分推断统一理解深度生成模型(VAE、GAN、AAE、ALI(BiGAN))
参考文章:https://kexue.fm/archives/5716 https://zhuanlan.zhihu.com/p/40282714 本篇博客主要是参照上述两个博文,另外加入了一些自己的 ...
- 生成模型VAE、GAN和基于流的模型详细对比
在Ian Goodfellow和其他研究人员在一篇论文中介绍生成对抗网络两年后,Yann LeCun称对抗训练是"过去十年里ML最有趣的想法".尽管GANs很有趣,也很有前途,但它 ...
- 在TensorFlow中对比两大生成模型:VAE与GAN(附测试代码)
来源:机器之心 本文长度为3071字,建议阅读6分钟 本文在 MNIST 上对VAE和GAN这两类生成模型的性能进行了对比测试. 项目链接:https://github.com/kvmanohar22 ...
- 各种生成模型: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 ...
- NLP(二)文本生成 --VAE与GAN模型和迁移学习
NLP(二)文本生成 --VAE与GAN模型和迁移学习 VAE与GAN模型和迁移学习 1. Auto Encoder 自编码器 1.1 结构 1.2 核心思想 1.3 损失函数 1.4 Denoisi ...
- 【GAN优化外篇】详解生成模型VAE的数学原理
最近在学习生成模型的相关知识,这篇文章将介绍一下变分自编码器(Variational Auto-encoder),本文只介绍一些粗浅内容,不会涉及比较深刻的问题. 作者&编辑 | 小米粥 1. ...
最新文章
- 小余学调度:学习记录(2021年12月)
- 考究Hadoop中split的计算方法
- manjaro linux 关机,给本子安装manjaro 出现无法关机的解决办法
- Myeclipse学习总结(4)——Eclipse常用开发插件
- css3之 谜灯卡片_纯css3灯泡开关特效代码
- 遍历一个List的几种方法
- python脚本操作excel
- FLASH和EEPROM的最大区别
- python wordcloud 对电影《我不是潘金莲》制作词云
- 怎么彻底粉碎文件夹?文件还能恢复吗?操作过程在这里
- 小白也能看懂的华为交换机常用命令大全
- ADB的使用-简单命令
- Android Studio gradle 统一版本管理
- java resource文件_利用java如何实现读取resource目录下文件
- 【R语言】预测模型最合适阈值Cutoff选取及其它指标计算
- 暗金色 rgb_杜伽TAURUS K310樱桃RGB红轴体验:做工精良、手感优秀
- 究竟wifi是怎么定位我的
- cache line大小
- 为什么响应式(自适应)网站是一个坑
- 人脸核身 微信h5_微信小程序人脸核身---快速入门到实战(附开发工具类,复制即用)...