Introduction
在上一小节中讲到了Latent Variable Model(LAM),VAE。其主要思想就是将隐变量扩充为高维连续的分布,来增强模型的表达能力。而LAM模型中的核心困难是 计算不出来,因为 ,而 的维度过高 算不出来。而根据Bayesian公式:
所以导致
而在VAE中通过优化变分下界ELBO来达到最终优化的目的,而不是直接对Log似然函数进行优化。所以当然会有误差了。那么这将启发我们,可不可以绕过这个intractable的
Flow based Model
什么是flow model呢?首先用一张图来进行表示:
可以用一个简单的例子来简单的介绍Flow model。
就被称为“流”。因为流模型中初始分布是很简单的。极大似然估计中求的是:
Change of Variables
假设
那么可以得到:
根据不定积分的性质可以得到:
而
但是实际上
而最终的目的是想将
这个结论是怎么来的呢?我们来看一个简单的例子,如下图所示:
如图所示,
而,
在本文举的例子中,
很显然有
\textbf{那么,当训练完成之后,从
那么:
由于
[1] ICLR 2015 NICE-Non-linear Independent Components Estimation
[2] ICLR 2017 Density estimation using Real NVP
[3] 2018 Glow: Generative Flow with Invertible 1×1 Convolutions
小结
本章主要介绍的是流模型的主要思想,在Latent Variable Model经常会遇到后验过于复杂无法求解的问题。流模型绕开了这个部分,对更简单的分布建模,然后建立原分布与简单分布之间的映射关系。个人觉得Stein变分梯度下降就有点流模型的影子在里面。在建立映射关系是用到了重要的change of variables theorem,并之后介绍了变化后的目标函数和梯度求解方法。
参考B站视频【机器学习】【白板推导系列】
更多干货,第一时间更新在以下微信公众号:
您的一点点支持,是我后续更多的创造和贡献
转载到请包括本文地址 更详细的转载事宜请参考文章如何转载/引用
本文由 mdnice 多平台发布