跳到主要内容

全书到这里学的都是「给定输入,给输出」;从这章起换目标: 学习「这批数据是怎么被生出来的」,然后自己生一批新的。 两条早期路线各占一节篇幅:VAE 把「生成」写成概率(所以有密度可算), GAN 把「生成」写成博弈(所以没有密度,只有判别器的评分)。 下一章的扩散模型与流匹配是第三、第四条路。

深度生成模型(一):变分自编码器与生成对抗网络

1. 这一章讲什么

两件事: 两条早期生成路线——「写密度」的变分自编码器与 「不写密度」的生成对抗网络,各自的机理与病根;第 38 章的扩散与 流匹配是第三、第四条路,收尾时四条放在一起看。

它在全书链条里的位置: 第 34 章的 ELBO 在这里当主力;第 35 章的 摊销变分推断在这里长成推断网络;第 26 章「密度估计是生成模型的入口」 在这兑现。

需要第 34 章(ELBO、EM)与第 35 章(变分推断、摊销)。

2. 顶层全景

生成 = 密度估计 + 采样(§3);高维下两件都难 → 隐变量拆解(§4)
├ 写密度:VAE——推断网络近似后验 + 解码网络(§5)
│ 目标只有 ELBO = 重构 − KL 正则(§6);重参数化打通梯度(§7)
│ 失衡:KL 太强后验坍塌 / 太弱隐空间失序(§8)——紧凑隐空间是第 38 章的前提
└ 不写密度:GAN——判别器提供训练信号(§9)
最优判别器 ⇒ 生成器在最小化 JS 散度(§10)
病根:支撑集不重叠梯度消失;逆向 KL 主导模式坍塌(§11)
换尺子:W-GAN,评价网络的打分有了距离意义(§12)

3. 生成模型到底要做到哪两件事

生成模型的两个基本功能:概率密度估计(数据服从什么分布)和 生成样本(从分布里采新样本)。书开篇就把难点钉住:高维空间里 「一是高维随机向量难以直接建模……二是即使已经得到一个复杂分布, 也很难高效采样」1

深度生成模型的四类范式,书按思想分:隐变量建模、对抗训练、多步去噪、 连续流变换——本章讲前两条,第 38 章讲后两条2

4. 用一个低维隐变量把复杂度拆开

直接建模 p(x) 难,就引入低维隐变量 z,把 p(x) 拆成两块好办的东西: 先验 p(z)(常取标准高斯)+ 条件分布 p(x|z)3。 生成样本也顺势变成两步:先采 z,再按 p(x|z) 采 x——这是第 34 章 图模型框架的直接复用,书说得明白:许多深度生成模型就是 「在图模型框架中,用神经网络替换手工设计的概率表」4

5. 后验算不出来怎么办:两个网络

EM(第 34 章)需要后验 p(z|x);深度模型里这个后验太复杂,近似也不够用。 VAE 的核心思想:用神经网络分别近似后验和条件生成分布5——

  • 推断网络 f_I(x;φ):输入 x,输出变分分布 q(z|x;φ) 的高斯参数 (这就是第 35 章说的「摊销」:一个网络吃掉所有数据点的单独优化);
  • 解码网络 f_G(z;θ):输入 z,输出 p(x|z;θ) 的分布参数 (二值数据配伯努利,连续数据配对角高斯)6

名字里的「自编码器」来自结构相似(编码→隐→解码),书特别警告: 「背后的原理和自编码器完全不同」——编码器解码器的输出是分布的参数, 不是确定编码;它是神经网络与贝叶斯网络的混合体7

6. 目标函数其实只有一个:ELBO

推断网络想缩小 KL(q‖后验),生成网络想拟合数据——书证明两者的优化 目标统一为最大化证据下界,而且它恰好拆成两块好懂的东西(式 16.19)8:

ELBO = 重构项 E_q[log p(x|z;θ)] − KL 正则项 KL(q(z|x;φ), p(z))
↑ 给定 z 能不能还原 x ↑ 编码别离先验太远,隐空间才规整

书加了一句平衡判词:「VAE 并不是单纯地追求『重构得尽量像』,而是在 重构能力与隐空间规整性之间取得平衡」9。KL 项在两边都是高斯时有 闭式解——这正是第 34 章 GMM 之外,EM 思想在神经网络的续篇: 推断网络≈E 步,生成网络≈M 步,只是两步的目标合一、端到端联训10

主走查:一维数据上算一遍 ELBO

数据 x = 2.0(演示)。推断网络输出 μ_I=1.5、σ_I=0.5(演示); 采一个噪声 ε=0.4(演示);生成网络解码出 μ_G=1.9,方差固定 λ=1。 按书内公式实算。

重参数化: z = μ_I + σ_I·ε = 1.5 + 0.5×0.4 = 1.7
重构项: −½(x − μ_G)² = −½(2.0 − 1.9)² = −0.005 (重构得很准)
KL 正则项: ½(σ² + μ² − 1 − ln σ²)
= ½(0.25 + 2.25 − 1 − ln 0.25) = ½(1.5 + 1.386) = 1.443
ELBO = −0.005 − 1.443 = −1.448

读法:重构项几乎不罚(解码出来离原数据只差 0.1);真正拖后腿的是 KL 项——编码 (1.5, 0.5) 离标准高斯先验太远,被罚了 1.44。 这两项天生互相较劲:编码离先验越近,重构越难;这正是下一节「两种失衡」 的算术根源。

7. 采样挡住了梯度:重参数化

训练时要从 q(z|x) 里采 z,但「采样」这一步没有梯度——z 和网络参数 φ 之间不是确定性关系。重参数化的解法:把随机性挪出去,

z = μ_I + σ_I ⊙ ε, ε ~ N(0, I)

ε 与参数无关,z 变成 φ 的确定性函数,梯度就能从重构项一路流回 推断网络11。书还给了另一条路的名字(梯度估计,即第 35 章的 分数函数法),但主线选了重参数化——它更简单也更常用。

8. 两种失衡:坍塌与失忆

重构项与 KL 项的拉锯走极端各有一种病,书各给了名字12:

  • KL 太强 → 后验坍塌:编码器倾向忽略输入,隐变量过早逼近先验, 解码器几乎不看 z。缓解:KL 退火(训练初期压低 KL 权重)、 β-VAE(调正则权重)、自由比特(给每个隐维度保底);
  • KL 太弱 → 隐空间失忆:模型更容易「记住」训练样本, 隐空间失去规整的生成与插值性质。

这条「隐变量被压到更紧凑的空间」的账,要记到下一章:第 38 章的 隐空间扩散模型,第一步正是「先用自动编码器把图像压缩到紧凑的隐空间」—— 那一章的前提,就是这里的权衡结果13。VQ-VAE 则把隐变量量化成 离散码本,是隐空间压缩的另一支14

9. 不写密度,直接学生成过程:GAN

第二条路线换哲学:如果只要能生成像的样本,何必写出密度函数? 用一个神经网络 G 把简单噪声 z 直接映成样本——这叫隐式密度模型: 「并不显式地建模 pr(x),而是建模生成过程」15

没有密度就没有似然,训练信号从哪来?生成对抗网络的答案:再造一个 判别网络 D,任务是分辨「真样本还是 G 造的假样本」;G 的任务是骗过 D。 两个目标相反的网络交替训练——理想情况下,判别器再也分不出来, 就说明生成分布已贴近真实分布16

两个训练细节书都给了:非饱和目标——理论目标 min log(1−D) 在 D 判「假」很自信时梯度饱和,实际改用 max log D(同一最优点、 梯度更好);更新比例——判别网络更新 K 次、生成网络更新 1 次, 「先保证判别网络足够强才能开始训练生成网络」17。 代表实现 DCGAN:判别用带步长卷积、生成用微步卷积(转置卷积, 第 14 章的老朋友),配批量规范化等五条经验设计把对抗训练做稳18

10. 最优判别器揭示了它在最小化什么

对抗训练看似没有目标函数,数学分析给出了惊人的答案。固定 G, *最优判别器是 D(x) = pr(x)/(pr(x)+pθ(x))**——样本来自真实的概率比; 代回目标函数,化简后(式 16.39):

ℒ(G|D*) = 2·JS(pr, pθ) − 2·log 2

当判别器最优时,生成器实际在最小化真实分布与模型分布之间的 JS 散度;两个分布重合时 JS=0,损失到达下界 −2log219。 「对抗训练没有目标」是错觉——它有一个,只是藏在了博弈均衡里。

11. 两个病根:梯度消失与模式坍塌

病根一:分布不重叠时梯度消失。 JS 散度的性质:两个分布的支撑集 没有重叠时,JS 恒等于常数 log 2——损失面是平的,「在最优判别器 假设下,目标函数关于参数的梯度为 0」,生成器收不到任何方向20。 实际训练不敢把 D 训到最优,在「梯度消失」与「梯度错误」之间走钢丝, 书直言这使 GAN「训练时稳定性比较差」21

病根二:模式坍塌。 非饱和目标下代入最优判别器,生成器实际在最小化 逆向 KL(pθ‖pr)(减去一个与它无关的 JS 项)22。前向与逆向 KL 的性格书用两张图讲清:前向 KL 由 pr 加权,**「尽可能覆盖所有真实分布

0 的点」(宁可乱覆盖也不放过);逆向 KL 由 pθ 加权,「尽可能避开 真实分布≈0 的点」**(宁可只占一小块,不乱铺)23。逆向 KL 主导的 结果是:生成器倾向集中在少数「足以骗过判别器」的高概率模式上, 学出的多样性大幅缩水——模式坍塌。「模型并非完全学坏」,书这句 公道话值得记住24

12. 换一把尺子:W-GAN

病根在 JS 这把尺子,那就换尺子。W-GAN 改用 Wasserstein 距离 (推土机距离):把 pr 的质量搬到 pθ 需要的最小搬运量。它的关键性质: 「KL 可能为 +∞、JS 在支撑集分离时恒为 log 2,而一阶 Wasserstein 距离 依然可以衡量两个没有重叠分布之间的距离」——梯度不再断流25

Wasserstein 距离没法直接算,但有一个对偶形式(Kantorovich-Rubinstein): 它等于所有 1-Lipschitz 函数的「两分布期望差」的上确界。于是训练 一个评价网络(Critic)去逼近这个上确界:打分在真实样本上尽量高、 生成样本上尽量低;Lipschitz 约束用最朴素的权重裁剪(参数限制在 [−c,c])近似满足26。与判别网络的两个具体差别:输出层不再接 Sigmoid(值域不设限),损失不取对数;书点出这带来的质变—— 评价网络的打分从此有了「距离」的意义,生成器也不再受判别器 饱和引起的梯度消失之苦27。后续 WGAN-GP 用梯度惩罚替代权重裁剪, 更稳;书总结的两条思想值得记:用更合适的距离度量替代 JS 散度; 用 Lipschitz 约束让打分具有距离意义28

GAN 的现状书也给了公道的定位:扩散模型兴起后,它不是被简单替代—— 单步生成的速度、对抗式图像转换、数据增强等场景仍有独特优势29

13. 作者的判断与证据

书里给了完整推导的: ELBO 的重构+正则分解8;重参数化11; 最优判别器与 JS 散度19;非饱和目标与逆向 KL 的关系22; Wasserstein 对偶与评价网络26

书里给了坦白的: VAE 训练是两种要求的平衡9;GAN 「训练比较难, 往往不太稳定」、判别器强弱两难30;「在梯度消失和梯度错误之间取得 平衡并不是一件容易的事」21

书里给了对照视角的: VAE 与自编码器「表面类似、机理不同」 (概率生成模型+近似推断 vs 确定性编码映射)31;两条路线的病根 在表 16.1 里各占一行(重构好≠样本自然;样本锐利但易坍塌)32

14. 边界与局限

VAE 的似然读数偏低:书没有给生成样本与真实数据「像不像」的量化指标 (那是 FID 类指标的事),评估一节把「重构好不等于样本自然」列为盲点32

W-GAN 的 Lipschitz 约束只有裁剪一种近似:书提了 WGAN-GP 的存在, 梯度惩罚的机制未展开。

GAN 的理论分析都建立在「最优判别器」上:真实训练中 D 从不最优, 书指出了这个裂缝(梯度消失与梯度错误之间),但没有给出可靠的实践判据。

条件生成(cGAN)与 InfoGAN 只点到名字:条件注入的完整故事 在下一章的扩散模型里展开。

15. 可带走的

  1. 生成模型两件事:密度估计 + 采样;高维下要靠隐变量、对抗或分步;
  2. VAE = 推断网络(近似后验)+ 解码网络(条件分布),目标统一是 ELBO;
  3. ELBO = 重构项 − KL 正则;两项天生拉锯,平衡即艺术;
  4. 重参数化 z=μ+σ⊙ε:把随机性挪出梯度路径;
  5. KL 太强→后验坍塌,KL 太弱→隐空间失忆;隐空间紧凑性是第 38 章的前提;
  6. GAN = 隐式密度 + 判别器供训练信号;非饱和目标防梯度饱和;
  7. 最优判别器 ⇒ 生成器在最小化 JS 散度;
  8. 支撑集不重叠 ⇒ JS 恒 log 2 ⇒ 梯度消失;逆向 KL ⇒ 模式坍塌;
  9. W-GAN 换 Wasserstein 距离:Critic 的打分有了距离的含义;
  10. GAN 未被替代:单步生成、图像转换、数据增强仍是它的主场。

16. 原文地图

主题原书章原文位置
生成模型定义与两难第16章 深度生成模型text/17-ch16.txt:8(搜「概率生成模型(Probabilistic Generative」) · text/17-ch16.txt:14(搜「概率密度估计和生成样本」) · text/17-ch16.txt:24(搜「很难高效采样」)
四类范式第16章 深度生成模型text/17-ch16.txt:32(搜「隐变量建模、对抗训练」)
隐变量分解第16章 深度生成模型text/17-ch16.txt:53(搜「引入隐变量」) · text/17-ch16.txt:55(搜「标准高斯分布」)
两个困难与 VAE 思想第16章 深度生成模型text/17-ch16.txt:61(搜「两个核心困难」) · text/17-ch16.txt:67(搜「变分自编码器的基本思想」)
推断网络与生成网络第16章 深度生成模型text/17-ch16.txt:159(搜「变分自编码器(Variational Autoencoder」) · text/17-ch16.txt:163(搜「推断网络」) · text/17-ch16.txt:167(搜「生成网络」)
与自编码器不同第16章 深度生成模型text/17-ch16.txt:187(搜「名称来自于其整个网络结构」) · text/17-ch16.txt:191(搜「完全不同」)
ELBO 分解第16章 深度生成模型text/17-ch16.txt:291(搜「(16.19)」) · text/17-ch16.txt:298(搜「重构项」) · text/17-ch16.txt:31(搜「取得平衡」)
重参数化第16章 深度生成模型text/17-ch16.txt:348(搜「重参数化(Reparameterization」) · text/17-ch16.txt:367(搜「(16.24)」) · text/17-ch16.txt:369(搜「确定性关系」)
两种失衡第16章 深度生成模型text/17-ch16.txt:401(搜「两种要求」) · text/17-ch16.txt:404(搜「后验坍塌」) · text/17-ch16.txt:409(搜「KL 退火」) · text/17-ch16.txt:452(搜「VQ-VAE」)
隐式密度模型第16章 深度生成模型text/17-ch16.txt:466(搜「不」) · text/17-ch16.txt:470(搜「隐式密度模型(Implicit」) · text/17-ch16.txt:471(搜「而是建模生成过」)
GAN 与判别网络第16章 深度生成模型text/17-ch16.txt:482(搜「生成对抗网络(Generative Adversarial」) · text/17-ch16.txt:484(搜「判别网络」) · text/17-ch16.txt:486(搜「无法区分」)
非饱和目标第16章 深度生成模型text/17-ch16.txt:534(搜「非饱和生成器目标」) · text/17-ch16.txt:546(搜「更强的学习信号」)
训练 K 次第16章 深度生成模型text/17-ch16.txt:555(搜「判别网络更新」)
DCGAN第16章 深度生成模型text/17-ch16.txt:589(搜「深度卷积生成对抗网络」) · text/17-ch16.txt:598(搜「经验性的网络结构设计」)
最优判别器与 JS第16章 深度生成模型text/17-ch16.txt:621(搜「最优的判别器」) · text/17-ch16.txt:635(搜「(16.39)」) · text/17-ch16.txt:638(搜「JS 散度」)
梯度消失第16章 深度生成模型text/17-ch16.txt:647(搜「当两个分布的支撑集没有」) · text/17-ch16.txt:650(搜「梯度为 0」) · text/17-ch16.txt:665(搜「如何在梯度消失和梯度错误之间取得平」)
模式坍塌与逆向 KL第16章 深度生成模型text/17-ch16.txt:668(搜「模式坍塌」) · text/17-ch16.txt:689(搜「逆向 KL 散度」) · text/17-ch16.txt:692(搜「少数高概率」) · text/17-ch16.txt:694(搜「并非完全学坏」)
前向与逆向 KL第16章 深度生成模型text/17-ch16.txt:696(搜「前向和逆向」) · text/17-ch16.txt:727(搜「尽可能覆盖」) · text/17-ch16.txt:739(搜「尽可能避开」)
W-GAN第16章 深度生成模型text/17-ch16.txt:749(搜「Wasserstein 距离替代」) · text/17-ch16.txt:759(搜「没有重叠」) · text/17-ch16.txt:798(搜「评价网络」) · text/17-ch16.txt:815(搜「−𝑐, 𝑐」) · text/17-ch16.txt:824(搜「饱和引起的梯度消失」) · text/17-ch16.txt:862(搜「距离度量替代 JS」)
GAN 的地位第16章 深度生成模型text/17-ch16.txt:891(搜「GAN 在生成建模中的地位」) · text/17-ch16.txt:895(搜「被替代」)

Footnotes

  1. 出处:「第16章 深度生成模型」第 8 至 24 段(text/17-ch16.txt:14,搜「概率密度估计和生成样本」; text/17-ch16.txt:24,搜「很难高效采样」)。

  2. 出处:「第16章 深度生成模型」第 27 至 33 段(text/17-ch16.txt:32,搜「隐变量建模、对抗训练」)。

  3. 出处:「第16章 深度生成模型」第 48 至 57 段(text/17-ch16.txt:53,搜「引入隐变量」; text/17-ch16.txt:55,搜「标准高斯分布」;text/17-ch16.txt:57,搜「条件分布」)。

  4. 出处:「第16章 深度生成模型」第 81 至 91 段(text/17-ch16.txt:54,搜「两个局部条件概率」; text/17-ch16.txt:91,搜「生成对抗网络的思想」);「神经网络替换手工概率表」见第 34 章引文 (text/15-ch14.txt:1534,搜「概率因子」)。

  5. 出处:「第16章 深度生成模型」第 159 至 162 段(text/17-ch16.txt:159,搜「变分自编码器(Variational Autoencoder」; text/17-ch16.txt:160,搜「近似难以直接计算」)[Kingma et al., 2014]。

  6. 出处:「第16章 深度生成模型」第 163 至 169 段(text/17-ch16.txt:163,搜「推断网络」; text/17-ch16.txt:167,搜「生成网络」);分布族选择见第 259 至 276 段 (text/17-ch16.txt:261,搜「伯努利」;text/17-ch16.txt:201,搜「对角化协方差」)。

  7. 出处:「第16章 深度生成模型」第 187 至 197 段(text/17-ch16.txt:191,搜「完全不同」; text/17-ch16.txt:191,搜「分布(或分布的参数」)。

  8. 出处:「第16章 深度生成模型」第 283 至 303 段(text/17-ch16.txt:285,搜「统一为最大化证据下界」; text/17-ch16.txt:298,搜「重构项」;text/17-ch16.txt:300,搜「正则项」),式(16.18)-(16.19)。 2

  9. 出处:「第16章 深度生成模型」第 302 至 303 段(text/17-ch16.txt:31,搜「取得平衡」)。 2

  10. 出处:「第16章 深度生成模型」第 318 至 327 段(text/17-ch16.txt:141,搜「E 步」)。

  11. 出处:「第16章 深度生成模型」第 346 至 370 段(text/17-ch16.txt:14,搜「采样」亦可按 「非确定性关系」定位;text/17-ch16.txt:367,搜「(16.24)」; text/17-ch16.txt:369,搜「确定性关系」),式(16.23)-(16.24)。 2

  12. 出处:「第16章 深度生成模型」第 401 至 412 段(text/17-ch16.txt:404,搜「后验坍塌」; text/17-ch16.txt:406,搜「失去良好的生成与插值」;text/17-ch16.txt:409,搜「KL 退火」)。

  13. 出处:「第16章 深度生成模型」第 454 至 456 段(text/17-ch16.txt:1479,搜「压缩到一个更紧凑的隐空间」); 隐空间扩散见 text/17-ch16.txt:1479(搜「更紧凑的隐空间」)。

  14. 出处:「第16章 深度生成模型」第 452 至 454 段(text/17-ch16.txt:452,搜「VQ-VAE」) [van den Oord et al., 2017]。

  15. 出处:「第16章 深度生成模型」第 466 至 472 段(text/17-ch16.txt:470,搜「隐式密度模型(Implicit」; text/17-ch16.txt:471,搜「而是建模生成过」)。

  16. 出处:「第16章 深度生成模型」第 479 至 496 段(text/17-ch16.txt:483,搜「对抗训练的方式来使得」; text/17-ch16.txt:486,搜「无法区分」)[Goodfellow et al., 2014]。

  17. 出处:「第16章 深度生成模型」第 533 至 547 段(text/17-ch16.txt:539,搜「相同的最优点」; text/17-ch16.txt:546,搜「更强的学习信号」);K 次更新见第 555 至 557 段 (text/17-ch16.txt:555,搜「判别网络更新」)。

  18. 出处:「第16章 深度生成模型」第 588 至 607 段(text/17-ch16.txt:591,搜「带步长的卷积」; text/17-ch16.txt:598,搜「经验性的网络结构设计」;text/17-ch16.txt:594,搜「微步卷积」) [Radford et al., 2016]。

  19. 出处:「第16章 深度生成模型」第 621 至 643 段(text/17-ch16.txt:624,搜「(16.35)」; text/17-ch16.txt:635,搜「(16.39)」;text/17-ch16.txt:642,搜「最优生」), 式(16.35)-(16.39)。 2

  20. 出处:「第16章 深度生成模型」第 646 至 656 段(text/17-ch16.txt:648,搜「log 2」; text/17-ch16.txt:315,搜「梯度为 0」)。

  21. 出处:「第16章 深度生成模型」第 663 至 666 段(text/17-ch16.txt:665,搜「如何在梯度消失和梯度错误之间取得平」)。 2

  22. 出处:「第16章 深度生成模型」第 668 至 686 段(text/17-ch16.txt:679,搜「(16.43)」; text/17-ch16.txt:689,搜「逆向 KL 散度」),式(16.40)-(16.45)。 2

  23. 出处:「第16章 深度生成模型」第 696 至 740 段(text/17-ch16.txt:727,搜「尽可能覆盖」; text/17-ch16.txt:739,搜「尽可能避开」),式(16.46)-(16.47)。

  24. 出处:「第16章 深度生成模型」第 688 至 695 段(text/17-ch16.txt:692,搜「少数高概率」; text/17-ch16.txt:694,搜「并非完全学坏」)。

  25. 出处:「第16章 深度生成模型」第 748 至 761 段(text/17-ch16.txt:749,搜「Wasserstein 距离替代」; text/17-ch16.txt:760,搜「log 2」亦可按「恒为常数」定位;text/17-ch16.txt:761,搜「没有重叠分布」), 式(16.48)[Arjovsky et al., 2017]。

  26. 出处:「第16章 深度生成模型」第 778 至 816 段(text/17-ch16.txt:790,搜「对偶」; text/17-ch16.txt:798,搜「评价网络」;text/17-ch16.txt:807,搜「线性层」; text/17-ch16.txt:815,搜「𝑐」),式(16.49)-(16.53)。 2

  27. 出处:「第16章 深度生成模型」第 823 至 828 段(text/17-ch16.txt:824,搜「饱和引起的梯度消失」; text/17-ch16.txt:827,搜「不使用 Sigmoid」)。

  28. 出处:「第16章 深度生成模型」第 858 至 863 段(text/17-ch16.txt:860,搜「梯度惩罚」; text/17-ch16.txt:862,搜「距离度量替代 JS」)。

  29. 出处:「第16章 深度生成模型」第 891 至 898 段(text/17-ch16.txt:895,搜「被替代」; text/17-ch16.txt:895,搜「单步生成」)。

  30. 出处:「第16章 深度生成模型」第 550 至 554 段(text/17-ch16.txt:551,搜「往往不太稳定」; text/17-ch16.txt:552,搜「判别网络过强」)。

  31. 出处:「第16章 深度生成模型」第 396 至 400 段(text/17-ch16.txt:398,搜「机理并不相同」; text/17-ch16.txt:398,搜「确定性编码与解」)。

  32. 出处:「第16章 深度生成模型」第 1955 至 1979 段(text/17-ch16.txt:1960,搜「重构好不等于」; text/17-ch16.txt:745,搜「性和模式坍塌」),表 16.1。 2