变分推断(Variational Inference, VI)数学角度,以及结合神经网络的形式

之前写过变分方法(variational method)不再优化一个数或向量,而是优化一个"函数/场"

文章目录

0、为什么叫"变分"?

名字来自变分法(Calculus of Variations)

它研究的是:

如何让"函数的函数"(泛函 functional)取得最小值

比如:

  • 普通优化:最小化 (f(x))
  • 变分优化:最小化 (Eu(x))

典型形式,几乎所有变分模型都是这个结构:

E ( u ) = E data ( u ) ⏟ ∗ 数据一致性 + E ∗ prior ( u ) ⏟ 先验/正则 E(u) = \underbrace{E_{\text{data}}(u)}*{\text{数据一致性}} + \underbrace{E*{\text{prior}}(u)}_{\text{先验/正则}} E(u)= Edata(u)∗数据一致性+先验/正则 E∗prior(u)


(1) 数据项(data term)

让结果"符合观测"

例如光流:

I 1 ( x ) ≈ I 2 ( x + u ) I_1(x) \approx I_2(x + u) I1(x)≈I2(x+u)


(2) 正则项(regularization)

让结果"合理"

比如:

  • 平滑
  • 边缘保持
  • 稀疏性

经典例子:

∣ ∇ u ∣ 2 ( 平滑 ) |\nabla u|^2 \quad (\text{平滑}) ∣∇u∣2(平滑)

或 TV:

∣ ∇ u ∣ 1 ( 保边缘 ) |\nabla u|_1 \quad (\text{保边缘}) ∣∇u∣1(保边缘)


1、数学本源

1.1 变分推断的核心公式

变分推断的核心目标是:找到一个好的近似分布 q ϕ ( z ) q_\phi(z) qϕ(z),让它尽可能接近真实的后验分布 p ( z ∣ x ) p(z|x) p(z∣x)。

由于真实后验分布 p ( z ∣ x ) p(z|x) p(z∣x) 通常涉及难以计算的积分(归一化常数),我们转而优化一个叫做 ELBO (Evidence Lower Bound,证据下界) 的量。最大化 ELBO 等价于最小化近似分布 q q q 与真实后验 p p p 之间的差异(KL 散度)。

核心公式推导
  1. 取对数边际似然(Log Marginal Likelihood):

    log ⁡ p θ ( x ) \log p_\theta(x) logpθ(x)

    这是我们要最大化的目标,但它是常数(对于给定的 x x x),我们无法直接优化它来求参数,因为里面包含了无法计算的后验。

  2. 引入变分分布 q ϕ ( z ) q_\phi(z) qϕ(z):

    我们引入任意一个分布 q ϕ ( z ) q_\phi(z) qϕ(z) 来近似后验。利用数学恒等式,我们可以将 log ⁡ p θ ( x ) \log p_\theta(x) logpθ(x) 分解为两部分:

    log ⁡ p θ ( x ) = D K L ( q ϕ ( z ) ∣ ∣ p θ ( z ∣ x ) ) ⏟ KL Divergence ≥ 0 + L ( θ , ϕ ) ⏟ ELBO \log p_\theta(x) = \underbrace{D_{KL}(q_\phi(z) || p_\theta(z|x))}{\text{KL Divergence} \ge 0} + \underbrace{\mathcal{L}(\theta, \phi)}{\text{ELBO}} logpθ(x)=KL Divergence≥0 DKL(qϕ(z)∣∣pθ(z∣x))+ELBO L(θ,ϕ)

    其中:

    • log ⁡ p θ ( x ) \log p_\theta(x) logpθ(x) 是数据的对数似然。
    • D K L ( q ϕ ( z ) ∣ ∣ p θ ( z ∣ x ) ) D_{KL}(q_\phi(z) || p_\theta(z|x)) DKL(qϕ(z)∣∣pθ(z∣x)) 是近似分布 q q q 和真实后验 p p p 之间的 KL 散度。因为 KL 散度永远非负,所以:
    • L ( θ , ϕ ) ≤ log ⁡ p θ ( x ) \mathcal{L}(\theta, \phi) \le \log p_\theta(x) L(θ,ϕ)≤logpθ(x)。这就是为什么它叫"下界"。
  3. ELBO 的具体表达式(未结合神经网络前):

    展开 KL 散项,我们可以得到 ELBO 的标准形式:

    L ( θ , ϕ ) = E q ϕ ( z ∣ x ) log ⁡ p θ ( x ∣ z ) − D K L ( q ϕ ( z ) ∣ ∣ p θ ( z ) ) \mathcal{L}(\theta, \phi) = \mathbb{E}{q\phi(z|x)} \\log p_\\theta(x\|z) - D_{KL}(q_\phi(z) || p_\theta(z)) L(θ,ϕ)=Eqϕ(z∣x)logpθ(x∣z)−DKL(qϕ(z)∣∣pθ(z))

    这个公式的物理意义非常清晰:

    • 第一项 E q ϕ ( z ∣ x ) log ⁡ p θ ( x ∣ z ) \mathbb{E}{q\phi(z|x)} \\log p_\\theta(x\|z) Eqϕ(z∣x)logpθ(x∣z)重构项(Reconstruction Term) 。它衡量的是:如果我们用 q ϕ q_\phi qϕ 采样出的 z z z 来重构数据 x x x,重构的效果好不好?我们希望重构误差越小越好(即对数似然越大越好)。
    • 第二项 − D K L ( q ϕ ( z ) ∣ ∣ p θ ( z ) ) - D_{KL}(q_\phi(z) || p_\theta(z)) −DKL(qϕ(z)∣∣pθ(z))正则化项(Regularization Term) 。它衡量的是:我们学习到的近似后验 q ϕ ( z ) q_\phi(z) qϕ(z) 和原始先验 p θ ( z ) p_\theta(z) pθ(z)(通常是标准正态分布)有多像?我们希望它们越像越好,这样 z z z 的分布就是平滑且合法的。

1.2. 没有结合神经网络时是怎样的?

在深度学习普及之前(2000年代及以前),变分推断通常用于传统统计模型,如高斯混合模型(GMM)、主题模型(LDA)、线性高斯状态空间模型等。

在这种语境下,变分推断通常被称为 Mean-Field Approximation(均值场近似)Expectation-Maximization (EM) 算法的变体

关键特征:
  1. 分布形式是固定的(Parametric Family)

    没有神经网络来拟合任意复杂的 q ( z ∣ x ) q(z|x) q(z∣x)。相反,研究者必须人为假设 q ϕ ( z ) q_\phi(z) qϕ(z) 属于某个简单的数学分布家族。

    • 例如:假设 z z z 服从高斯分布 N ( μ , Σ ) N(\mu, \Sigma) N(μ,Σ)。
    • 参数 ϕ \phi ϕ 仅仅是均值 μ \mu μ 和协方差 Σ \Sigma Σ。
  2. 解析解(Analytical Solutions)

    由于分布形式简单,ELBO 中的期望 E q ϕ ( z ∣ x ) log ⁡ p θ ( x ∣ z ) \mathbb{E}{q\phi(z|x)} \\log p_\\theta(x\|z) Eqϕ(z∣x)logpθ(x∣z) 和 KL 散度通常可以解析计算(即写出闭式解,不需要采样)。

    • 我们不需要用蒙特卡洛采样来估计梯度。
    • 我们可以直接对 L \mathcal{L} L 关于 ϕ \phi ϕ 求导,令导数为0,解出最优的 μ \mu μ 和 Σ e a c h \Sigma each Σeach。
  3. 变分EM算法(Variational EM)

    训练过程通常是一个交替优化的过程:

    • E步(变分步) :固定模型参数 θ \theta θ,通过解析公式更新变分参数 ϕ \phi ϕ(即更新 q ( z ) q(z) q(z))。
    • M步(最大似然步) :固定变分参数 ϕ \phi ϕ(即固定近似后验),通过最大似然估计更新生成模型参数 θ \theta θ。
具体例子:高斯混合模型 (GMM)

在传统的 GMM 变分推断中:

  • 隐变量 :每个数据点 x i x_i xi 所属的簇 z i z_i zi(离散变量,但在变分推断中常松弛为连续概率向量)。
  • 近似分布 : q ( z i ) = Categorical ( γ i ) q(z_i) = \text{Categorical}(\gamma_i) q(zi)=Categorical(γi)。
  • 参数 : ϕ = { γ i } i = 1 N \phi = \{\gamma_i\}_{i=1}^N ϕ={γi}i=1N,即每个数据点属于各个簇的概率。
  • 更新公式
    γ i k ∝ exp ⁡ ( E q log ⁡ π k + E q log ⁡ N ( x i ∣ μ k , Σ k ) ) \gamma_{ik} \propto \exp(\mathbb{E}{q}\\log \\pi_k + \mathbb{E}{q}\\log \\mathcal{N}(x_i \| \\mu_k, \\Sigma_k)) γik∝exp(Eqlogπk+EqlogN(xi∣μk,Σk))
    这是一个可以直接计算的公式,不需要反向传播。
具体例子:线性高斯模型
  • 隐变量 :连续向量 z z z。
  • 近似分布 : q ( z ∣ x ) = N ( z ; μ , Σ ) q(z|x) = N(z; \mu, \Sigma) q(z∣x)=N(z;μ,Σ)。
  • 参数 : ϕ = { μ , Σ } \phi = \{\mu, \Sigma\} ϕ={μ,Σ}。
  • 更新方式 :通过求解线性方程组或简单的矩阵运算更新 μ \mu μ 和 Σ \Sigma Σ。

2、结合神经网络的形式

2.1传统变分推断 (无神经网络)

  • 近似分布 q ( z ∣ x ) q(z|x) q(z∣x) 的形式: 固定且简单(如高斯、多项式)。参数少(均值、方差)。
  • 参数 ϕ \phi ϕ 的含义 :分布的统计参数(如 μ , Σ \mu, \Sigma μ,Σ)。
  • 如何优化 ϕ \phi ϕ解析解或简单的数值优化。通过求导令其为0。
  • 期望 E ...   \mathbb{E}\\dots E... 的计算解析计算。直接积分得到公式。
  • 适用场景 :小数据、低维、结构化模型(LDA, GMM, 状态空间模型)。
    灵活性 :低。如果真实后验很复杂,简单的 q q q 无法逼近,导致推断质量差。

2.2深度变分推断 (结合神经网络, 如 VAE)

  • 近似分布 q ( z ∣ x ) q(z|x) q(z∣x) 的形式:复杂且灵活。由神经网络参数化,可以拟合任意复杂的分布。
  • 参数 ϕ \phi ϕ 的含义:神经网络的所有权重和偏置。
  • 如何优化 ϕ \phi ϕ随机梯度下降 (SGD) 。通过反向传播计算梯度 ∇ ϕ L \nabla_\phi \mathcal{L} ∇ϕL。
  • 期望 E ...   \mathbb{E}\\dots E... 的计算蒙特卡洛采样 。必须用采样估计期望(这就需要重参数化技巧)。
  • 适用场景:大数据、高维、非结构化数据(图像、文本、视频)。
  • 灵活性: 高。深层神经网络可以逼近任意复杂的后验分布。 |

2.3 变分推断公式本身相同,不同的是如何表示 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(z∣x)

没有结合神经网络时的变分推断

它是一种基于解析推导 的统计学习方法。它依赖于对分布形式的强假设 (如高斯假设),通过数学公式直接解出参数。它适用于结构清晰、维度较低的传统统计模型。

结合神经网络后的变分推断

它是一种基于优化和采样 的深度学习技术。它利用神经网络作为万能函数近似器 来打破对分布形式的限制,通过重参数化技巧反向传播来处理高维和非线性问题。它使得贝叶斯方法能够应用于图像、语言等复杂数据。

变分推断公式本身(ELBO)在两种情况下是完全相同 的,区别仅在于我们如何表示 q ϕ ( z ∣ x ) q_\phi(z|x) qϕ(z∣x) 以及如何计算其梯度。

相关推荐
kTR2hD1qb1 小时前
AI助手如何重塑开发工作流
人工智能
咖啡星人k1 小时前
MonkeyCode 私有化部署实战:企业内网AI开发环境搭建全流程
人工智能·monkeycode
lqqjuly1 小时前
一致性模型深度解析
人工智能·深度学习·算法
cxr8281 小时前
基于人工智能的超材料逆向设计
人工智能·材料逆向设计合成
霸道流氓气质1 小时前
Spring AI Alibaba Skills 完整实战:从零构建智能会议助手
java·人工智能·spring
眠りたいです1 小时前
LangChainv1:agent快速上手与中间件认识
人工智能·python·中间件·langchain·langgraph
JJJennie7771 小时前
从苹果 2026 落地场景,看系统级 Agent 时代的隐私边界与 MAI Gateway 的企业Token治理
人工智能·gateway·apple
甲维斯1 小时前
我超!Claude Fable真来了,比Mythos还强?!
人工智能
三叶草4351 小时前
Claude Code 接入 DeepSeek强强联合
人工智能