理解AE、VAE、GAN、DDPM的原理与区别

1. Auto Encoder

在这里插入图片描述

AE直接将数据压缩为数值编码的特征,再将数值编码映射到重构数据。由于映射空间不连续,无界,也无明显规律,我们难以要求模型具备“插值”出两个图片之间的形态,例如满月和半月之间的状态。AE更适合用于做图像的压缩和复原,但并不适合生成新的图片。

在这里插入图片描述

2. Variational Auto Encoder

在AE中,为什么无法生成出多种多样并且有意义的图像?因为AE的隐空间是直接对图像编码,编码的空间是离散的、无规律的,所以当我们选择原有的 z1z_1z1z2z_2z2之间的某一个点z1.5z_{1.5}z1.5时,AE往往无法生成一个有意义的图像。

于是,提出了VAE。VAE的隐空间不直接编码一系列离散的特征值,它的隐空间实际上是一个混合高斯分布,Encoder的输出描述了这样一个复杂分布,Decoder的输出将这种该分布中的一个采样点映射到图像分布。
在这里插入图片描述

我们假设,所有的图像数据都满足某种高维的正态分布,每一张图像 xxx 是从它的分布 P(x)P(x)P(x) 中采样得到的结果。由于P(x)P(x)P(x)是一个无法知道的分布,我们只能通过某种方式去拟合它,因此考虑混合高斯分布。如下图所示,黑色是真实分布,是复杂的。但是可以用多个正态分布的叠加来拟合真实分布(蓝线)。即:P(x)=∑mP(m)P(x∣m)P(x)=\sum_m P(m) P(x \mid m)P(x)=mP(m)P(xm),这里假设有mmm个正态分布,即每个mmm为一个高斯组件。这里实际上就是全概率公式。

在这里插入图片描述

于是,考虑有一个隐空间ZZZ,它满足标准高斯分布,每一个zzz是在隐空间分布的一个采样,它能通过Decoder映射到一个图像样本 xxx的分布P(x)P(x)P(x) 。即,我们用下面的公式来确定一张图像的分布:
P(x)=∫zP(z)P(x∣z)dz P(x)=\int_z P(z) P(x \mid z) d z P(x)=zP(z)P(xz)dz
这里P(x∣z)=N(μz,σz)P(x|z)=N(\mu_z,\sigma_z )P(xz)=N(μz,σz),这里μz,σz\mu_z,\sigma_zμz,σz是待估计的参数,由Decoder进行预测。

然而,要想准确地得到P(x)P(x)P(x)是不可能的,因为由公式可知,要对所有zzz的取值情况下的P(x∣z)P(x|z)P(xz)积分才能得到P(x)P(x)P(x),而我们无法提前得知任意zzz下的P(x∣z)P(x|z)P(xz),样本是有限的。所以,我们通过极大似然估,希望取得所有现有样本点的概率最大:
L=∑xlog⁡P(x) L=\sum_x \log P(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值