Paper Reading / Variational Inference

Variational Autoencoders

从不可积的潜变量模型,到可微、可扩展、可采样的学习框架。

这篇 2019 年教程真正讲清楚的,不是“一个 encoder 接一个 decoder”,而是如何把近似后验、证据下界与低方差梯度估计器组合成可用 minibatch SGD 训练的深度潜变量模型。

Diederik P. Kingma · Max WellingFoundations and Trends in Machine Learning 12(4)pp. 307–392 · 2019arXiv:1906.02691v3DOI:10.1561/2200000056
阅读原文 ↗进入 ELBO 推导 ↓
86正式页码:307–392
3可扩展学习的关键部件
0本教程新增统一 benchmark 数量

身份说明:这是对 2013/2014 年 Auto-Encoding Variational Bayes 的扩展教程与选择性综述,不是原始 AEVB 论文,也不是全面覆盖所有 VAE 文献的 survey。核查日期:2026-09-27。

01 / WHAT THIS WORK IS

它是教程,也是一次框架化重述

作者把 VAE 定义为两个耦合但独立参数化的概率模型:生成模型 \(p_{\theta}(\mathbf{x},\mathbf{z})\) 解释数据如何由潜变量产生;推断模型 \(q_{\phi}(\mathbf{z}\mid\mathbf{x})\) 近似无法直接计算的真实后验。两者通过同一个 ELBO 目标联合优化。encoder 的价值不是压缩本身,而是把每个样本都要单独迭代求解的 variational inference,摊销为一次前向传播。

Paper Verified

本文明确完成

给出 DLVM 背景、ELBO 等式推导、随机梯度与重参数化、Gaussian posterior、重要性采样、IAF、多层潜变量和应用回顾。

Author Claim

作者的中心判断

VAE 把 directed graphical model 与 deep learning 接起来,使连续潜变量的近似后验推断和近似最大似然学习可扩展到大数据。

Our Interpretation

不要误读为架构论文

“VAE”首先是一套目标与梯度估计框架。卷积层数、latent 维度、decoder 类型不是此教程规定的固定结构。

证据边界。

文中的 MNIST、ImageNet、化学设计、文本插值与图像编辑数字或图片来自被引用的后续工作;Figure 3.2 是用于说明 IAF 灵活性的 toy fit。本文没有重新训练一组统一 baseline、没有新数据集,也没有自己的系统消融表。

原论文 Figure 2.1:数据空间、潜空间、encoder、decoder 和 prior 的关系
原论文 Figure 2.1。 数据分布位于复杂的 \(\mathbf{x}\)-space;encoder 将每个样本映射为潜空间中的分布,decoder 从潜变量生成观测。图中虚线强调这些映射是随机分布,不是确定的普通 autoencoder。PDF p.20

02 / FORMULATION

问题不是重建,而是不可积的边际似然

给定 i.i.d. 数据集 \(\mathcal{D}=\{\mathbf{x}^{(i)}\}_{i=1}^{N}\),作者希望学习一个含未观测变量 \(\mathbf{z}\) 的 joint model。最常见分解是:

\[p_{\theta}(\mathbf{x},\mathbf{z})=p(\mathbf{z})p_{\theta}(\mathbf{x}\mid\mathbf{z}).\]
\(p(\mathbf{z})\) 是 prior;\(p_{\theta}(\mathbf{x}\mid\mathbf{z})\) 是 generative model / decoder;\(\theta\) 是生成模型参数。训练想最大化 \(\sum_i\log p_{\theta}(\mathbf{x}^{(i)})\)。

但边际似然需要消去潜变量:

\[p_{\theta}(\mathbf{x})=\int p_{\theta}(\mathbf{x},\mathbf{z})\,d\mathbf{z}.\]
神经网络参数化后,这个积分通常没有解析解,也缺少高效的直接估计;因此 \(\log p_{\theta}(\mathbf{x})\) 及其梯度不可直接用于训练。由 Bayes 公式 \(p_{\theta}(\mathbf{z}\mid\mathbf{x})=p_{\theta}(\mathbf{x},\mathbf{z})/p_{\theta}(\mathbf{x})\),真实后验也同时变得不可算。

VAE 引入 \(q_{\phi}(\mathbf{z}\mid\mathbf{x})\) 近似真实后验。其参数 \(\phi\) 在所有数据点之间共享,这就是 amortized inference:用训练 encoder 的成本,换掉测试时对每个样本单独做 variational optimization 的内循环。

符号含义在计算图中的作用
\(\mathbf{x}\)观测数据,可连续或离散encoder 输入、decoder 的 likelihood 目标
\(\mathbf{z}\)模型中的未观测随机变量解释变化因素;训练时由近似后验采样
\(\theta\)生成模型参数决定 joint / decoder;最大化近似数据似然
\(\phi\)推断模型的 variational parameters由 encoder 产生 posterior distribution 的参数
\(q_{\phi}\)近似后验,不是 prior训练时给出易采样、易算密度的 proposal
\(\mathbf{\epsilon}\)与 \(\mathbf{x},\phi\) 独立的基础噪声把随机性移出计算路径,使梯度可反传

03 / EVIDENCE LOWER BOUND

ELBO 是一个等式拆分出来的下界

教程刻意不从 Jensen 不等式开始,而是把任意 \(q_{\phi}(\mathbf{z}\mid\mathbf{x})\) 乘入再除去,直接显示“下界差多少”。

\[ \begin{aligned} \log p_{\theta}(\mathbf{x}) &=\mathbb{E}_{q_{\phi}(\mathbf{z}\mid\mathbf{x})}\!\left[\log p_{\theta}(\mathbf{x})\right]\\ &=\mathbb{E}_{q_{\phi}}\!\left[\log\frac{p_{\theta}(\mathbf{x},\mathbf{z})}{q_{\phi}(\mathbf{z}\mid\mathbf{x})}\right] +\mathbb{E}_{q_{\phi}}\!\left[\log\frac{q_{\phi}(\mathbf{z}\mid\mathbf{x})}{p_{\theta}(\mathbf{z}\mid\mathbf{x})}\right]\\ &=\mathcal{L}_{\theta,\phi}(\mathbf{x}) +D_{\mathrm{KL}}\!\left(q_{\phi}(\mathbf{z}\mid\mathbf{x})\,\|\,p_{\theta}(\mathbf{z}\mid\mathbf{x})\right). \end{aligned} \]
第二项非负,所以 \(\mathcal{L}_{\theta,\phi}(\mathbf{x})\le\log p_{\theta}(\mathbf{x})\)。当且仅当 approximate posterior 等于真实 posterior 时,KL 为零、界变紧。

ELBO 的最一般形式是:

\[\mathcal{L}_{\theta,\phi}(\mathbf{x})=\mathbb{E}_{q_{\phi}(\mathbf{z}\mid\mathbf{x})}\!\left[\log p_{\theta}(\mathbf{x},\mathbf{z})-\log q_{\phi}(\mathbf{z}\mid\mathbf{x})\right].\]

若 joint 分解为 \(p(\mathbf{z})p_{\theta}(\mathbf{x}\mid\mathbf{z})\),得到最常见的“重建 + 正则”写法:

\[\mathcal{L}_{\theta,\phi}(\mathbf{x})=\underbrace{\mathbb{E}_{q_{\phi}}[\log p_{\theta}(\mathbf{x}\mid\mathbf{z})]}_{\text{expected log-likelihood}}-\underbrace{D_{\mathrm{KL}}(q_{\phi}(\mathbf{z}\mid\mathbf{x})\,\|\,p(\mathbf{z}))}_{\text{latent cost}}.\]
第一项只有在特定 observation model 下才等价于熟悉的 MSE 或 binary cross-entropy;第二项不是随意添加的 autoencoder regularizer,而是变分下界推导出来的代价。

“一份目标,解决两件事”

对 \(\theta\) 优化

提升 joint model 对数据与潜变量样本的解释能力,因而近似提升 marginal likelihood。

对 \(\phi\) 优化

缩小 \(q_{\phi}(\mathbf{z}\mid\mathbf{x})\) 与当前真实 posterior 的 KL,使 encoder 更接近有效推断。

关键限制。

最大化 ELBO 不等于直接最大化精确 likelihood。模型误差与 posterior family 受限时,ELBO 可能通过改变生成模型来配合一个容易近似的 posterior;这被称作 variational bias。教程通过 joint-space KL 分解说明了这点。

04 / PATHWISE GRADIENT

重参数化:把“从参数化分布采样”改写成可微函数

对 \(\theta\) 求梯度较直接,因为采样分布 \(q_{\phi}\) 不依赖 \(\theta\)。困难在 \(\phi\):期望的 measure 自身会随 \(\phi\) 变化,不能把梯度简单移入 expectation。

对于连续潜变量,选一个与 \(\mathbf{x},\phi\) 无关的噪声分布 \(p(\mathbf{\epsilon})\),并构造可微映射:

\[\mathbf{\epsilon}\sim p(\mathbf{\epsilon}),\qquad \mathbf{z}=g_{\phi}(\mathbf{\epsilon},\mathbf{x}).\]

于是:

\[ \nabla_{\phi}\,\mathbb{E}_{q_{\phi}(\mathbf{z}\mid\mathbf{x})}[f(\mathbf{z})] =\nabla_{\phi}\,\mathbb{E}_{p(\mathbf{\epsilon})}[f(g_{\phi}(\mathbf{\epsilon},\mathbf{x}))] =\mathbb{E}_{p(\mathbf{\epsilon})}[\nabla_{\phi}f(g_{\phi}(\mathbf{\epsilon},\mathbf{x}))]. \]
随机性现在位于计算图外部,给定一份噪声后,\(\mathbf{z}\) 是 \(\phi\) 的确定可微函数,automatic differentiation 可以沿 pathwise derivative 反传。交换梯度与期望还需要常见正则条件,例如映射与 integrand 几乎处处可微、导数可积并存在可积的支配函数;这些条件不能只由“写成采样函数”自动保证。
可微与可逆是两件事。

pathwise gradient 本身只要求能把样本写成对 \(\phi\) 可微的变换;不要求该变换可逆。本文随后为计算 \(\log q_{\phi}(\mathbf{z}\mid\mathbf{x})\) 选择可逆变换,并用 change-of-variables 与 Jacobian determinant 得到密度。可逆性服务于 density evaluation,不是重参数化梯度的一般必要条件。

原论文 Figure 2.3:重参数化前后梯度路径
原论文 Figure 2.3。 左侧随机节点阻断普通反传;右侧把随机性外置为 \(\mathbf{\epsilon}\),让梯度穿过 \(g_{\phi}\)。这不是让采样“变确定”,而是把随机源与待优化参数解耦。PDF p.25

单样本 SGVB estimator

\[ \widetilde{\mathcal{L}}_{\theta,\phi}(\mathbf{x};\mathbf{\epsilon}) =\log p_{\theta}(\mathbf{x},\mathbf{z})-\log q_{\phi}(\mathbf{z}\mid\mathbf{x}), \quad \mathbf{z}=g_{\phi}(\mathbf{\epsilon},\mathbf{x}). \]
对噪声取平均时,梯度等于精确单样本 ELBO 的梯度,因此梯度估计无偏;ELBO 数值本身仍是随机估计。

score-function estimator 是另一条路

\[\nabla_{\phi}\mathbb{E}_{q_{\phi}}[f(\mathbf{z})]=\mathbb{E}_{q_{\phi}}[f(\mathbf{z})\nabla_{\phi}\log q_{\phi}(\mathbf{z}\mid\mathbf{x})],\qquad \text{if }f\text{ has no explicit }\phi\text{-dependence}.\]

一般地,若 \(f_{\phi}\) 还显式依赖 \(\phi\),右侧必须再加 \(\mathbb{E}_{q_{\phi}}[\nabla_{\phi}f_{\phi}(\mathbf{z})]\)。对 ELBO 令 \(f_{\phi}=\log p_{\theta}(\mathbf{x},\mathbf{z})-\log q_{\phi}(\mathbf{z}\mid\mathbf{x})\) 时,这个显式项不能在逐样本推导中凭空忽略;其期望中的 score 部分为零,才得到常见 likelihood-ratio 形式。该估计器不要求连续、可微的 \(\mathbf{z}\),可用于离散 latent;代价是只通过标量 reward 传信息,通常方差高,需要 baseline / control variate。教程引用 Kucukelbir 等人的结果:在其比较中,复杂的 score-function estimator 为达到同等方差需要约两个数量级更多样本。这个数字来自外部研究,不是本文重新实验。

05 / ALGORITHM

AEVB 是“双随机”的 minibatch 优化

01minibatch从 \(\mathcal{D}\) 抽样 \(\mathcal{M}\)
02encode输出 posterior 参数
03sample为每个样本抽 \(\mathbf{\epsilon}\)
04score算 log joint 与 log posterior
05update对 \(\theta,\phi\) 联合反传
初始化随机初始化生成模型参数 \(\theta\) 和推断模型参数 \(\phi\)。
数据随机性抽取 minibatch \(\mathcal{M}\subset\mathcal{D}\),形成全数据 ELBO 梯度的无偏缩放估计。
潜变量随机性每个数据点抽噪声,再由 \(g_{\phi}\) 生成潜样本。这是第二个随机源。
一次前后向encoder、reparameterization、decoder、密度项形成同一计算图;自动微分得到 \(\nabla_{\theta,\phi}\widetilde{\mathcal{L}}\)。
迭代到收敛教程只说使用 SGD optimizer,并未规定 Adam、learning rate、batch size、epoch、GPU 或统一网络结构;这些不是可从本文补出的“复现超参数”。

factorized Gaussian 的具体计算

\[ (\mathbf{\mu},\log\mathbf{\sigma})=\operatorname{Encoder}_{\phi}(\mathbf{x}),\quad \mathbf{\epsilon}\sim\mathcal{N}(\mathbf{0},\mathbf{I}),\quad \mathbf{z}=\mathbf{\mu}+\mathbf{\sigma}\odot\mathbf{\epsilon}. \]

其 Jacobian 是 \(\operatorname{diag}(\mathbf{\sigma})\),所以:

\[\log q_{\phi}(\mathbf{z}\mid\mathbf{x})=\log\mathcal{N}(\mathbf{\epsilon};\mathbf{0},\mathbf{I})-\sum_i\log\sigma_i.\]

标准正态 prior 下的解析 KL

若 \(p(\mathbf{z})=\mathcal{N}(\mathbf{0},\mathbf{I})\) 且 \(q_{\phi}=\mathcal{N}(\mathbf{\mu},\operatorname{diag}(\mathbf{\sigma}^2))\),Gaussian KL 可化为:

\[D_{\mathrm{KL}}(q_{\phi}(\mathbf{z}\mid\mathbf{x})\,\|\,p(\mathbf{z}))=\frac{1}{2}\sum_i\left(\mu_i^2+\sigma_i^2-1-\log\sigma_i^2\right).\]
这是由文中的 Gaussian 选择与 KL 定义得到的标准解析推导;教程主要用 \(\log p-\log q\) estimator 展开算法,没有把这一实现公式单独列成编号式。若 encoder 输出 \(v_i=\log\sigma_i^2\),代码应使用 \(\sigma_i=\exp(v_i/2)\),KL 写成 \(\tfrac{1}{2}\sum_i(\mu_i^2+\exp(v_i)-1-v_i)\);若输出的是 \(\log\sigma_i\),则不能再把它当 log-variance 使用。

全协方差 Gaussian 用 Cholesky-like 下三角矩阵 \(\mathbf{L}\):\(\mathbf{z}=\mathbf{\mu}+\mathbf{L}\mathbf{\epsilon}\),且 \(\log|\det\mathbf{L}|=\sum_i\log|L_{ii}|\)。表达力增加到维度间线性相关,但 encoder 输出与计算量从 \(\mathcal{O}(D)\) 上升到 \(\mathcal{O}(D^2)\) 量级。

训练/评估量估计方式注意点
ELBO通常一份或少量 posterior samples单样本 pathwise gradient 无偏,但方差仍存在
marginal likelihood\(\log\frac{1}{L}\sum_{l=1}^{L}\frac{p_{\theta}(\mathbf{x},\mathbf{z}^{(l)})}{q_{\phi}(\mathbf{z}^{(l)}\mid\mathbf{x})}\)\(L\to\infty\) 时一致;有限 (L) 的 log-estimate 有偏
IWAE objective把同一个多样本重要性下界用于训练随 (L) 增大界更紧,但高维 latent 的 importance weights 易退化

06 / POSTERIOR FAMILIES

“易算”与“足够灵活”之间的张力

可用的 approximate posterior 必须同时满足:能快速采样;能快速计算并微分 \(\log q_{\phi}(\mathbf{z}\mid\mathbf{x})\);高维时最好能并行。简单 diagonal Gaussian 满足工程条件,却无法表达多峰、偏斜或复杂相关结构。

选择优势代价 / 边界
Diagonal Gaussian采样、log-density、Jacobian 都是逐维并行仅能表达条件独立的椭球轴向后验
Full-covariance Gaussian表达线性相关输出矩阵,仍是单峰 Gaussian
Auxiliary variables积分掉辅助变量后可产生更复杂隐式 posterior需要扩展 generative model,增加辅助 KL 代价
Normalizing flow可逆变换链逐步弯曲基础分布每步必须有可计算的 Jacobian determinant
IAFposterior sampling across dimensions 可并行;log-det 简单每个 flow step 需 autoregressive network,求逆方向较慢

normalizing flow 的统一公式

\[ \mathbf{z}_0\sim q_0,\quad \mathbf{z}_t=f_t(\mathbf{z}_{t-1},\mathbf{x}),\quad \log q_T(\mathbf{z}_T\mid\mathbf{x})=\log q_0(\mathbf{z}_0\mid\mathbf{x})- \sum_{t=1}^{T}\log\left|\det\frac{\partial\mathbf{z}_t}{\partial\mathbf{z}_{t-1}}\right|. \]

IAF 使用 autoregressive parameterization 让 Jacobian 成为三角矩阵,determinant 只需对角项之积。它把“复杂 posterior”化为“简单 base density + 多个可逆、可微、易算体积变化的变换”。

原论文 Figure 3.1:Inverse Autoregressive Flow
原论文 Figure 3.1。 encoder 先给出 factorized Gaussian,再经多步 IAF;每步以 autoregressive neural net 计算 shift/scale,并累积 log-determinant。PDF p.47
原论文 Figure 3.2:因子高斯 posterior 与 IAF posterior 的 toy comparison
原论文 Figure 3.2。 同一个四数据点 toy problem:factorized posterior 只能形成轴对齐簇,IAF 可弯曲成更接近 prior 拼接的区域。它展示表达力,不是大规模 benchmark,也不证明所有任务上 IAF 必然更好。PDF p.48

07 / DEEPER GENERATIVE MODELS

多层潜变量、autoregression 与 flow 可以组合

对于 \(\mathbf{z}=\{\mathbf{z}_1,\ldots,\mathbf{z}_K\}\),inference model 按自己的 DAG 做 ancestral sampling;每个随机节点都重参数化:

\[\mathbf{\epsilon}_i\sim p(\mathbf{\epsilon}_i),\qquad \mathbf{z}_i=g_i(\mathbf{\epsilon}_i,\operatorname{Pa}(\mathbf{z}_i),\phi),\qquad i=1,\ldots,K.\]

采完全部 latent 后,只需计算标量 \(\log p_{\theta}(\mathbf{x},\mathbf{z})-\log q_{\phi}(\mathbf{z}\mid\mathbf{x})\),整个图便可微。生成模型与推断模型的 latent ordering 可以相反,也可以相同;作者引用多项工作说明,同向 top-down inference 便于共享 prior 与 posterior 参数,可能训练更快、解更好。

原论文 Figure 4.1:bottom-up 与 top-down inference ordering
原论文 Figure 4.1。 上:生成模型与 bottom-up inference 方向相反。下:共享 topological ordering,可在对应 conditional 之间共享参数。图取自 Kingma et al. 2016。PDF p.53

三种增加生成模型表达力的办法

Latent variables

通过积分混合大量条件分布;合成可并行,但 likelihood 依赖近似推断。

Full autoregression

\(p(\mathbf{x})=\prod_j p(x_j\mid\mathbf{x}_{\lt j})\)。density 精确,采样长度通常是 \(\mathcal{O}(D)\),且需选择 ordering。

Invertible flows

数据与简单 base distribution 间可逆;likelihood 精确,受同维可逆映射与 Jacobian 结构约束。

教程的判断是,当时 likelihood 最好的系统通常组合以上策略。它引用 Kingma et al. 2016 的实验称 latent-variable model 的并行 synthesis 可获得约 \(100\times\) 的速度改善;这不是本教程独立复测,且依赖具体比较对象与实现。

08 / FAILURE MODES

目标正确,不代表优化和建模就没有陷阱

1. Posterior collapse / inactive latents

训练早期 decoder 的 likelihood 信号弱,\(q_{\phi}(\mathbf{z}\mid\mathbf{x})\approx p(\mathbf{z})\) 可能成为稳定点,latent 不携带数据相关信息。教程给出两类缓解:

\[ \mathcal{L}_{\mathrm{free\ bits}}= \mathbb{E}_{\mathbf{x}\in\mathcal{M}}\mathbb{E}_{q_{\phi}}[\log p_{\theta}(\mathbf{x}\mid\mathbf{z})] -\sum_{j=1}^{K}\max\!\left(\lambda,\mathbb{E}_{\mathbf{x}\in\mathcal{M}}D_{\mathrm{KL}}(q_{\phi}(\mathbf{z}_j\mid\mathbf{x})\,\|\,p(\mathbf{z}_j))\right). \]

作者引用其 2016 工作称 \(\lambda\in\{0.125,0.25,0.5,1,2\}\) nats 在一个 benchmark 中都有效;这只是被引用实验的经验范围,不是通用定律。

2. “模糊”不只是一句 pixel loss

教程从 joint-space 的 forward KL 解释:优化 ELBO 等价于最小化 \(D_{\mathrm{KL}}(q_{\mathcal{D},\phi}(\mathbf{x},\mathbf{z})\,\|\,p_{\theta}(\mathbf{x},\mathbf{z}))\)。当模型不能完美拟合时,把 probability mass 放到数据未覆盖区域的惩罚相对弱,模型分布可能更分散。作者建议提升 inference model 或 generative model 的灵活性。

Reviewer 纠偏。

这个解释揭示了 KL 方向的影响,但并不把所有视觉模糊归因于同一个原因。Gaussian observation 的均值预测、decoder capacity、数据多模态、optimization 和 evaluation criterion 都可能参与;教程没有做因果消融来分离这些因素。

3. Amortization gap 与 approximation gap

本文强调 amortized inference 的速度优势,却没有系统量化两种误差:posterior family 无法表示真实 posterior 的 approximation gap,以及共享 encoder 没有为每个样本找到该 family 最优参数的 amortization gap。更强 encoder、per-example refinement 或 semi-amortized inference 可针对后者,但超出本文实证范围。

09 / EVIDENCE MAP

哪些数字来自哪里

教程中的陈述证据性质可得结论
Figure 3.2:IAF 比 factorized Gaussian 更贴合 toy posterior教程内展示的四点二维 toy fit说明 IAF family 更灵活;不能推成所有真实数据必然提升
free bits 在 \(\lambda=0.125\) 到 2 nats 的多值上改善 likelihood引用 Kingma et al. 2016 的一个 benchmark给出实用经验范围;不是本教程新消融
score-function 为同方差需约 \(100\times\) 样本引用 Kucukelbir et al. 2017支持连续 latent 下 pathwise gradient 的效率优势
MNIST 仅每类 10 标签时低于 1% error引用 Maaløe et al. 2016 等 semi-supervised workVAE 可辅助低标签分类;不代表普通 VAE 的默认表现
ImageNet 1% 标签:监督约 5%,VAE 半监督约 45%引用 Pu et al. 2016展示特定模型与协议的数据效率差异
latent model synthesis 约 \(100\times\) 更快引用 Kingma et al. 2016针对与 sequential autoregressive synthesis 的特定比较
原论文 Figure 4.2:VAE 用于分子设计
原论文 Figure 4.2。 先把离散分子结构映射到连续 latent,再对性质预测 \(f(\mathbf{z})\) 做梯度搜索。图片与结果来自 Gómez-Bombarelli et al. 2018。PDF p.59
原论文 Figure 4.4:沿 smile vector 编辑图像
原论文 Figure 4.4。 沿 latent “smile vector”改变重合成图像,来自 White 2016。它是应用示例,不是本文定量评测。PDF p.61

10 / REPRODUCTION LENS

能复现的是算法骨架,不是一个固定实验

项目本文提供本文没有统一规定
Generative modeljoint factorization、Bernoulli example、层次 DAG 原则具体 backbone、层数、参数量
Inference modeldiagonal/full Gaussian、auxiliary、NF/IAF固定 latent size、flow depth
ObjectiveELBO、importance estimate、free bits 形式针对某数据集的 loss 权重表
Optimizationminibatch SGD 与 doubly stochastic algorithmoptimizer、learning rate、schedule、warmup、batch size、epoch
Data / evaluation应用与 follow-up work 的选择性综述本教程自己的 train/val/test split、统一 baseline、算力与耗时

最小实现核对清单

  1. 为观测类型选择合法 likelihood;binary data 才直接使用 Bernoulli,连续图像不能不加说明地照抄。
  2. encoder 输出 \(\mathbf{\mu}\) 与 \(\log\mathbf{\sigma}\) 或 log-variance,并明确代码里是哪一个,避免错误地多乘或少乘 \(\tfrac{1}{2}\)。
  3. 用 \(\mathbf{z}=\mathbf{\mu}+\mathbf{\sigma}\odot\mathbf{\epsilon}\);不要对 sampled \(\mathbf{z}\) 做 detach。
  4. 按 batch / dimension 明确 KL 的 sum 与 mean,报告 nats per datapoint,防止 batch size 改变有效权重。
  5. 训练 loss 是负 ELBO;评估 likelihood 时用足够多 importance samples,并用 log-sum-exp 稳定计算。
  6. 监控 reconstruction、总 KL、逐维/逐组 KL 和 active units;仅看总 loss 可能错过 collapse。

11 / REVIEWER COMMENTARY

这篇教程最强与最弱的地方

Strength

等式先于比喻

从 log-evidence 的精确分解解释 lower bound tightness,读者能看见近似后验为何同时影响推断和生成模型学习。

Strength

计算约束被说清

posterior 不仅要“更灵活”,还必须能采样、算密度、算 Jacobian,并适应 GPU 并行;IAF 的设计动机因此完整。

Weakness

综述选择有作者视角

作者明确说不是 comprehensive review;大量篇幅围绕他们参与的 AEVB、IAF 与 deep hierarchy 工作,替代方法覆盖不均。

Weakness

实验不可独立复核

没有统一代码快照、数据协议和结果表。引用数字跨论文,比较对象与实现背景不同,不应横向拼成 leaderboard。

Weakness

一些结论带时代边界

结论中“唯一框架”等措辞是 2019 年语境下的作者主张,且没有在本文通过穷举比较证明;不应当作长期定理。

Interpretation

仍然值得精读

它提供从 graphical model 到工程实现的连续推理链,对理解现代 amortized inference、flow 与 latent generative model 仍很有价值。

对 Procedural Material Generation 的研究延伸

Research Extension

结构 latent 与参数 latent 分层

让高层变量表示 material graph topology,低层变量表示连续节点参数;用 execution-valid decoder 或约束分布避免无效图。

Research Extension

renderer-aware posterior

encoder 条件可同时包含目标渲染、当前 graph 与多视图 residual;flow posterior 表达一张图对应多组等价材质参数的多模态不确定性。

Research Extension

amortized + test-time refinement

encoder 给快速初始化,再对单样本用 renderer feedback 优化 variational parameters,显式测量 amortization gap 与额外渲染预算。

以上三项是基于教程框架提出的研究设想,原论文没有在 procedural material、shader graph 或 renderer-in-the-loop 上验证。

12 / SOURCES

一手来源与定位

  1. Kingma & Welling, An Introduction to Variational Autoencoders, arXiv:1906.02691v3 — 本页内容与公式的主来源;本地 PDF 逐页核读。
  2. Foundations and Trends in Machine Learning DOI record — 期刊、卷期、页码与 DOI。
  3. Google Research publication page — 作者与出版身份交叉核对。
  4. Kingma & Welling, Auto-Encoding Variational Bayes — 原始 AEVB 论文;与本教程区分。
页码说明。

本地 arXiv PDF 有 89 个文件页,包含封面、目录与参考文献;正式出版页码为 307–392,共 86 页。页面中的 PDF 链接使用文件页定位。