趋近智
证据下界(ELBO)是训练变分自编码器时最大化的目标函数。它包含两个主要组成部分:重建似然和库尔巴克-莱布勒(KL)散度项。
LELBO(θ,ϕ;x)=Ez∼qϕ(z∣x)[logpθ(x∣z)]−DKL(qϕ(z∣x)∣∣p(z))我们在此分析的项是 DKL(qϕ(z∣x)∣∣p(z))。这个KL散度衡量了编码器产生的分布 qϕ(z∣x) 偏离潜在变量的选定先验分布 p(z) 的程度。
可以将KL散度项视为一个规范项。它的主要作用是为潜在空间赋予一种结构。如果没有它,编码器 qϕ(z∣x) 可能会学会将不同输入 x 的编码放置在潜在空间中任意、不重叠的区域。虽然这可能使重建更容易(因为每个 x 得到一个独有、易于解码的代码 z),但这会给生成带来严重问题。如果我们要从先验 p(z) 中采样一个 z 来生成一个新的数据点,它可能会落入编码集群之间的“空白”区域,从而导致解码器 pθ(x∣z) 产生无意义的输出。
KL散度项迫使所有输入数据点 x 的分布 qϕ(z∣x) 保持“接近”先验分布 p(z)。通常,先验 p(z) 会选为具有零均值和单位方差的简单、标准多变量高斯分布,常表示为 N(0,I)。
通过最小化 DKL(qϕ(z∣x)∣∣p(z)),我们促使编码器进行如下操作:
这种规范化使得潜在空间更适合生成。当我们从 p(z) 中采样 z(即从标准高斯分布中采样)时,采样的 z 很可能位于解码器在训练期间遇到过的潜在空间区域中(因为编码的 qϕ(z∣x) 分布被推向了 p(z))。因此,解码器可以生成更连贯和有意义的数据点。
设想将两个不同的输入数据点 x1 和 x2 编码为潜在分布 qϕ(z∣x1) 和 qϕ(z∣x2)。如果没有KL规范化(或权重很低),这些分布可能会尖锐集中,并且彼此以及原点相距较远。通过KL规范化,它们被拉向标准高斯先验 p(z)。
图示说明KL散度规范化如何将编码分布(不同输入的 q(z∣x))拉近先验分布 p(z),从而促成潜在空间中的重叠和平滑性。
实际中,编码器 qϕ(z∣x) 通常设计为输出对角高斯分布的参数:一个均值向量 μϕ(x) 和一个由方差向量 σϕ2(x) 表示的对角协方差矩阵。因此,qϕ(z∣x)=N(z;μϕ(x),diag(σϕ2(x)))。
如果先验 p(z) 是标准高斯分布 N(z;0,I),那么 qϕ(z∣x) 和 p(z) 之间的KL散度可以解析计算。对于一个 d 维潜在空间,公式为:
DKL(N(μ,diag(σ2))∣∣N(0,I))=21j=1∑d(σj2+μj2−1−logσj2)此处,μj 和 σj2 是对于给定输入 x,由编码器产生的均值向量 μϕ(x) 和方差向量 σϕ2(x) 的第 j 个分量。这个解析公式很方便,因为它使我们能够直接使用编码器的输出来计算损失的这部分,而无需对KL项本身进行蒙特卡罗估计。
优化ELBO涉及增益重建似然,同时最小化KL散度(注意ELBO公式中KL项前的负号,尽管有时目标函数写为最小化负ELBO,此时KL项带有正号)。这两个目标常常相互制衡:
训练过程在这两个目标之间找到平衡。如果KL散度项过度主导损失(例如,如果其权重过高),它可能导致一种称为“后验坍塌”的现象,即编码器有效地忽略输入 x,并且总是输出先验 p(z)。在这种情况下,qϕ(z∣x) 变得独立于 x,潜在代码 z 包含关于输入的很少信息,解码器本质上学会了平均输出,导致重建和生成质量下降。
理解KL散度项的作用和行为对于理解VAE如何学习适合生成任务的结构化潜在空间是根本的。它充当了数据编码与从学习到的概率模型生成新样本之间的桥梁。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造