美文网首页
用变分推断理解GAN

用变分推断理解GAN

作者: 雪俏 | 来源:发表于2019-06-03 18:58 被阅读0次

变分自编码器

CS231n推导



推导方式聚焦于后验分布的描述。最近在研读苏剑林的文章Variational Inference: A Unified Framework of Generative Models and Some Revelations,文章对VAE的描述很简单,直接用一个联合分布做了一个近似,没有上图那么多转换,因此好好的研究了一番。

说在前头

数值计算

已知概率密度函数p(x),那x的期望可以定义成:
\mathbb{E}_x=\int xp(x)dx\tag{1}
如果要对它进行数值积分,做法就是选取若干个有代表性的点:\mathbb{E}_x\approx\sum_{i=1}^{n} x_ip(x_i)(\frac{x_i-x_{i-1}}{x_n-x_0})\tag{2}

采样计算

p(x)中采样若干个点x_1,x_2,\cdots,x_n,则:\mathbb{E}_x\approx\frac{1}{n}\sum_{i=1}^{n} x_i,x_i\sim p(x)\tag{3}
为什么采样计算没有乘以概率?因为在(3)x_i是从p(x)中依概率采样出来的,概率大的x_i出现的次数也多,所以可以说采样的结果已经包含了p(x) 在里边,就不用再乘以p(x_i)了。这就是蒙特卡洛模拟的基础。

VAE采样流程


VAE采样是为每个样本构造专属的正态分布,然后采样来重构,为使模型具有生成能力,VAE要求每个都向正态分布看齐。
参考变分自编码器(一):原来是这么一回事

直面联合分布

\mathbb{E}_{x\sim p(x)}[f(x)]=\int f(x)p(x)dx \approx\frac{1}{n}\sum_{i=1}^{n}f(x_i),x_i\sim p(x)\tag{4}
有一批数据样本X,一般我们会借助隐变量 z描述x的分布p(x)
p(x)=\int p(x|z)p(z)dz, \ \ \ p(x,z)=p(x|z)p(z)\tag{5}
这样,式子就既描述了p(x)也描述了生成模型p(x|z)。由此可以得出,其实不需要近似p(x),直接对p(x,z)近似是最干脆的。即直接用一个新的联合分布q(x,z)来逼近p(x,z)
KL( p(x,z)||q(x,z))=\int\int p(x,z)ln\frac{p(x,z)}{q(x,z)}dzdx\tag{6}


由此得到最终Loss为:
换一种更简洁的写法就是:

重参数技巧

关于
\int p(z|x)lnp(x)dz=\mathbb{E}_{x\sim p(x)}[lnp(x)]\tag{7}
此处涉及到重参数化技巧

基于变分推断的GAN

GAN的主要思想也是
通过训练一个生成模型q(x|z),将q(z)=N(z;0,1)映射为数据集分布\widetilde{p}(x),VAE中将q(x|z)选择为狄拉克函数\delta(x)(rua!这是什么东西???我只理解成一种描述单点分布的函数,即认为xz关系一一对应,在GAN中z不再是隐变量,无需再考虑后验分布p(z|x))
根据直面联合分布,在GAN中仅仅引入了一个二元隐变量y来构成联合分布

mode collapse新解

可以看到基于变分推断得到的GAN 生成器loss与标准的GAN相差一个KL(q(x)||q^0(x)),这个式子可以给我们一些启发。假设q^0(x)到q(x)模型参数改变量为\Delta \theta,展开到二阶得:


因此GAN在训练时会有各种trick使不会过大,如:梯度裁剪、用adam优化器、BN为了稳定梯度,按照上述的理解实际上就都可以解释得通了(实际上都保证了不至于过大)。还有GAN在实际训练时的迭代次数也不能过多,过多也同样会使得过大。

加入正则项

实际上直接为GAN的生成器loss加入正则项就行:



实验结果表明正则项生效。

小结

用变分推断去理解GAN使得GAN训练中的很多trick都得到了理论的解释,作者将VAE和GAN统一到了一个框架,那是不是许多用于提升VAE训练的trick可以运用到GAN上?
原文还将EM,AAE,ALI也纳入了变分的框架下形成了一个大一统,待我以后再细看。数学真是神奇啊。。。

参考

Variational Inference: A Unified Framework of Generative Models and Some Revelations
用变分推断统一理解生成模型(VAE、GAN、AAE、ALI)

相关文章

  • 用变分推断理解GAN

    变分自编码器 CS231n推导 说在前头 数值计算 已知概率密度函数,那的期望可以定义成:如果要对它进行数值积分,...

  • 变分推断

    作者:知乎用户 链接:https://www.zhihu.com/question/41765860/answer...

  • 变分推断

    在github看到这个文章写的不错,就转载了,大家一起学习:https://github.com/keithyin...

  • 变分推断

    变分推断(Variational Inference) 一文读懂贝叶斯推理问题:MCMC方法和变分推断

  • 数学知识

    变分推断1

  • Variational Inference 变分推断

    自从接触深度学习后,每每遇到相关数学公式都头疼。其中变分推断出现的频率之多,让我一见它到便跳过直接看与其相关的结果...

  • 变分推断 Variational Inference

    原文:Variational Inference with Normalizing Flowshttps://bl...

  • 概率图概要

    精确推断: 变量消除 化多重求和为多次求和 信念传播 叶到根,根到叶 近似推断: MC采样 变分推断 利用简单分布...

  • 如何简单易懂地理解变分推断(variational infere

      正在学,把网上优质文章整理了一下。   我们经常利用贝叶斯公式求posterior distribution ...

  • EM算法和变分推断

    EM算法和变分推断 EM算法 EM算法的引入: 当概率模型的变量都是观测变量时,给定数据,可以直接用极大似然估计或...

网友评论

      本文标题:用变分推断理解GAN

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