以下是对变分自编码器(VAE)中变分下界(VLB)推导过程的详细解析,结合数学原理逐步解释每一步的转换逻辑和物理意义。推导的核心目标是通过变分推断优化负对数似然(即交叉熵损失),最终将问题转化为可计算的KL散度组合。
1. 问题定义与目标函数
目标:最小化观测数据 $\mathbf{x}0$ 的负对数似然(交叉熵损失): $$ L{\text{CE}} = -\mathbb{E}{q(\mathbf{x}0)} \log p\theta(\mathbf{x}0) $$ 挑战:直接计算 $p\theta(\mathbf{x}0)$ 需边缘化隐变量 $\mathbf{x}{1:T}$,涉及高维积分,计算不可行: $$ p\theta(\mathbf{x}0) = \int p\theta(\mathbf{x}{0:T}) , d\mathbf{x}{1:T} $$
解决方案:引入变分分布 $q(\mathbf{x}_{1:T} \vert \mathbf{x}_0)$ 近似真实后验分布,通过变分下界(ELBO)替代优化目标。
2. 引入变分分布与Jensen不等式
步骤推导: $$ \begin{aligned} L_{\text{CE}} &= -\mathbb{E}{q(\mathbf{x}0)} \log \left( \int q(\mathbf{x}{1:T} \vert \mathbf{x}0) \frac{p\theta(\mathbf{x}{0:T})}{q(\mathbf{x}{1:T} \vert \mathbf{x}0)} , d\mathbf{x}{1:T} \right) \ &= -\mathbb{E}{q(\mathbf{x}0)} \log \left( \mathbb{E}{q(\mathbf{x}{1:T} \vert \mathbf{x}0)} \frac{p\theta(\mathbf{x}{0:T})}{q(\mathbf{x}{1:T} \vert \mathbf{x}0)} \right) \ &\leq -\mathbb{E}{q(\mathbf{x}{0:T})} \log \frac{p_\theta(\mathbf{x}{0:T})}{q(\mathbf{x}{1:T} \vert \mathbf{x}_0)} \quad \text{(Jensen不等式)} \end{aligned} $$
数学原理:
- Jensen不等式:由于对数函数是凹函数,对凸函数的期望有 $\log \mathbb{E}[Y] \geq \mathbb{E}[\log Y]$,此处 $Y = \frac{p_\theta}{q}$。通过此不等式将积分外提,得到下界(ELBO)。
- 物理意义:将难以计算的边缘似然 $\log p_\theta(\mathbf{x}0)$ 转化为优化下界问题,确保 $L{\text{VLB}}$ 是 $L_{\text{CE}}$ 的上界。
3. 分解联合分布与马尔可夫假设
步骤推导: $$ L_{\text{VLB}} = \mathbb{E}{q(\mathbf{x}{0:T})} \left[ \log \frac{\prod_{t=1}^T q(\mathbf{x}t \vert \mathbf{x}{t-1})}{p_\theta(\mathbf{x}T) \prod{t=1}^T p_\theta(\mathbf{x}_{t-1} \vert \mathbf{x}_t)} \right] $$
数学原理:
- 联合分布分解:
- 变分分布 $q(\mathbf{x}_{1:T} \vert \mathbf{x}0)$ 基于马尔可夫链假设:$q(\mathbf{x}{1:T} \vert \mathbf{x}0) = \prod{t=1}^T q(\mathbf{x}t \vert \mathbf{x}{t-1})$(前向扩散过程)。
- 生成模型 $p_\theta(\mathbf{x}{0:T})$ 定义为:$p\theta(\mathbf{x}T) \prod{t=1}^T p_\theta(\mathbf{x}_{t-1} \vert \mathbf{x}_t)$(反向生成过程)。
- 物理意义:将复杂的联合分布拆解为可建模的条件概率序列,便于后续计算。
4. 时间步展开与条件概率重组
步骤推导: $$ \begin{aligned} L_{\text{VLB}} &= \mathbb{E}q \left[ -\log p\theta(\mathbf{x}T) + \sum{t=2}^T \log \frac{q(\mathbf{x}t \vert \mathbf{x}{t-1})}{p_\theta(\mathbf{x}_{t-1} \vert \mathbf{x}_t)} + \log \frac{q(\mathbf{x}_1 \vert \mathbf{x}0)}{p\theta(\mathbf{x}_0 \vert \mathbf{x}_1)} \right] \end{aligned} $$
数学原理:
- 条件概率的贝叶斯定理:
利用 $q(\mathbf{x}t \vert \mathbf{x}{t-1}) = q(\mathbf{x}t \vert \mathbf{x}{t-1}, \mathbf{x}0)$(马尔可夫性),并通过贝叶斯公式重组: $$ q(\mathbf{x}{t-1} \vert \mathbf{x}_t, \mathbf{x}_0) = \frac{q(\mathbf{x}t \vert \mathbf{x}{t-1}, \mathbf{x}0) q(\mathbf{x}{t-1} \vert \mathbf{x}_0)}{q(\mathbf{x}t \vert \mathbf{x}0)} $$ 代入后得到: $$ \log \frac{q(\mathbf{x}t \vert \mathbf{x}{t-1})}{p\theta(\mathbf{x}{t-1} \vert \mathbf{x}t)} = \log \frac{q(\mathbf{x}{t-1} \vert \mathbf{x}t, \mathbf{x}0)}{p\theta(\mathbf{x}{t-1} \vert \mathbf{x}_t)} + \log \frac{q(\mathbf{x}_t \vert \mathbf{x}0)}{q(\mathbf{x}{t-1} \vert \mathbf{x}_0)} $$ - 物理意义:将每步的条件概率转化为可计算的KL散度项,并引入中间状态 $\mathbf{x}_0$ 简化问题。
5. 合并与简化
步骤推导: $$ \begin{aligned} L_{\text{VLB}} &= \mathbb{E}_q \left[ \log \frac{q(\mathbf{x}T \vert \mathbf{x}0)}{p\theta(\mathbf{x}T)} + \sum{t=2}^T \log \frac{q(\mathbf{x}{t-1} \vert \mathbf{x}t, \mathbf{x}0)}{p\theta(\mathbf{x}{t-1} \vert \mathbf{x}t)} - \log p\theta(\mathbf{x}_0 \vert \mathbf{x}_1) \right] \end{aligned} $$
数学原理:
- 求和项的简化:
$\sum_{t=2}^T \log \frac{q(\mathbf{x}_t \vert \mathbf{x}0)}{q(\mathbf{x}{t-1} \vert \mathbf{x}_0)} = \log \frac{q(\mathbf{x}_T \vert \mathbf{x}_0)}{q(\mathbf{x}_1 \vert \mathbf{x}_0)}$(裂项相消)。 - KL散度定义:
根据KL散度公式 $D_{\text{KL}}(P \parallel Q) = \mathbb{E}_P \left[ \log \frac{P}{Q} \right]$,将各项转化为KL散度: $$ \mathbb{E}_q \left[ \log \frac{q(\mathbf{x}_T \vert \mathbf{x}0)}{p\theta(\mathbf{x}T)} \right] = D{\text{KL}}(q(\mathbf{x}_T \vert \mathbf{x}0) \parallel p\theta(\mathbf{x}_T)) $$ 类似地,中间项和末尾项也分别对应KL散度和重构损失。
6. 最终目标函数
步骤推导: $$ L_{\text{VLB}} = \mathbb{E}q \left[ \underbrace{D{\text{KL}}(q(\mathbf{x}T \vert \mathbf{x}0) \parallel p\theta(\mathbf{x}T))}{L_T} + \sum{t=2}^T \underbrace{D_{\text{KL}}(q(\mathbf{x}{t-1} \vert \mathbf{x}t, \mathbf{x}0) \parallel p\theta(\mathbf{x}{t-1} \vert \mathbf{x}t))}{L{t-1}} \underbrace{- \log p_\theta(\mathbf{x}_0 \vert \mathbf{x}1)}{L_0} \right] $$
数学原理:
- 各项的物理意义:
- $L_T$:约束最终状态 $\mathbf{x}_T$ 的分布与先验分布(如标准高斯)对齐。
- $L_{t-1}$:约束反向生成过程 $p_\theta$ 逼近前向扩散的后验 $q(\mathbf{x}_{t-1} \vert \mathbf{x}_t, \mathbf{x}_0)$。
- $L_0$:重构损失,确保生成数据 $\mathbf{x}_0$ 与原始数据一致。
- 可计算性:
- $L_T$ 和 $L_{t-1}$ 在假设 $q$ 和 $p_\theta$ 为高斯分布时,KL散度有解析解(如均值和方差的二次函数)。
- $L_0$ 对应像素级重构损失(如交叉熵或均方误差)。
总结:推导的核心思想
- 变分推断框架:通过引入变分分布 $q$,将不可计算的边缘似然转化为可优化的下界(ELBO)。
- Jensen不等式:关键步骤,将积分问题转化为期望的优化问题。
- 马尔可夫链分解:利用时间序列的条件独立性,将联合分布拆解为可建模的条件概率。
- KL散度最小化:将生成过程 $p_\theta$ 与扩散过程 $q$ 的对齐问题转化为KL散度项,确保潜在空间的结构可控性。
- 损失函数设计:最终目标函数由多个子目标组成,平衡了生成质量、分布对齐和数据重构的需求。
此推导在扩散模型(如DDPM)和VAE中通用,是生成模型优化的理论基础。
是的,你的理解完全正确。在概率模型中,符号 $\mathbf{x}{0:T}$ 表示从时间步 $t=0$ 到 $t=T$ 的随机变量序列,而联合概率分布 $p(\mathbf{x}{0:T})$ 或 $q(\mathbf{x}_{0:T})$ 描述的是这些变量同时取到特定值组合的概率。以下是详细解释:
1. 符号 $\mathbf{x}_{0:T}$ 的含义
- 序列表示:
$\mathbf{x}_{0:T} = (\mathbf{x}_0, \mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_T)$ 表示一个时间序列上的随机变量集合,其中:- $\mathbf{x}_0$ 是初始状态(如原始数据),
- $\mathbf{x}_T$ 是终止状态(如扩散后的噪声数据)。
- 联合概率分布:
$p(\mathbf{x}{0:T})$ 定义为所有变量同时取特定值的概率:
$$ p(\mathbf{x}{0:T}) = p(\mathbf{x}_0 = a, \mathbf{x}_1 = b, \dots, \mathbf{x}_T = z) $$
其中 $a, b, \dots, z$ 是各变量的具体取值。
2. 联合概率的物理意义
- 同时发生的概率:
联合分布描述的是事件 ${\mathbf{x}_0=a, \mathbf{x}_1=b, \dots, \mathbf{x}_T=z}$ 同时发生的概率。例如:- 在扩散模型中,$p(\mathbf{x}_{0:T})$ 表示数据从初始状态 $\mathbf{x}_0$ 逐步扩散到 $\mathbf{x}_T$ 的完整路径的概率。
- 在马尔可夫链中,它表示状态序列从 $t=0$ 到 $t=T$ 的转移过程中所有状态同时出现的概率。
- 数学本质:
联合概率是多维随机向量的分布,需满足:- 离散变量:$\sum_{\mathbf{x}0} \sum{\mathbf{x}1} \cdots \sum{\mathbf{x}T} p(\mathbf{x}{0:T}) = 1$(所有可能取值组合的概率和为1)。
- 连续变量:$\int_{\mathbf{x}0} \int{\mathbf{x}1} \cdots \int{\mathbf{x}T} p(\mathbf{x}{0:T}) d\mathbf{x}_0 d\mathbf{x}_1 \cdots d\mathbf{x}_T = 1$。
3. 序列模型中的简化计算(马尔可夫性)
若序列满足马尔可夫性(当前状态仅依赖前一状态),联合概率可分解为条件概率的乘积: $$ p(\mathbf{x}_{0:T}) = p(\mathbf{x}0) \prod{t=1}^T p(\mathbf{x}t \mid \mathbf{x}{t-1}) $$
- 示例:
在扩散模型的前向过程中,联合分布 $q(\mathbf{x}_{1:T} \vert \mathbf{x}0)$ 被简化为: $$ q(\mathbf{x}{1:T} \vert \mathbf{x}0) = \prod{t=1}^T q(\mathbf{x}t \vert \mathbf{x}{t-1}) $$ 其中每个 $q(\mathbf{x}t \vert \mathbf{x}{t-1})$ 是单步转移概率。
4. 与边缘概率的区别
- 联合概率:描述所有变量同时取值的概率(完整序列)。
- 边缘概率:通过积分/求和消去部分变量后得到的子集概率(如 $p(\mathbf{x}0) = \int p(\mathbf{x}{0:T}) d\mathbf{x}_{1:T}$)。
总结
- $\mathbf{x}{0:T}$ 的联合分布 $p(\mathbf{x}{0:T})$ 确实表示随机变量序列 $\mathbf{x}_0, \mathbf{x}_1, \dots, \mathbf{x}_T$ 同时取到某一组特定值的概率。
- 在时序模型(如扩散模型、马尔可夫链)中,这一概念是建模序列动态的核心工具。
交叉熵损失函数写成 $L_{\text{CE}} = -\mathbb{E}_{q(\mathbf{x}0)} \log p\theta(\mathbf{x}_0)$ 的形式,是机器学习中最大似然估计(MLE)框架下的标准表达,其背后的数学原理和物理意义如下:
1. 交叉熵的定义与目标
交叉熵(Cross-Entropy)用于衡量两个概率分布之间的差异:
- 真实分布:$q(\mathbf{x}_0)$ 表示数据真实的概率分布(如训练数据的标签分布)。
- 预测分布:$p_\theta(\mathbf{x}0)$ 是模型参数 $\theta$ 预测的概率分布。 交叉熵的数学定义为: $$ H(q, p\theta) = -\mathbb{E}{\mathbf{x}0 \sim q} \left[ \log p\theta(\mathbf{x}0) \right] $$ 最小化 $H(q, p\theta)$ 等价于让模型预测分布 $p\theta$ 逼近真实分布 $q$ 。
2. 期望 $\mathbb{E}_{q(\mathbf{x}_0)}$ 的含义
- 期望符号 $\mathbb{E}$:表示对真实分布 $q(\mathbf{x}_0)$ 的所有可能取值 $\mathbf{x}_0$ 求平均。
- 物理意义:在训练数据上,对所有样本的损失求平均。若训练集有 $N$ 个样本,且每个样本独立同分布(i.i.d.),则: $$ \mathbb{E}{q(\mathbf{x}0)} \left[ \log p\theta(\mathbf{x}0) \right] \approx \frac{1}{N} \sum{i=1}^N \log p\theta(\mathbf{x}_0^{(i)}) $$ 其中 $\mathbf{x}_0^{(i)}$ 是第 $i$ 个样本。
3. 负号 $-\cdot$ 的作用
负号将最大化问题转化为最小化问题:
- 最大似然估计(MLE):目标是最大化数据的对数似然 $\log p_\theta(\mathbf{x}_0)$。
- 等价转换: $$ \max_\theta \mathbb{E}{q(\mathbf{x}0)} \left[ \log p\theta(\mathbf{x}0) \right] \iff \min\theta \left( -\mathbb{E}{q(\mathbf{x}0)} \left[ \log p\theta(\mathbf{x}0) \right] \right) $$ 因此,$L{\text{CE}} = -\mathbb{E}_{q(\mathbf{x}0)} \log p\theta(\mathbf{x}_0)$ 直接对应最大似然估计的目标。
4. 与 KL 散度的关系
交叉熵可分解为 KL 散度 + 真实分布的熵: $$ H(q, p_\theta) = \underbrace{D_{\text{KL}}(q \parallel p_\theta)}{\text{分布差异}} + \underbrace{H(q)}{\text{固定常数}} $$ 其中:
- $D_{\text{KL}}(q \parallel p_\theta) = \mathbb{E}_{q} \left[ \log \frac{q(\mathbf{x}0)}{p\theta(\mathbf{x}0)} \right]$ 衡量 $q$ 与 $p\theta$ 的差异。
- $H(q) = -\mathbb{E}_{q} \left[ \log q(\mathbf{x}_0) \right]$ 是真实分布的熵,与模型参数 $\theta$ 无关。 最小化交叉熵等价于最小化 KL 散度,即直接优化模型分布与真实分布的距离。
5. 在生成模型中的具体应用
在扩散模型、VAE 等生成模型中:
- 真实分布 $q(\mathbf{x}_0)$:观测数据 $\mathbf{x}_0$ 的分布(如训练图片的分布)。
- 模型分布 $p_\theta(\mathbf{x}_0)$:生成模型对数据分布的近似(如扩散模型的反向生成过程)。 最小化 $L_{\text{CE}}$ 即要求模型生成的数据概率 $p_\theta(\mathbf{x}_0)$ 尽可能接近真实数据分布。
6. 与其他损失形式的一致性
分类任务中的常见形式
- 多分类交叉熵(one-hot 标签): $$ L_{\text{CE}} = -\sum_{k=1}^K y_k \log p_k $$ 其中 $y_k$ 是真实标签(0 或 1),$p_k$ 是模型预测的第 $k$ 类概率。此形式是期望形式在离散情况下的特例。
二分类交叉熵
$$ L = -\left[ y \log \hat{y} + (1-y) \log (1-\hat{y}) \right] $$ 同样是期望形式在二分类下的具体化($y \in {0,1}$)。
总结:为什么这样写?
- 数学本质:是交叉熵的标准定义式,直接反映分布差异。
- 优化目标:通过负号将最大化似然转换为最小化问题。
- 泛化性:适用于连续/离散分布,是分类任务中常见形式的推广。
- 理论等价性:最小化交叉熵 = 最小化 KL 散度 = 最大似然估计。
该形式是生成模型(如扩散模型)优化的理论基础,也是分类任务中交叉熵损失的通用表达式。
💬 评论