自学内容网 自学内容网

深度学习之其他常见的生成式模型

1.1 什么是自回归模型:pixelRNN与pixelCNN?

​ 自回归模型通过对图像数据的概率分布 p d a t a ( x ) p_{data}(x) pdata(x)进行显式建模,并利用极大似然估计优化模型。具体如下:
p d a t a ( x ) = ∏ i = 1 n p ( x i ∣ x 1 , x 2 , . . . , x i − 1 ) p_{data}(x)=\prod_{i=1}^np(x_i|x_1,x_2,...,x_{i-1}) pdata(x)=i=1np(xix1,x2,...,xi1)
​ 上述公式很好理解,给定 x 1 , x 2 , . . . , x i − 1 x_1,x_2,...,x_{i-1} x1,x2,...,xi1条件下,所有 p ( x i ) p(x_i) p(xi)的概率乘起来就是图像数据的分布。如果使用RNN对上述依然关系建模,就是pixelRNN。如果使用CNN,则是pixelCNN。具体如下[5]:

在这里插入图片描述

在这里插入图片描述

​ 显然,不论是对于pixelCNN还是pixelRNN,由于其像素值是一个个生成的,速度会很慢。语音领域大火的WaveNet就是一个典型的自回归模型。

1.2 什么是VAE?

​ PixelCNN/RNN定义了一个易于处理的密度函数,我们可以直接优化训练数据的似然;对于变分自编码器我们将定义一个不易处理的密度函数,通过附加的隐变量 z z z对密度函数进行建模。 VAE原理图如下[6]:

在这里插入图片描述

​ 在VAE中,真实样本 X X X通过神经网络计算出均值方差(假设隐变量服从正太分布),然后通过采样得到采样变量 Z Z Z并进行重构。VAE和GAN均是学习了隐变量 z z z到真实数据分布的映射。但是和GAN不同的是:

  • GAN的思路比较粗暴,使用一个判别器去度量分布转换模块(即生成器)生成分布与真实数据分布的距离。
  • VAE则没有那么直观,VAE通过约束隐变量 z z z服从标准正太分布以及重构数据实现了分布转换映射 X = G ( z ) X=G(z) X=G(z)

生成式模型对比

  • 自回归模型通过对概率分布显式建模来生成数据
  • VAE和GAN均是:假设隐变量 z z z服从某种分布,并学习一个映射 X = G ( z ) X=G(z) X=G(z),实现隐变量分布 z z z与真实数据分布 p d a t a ( x ) p_{data}(x) pdata(x)的转换。
  • GAN使用判别器去度量映射 X = G ( z ) X=G(z) X=G(z)的优劣,而VAE通过隐变量 z z z与标准正太分布的KL散度和重构误差去度量。

原文地址:https://blog.csdn.net/weixin_43775295/article/details/143771699

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!