图去书里看。
生成模型
生成模型就是要让机器找到产生数据的概率分布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^*θ∗可以通过最大化数据似然来求得:
θ∗=argmaxθ∑ilogPθ(xi)
\theta^*=\arg \underset{\theta}{max}\sum_{i}\log P_\theta(x_i)
θ∗=argθmaxi∑logPθ(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θ(xi∣z)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=1∑nPθ(xi∣zj)
zj∼Pθ(z),j=1,2,...,n z_j\sim P_\theta (z), \quad j=1,2,...,n zj∼Pθ(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ϕ(z∣xi)。
得到Qϕ(z∣x)Q_\phi(z|x)Qϕ(z∣x)后,采用变分推断来优化似然函数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(z∣x)尽量接近某个特定分布(如正态分布).训练过程的优化目标包括重构误差和对后验分布q(z∣x)q(z|x)q(z∣x)的约束这两部分。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)q(z∣x)中获得生成样本x^\hat{x}x^的能力,科恩那个因此导致模式坍塌、训练不稳定等问题。
原始GAN在理论上存在哪些问题?
速记:梯度消失、模式坍塌等
详细:在训练开始时,生成器还很差,生成数据与真实数据相差甚远,判别器可以以高置信度将二者区分开来,这样log(1−D(G(z)))log(1-D(G(z)))log(1−D(G(z)))达到饱和,梯度消失。
原始GAN在实际应用中存在哪些问题?
速记:不能保证实际应用时的收敛性;模式坍塌;缺乏理性的评价和准则。
详细:看书。