三大有名的生成模型VAE、GAN以及Diffusion Model
其余两篇
看了网上的一些博客,大多都写到了重点,也就是后面的公式推导部分,可是大部分只有推导过程,很少有讲明白为什么要这么假设,我看的时候内心不断有个疑问:这些所有推导的第一个式子是怎么来的?为什么所有的推导都是要证明第一个式子?下面我们从生成模型的源头来理解这个问题,就茅塞顿开了
什么是生成模型?
首先要明白什么是生成模型?比如我们有一堆数据点,他的真实分布是
,生成模型的目的就是去学习一个模型
,将一些随机采样的噪声(通常为高斯噪声)输入到此模型中,使得此模型的输出为
中的数据,即模型
的分布
去尽可能的接近数据的真实分布
,或者说让模型
能够尽可能地生成数据点
中的数据

生成模型要做什么
如上所述,生成模型就是要去接近数据点(数据集)的真实分布,也就是说我们要最大化所建模的概率分布
这里的就是模型的参数,
就是随机采样的噪声,
是
的后验概率分布,通常来说
和
都是高斯分布
VAE的目标函数
实际上,对于大多数的,
的取值都接近0,因此VAE的核心就是不断地进行采样,直到可能产生数据点
为止,这显然会让生成过程变得困难/复杂
在真正实现时,作者构建了一个新的函数,给定数据集中的一个数据
,
可以给我们一个
的分布,这个给定的分布就更加容易产生出
了,在
后的
的范围比先验
要小得多,因此我们将
和
关联起来,如下
这个式子是不是和上面那个很相似?只是讲替换为了
,这种替换能够使得我们的随机采样变得不是那么的随机(即,相对于
,
更加具体了采样的范围,而不是无脑采样…)
在原文中,也有提到
是求解
的关键: The relationship between
and
is one of the cornerstones of variational Bayesian methods.
既然上面提到了的获取对生成
至关重要,那如何去获得呢,作者用KL散度来构建
和
之间的关系(在文中KL散度用符号
来表示)
下面用Bayes公式来化简上述式子,将代替
因为与变量
无关,因此可以从期望中拿出,将上式继续整理得
注意到这里的可以是任意的概率分布,但是为了让其有意义,使从其采样出的噪声更容易建模出
,并最小化
,我们让
去依赖于
,即得到下式
上式就是VAE最核心的公式了
- 等号左边:
是我们要最大化的项,
描述了可能生成
的
的取值,当模型的建模能力足够时,
可以看做0
- 等号右边:可以通过梯度下降来优化,他更像是一个自编码器(AE),因为
将
编码到
空间,
将
解码重建出
未完…