)在变分自动编码器中与的匹配程度如何?Q ( z| X)Q(z|X)ñ( 0 ,我)N(0,I)

机器算法验证 自动编码器 变分贝叶斯 生成模型
2022-03-18 04:04:13

在训练时,KL 散度项将推向,其中 . 它不能将精确地因为编码器/解码器对的重建损失会爆炸(网络会破坏有关的所有信息)。Q(z=μ(X)+ϵ×Σ(X)|X)N(0,I)ϵN(0,I)Q(z|X)N(0,I)Q(z|X)X

因此,当我们仅使用解码器在“生成器时间”运行系统并时,这不会很差地表示训练集,因为训练集 ? 例如可能看起来像,或者它甚至可能具有一些难以采样的非线性形状。zN(0,I)Q(z|X)N(0,I)Q(z|X)N(0,2×I)

编辑1:澄清并提出一个更明确的问题:如果 Q(z|X) 的分布与 N(0,I) 显着不同,为什么我们在生成样本时从 N(0,I) 中采样?这不会产生不能很好地代表训练集的样本吗?

编辑2:更多澄清。此图显示了映射到 2D 潜在空间的 10 个 MNIST 数字。你可以看到它不匹配该图像基于 2 个潜在维度和 2 个隐藏层编码器,每个编码器有 500 个节点。 N(0,I)在此处输入图像描述

3个回答

Q不同是可以的,因为当我们从 VAE 中采样时,我们不再试图重建相反,我们尝试采样一些,其中是数据集中所有图像的分布。Q(z|X)N(0,I)XXXX

想象一下,潜在空间实际上是区间上的均匀分布,我们正在对 MNIST 数字进行自动编码。假设其中包含 1 的图像恰好有分布在周围,具有 2 的图像恰好在周围,等等。(0,10)Q(z|X)(0,1)(1,2)

那么对于任何特定的并不接近于匹配均匀分布。然而,只要混合合理地覆盖和匹配均匀分布,采样然后运行解码器是合理的,因为对于某些可能接近XQ(z|X)1niQ(z|Xi)zU(0,10)zμ(X)X

编辑:要回答为什么我们可能期望的混合近似为的问题,请注意我们可以分解根据定义,然而,当我们用编码器 ) 时,我们最终会得到一些稍微不同的东西。Q(z|X)N(0,I)P(z)=P(z|X)p(X)dz=E[P(z|X)]zN(0,I)P(z|X)Q(z|X)

最小化 VAE 损失等同于最大化因此,我们同时最大化数据的对数似然性,同时鼓励尽可能接近结果,我们最终应该非常接近logP(X)DKL(Q(z|X)||P(z|X))Q(z|X)P(z|X)N(0,I)

答案有两个:

(1) 编码器网络需要足够表达(足够宽和足够深),以便能够将非线性输入空间映射到接近的东西。N(0,I)

(2)除了(1)之外(我在问题中描述的MNIST示例中添加了第3个隐藏层),当我增加潜在维度的数量时,我观察到训练数据到潜在空间的映射变为更接近事后看来,这并不奇怪,因为系统能够跨更多维度存储信息,因此每个潜在维度都可以更接近N(0,I)N(0,I)

此外,我们从先验中采样并对其进行解码,因为我们假设因此,从采样等价于从联合采样然后丢弃zpθ(x)=pθ(x|z)p(z)dzpθ(x)pθ(x,z)z