变分自编码器
定义
变分自编码器是一种把神经网络与隐变量概率模型结合的生成式模型,其结构沿用自编码器的编码器、解码器两段式设计,但编码器不再输出一个固定的编码向量,而是给出隐变量的概率分布参数,常见做法是均值与标准差[1]。由于隐空间被约束为连续分布,模型既能重构输入,又能从分布中采样得到训练集中没有的新样本[1]。在中文文献中,它通常被视为深度隐空间生成模型的一支,也是无监督特征学习的重要工具[2]。
它与普通自编码器的差别在于隐空间的表示方式:多数自编码器把隐变量编码成离散、固定的取值,而变分自编码器编码的是连续的概率表示[1]。在变分推断的语境下,编码器有时被称为识别模型,解码器被称为生成模型[3]。
原理
模型的出发点是隐变量模型:观测数据 $x$ 由不可直接观测的隐变量 $z$ 生成,要评估数据似然需要边缘化 $z$,而这一步积分往往无法计算。为此引入一个近似后验分布 $q_\phi(z|x)$,可以证明对数似然不低于如下下界,即证据下界(ELBO)[4]:
$\log p(x) \geq \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x) \| p(z))$
该下界由两部分构成,第一项推动解码器从隐变量还原输入,第二项用 KL 散度约束近似后验贴近预设先验,实践中先验多取标准正态分布[4]。第一项对应重构损失,第二项起正则作用,两者方向相反:前者要求编码尽可能精确,后者要求分布尽量规整[1]。
直接在网络中采样会打断可微性,梯度无法回传到编码器。重参数化技巧把采样写成确定性变换,令 $z = \mu_\phi(x) + \sigma_\phi(x) \odot \epsilon$,其中 $\epsilon$ 取自标准正态分布,随机性由此转移到一个与参数无关的噪声项上[4]。这一处理使模型可以用标准的随机梯度下降训练,相应的估计方法被称为随机梯度变分贝叶斯估计[5]。
flowchart LR
X[输入数据 x] --> E[编码器 q(z|x)]
E --> M[均值 μ]
E --> S[方差 σ]
N[噪声 ε~N(0,I)] --> R[重参数化 z=μ+σ⊙ε]
M --> R
S --> R
R --> D[解码器 p(x|z)]
D --> Y[重构输出 x']
发展历程
变分自编码器的神经网络架构由 Diederik P. Kingma 与 Max Welling 在 2013 年发表的论文《自编码变分贝叶斯》中提出,同一篇论文还给出了重参数化技巧[1]。2014 年,Rezende 等人也从随机反向传播与近似推断的角度提出了相近的框架,两类工作共同铺垫了深度隐变量模型的训练路径[4]。
此后的改进多围绕目标函数与隐空间结构展开。条件变分自编码在编码与生成网络中同时引入标签作为条件,使解码器能够按指定类别出样本[5]。高斯混合变分自编码把混合模型作为隐变量先验,用于无监督聚类;折棍变分自编码则引入非参数先验[5]。2017 年,van den Oord 等人提出向量量化变分自编码器(VQ-VAE),用可学习码本把编码结果离散化,两种路线的差异主要体现在隐变量的参数化方式上[4]。
在可控性与表征解耦方面,通过在 KL 项上引入权重系数 $\beta$ 形成的 β-VAE 被广泛采用,该系数可在重构保真与隐空间规整之间调节[6]。分层变分自编码器则把单层隐变量扩展为多层级结构,以提升模型对复杂数据分布的表示能力[4]。
应用
图像生成与编辑是最直接的应用:在图像数据上训练的变分自编码器可从隐空间采样生成新图像,也可把真实图像编码后沿特定方向修改隐向量,再解码得到属性被改变的图像[6]。由于隐空间连续,相邻位置解码出的结果彼此接近,因而支持在两点之间做平滑插值[6]。
在药物发现与分子设计中,变分自编码器把分子结构映射到连续隐空间,研究者可在此空间中有方向地搜索具备目标性质的新化合物[6]。在生物医学数据分析中,有研究以细胞形态图像训练变分自编码器,并用隐空间算术预测化合物的多靶点作用[7]。
异常检测与数据压缩是另外两类用途。由于模型给出了似然下界,偏离训练分布的样本往往对应较低的重构概率,可用于识别异常,医学影像中的去噪、伪影校正与合成数据生成也有相关应用[8]。在潜在扩散模型中,变分自编码器承担像素空间与低维隐空间之间的转换,扩散与去噪过程在隐空间完成,再由解码器还原图像,从而显著降低计算开销,常见设置可把 $3\times512\times512$ 的图像编码为 $4\times64\times64$ 的隐表示[9]。
局限
生成样本偏模糊是变分自编码器的常见问题。研究者把原因归于高斯编码器与解码器假设的局限、先验分布过于简单,以及 KL 项带来的过度正则化[10]。在医学影像的对比研究中,重建图像偏模糊也被列为该模型的一项明显限制[8]。
后验坍塌是训练中的另一类困难:解码器足够强时,模型可能忽略隐变量直接生成输出,KL 项趋近于 0,隐变量因此不再携带有效信息[10]。这一问题通常被认为与过度正则化有关,但也有研究指出,它至少部分是深度自编码器损失曲面本身存在的不良局部极小值造成的[11]。工程上常用的缓解手段包括调整 KL 项权重、KL 退火与自由比特等策略[6]。
此外,变分下界与真实对数似然之间存在差距,均值场式的因子化高斯假设难以刻画隐变量之间的相关性,隐空间维度固定得不当也会影响生成质量[12]。与生成对抗网络相比,变分自编码器输出往往缺少细节与锐度,样本的精细程度相对不足[13]。
参见
参考资料
- 什么是变分自编码器 (VAE) ? [引用日期2026-10-29]
- 变分自编码器模型综述 [引用日期2026-10-29]
- 【干货】深入理解变分自编码器 [引用日期2026-10-29]
- 03-vae-and-vq [引用日期2026-10-29]
- 混合变分自编码 [引用日期2026-10-29]
- guvi.in 上的网页 [引用日期2026-10-29]
- europepmc.org 上的网页 [引用日期2026-10-29]
- Uncover This Tech Term: Variational Autoencoders [引用日期2026-10-29]
- 什么是stable diffusion的核心技术 [引用日期2026-10-29]
- citations [引用日期2026-10-29]
- acm.org 上的网页 [引用日期2026-10-29]
- **Too little spread [引用日期2026-10-29]
- arxiv.org 上的网页 [引用日期2026-10-29]