<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>图像生成 on WhateverZ</title><link>https://whateverzpy.github.io/Zlog/tags/%E5%9B%BE%E5%83%8F%E7%94%9F%E6%88%90/</link><description>Recent content in 图像生成 on WhateverZ</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 14:54:00 +0800</lastBuildDate><atom:link href="https://whateverzpy.github.io/Zlog/tags/%E5%9B%BE%E5%83%8F%E7%94%9F%E6%88%90/index.xml" rel="self" type="application/rss+xml"/><item><title>图像生成（三）——潜空间扩散模型（LDM）</title><link>https://whateverzpy.github.io/Zlog/post/11-ldm/</link><pubDate>Sun, 12 Apr 2026 13:27:47 +0800</pubDate><guid>https://whateverzpy.github.io/Zlog/post/11-ldm/</guid><description>&lt;img src="https://whateverzpy.github.io/Zlog/post/11-ldm/LDM_Architecture.png" alt="Featured image of post 图像生成（三）——潜空间扩散模型（LDM）" /&gt;&lt;h2 id="1-ldm-之前的前夜-传统模型有什么问题为什么会有问题"&gt;1. LDM 之前的“前夜”—— 传统模型有什么问题？为什么会有问题？
&lt;/h2&gt;&lt;p&gt;在 LDM 出现之前，图像生成领域主要由 GAN、VAE 以及早期的像素级扩散模型（如 DDPM）占据主导。但它们各自面临着难以逾越的瓶颈：&lt;/p&gt;
&lt;h3 id="11-gan-与-vae-的两难困境"&gt;1.1 GAN 与 VAE 的两难困境
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GAN（生成对抗网络）：&lt;/strong&gt; 能够生成极其锐利的图像，但由于缺乏明确的似然函数，训练过程极度不稳定，且容易陷入“模式崩溃”（Mode Collapse），无法覆盖完整的数据分布。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="link" href="../9-vae" &gt;VAE（变分自编码器）&lt;/a&gt;：&lt;/strong&gt; 拥有优美的数学概率基础和稳定的训练过程。&lt;strong&gt;为什么 VAE 生成的图像总是很模糊？&lt;/strong&gt; 因为传统 VAE 为了强迫潜空间服从简单的标准高斯先验，施加了极其强烈的 KL 散度惩罚，这导致重构误差与先验匹配产生严重冲突，模型只能输出平滑、缺乏高频细节的模糊图像。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="12-像素级扩散模型pixel-dms的算力黑洞"&gt;1.2 像素级扩散模型（Pixel-DMs）的“算力黑洞”
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="../10-ddpm-ddim" &gt;DDPM&lt;/a&gt; 成功解决了 GAN 的不稳定和 VAE 的模糊问题，但它带来了新的问题：&lt;strong&gt;极其缓慢的训练与推理速度&lt;/strong&gt;。&lt;br&gt;
&lt;strong&gt;为什么像素级扩散模型会有这个问题？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;在像素空间中挣扎：&lt;/strong&gt; 数字图像中包含了大量人类视觉根本无法察觉的高频细节（Imperceptible details）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;资源的巨大浪费：&lt;/strong&gt; 传统的扩散模型直接在极高维度的 RGB 像素空间中进行马尔可夫加噪和去噪。虽然模型可以通过优化损失函数来抑制这些无意义的细节，但&lt;strong&gt;神经网络的每一次前向传播、梯度的每一次反向计算，都必须在数以百万计的像素上进行&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结果：&lt;/strong&gt; 优化一个强大的像素级扩散模型通常需要消耗数百个 GPU days，且由于去噪过程的序列化特性，生成一张图像的成本极高。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="2-ldm-的核心哲学--将感知压缩与语义生成彻底解耦"&gt;2. LDM 的核心哲学 —— 将“感知压缩”与“语义生成”彻底解耦
&lt;/h2&gt;&lt;p&gt;为了解决上述问题，&lt;a class="link" href="https://arxiv.org/abs/2112.10752" target="_blank" rel="noopener"
&gt;LDM（Latent Diffusion Models）&lt;/a&gt;的作者提出了一个极其深刻的洞察：&lt;strong&gt;图像的生成过程可以被分为两个截然不同的阶段&lt;/strong&gt;。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;感知压缩（Perceptual Compression）：&lt;/strong&gt; 剔除图像中对人类视觉无意义的高频细节，将高维像素压缩为低维特征。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;语义压缩与生成（Semantic Compression）：&lt;/strong&gt; 学习图像中物体的高层语义、概念组合及其全局概率分布。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;LDM 是如何解决传统模型问题的？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;LDM 放弃了在像素空间直接训练扩散模型。它首先训练一个强大的&lt;strong&gt;自编码器（Autoencoder）&lt;/strong&gt;，将图像压缩到一个低维但信息高度浓缩的&lt;strong&gt;潜空间（Latent Space）&lt;strong&gt;中。然后，它在这个低维的潜空间里训练&lt;/strong&gt;扩散模型&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么 LDM 能够解决问题？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;因为低维潜空间屏蔽了高频噪声，扩散模型可以 100% 专注于学习图像的语义结构；同时，维度的呈几何级数降低，使得训练和推理的计算成本呈指数级下降，完美实现了“降维打击”。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-ldm-的第一阶段--极致的感知压缩自编码器"&gt;3. LDM 的第一阶段 —— 极致的感知压缩（自编码器）
&lt;/h2&gt;&lt;p&gt;LDM 的第一步，是独立训练一个感知压缩自编码器，包含编码器 $E$ 和解码器 $D$。&lt;/p&gt;
&lt;h3 id="31-网络架构与下采样"&gt;3.1 网络架构与下采样
&lt;/h3&gt;&lt;p&gt;给定一张 RGB 图像 $x \in \mathbb{R}^{H \times W \times 3}$，编码器 $E$ 将其映射为潜变量表示 $z = E(x)$，解码器 $D$ 再将其重构为 $\tilde{x} = D(z)$。
这里潜变量 $z \in \mathbb{R}^{h \times w \times c}$ 保留了二维的网格结构。相比于原图，它在空间维度上下采样了 $f$ 倍，即 $f = H/h = W/w$。作者实验了 $f \in \{1, 2, 4, 8, 16, 32\}$，最终发现 &lt;strong&gt;$f=4$ 和 $f=8$ 能够达到效率与质量的最佳平衡&lt;/strong&gt;。过小的 $f$ 依然计算缓慢，而过大的 $f$（如 32）会导致信息丢失，限制了最终的生成质量。&lt;/p&gt;
&lt;h3 id="32-避免方差爆炸微小正则化的精妙设计"&gt;3.2 避免方差爆炸：微小正则化的精妙设计
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;为什么这里不能直接用普通的自编码器（AE）？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果不对潜空间施加任何约束，AE 会通过“尺度作弊”让潜空间的方差任意膨胀。扩散模型对数据的方差极为敏感，方差爆炸的潜空间会彻底摧毁扩散过程的信噪比。&lt;/p&gt;
&lt;p&gt;为了解决这个问题，LDM 引入了两种微度的正则化方案：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KL-reg：&lt;/strong&gt; 对潜变量施加一个权重极其微小（如 $10^{-6}$）的 KL 惩罚，使其轻微向标准正态分布靠拢。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VQ-reg：&lt;/strong&gt; 在解码器内部引入向量量化（Vector Quantization）层，利用离散密码本限制数值范围。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;为什么这种“微弱惩罚”没有导致传统 VAE 的模糊问题？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;因为 LDM 的自编码器结合了&lt;strong&gt;感知损失（Perceptual Loss）&lt;/strong&gt; 和基于 Patch 的&lt;strong&gt;对抗损失（PatchGAN）&lt;/strong&gt;，这强迫模型在局部纹理上保持极高的逼真度。&lt;/p&gt;
&lt;h3 id="33-第一阶段目标函数"&gt;3.3 第一阶段目标函数
&lt;/h3&gt;&lt;p&gt;自编码器的完整优化目标是一个最小-最大博弈问题（原始论文附录公式 25）：&lt;/p&gt;
$$L_{Autoencoder} = \min_{E,D} \max_{\psi} \left( L_{rec}(x, D(E(x))) - L_{adv}(D(E(x))) + \log D_\psi(x) + L_{reg}(x; E, D) \right)$$&lt;ul&gt;
&lt;li&gt;$L_{rec}$：结合了感知损失的重构误差，保证语义还原。&lt;/li&gt;
&lt;li&gt;$L_{adv}, \log D_\psi$：对抗损失，对抗模糊，保证细节锐利。&lt;/li&gt;
&lt;li&gt;$L_{reg}$：极微小的 KL 或 VQ 正则化，锁住潜空间的尺度边界。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="4-ldm-的第二阶段--潜空间中的扩散魔法"&gt;4. LDM 的第二阶段 —— 潜空间中的扩散魔法
&lt;/h2&gt;&lt;p&gt;在自编码器训练完毕并冻结权重后，LDM 开始在低维潜空间 $z$ 中训练扩散模型。&lt;/p&gt;
&lt;h3 id="41-尺度缩放rescaling的必要性"&gt;4.1 尺度缩放（Rescaling）的必要性
&lt;/h3&gt;&lt;p&gt;即便有微弱的 KL 正则化，提取出的 $z$ 的方差依然不为 1。为了匹配扩散模型对信噪比的严苛要求，LDM 会估算出潜变量的逐分量标准差 $\hat{\sigma}$，并在前向加噪前强制进行缩放：$z \leftarrow z / \hat{\sigma}$。&lt;/p&gt;
&lt;h3 id="42-潜空间的去噪目标函数"&gt;4.2 潜空间的去噪目标函数
&lt;/h3&gt;&lt;p&gt;在像素空间的传统扩散模型，其简化目标函数为：&lt;/p&gt;
$$L_{DM} = \mathbb{E}_{x,\epsilon\sim\mathcal{N}(0,1),t} \left[ ||\epsilon - \epsilon_\theta(x_t, t)||_2^2 \right]$$&lt;p&gt;而 LDM 将这一过程无缝迁移到了潜空间。它采用带有二维空间归纳偏置的 U-Net（$\epsilon_\theta$）作为骨干网络。由于脱离了高频像素的干扰，模型现在可以专注于最重要的“语义位（Semantic bits）”。无条件 LDM 的目标函数被改写为（原始论文公式 2）：&lt;/p&gt;
$$L_{LDM} := \mathbb{E}_{\mathcal{E}(x),\epsilon\sim\mathcal{N}(0,1),t} \left[ ||\epsilon - \epsilon_\theta(z_t, t)||_2^2 \right]$$&lt;h3 id="43-解答核心疑问为什么-ldm-采样时不会像-ae-那样生成无意义的乱码"&gt;4.3 解答核心疑问：为什么 LDM 采样时不会像 AE 那样生成无意义的乱码？
&lt;/h3&gt;&lt;p&gt;由于 LDM 的第一阶段为了保留细节，几乎放任潜空间变成了充满“空洞”的不规则地形。如果你像传统 VAE 那样直接从 $\mathcal{N}(0,I)$ 盲目抽样并解码，注定会得到乱码。&lt;br&gt;
&lt;strong&gt;但 LDM 并不是在盲目抽样。&lt;/strong&gt;&lt;br&gt;
在生成阶段，起点确实是纯噪声 $z_T \sim \mathcal{N}(0, 1)$。但接下来，&lt;strong&gt;极其强大的扩散模型（U-Net）接管了导航任务&lt;/strong&gt;。在从 $t=T$ 到 $t=0$ 的多步去噪过程中，扩散模型凭借学习到的复杂流形梯度（Score Matching），精准地引导这个随机噪声避开所有的“无意义空洞”，一步步被拉扯回蕴含真实图像语义的合法区间 $z_0$。最后将这个合法的 $z_0$ 送入解码器 $D$，就能瞬间显影为极其清晰的高分辨率图像。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="5-ldm-的杀手锏--交叉注意力cross-attention条件机制"&gt;5. LDM 的“杀手锏” —— 交叉注意力（Cross-Attention）条件机制
&lt;/h2&gt;&lt;p&gt;LDM 之所以能成为通用生成框架（尤其是文本到图像生成的霸主），归功于它对 U-Net 骨干网络的巧妙改造：&lt;strong&gt;引入了交叉注意力机制&lt;/strong&gt;。这使得模型不仅能生成图像，还能精准听懂各种模态的条件指令 $y$（如文本、布局图）。&lt;/p&gt;
&lt;h3 id="51-领域特定编码器domain-specific-encoder"&gt;5.1 领域特定编码器（Domain Specific Encoder）
&lt;/h3&gt;&lt;p&gt;对于任意模态的输入 $y$，LDM 引入了一个特定的编码器 $\tau_\theta$（例如，处理文本时，$\tau_\theta$ 可以是未掩码的 Transformer）。它将条件 $y$ 映射为中间表示矩阵 $\tau_\theta(y) \in \mathbb{R}^{M \times d_\tau}$。&lt;/p&gt;
&lt;h3 id="52-交叉注意力的工作原理"&gt;5.2 交叉注意力的工作原理
&lt;/h3&gt;&lt;p&gt;在 U-Net 的各个网络层级中，潜变量图像的中间特征 $\phi_i(z_t) \in \mathbb{R}^{N \times d_\epsilon^i}$ 会与条件矩阵进行深度融合。&lt;br&gt;
模型引入了可学习的投影矩阵 $W_Q^{(i)}, W_K^{(i)}, W_V^{(i)}$。&lt;br&gt;
角色分配如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Query (Q) 来自图像：&lt;/strong&gt; $Q = W_Q^{(i)} \cdot \phi_i(z_t)$。（图像特征在询问：我这里该画什么？）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key (K) 和 Value (V) 来自条件：&lt;/strong&gt; $K = W_K^{(i)} \cdot \tau_\theta(y)$， $V = W_V^{(i)} \cdot \tau_\theta(y)$。（文本指令在提供语义答复。）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;注意力计算公式为：&lt;/p&gt;
$$Attention(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right) \cdot V$$&lt;h3 id="53-条件-ldm-目标函数"&gt;5.3 条件 LDM 目标函数
&lt;/h3&gt;&lt;p&gt;在引入交叉注意力后，领域编码器 $\tau_\theta$ 和 U-Net 主干网络 $\epsilon_\theta$ 通过以下目标函数进行&lt;strong&gt;联合优化&lt;/strong&gt;（原始论文公式 3）：&lt;/p&gt;
$$L_{LDM} := \mathbb{E}_{\mathcal{E}(x), y, \epsilon\sim\mathcal{N}(0,1), t} \left[ ||\epsilon - \epsilon_\theta(z_t, t, \tau_\theta(y))||_2^2 \right]$$&lt;p&gt;在这个过程中，文本编码器不仅在学习语言，更是在学习“如何生成对扩散模型去噪最有利的条件向量”。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-结语ldm-的深远意义"&gt;6. 结语：LDM 的深远意义
&lt;/h2&gt;&lt;p&gt;《High-Resolution Image Synthesis with Latent Diffusion Models》这篇论文，其伟大之处不在于提出了全新的数学概率模型，而在于它极其精妙的&lt;strong&gt;工程直觉与架构解耦&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;它敏锐地察觉到“压缩”和“生成”是两件截然不同的事情。通过将感知压缩交给自编码器，将语义生成交给潜空间扩散模型，辅以灵活的交叉注意力机制，LDM（Latent Diffusion Models）不仅在训练效率和采样速度上实现了质的飞跃，更开启了多模态高分辨率图像生成的全新纪元。这正是我们今天能够轻松在消费级显卡上运行 Stable Diffusion 的基石。&lt;/p&gt;</description></item><item><title>图像生成（二）——扩散模型（DDPM）与去噪扩散隐式模型（DDIM）</title><link>https://whateverzpy.github.io/Zlog/post/10-ddpm-ddim/</link><pubDate>Sat, 11 Apr 2026 13:15:31 +0800</pubDate><guid>https://whateverzpy.github.io/Zlog/post/10-ddpm-ddim/</guid><description>&lt;h2 id="1-ddpm-之前的黑暗时代生成模型的两难困境"&gt;1. DDPM 之前的“黑暗时代”——生成模型的两难困境
&lt;/h2&gt;&lt;p&gt;在扩散模型爆发之前，深度生成模型主要由两大巨头统治：&lt;strong&gt;GAN（生成对抗网络）&lt;/strong&gt; 和 &lt;strong&gt;&lt;a class="link" href="../9-VAE" &gt;VAE（变分自编码器）&lt;/a&gt;&lt;/strong&gt;。然而，它们各自带着难以克服的结构性缺陷：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;GAN 的困境（质量高但极不稳定）：&lt;/strong&gt; GAN 通过生成器和判别器的博弈来生成图像。虽然它能生成极其锐利、高质量的图像，但它的训练过程极度不稳定。“模式崩溃”（Mode Collapse）：GAN 倾向于只生成它最有把握的几类图像，缺乏对整个真实数据分布的覆盖能力（即缺乏多样性，Recall 低）。此外，GAN 由于缺乏明确的似然函数（Likelihood）评估，很难进行严谨的概率建模。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VAE 的困境（稳定但极其模糊）：&lt;/strong&gt; VAE 通过编码器将数据压缩到潜空间，再由解码器还原，目标是最大化数据的变分下界（ELBO）。VAE 训练极其稳定，且理论极其优美。但问题在于，VAE 假设了过于简单的先验分布（通常是标准高斯分布），在重建时通常使用 MSE 损失，这导致生成的图像总是缺乏高频细节，&lt;strong&gt;极其模糊（Blurry）&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;基于流的模型（Flows）与自回归模型（Autoregressive）：&lt;/strong&gt; 前者对网络架构限制严（必须可逆），后者生成速度慢（必须逐像素生成）。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;为什么会有这些问题？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本质上，传统的生成模型试图“一步到位”地将一个简单的随机噪声映射为极其复杂的高维图像分布。这种跨度太大了，对于神经网络来说，一次性学好这个极其复杂的非线性映射，要么容易学偏（GAN），要么只能学个大概的平均值（VAE）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-ddpm-破局将一步登天化为百步穿杨"&gt;2. DDPM 破局——将“一步登天”化为“百步穿杨”
&lt;/h2&gt;&lt;p&gt;2020年，&lt;strong&gt;&lt;a class="link" href="https://arxiv.org/abs/2006.11239" target="_blank" rel="noopener"
&gt;DDPM（Denoising Diffusion Probabilistic Models）&lt;/a&gt;&lt;/strong&gt; 横空出世。它解决上述问题的核心思想是：&lt;strong&gt;既然一步到位太难，那我们就把它拆分成1000个极其微小的步骤。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="21-ddpm-是如何工作的本质原理是什么"&gt;2.1 DDPM 是如何工作的？本质原理是什么？
&lt;/h3&gt;&lt;p&gt;DDPM 包含两个过程：&lt;strong&gt;前向加噪过程（Forward Process）&lt;strong&gt;和&lt;/strong&gt;逆向去噪过程（Reverse Process）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;前向过程（破坏图像）：&lt;/strong&gt;&lt;br&gt;
DDPM 定义了一个&lt;strong&gt;马尔可夫链（Markov Chain）&lt;/strong&gt;，在 $T$ 步内（通常 $T=1000$），逐步向原始干净图像 $x_0$ 中添加微小的高斯噪声，直到图像完全变成一团纯噪声 $x_T$。&lt;br&gt;
每一步的转移概率定义为：&lt;/p&gt;
$$q(x_t|x_{t-1}) := \mathcal{N}(x_t; \sqrt{1 - \beta_t}x_{t-1}, \beta_t I)$$&lt;p&gt;根据马尔可夫性质和高斯分布的叠加性，我们可以直接写出任意时刻 $t$ 时的边缘分布（不需要一步步算）：&lt;/p&gt;
$$q(x_t|x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t}x_0, (1 - \bar{\alpha}_t)I)$$&lt;p&gt;（其中 $\alpha_t = 1 - \beta_t$，$\bar{\alpha}_t = \prod_{s=1}^t \alpha_s$）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;逆向过程（生成图像）：&lt;/strong&gt;&lt;br&gt;
生成过程就是前向过程的逆转。如果我们知道 $q(x_{t-1}|x_t)$，我们就能从纯噪声 $x_T \sim \mathcal{N}(0, I)$ 开始，一步步去噪，最终还原出 $x_0$。
虽然真实的后验 $q(x_{t-1}|x_t)$ 无法直接计算，但在 $\beta_t$ 极小的情况下，这个逆过程在数学上也被证明是一个高斯分布。因此，我们可以用一个神经网络 $p_\theta$ 去拟合它：&lt;/p&gt;
$$p_\theta(x_{t-1}|x_t) := \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))$$&lt;h3 id="22-ddpm-的神来之笔目标函数的极致简化"&gt;2.2 DDPM 的神来之笔：目标函数的极致简化
&lt;/h3&gt;&lt;p&gt;在训练时，DDPM 同样使用优化变分下界（VLB）的思路，将多步预测转化为多个 KL 散度的和：&lt;/p&gt;
$$L_{t-1} = D_{KL}(q(x_{t-1}|x_t, x_0) || p_\theta(x_{t-1}|x_t))$$&lt;p&gt;真实的后验均值其实是可以由 $x_0$ 和 $x_t$ 推导出来的：&lt;/p&gt;
$$\tilde{\mu}_t(x_t, x_0) = \frac{\sqrt{\bar{\alpha}_{t-1}}\beta_t}{1-\bar{\alpha}_t}x_0 + \frac{\sqrt{\alpha_t}(1-\bar{\alpha}_{t-1})}{1-\bar{\alpha}_t}x_t$$&lt;p&gt;&lt;strong&gt;最关键的突破：&lt;/strong&gt;&lt;br&gt;
作者发现，与其让神经网络去预测 $x_0$ 或者预测均值 $\tilde{\mu}_t$，不如让神经网络去&lt;strong&gt;预测这一步添加的“噪声 $\epsilon$”&lt;/strong&gt;。&lt;br&gt;
经过精妙的推导，极其复杂的 VLB 被化简为了一个极其简单的&lt;strong&gt;均方误差（MSE）损失函数 $L_{simple}$&lt;/strong&gt;。&lt;/p&gt;
$$L_{simple}(\theta) := \mathbb{E}_{t, x_0, \epsilon} \left[ ||\epsilon - \epsilon_\theta(\sqrt{\bar{\alpha}_t}x_0 + \sqrt{1 - \bar{\alpha}_t}\epsilon, t)||^2 \right]$$&lt;h3 id="23-为什么-ddpm-能够完美解决前人的问题"&gt;2.3 为什么 DDPM 能够完美解决前人的问题？
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;解决 GAN 的不稳定与模式崩溃：&lt;/strong&gt; DDPM 优化的是明确的变分下界（虽然是简化版），没有判别器的对抗博弈，训练就是一个简单的 MSE 回归问题，极其稳定。同时它作为似然模型，能极好地覆盖所有数据分布（Recall 高），不会遗漏模式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解决 VAE 的模糊问题：&lt;/strong&gt; DDPM 将“大跨度”的生成拆分成了 1000 个极其简单的“微小去噪”任务。而且，DDPM 的简化目标函数 $L_{simple}$ 实际上等价于多尺度的去噪分数匹配（Denoising Score Matching）。它不再强求拟合一个完美的平滑潜空间，而是学习引导噪声走向真实数据流形的梯度方向，因此能生成极其锐利、充满高频细节的图像。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="3-ddpm-的致命阿喀琉斯之踵"&gt;3. DDPM 的“致命阿喀琉斯之踵”
&lt;/h2&gt;&lt;p&gt;尽管 DDPM 生成质量惊人，但它有一个致命的缺陷：&lt;strong&gt;慢&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么慢？为什么DDPM做不到加速？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在 DDPM 中，生成过程被严格定义为&lt;strong&gt;马尔可夫扩散过程的逆转&lt;/strong&gt;。马尔可夫链的特性是，当前状态 $x_{t-1}$ 严格依赖于上一个状态 $x_t$。&lt;br&gt;
在训练时，网络可以在任意 $t$ 步加噪；但&lt;strong&gt;在采样（生成）时，你必须从 $T=1000$ 开始，一步一步地迭代到 $t=0$&lt;/strong&gt;。&lt;br&gt;
对于高分辨率图像，生成单张图片可能需要经过 1000 次庞大的 U-Net 前向传播。在一张 2080Ti 上生成 5 万张图甚至需要几十、几百个小时，而 GAN 只需要不到一分钟。&lt;br&gt;
&lt;strong&gt;DDPM 无法跳步：&lt;/strong&gt; 如果强行跳步（比如跨越几十步去噪），就破坏了马尔可夫链“相邻两步之间是高斯分布”的数学假设，生成的图像质量会立刻崩塌。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-ddim-的降维打击重构底层逻辑实现几十倍加速"&gt;4. DDIM 的降维打击——重构底层逻辑，实现几十倍加速
&lt;/h2&gt;&lt;p&gt;为了解决采样速度问题，2021 年，&lt;strong&gt;&lt;a class="link" href="https://arxiv.org/abs/2010.02502" target="_blank" rel="noopener"
&gt;DDIM（Denoising Diffusion Implicit Models）&lt;/a&gt;&lt;/strong&gt; 给出了一个解法。&lt;/p&gt;
&lt;h3 id="41-ddim-的核心改进与本质原理"&gt;4.1 DDIM 的核心改进与本质原理
&lt;/h3&gt;&lt;p&gt;DDIM 的作者敏锐地发现了一个事实：&lt;strong&gt;DDPM 的训练目标 $L_{simple}$ 实际上根本不依赖于前向过程是否是马尔可夫链。&lt;/strong&gt;
回看 $L_{simple}$，它只依赖于边缘分布 $q(x_t|x_0)$，而完全没有用到联合分布 $q(x_{1:T}|x_0)$。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本质原理（非马尔可夫前向过程）：&lt;/strong&gt;&lt;br&gt;
这意味着，&lt;strong&gt;只要我们构造出一个新的前向过程，保证它的边缘分布 $q(x_t|x_0)$ 依然是 $\mathcal{N}(x_t; \sqrt{\bar{\alpha}_t}x_0, (1 - \bar{\alpha}_t)I)$，那么我们就完全可以共用 DDPM 已经训练好的那个预测噪声的网络 $\epsilon_\theta$。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;于是，DDIM 大胆地抛弃了马尔可夫假设，定义了一个全新的、包含参数 $\sigma$ 的非马尔可夫推断过程 $q_\sigma(x_{t-1}|x_t, x_0)$。在这个新过程中，给定 $x_0$ 和 $x_t$，推导 $x_{t-1}$ 的公式被改写。&lt;br&gt;
随之而来的，是全新的逆向生成步更新公式：&lt;/p&gt;
$$x_{t-1} = \sqrt{\alpha_{t-1}} \left( \frac{x_t - \sqrt{1 - \alpha_t}\epsilon_\theta(x_t)}{\sqrt{\alpha_t}} \right) + \sqrt{1 - \alpha_{t-1} - \sigma_t^2} \cdot \epsilon_\theta(x_t) + \sigma_t \epsilon_t$$&lt;p&gt;在这个公式中，$\sigma_t$ 是一个我们可以自由控制的超参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当 $\sigma_t = \sqrt{(1 - \alpha_{t-1}) / (1 - \alpha_t)} \sqrt{1 - \alpha_t / \alpha_{t-1}}$ 时，这就是原汁原味的 &lt;strong&gt;DDPM&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;当 $\sigma_t = 0$ 时&lt;/strong&gt;，公式的最后一项（随机噪声项）完全消失。这意味着，只要初始噪声 $x_T$ 给定，整个生成过程 $x_T \rightarrow x_0$ 变成了&lt;strong&gt;完全确定性（Deterministic）的&lt;/strong&gt;。这就是所谓的&lt;strong&gt;隐式模型（Implicit Model）&lt;/strong&gt;，也就是 &lt;strong&gt;DDIM&lt;/strong&gt; 名字的由来。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-为什么-ddim-可以做到几十倍加速"&gt;4.2 为什么 DDIM 可以做到几十倍加速？
&lt;/h3&gt;&lt;p&gt;因为 DDIM 不再被马尔可夫链的严苛假设所绑架。&lt;br&gt;
在 DDPM 中，必须走完 1000 步，因为每一步的方差都必须匹配严格的扩散轨迹。&lt;br&gt;
而在 DDIM 中，既然生成过程变成了确定性的积分（本质上是一个神经常微分方程 Neural ODE），我们完全可以在时间序列 $[1, T]$ 中任意抽取一个极短的子序列 $\tau$（比如只抽 10, 20, 50 步）进行采样。
&lt;strong&gt;这就相当于用大步长去解常微分方程（Euler method）&lt;/strong&gt;。DDIM 证明了，即便我们只用 20 到 50 步，就能生成质量与 DDPM 走 1000 步几乎媲美的图像，实现了 &lt;strong&gt;10 倍到 50 倍的直接加速&lt;/strong&gt;，而且完全不需要重新训练模型。&lt;/p&gt;
&lt;h3 id="43-为什么-ddim-还能做到-ddpm-做不到的语义插值和精准重建"&gt;4.3 为什么 DDIM 还能做到 DDPM 做不到的“语义插值”和“精准重建”？
&lt;/h3&gt;&lt;p&gt;因为 DDPM 的生成过程充满了 $\sigma_t \epsilon_t$ 这样的随机噪声注入，同一个初始噪声 $x_T$，每次采样出来的图像都完全不同。&lt;br&gt;
但 &lt;strong&gt;DDIM 是确定性的（$\sigma_t=0$）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一致性（Consistency）：&lt;/strong&gt; 无论你用 20 步、50 步还是 1000 步去采样，只要起始噪声 $x_T$ 一样，DDIM 总是能生成具有极高相似度和相同高级语义特征的同一张图像。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;语义插值（Semantic Interpolation）：&lt;/strong&gt; 因为这种确定性，DDIM 的潜空间 $x_T$ 直接编码了图像的语义结构。我们可以取两个生成的噪声 $x_T^{(0)}$ 和 $x_T^{(1)}$，通过&lt;strong&gt;球面线性插值（Slerp）&lt;/strong&gt;，在潜空间中平滑过渡。解码出来的图像，会呈现出极其丝滑、有意义的语义演变（例如一只狗平滑地变成另一只狗），这在充满随机性的 DDPM 中是绝不可能做到的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;编码与完美重建（Reconstruction）：&lt;/strong&gt; 借助常微分方程的对称性，DDIM 甚至可以将一张真实的图片 $x_0$，顺着确定性的轨迹&lt;strong&gt;逆向编码&lt;/strong&gt;成纯噪声 $x_T$，然后再完美无缺地重新解码回 $x_0$（误差极低），让扩散模型拥有了媲美 Normalizing Flows 的能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="5-总结"&gt;5. 总结
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;DDPM&lt;/strong&gt; 是黑暗中的火把，它指明了用“马尔可夫降噪链”去拟合复杂分布的道路，用极简的 $L_{simple}$ 跨越了GAN和VAE难以逾越的鸿沟。&lt;br&gt;
而 &lt;strong&gt;DDIM&lt;/strong&gt; 则是真正的工业级革命，它通过极其深邃的数学洞察，剥离了马尔可夫的枷锁，将随机的扩散过程转化为确定性的神经 ODE。这不仅带来了几十倍的速度飞跃，更赋予了扩散模型完美的潜空间控制力。&lt;/p&gt;
&lt;p&gt;正是因为 DDPM 的奠基和 DDIM 在采样速度上的解放，才有了后来我们在 Stable Diffusion、Midjourney 等大模型上体会到的秒级出图体验。&lt;/p&gt;</description></item><item><title>图像生成（一）——变分自编码器（VAE）</title><link>https://whateverzpy.github.io/Zlog/post/9-vae/</link><pubDate>Wed, 01 Apr 2026 12:07:08 +0800</pubDate><guid>https://whateverzpy.github.io/Zlog/post/9-vae/</guid><description>&lt;h2 id="1-引言从自编码器ae说起ae是如何工作的"&gt;1. 引言：从自编码器（AE）说起，AE是如何工作的？
&lt;/h2&gt;&lt;p&gt;要理解 VAE，我们必须先理解它的前身——&lt;strong&gt;自编码器（Autoencoder, AE）&lt;/strong&gt;。自编码器是一种无监督学习模型，其核心目标是&lt;strong&gt;数据压缩与重建&lt;/strong&gt;。它的架构由两部分组成：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;编码器（Encoder）：&lt;/strong&gt; 接收高维的输入数据 $x$（比如一张图片），将其压缩映射到一个低维的潜在空间（Latent Space），得到一个潜在向量（Latent Vector）$z$。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解码器（Decoder）：&lt;/strong&gt; 接收这个低维向量 $z$，尝试将其还原回原始的高维数据 $\tilde{x}$。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;AE 是如何做到的？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AE 的训练目标非常简单：最小化输入 $x$ 和输出 $\tilde{x}$ 之间的&lt;strong&gt;重构误差（Reconstruction Error）&lt;/strong&gt;。它通常使用均方误差（MSE）或交叉熵作为损失函数。当训练完成后，AE 的编码器就学会了如何提取数据中最重要的特征，而解码器则学会了如何从这些特征中重构数据。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-传统-ae-的致命缺陷为什么-ae-不能用来生成"&gt;2. 传统 AE 的致命缺陷：为什么 AE 不能用来“生成”？
&lt;/h2&gt;&lt;p&gt;虽然 AE 在数据压缩和特征提取上表现出色，但如果你想用它来&lt;strong&gt;生成全新的图像&lt;/strong&gt;（例如从潜在空间中随机抽取一个向量 $z$，让解码器生成一张没见过的逼真人脸），AE 会彻底失败。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么 AE 做不到？它有什么问题？&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;死记硬背的确定性映射：&lt;/strong&gt; 传统 AE 的编码器是一个&lt;strong&gt;确定性&lt;/strong&gt;（Deterministic）的函数。它将训练集里的每一张图片死死地映射到潜在空间中的一个固定点。模型只是在“记住”这些点如何还原，而不是在学习数据的内在生成规律。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;潜空间缺乏正则化（离散与空洞）：&lt;/strong&gt; 传统 AE 的训练准则仅仅是最大化重构能力，这不足以让模型学习到有用的生成表示。如果缺乏正则化，AE 很容易“作弊”：它会构造一个尺度任意放大、方差极高的潜在空间。在这个空间里，训练数据映射的点彼此之间离得非常远，点与点之间充满了巨大的“空洞”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;随机采样得到无意义的乱码：&lt;/strong&gt; 如果你试图从 AE 的潜在空间中随机抽取一个点 $z$ 送入解码器，由于这个点极大概率落在了“空洞”里（即模型在训练时从未见过的区域），解码器根本不知道该如何处理它，最终只能输出毫无意义的乱码或模糊的噪声。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;简而言之：&lt;strong&gt;传统 AE 没有对潜在空间的概率分布进行任何约束，导致其潜在空间是不连续的，无法用于随机采样和插值生成。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-破局之道vae-相对于-ae-的优点与核心思想"&gt;3. 破局之道：VAE 相对于 AE 的优点与核心思想
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;为什么 VAE 可以做到生成？它比 AE 强在哪里？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;变分自编码器（VAE）巧妙地将深度学习（神经网络）与贝叶斯概率图模型结合在了一起。它解决 AE 缺陷的核心思想是：&lt;strong&gt;不再将输入映射为潜空间中的一个“固定的点”，而是将其映射为一个“概率分布”（通常是高斯分布）。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VAE 相对于 AE 的核心优点：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;引入连续的概率分布：&lt;/strong&gt; VAE 的编码器输出的不再是固定的向量 $z$，而是高斯分布的参数（均值 $\mu$ 和方差 $\sigma^2$）。这意味着每一张图片被映射成了潜空间中的一个“势力范围”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;强大的正则化（KL散度）：&lt;/strong&gt; VAE 强制要求这些后验分布去逼近一个标准的先验分布（通常是标准正态分布 $\mathcal{N}(0, I)$）。这种约束迫使不同的数据点在潜空间中紧密且平滑地排列在一起，消除了“空洞”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;完美的插值与采样能力：&lt;/strong&gt; 由于潜空间被标准正态分布平滑地填满，我们可以直接从 $\mathcal{N}(0, I)$ 中随机采样 $z$，解码器也能将其映射为一张有意义且逼真的全新图像。此外，在两个潜向量之间进行线性插值，还能生成语义上平滑过渡的图像。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="4-vae-的硬核推导原始论文中的关键点与公式"&gt;4. VAE 的硬核推导：原始论文中的关键点与公式
&lt;/h2&gt;&lt;p&gt;让我们深入 VAE 原始论文&lt;a class="link" href="https://arxiv.org/abs/1312.6114" target="_blank" rel="noopener"
&gt;《Auto-Encoding Variational Bayes》&lt;/a&gt;，看看这一过程是如何通过严谨的数学推导实现的。&lt;/p&gt;
&lt;h3 id="41-问题的设定与不可解的真实后验"&gt;4.1 问题的设定与不可解的真实后验
&lt;/h3&gt;&lt;p&gt;假设我们的数据 $x$ 是由一些连续的、未观测到的潜在变量 $z$ 生成的。生成过程分为两步：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;从先验分布 $p_{\theta^*}(z)$ 中生成 $z$；&lt;/li&gt;
&lt;li&gt;从条件分布 $p_{\theta^*}(x|z)$ 中生成 $x$。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;我们希望最大化数据的边际似然 $p_\theta(x)$。但这里遇到了一个致命问题：为了计算 $p_\theta(x) = \int p_\theta(z)p_\theta(x|z)dz$，我们需要积分掉所有可能的 $z$，这个积分在面对复杂的非线性神经网络时是&lt;strong&gt;完全不可解（Intractable）的&lt;/strong&gt;。同时，真实的后验分布 $p_\theta(z|x) = \frac{p_\theta(x|z)p_\theta(z)}{p_\theta(x)}$ 也是不可解的，导致传统的 EM 算法无法使用。&lt;/p&gt;
&lt;h3 id="42-引入变分推理与变分下界elbo"&gt;4.2 引入变分推理与变分下界（ELBO）
&lt;/h3&gt;&lt;p&gt;为了解决不可解的问题，VAE 引入了一个参数化的&lt;strong&gt;推断模型（识别模型/编码器）&lt;/strong&gt; $q_\phi(z|x)$，用它来近似那个不可解的真实后验 $p_\theta(z|x)$。&lt;/p&gt;
&lt;p&gt;现在，我们可以对单个数据点 $x^{(i)}$ 的对数似然进行分解：
&lt;/p&gt;
$$ \log p_\theta(x^{(i)}) = D_{KL}(q_\phi(z|x^{(i)}) || p_\theta(z|x^{(i)})) + \mathcal{L}(\theta, \phi; x^{(i)}) $$&lt;p&gt;公式右侧的第一项是近似后验与真实后验之间的 KL 散度（Kullback-Leibler Divergence）。因为 KL 散度永远大于等于 0，所以第二项 $\mathcal{L}(\theta, \phi; x^{(i)})$ 就构成了数据对数似然的一个&lt;strong&gt;严格下界（Lower Bound）&lt;/strong&gt;，在 VAE 中我们称之为 &lt;strong&gt;ELBO (Evidence Lower Bound)&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;由于我们无法直接最大化似然函数，VAE 的目标转为：&lt;strong&gt;最大化这个变分下界（ELBO） $\mathcal{L}$&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;ELBO的公式可以写为：
&lt;/p&gt;
$$ \mathcal{L}(\theta, \phi; x^{(i)}) = -D_{KL}(q_\phi(z|x^{(i)}) || p_\theta(z)) + \mathbb{E}_{q_\phi(z|x^{(i)})}[\log p_\theta(x^{(i)}|z)] $$&lt;p&gt;仔细观察这个公式，它完美地解释了 VAE 的双重目标：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;重构误差（Reconstruction Error）：&lt;/strong&gt; $\mathbb{E}_{q_\phi(z|x^{(i)})}[\log p_\theta(x^{(i)}|z)]$。这要求解码器 $p_\theta(x|z)$ 能够尽可能好地从潜变量 $z$ 中复原出数据 $x$（与传统 AE 的目标一致）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;正则化项（Regularization）：&lt;/strong&gt; $-D_{KL}(q_\phi(z|x^{(i)}) || p_\theta(z))$。这要求编码器输出的近似后验 $q_\phi(z|x)$ 必须尽可能接近先验分布 $p_\theta(z)$（通常是 $\mathcal{N}(0, I)$）。正是这个项，彻底解决了传统 AE 潜空间随意发散、存在空洞的致命缺陷。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="5-vae的绝对核心魔法重参数化技巧-reparameterization-trick"&gt;5. VAE的绝对核心魔法：重参数化技巧 (Reparameterization Trick)
&lt;/h2&gt;&lt;p&gt;到目前为止，理论很完美，但在工程实现时我们遇到了一个巨大的障碍：我们需要通过反向传播（Backpropagation）来同时优化编码器参数 $\phi$ 和解码器参数 $\theta$。然而，在计算重构误差期望时，潜变量 $z$ 是从分布 $q_\phi(z|x)$ 中&lt;strong&gt;随机采样&lt;/strong&gt;出来的（即 $z \sim q_\phi(z|x)$）。然而&lt;strong&gt;随机采样这个操作是不可导的&lt;/strong&gt;，我们无法将梯度 $∇_\phi$ 穿过这个随机采样的节点传递给编码器神经网络。&lt;/p&gt;
&lt;p&gt;如果用朴素的蒙特卡洛梯度估计器（如 Score Function Estimator / REINFORCE），会导致方差极大，模型根本无法训练。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重参数化技巧（Reparameterization Trick）的引入&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;为了让梯度能够顺利反向传播，Kingma 等人提出了极其巧妙的转换：&lt;strong&gt;我们将随机性剥离出来，作为一个独立的输入。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在 VAE 中，我们假设 $q_\phi(z|x)$ 是一个对角协方差的多变量高斯分布。
我们不再直接从 $\mathcal{N}(\mu, \sigma^2)$ 中采样 $z$。相反，我们先从一个标准正态分布中采样一个&lt;strong&gt;辅助噪声变量 $\epsilon \sim \mathcal{N}(0, I)$&lt;/strong&gt;，然后再通过一个确定性的连续函数对其进行变换：
&lt;/p&gt;
$$ z = g_\phi(x, \epsilon) = \mu + \sigma \odot \epsilon $$&lt;p&gt;&lt;em&gt;注：这里的 $\mu$ 和 $\sigma$ 都是由编码器神经网络根据 $x$ 计算出的确定性输出，$\odot$ 表示逐元素相乘。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;通过这个等价替换，随机性被完全转移到了与参数 $\phi$ 无关的辅助变量 $\epsilon$ 上。现在的 $z$ 成为了关于 $\mu$ 和 $\sigma$ 的&lt;strong&gt;确定性且可导的函数&lt;/strong&gt;。梯度现在可以像走高速公路一样，无障碍地穿过 $\mu$ 和 $\sigma$，一直反向传播到编码器神经网络的权重上，这彻底移除了梯度计算的信息瓶颈。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-sgvb-估计器与最终优化的目标函数"&gt;6. SGVB 估计器与最终优化的目标函数
&lt;/h2&gt;&lt;p&gt;有了重参数化技巧，原始论文提出了&lt;strong&gt;随机梯度变分贝叶斯估计器（Stochastic Gradient Variational Bayes, SGVB）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;我们用重参数化的单次蒙特卡洛采样来近似期望，ELBO 的估计器可以写为：
&lt;/p&gt;
$$ \tilde{\mathcal{L}}_B(\theta, \phi; x^{(i)}) = -D_{KL}(q_\phi(z|x^{(i)}) || p_\theta(z)) + \frac{1}{L} \sum_{l=1}^L \log p_\theta(x^{(i)}|z^{(i,l)}) $$&lt;p&gt;
其中，$z^{(i,l)} = \mu^{(i)} + \sigma^{(i)} \odot \epsilon^{(l)}$，且 $\epsilon^{(l)} \sim \mathcal{N}(0, I)$。在实际训练的每一个 Minibatch 中，对于每个样本通常只采一次样（$L=1$）就足够让 SGD 收敛了。&lt;/p&gt;
&lt;p&gt;最后，由于先验 $p_\theta(z)$ 和后验 $q_\phi(z|x)$ 都是高斯分布，那个一直困扰我们的 KL 散度项可以直接求出&lt;strong&gt;解析解（Closed-form analytical solution）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;对于特征维度为 $J$ 的潜空间，KL 散度的解析解公式为：
&lt;/p&gt;
$$ -D_{KL}(q_\phi(z) || p_\theta(z)) = \frac{1}{2} \sum_{j=1}^J \left( 1 + \log((\sigma_j)^2) - (\mu_j)^2 - (\sigma_j)^2 \right) $$&lt;p&gt;将解析解和重构误差结合，我们就得到了 VAE &lt;strong&gt;最终实际用于代码训练的损失函数（单样本）&lt;/strong&gt;：
&lt;/p&gt;
$$ \mathcal{L}(\theta, \phi; x^{(i)}) \simeq \frac{1}{2} \sum_{j=1}^J \left( 1 + \log((\sigma_j^{(i)})^2) - (\mu_j^{(i)})^2 - (\sigma_j^{(i)})^2 \right) + \log p_\theta(x^{(i)} | z^{(i)}) $$&lt;p&gt;
&lt;em&gt;（其中 $z^{(i)} = \mu^{(i)} + \sigma^{(i)} \odot \epsilon$， 这是一个可导的重构误差项）&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="7-结语"&gt;7. 结语
&lt;/h2&gt;&lt;p&gt;从传统 AE 的确定性压缩，到 VAE 的概率性推断，变分自编码器完成了一次生成模型的伟大跨越。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AE 失败于：&lt;/strong&gt; 缺乏对潜空间分布的宏观约束，任由模型死记硬背，导致潜空间充满不可解的空洞。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VAE 成功于：&lt;/strong&gt; 引入&lt;strong&gt;变分下界（ELBO）&lt;strong&gt;将生成目标严谨地转化为可优化的数学问题；使用 &lt;strong&gt;KL散度&lt;/strong&gt; 强迫潜空间紧凑排列形成平滑的连续空间；最重要的是，发明了&lt;/strong&gt;重参数化技巧（Reparameterization Trick）&lt;/strong&gt;，打通了随机采样节点的反向传播血脉。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;正是这些数学设计，使得 VAE 具备了极其强大的数据表示学习和生成能力，也为后来更为强大的扩散模型（如 LDM，实际上也是将 Diffusion 过程应用于 VAE 提取的潜空间中）奠定了坚实的基础。&lt;/p&gt;</description></item></channel></rss>