近似后验分布 $q_\phi(z|x)$ 的表达能力是变分自编码器 (VAE) 性能的一个主要因素。标准VAE通常对 $q_\phi(z|x)$ 采用简单、显式的分布,例如对角高斯分布,主要原因在于这种选择使得证据下界 (ELBO) 中的Kullback-Leibler (KL) 散度项 $D_{KL}(q_\phi(z|x) || p(z))$ 可以进行解析计算。然而,这种简单性可能会严重限制 $q_\phi(z|x)$ 模拟真实且常复杂的后验分布 $p_\theta(z|x)$ 的能力。对抗变分贝叶斯 (AVB) 提供了一种复杂方法,克服此限制,允许使用高灵活度的隐式近似后验分布。挑战:隐式后验分布与难处理的密度函数为了显著提升近似后验分布的灵活性,我们可以隐式地定义它。我们不通过显式概率密度函数指定 $q_\phi(z|x)$,而是定义一个采样过程: $$ z = g_\phi(x, \epsilon) $$ 其中 $g_\phi$ 是一个由$\phi$参数化的神经网络(编码器),$x$ 是输入数据,$\epsilon$ 是从一个简单分布(如标准正态分布 $p(\epsilon)$)中采样的噪声变量。这种构造使得 $q_\phi(z|x)$ 能够表示几乎任何复杂的分布。使用这种隐式 $q_\phi(z|x)$ 的挑战在于,其概率密度函数 $q_\phi(z|x)$ (以及 $\log q_\phi(z|x)$) 通常未知且难以计算。这是一个问题,因为我们旨在最大化的ELBO为: $$ \mathcal{L}{ELBO}(x) = \mathbb{E}{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x) || p(z)) $$ KL散度项展开为: $$ D_{KL}(q_\phi(z|x) || p(z)) = \mathbb{E}{q\phi(z|x)}[\log q_\phi(z|x) - \log p(z)] $$ 在无法访问 $\log q_\phi(z|x)$ 的情况下,我们无法直接计算或优化此KL散度。对抗变分贝叶斯:学习对数后验对抗变分贝叶斯,由Mescheder、Nowozin和Geiger (2017) 提出,提供了一种巧妙的方法来处理这种难处理性。核心思想是训练一个辅助神经网络,通常称为评论器或判别器 $T_\psi(x,z)$ (由 $\psi$ 参数化),以近似难处理的对数密度 $\log q_\phi(z|x)$。评论器网络 $T_\psi(x,z)$评论器网络 $T_\psi(x,z)$ 不是典型的GAN判别器,它不尝试区分“真实”样本和“伪造”样本。相反,它被训练用于估计由隐式编码器 $g_\phi(x, \epsilon)$ 生成的样本的对数密度。这是通过优化 $T_\psi(x,z)$ 相对于以下应最小化的目标函数来实现的: $$ \mathcal{L}T(\psi) = \mathbb{E}{x \sim p_{data}(x)} \left[ \mathbb{E}{\epsilon \sim p(\epsilon)} [\exp(T\psi(x, g_\phi(x,\epsilon))) - T_\psi(x, g_\phi(x,\epsilon))] \right] $$ 可以证明,当此目标函数 $\mathcal{L}T(\psi)$ 最小化时,最优评论器 $T^*\psi(x,z)$ 满足: $$ T^*\psi(x,z) \approx \log q\phi(z|x) - 1 $$ 常数 $-1$ 不是问题,因为它要么抵消,要么导致ELBO中的常数偏移,这不影响相对于 $\phi$ 或 $\theta$ 的梯度(除了ELBO的熵部分,在该部分中它得到适当考虑)。VAE参数的AVB目标函数一旦我们有了评论器 $T_\psi(x,z)$ 提供估计值 $T_\psi(x,z) + 1 \approx \log q_\phi(z|x)$,我们就可以将其代入ELBO公式。VAE的编码器参数 $\phi$ (定义 $g_\phi$) 和解码器参数 $\theta$ (定义 $p_\theta(x|z)$) 的目标是最大化: $$ \mathcal{L}{AVB}(\theta, \phi) = \mathbb{E}{x \sim p_{data}(x)} \left[ \mathbb{E}{\epsilon \sim p(\epsilon)} [\log p\theta(x|g_\phi(x,\epsilon)) + \log p(g_\phi(x,\epsilon)) - (T_\psi(x,g_\phi(x,\epsilon)) + 1)] \right] $$ 这里,$z = g_\phi(x,\epsilon)$。$p(g_\phi(x,\epsilon))$ 项是在生成的潜在样本 $z$ 处评估的先验密度。训练动态:最小最大博弈AVB的整体训练过程变成了一个最小最大(或鞍点)优化问题:更新评论器: 相对于评论器的参数 $\psi$ 最小化 $\mathcal{L}T(\psi)$。此步骤旨在使 $T\psi(x,z)$ 更好地近似 $\log q_\phi(z|x) - 1$。更新VAE: 相对于编码器参数 $\phi$ 和解码器参数 $\theta$ 最大化 $\mathcal{L}{AVB}(\theta, \phi)$。此步骤更新VAE,使用当前评论器对 $\log q\phi(z|x)$ 项的估计值。这两个步骤在训练期间通常交替进行。以下图表展示了AVB的架构和流程:digraph G { rankdir=TB; splines=ortho; node[shape=box, style="filled", margin=0.2, fontname="Helvetica"]; edge[arrowsize=0.7]; X[label="输入 x", shape=ellipse, fillcolor="#a5d8ff"]; Noise[label="噪声 ε", shape=ellipse, fillcolor="#ced4da"]; Encoder[label="编码器 qφ(z|x)\n(隐式: z = gφ(x,ε))", fillcolor="#b2f2bb"]; Z_sample[label="潜在变量 z", shape=ellipse, fillcolor="#ffec99"]; Decoder[label="解码器 pθ(x|z)", fillcolor="#fcc2d7"]; X_prime[label="重构 x'", shape=ellipse, fillcolor="#a5d8ff"]; Critic_T[label="评论器 Tψ(x,z)\n(估计 log qφ(z|x))", fillcolor="#ffd8a8"]; Prior_Pz[label="先验 p(z)\n(VAE目标函数中使用的密度)", shape=note, fillcolor="#e9ecef", style="filled,dashed"]; X -> Encoder; Noise -> Encoder; Encoder -> Z_sample; Z_sample -> Decoder; Decoder -> X_prime; X -> Critic_T [style=dashed, arrowhead=none]; Z_sample -> Critic_T; VAE_Objective[label="VAE目标函数 (最大化 θ,φ)\nlog pθ(x|z) + log p(z) - (Tψ(x,z)+C)", shape=note, fillcolor="#ffc9c9"]; Critic_Objective[label="评论器目标函数 (最小化 ψ)\n𝔼[exp(Tψ(x,z)) - Tψ(x,z)]", shape=note, fillcolor="#d0bfff"]; Z_sample -> VAE_Objective [color="#f03e3e", label=" z "]; Decoder -> VAE_Objective [style=invis]; Prior_Pz -> VAE_Objective [style=dashed, color="#495057", label=" log p(z) "]; Critic_T -> VAE_Objective [color="#f03e3e", label=" Tψ(x,z) "]; Critic_T -> Critic_Objective [color="#7048e8"]; Encoder -> Critic_Objective [style=invis]; X_prime -> VAE_Objective [style=invis, label=" log pθ(x|z) "];}对抗变分贝叶斯中的数据流和目标函数。评论器 $T_\psi(x,z)$ 学习估计隐式后验 $q_\phi(z|x)$ 的对数密度,然后将其用于VAE的目标函数中。$C$ 表示常数项。AVB的“对抗性”特性澄清“对抗性”在AVB背景下的含义很重要。它与生成对抗网络 (GAN) 中的对抗性不同,GAN中的判别器试图区分真实数据和生成数据。在AVB中:编码器 $g_\phi$ (定义 $q_\phi(z|x)$) 生成潜在样本 $z$。评论器 $T_\psi(x,z)$ 尝试准确估计这些样本的 $\log q_\phi(z|x)$。随着编码器 $g_\phi$ 的更新,分布 $q_\phi(z|x)$ 也会改变,因此评论器 $T_\psi(x,z)$ 必须适应这些变化。“对抗性”的方面源于这种交互:VAE参数 $(\theta, \phi)$ 被更新以最大化依赖于评论器 $T_\psi$ 的目标函数,而 $T_\psi$ 同时被更新以更好地模拟由 $\phi$ 定义的密度。这种动态类似于一场双人博弈,构成了鞍点优化的依据。AVB的优点使用AVB可以带来显著改进VAE的性能:高灵活度的后验分布: 主要益处是能够使用由强大的神经网络 $g_\phi(x, \epsilon)$ 定义的隐式 $q_\phi(z|x)$。这使得近似后验能够捕获复杂结构,例如多峰性或非高斯形状,可能更紧密地匹配真实后验 $p_\theta(z|x)$。直接ELBO优化 (近似): AVB仍然优化ELBO的一个近似。通过使用更具表达力的 $q_\phi(z|x)$,AVB可以获得比使用更简单、显式后验的VAE更紧密的ELBO值,前提是评论器对 $\log q_\phi(z|x)$ 的近似是准确的。改进的表示和样本: 更准确的后验近似通常转化为更高质量的学习到的潜在表示,因此,也带来更好的生成性能(例如,更清晰、更多样化的生成样本 $x'$)。挑战与考量虽然功能强大,但AVB也带来了一些挑战:训练稳定性: 最小最大优化问题有时难以稳定训练。通常需要仔细调整学习率和VAE组件及评论器网络架构的超参数。评论器的准确性: AVB的有效性依赖于评论器 $T_\psi(x,z)$ 提供对 $\log q_\phi(z|x)$ 的良好估计。如果评论器训练不佳或能力不足,近似可能不准确,可能阻碍VAE训练。计算成本: 训练一个额外的神经网络(评论器)并执行最小最大优化会增加每次训练迭代的计算开销,与标准VAE相比。超参数敏感性: VAE和评论器之间的关系会引入需要仔细调整的新超参数。尽管存在这些挑战,AVB代表着朝着VAE中更强大、更灵活的变分推断迈出的重要一步。通过超越简单的显式后验分布,AVB使得VAE能够模拟更复杂的数据分布并学习更丰富的潜在表示,扩展了这些生成模型的能力范围。它是一个典型范例,说明复杂的推断技术如何带来VAE的新功能。