葫芦书笔记----生成模型

本文介绍变分自编码器(VAE)的基本原理及应用,对比自编码器(AE)与生成式对抗网络(GAN),阐述VAE如何通过引入概率分布改善数据生成能力,并解释其训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图去书里看。

生成模型

生成模型就是要让机器找到产生数据的概率分布P(x)P(x)P(x).

变分自编码器基础知识

###简述VAE的基本思想,以及它时如何用变分推断方法进行训练的?

详细:

自编码器(AE):标准的AE由编码器和解码器两部分组成,整个模型可以看作一个“压缩”与“解压”的过程。(关于AE的详细介绍后面会有)

变分自编码器(VAE)假设数据xix_ixi由一个随机过程产生,该随机过程分为两步:先由先验分布Pθ∗(z)P_{\theta^*}(z)Pθ(z)产生隐藏变量ziz_izi;再由添加分布Pθ∗(z)P_{\theta^*}(z)Pθ(z)产生数据xix_ixi。如图:

这里的参数θ∗\theta^*θ可以通过最大化数据似然来求得:
θ∗=arg⁡maxθ∑ilog⁡Pθ(xi) \theta^*=\arg \underset{\theta}{max}\sum_{i}\log P_\theta(x_i) θ=argθmaxilogPθ(xi)

Pθ(xi)=∫Pθ(xi∣z)Pθ(z)dx P_\theta(x_i)=\int P_\theta(x_i|z)P_\theta(z) dx Pθ(xi)=Pθ(xiz)Pθ(z)dx

这样我们可以用采样法估计Pθ(xi)P_\theta(x_i)Pθ(xi)
Pθ(xi)≈1n∑j=1nPθ(xi∣zj) P_\theta(x_i) \approx \frac{1}{n}\sum_{j=1}^nP_\theta(x_i|z_j) Pθ(xi)n1j=1nPθ(xizj)

zj∼Pθ(z),j=1,2,...,n z_j\sim P_\theta (z), \quad j=1,2,...,n zjPθ(z),j=1,2,...,n

这里,采样法存在一个问题:由于x的维度一般比较高,需要很多次采样才能保证上述估计的准确性,而且对于某些z,由Pθ(z)≈0P_\theta(z) \approx 0Pθ(z)0,这对估计Pθ(x)P_\theta(x)Pθ(x)几乎没有什么帮助。

因此,VAE的核心想法就是i找到一个容易生成数据x的z的分布,即后验分布Qϕ(z∣xi)Q_\phi(z|x_i)Qϕ(zxi)

得到Qϕ(z∣x)Q_\phi(z|x)Qϕ(zx)后,采用变分推断来优化似然函数Pϕ(xi)P_\phi(x_i)Pϕ(xi),通过优化目标函数的一个下界来间接优化原始目标函数。

生成式对抗网络的基本原理

简述AE、VAE、GAN的联系与区别。

详细:标准的AE由编码器和解码器两部分组成,整个模型可以看作一个“压缩”与“解压”的过程:首先编码器将真实数据(真实样本)xxx压缩为低维隐空间中的一个隐向量zzz,该向量可以看作世俗如的”精华“;软化解码器将这个隐向量zzz解压,得到生成数据(生成样本)x^\hat{x}x^。在训练过程中,会将生成样本与真实样本进行比较,朝两者之间差异的方向去更新编码器和解码器的参数,最终目的时期望由真实样本xxx压缩得到的zzz能够尽可能地抓住输入的精髓,使得生成样本与真实样本尽可能接近。AE可应用于数据去噪、可视化降维和数据生成等方向。

VAE是AE的升级版本,其结构也是由编码器和解码器组成,如下图。AE本身无法直接产生新的隐向量来生成新的样本,VAE能产生新的隐向量z,进而生成有效的新样本。VAE能够生成新样本的原因是:VAE在编码过程中加入了一些限制,迫使编码器产生的隐向量的后验分布q(z∣x)q(z|x)q(zx)尽量接近某个特定分布(如正态分布).训练过程的优化目标包括重构误差和对后验分布q(z∣x)q(z|x)q(zx)的约束这两部分。VAE编码器的输出不是隐空间中的向量,而是所属正态分布的均值和标准差,然后再根据均值与标准差来采样出隐向量z。

GAN,思路就是一个判别器,一个生成器,两个对抗训练,判别器尽量能识别出真实样本,生成器尽量生成出判别器无法正确判别的样本。这目标的优化目标是:

AE与VAE的联系与区别

速记:二至都属于有向图模型。但AE不可以创造新样本。

详细:AE和VAE 都属于有向图模型,模型的目的都是对隐变量空间进行建模;但是AE智能模仿,不能创造,VAE可以根据随机生成第的隐向量来生成新的样本。

AE的优化目标是最小化真实样本与对应的生成样本之间的重构误差;VAE除考虑重构误差外,还加入了对隐变量空间的约束目标。

AE编码器的输出代表真实样本对应的隐向量,而VAE编码器的输出可以看作由隐向量所对应的分布的均值和标准差组成。

GAN和AE/VAE的联系区别

速记:内部都存在对抗思想。

详细:VAE与GAN内部都存在对抗思想,但VAE是将两部分同步优化,而GAN则是交替优化的。

与AE相同的是,GAN的优化目标只涉及生成样本和真实样本之间的比较,没有VAE中对后验分布的约束。不同的是,GAN再判断样本真假时不需要真实样本与胜场样本一一对应。

GAN没有像AE那样从学习到的隐向量后验分布q(z∣x)q(z|x)qzx中获得生成样本x^\hat{x}x^的能力,科恩那个因此导致模式坍塌、训练不稳定等问题。

原始GAN在理论上存在哪些问题?

速记:梯度消失、模式坍塌等

详细:在训练开始时,生成器还很差,生成数据与真实数据相差甚远,判别器可以以高置信度将二者区分开来,这样log(1−D(G(z)))log(1-D(G(z)))log(1D(G(z)))达到饱和,梯度消失。

原始GAN在实际应用中存在哪些问题?

速记:不能保证实际应用时的收敛性;模式坍塌;缺乏理性的评价和准则。

详细:看书。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值