跳到主要内容

图上的扩散,以及七种方法的横评

1. 这一章讲什么

三件事: 把前几章那套搬到不规则网格上要解决的一个架构问题; 「先压缩、再在压缩空间里做扩散」这条路便宜在哪; 以及一张把七种概率方法摆在一起的表,它给出全书最锋利的一句话。

它在全书链条里的位置:这是第二把刀的收尾。 第 11 到 15 章一路把「学一整个分布」建起来,这一章回头问一个审计式的问题: 这些方法到底谁真的学到了分布? 答案是:光看均值,谁都及格;换个量看,差距立刻拉开到不可比。

2. 顶层全景

前几章都在规则网格上做 这一章换到不规则网格(图)上

┌───────────────────┐ ┌──────────────────────────┐
│ 绕三维机翼的规则网格 │ │ 只要机翼表面的网格 │
│ 十万个以上的单元 │ ───▶ │ 约 7,000 个节点 │
└───────────────────┘ └──────────────────────────┘

撞到一个架构问题:图上靠邻居传消息,
大尺度的东西去噪时被「消息传不到那么远」卡住

解法:在图的多个粗化版本上做 U-Net 式的传递

┌──────────────────────────────┴─────────────┐
▼ ▼
直接在物理空间上扩散 先压到潜空间,再在那里扩散
自编码器管细节,扩散管大尺度
更准 · 快 8 倍 · 训练多约 55%


审计:七种方法摆一起,拿什么量才看得出差别?
均值的 R²:全部 ≥ 0.97 —— 分不出高下
标准差的 R²:0.98 → −0.65 —— 差距在这里

这张图在讲什么: 上半是换舞台带来的两个技术问题及其解法, 下半是这一章真正的产出——一把能把这些方法分开的尺子。

3. 换舞台的理由:一个数字就说清了

结论先行:规则网格在有些场合是浪费,而这个浪费可以量。

第 04 章讲过:把空间切成一格一格,是数值仿真的基本动作。 但格子必须铺满整个计算区域——包括那些你其实不关心的地方。

书给的对照极干脆1:

表示方式要多少个单元
绕一个三维机翼的规则网格十万个以上
只表示机翼表面的网格约 7,000 个节点

差了一个多数量级,而你要的东西可能只在表面上。 书说的具体用途是:机翼表面的压力分布既能定出气动性能,也能定出结构要求。

「网格」在这里就是一张图: 一堆点(节点),加上「哪两个点相邻」的连线(边)。 它和规则网格的差别只有一条:邻居的数量和方位不再是固定的。 好处是可以只在你关心的地方铺得密。

书的说法是:前几章那些概念都能搬过来—— 去噪和流匹配在不规则网格上同样好使,直接作用在网格的节点上就行2

4. 一个必须点破的架构问题

结论先行:搬过去会撞墙,而撞的正是第 04 章那把「牵动多远」的尺子。

图上的网络怎么工作:靠邻居之间一轮轮地传消息。 每一轮,每个节点把自己的信息发给相邻的节点,再把收到的信息汇总、更新自己。 传一轮,一个节点就多知道一圈;传 k 轮,它能知道 k 跳以内的事3

问题就在这里。书说得很直接4:

以往的图扩散做法用顺序的消息传递在图上传播节点特征。 但这种做法对大尺度现象失效—— 全局特征的去噪,会被消息传递有限的触及范围卡住。

摊开讲: 去噪要求网络回答「这一整张图上叠的是哪一份噪声」。 噪声里有大尺度的成分(整片区域一起偏),要判断它,得看到整片区域。 而消息传递能看多远由层数决定——层数不够,大尺度的成分就判断不了。

这正是第 04 章那把尺子:一个点的变化会牵动多远。 只不过在规则网格上它叫感受野,在图上它叫「消息能传几跳」。

解法书给的也和第 04 章同源4: 在原图和它的多个粗化版本上做 U-Net 式的消息传递。

「粗化」就是把一张密的图合并成一张疏的图(几个节点合成一个), 于是同样传一轮,在疏图上覆盖的物理距离就大得多。 书用的粗化算法本来是给计算流体做快速网格粗化用的4在图和它的粗化版本之间上下移动的操作,同样靠消息传递实现。

这一节的收获是一条可迁移的判据: 只要你的任务里有「必须看到全局才判断得了」的成分,就得给网络一条走捷径的路。 U-Net 在规则网格上给的是下采样,在图上给的是粗化——同一件事。

5. 自编码器:把一整个场压成几十个数

结论先行:下一步要在「压缩空间」里做扩散,所以先得讲清楚压缩是怎么来的。

先看它要解决什么。 一个流场有几千到几十万个数。 扩散要在这么多数上反复来回几十上百步,贵。 但这几万个数里的信息,远没有几万个数那么多—— 流场是连续的、有结构的,相邻的地方长得像。

做法是训两个网络,串在一起用:

一整个场(几千个数)


编码器 ──▶ 几十个数(这一小把数就是「压缩表示」)


解码器 ──▶ 一整个场(几千个数)
└──────── 训练目标:进去和出来的那两个场要像 ────────┘

这两个网络串起来的整体,叫自编码器。 中间那个最窄的地方叫瓶颈,瓶颈处那几十个数,就是整个状态的一份压缩表示。

训练它不需要标注:输入就是标准答案。 你给它一个场,让它还原出同一个场—— 网络要想还原得像,就必须把那几千个数里真正有用的信息塞进中间那几十个数里。

为什么不用老办法。 书点了名: 主成分分析这类经典的降维方法(降维就是把很多个数压成少数几个数),构造上是线性的, 表示不了有意思的解流形(第 02 章讲过:所有合法解在高维空间里张成的那个弯曲的面)5流场随参数变化的方式是弯的,拿一堆直的方向去逼近,逼不出来。

书用的具体版本是一个「变分」的图自编码器。 ⚠️ 「变分」那一版和这里讲的普通自编码器结构像、机理不同—— 它的编码器吐的不是一串数,而是一个分布的参数6这个区别在这一章不承重,我们只按「压缩 + 还原」这个作用去理解它。

6. 潜空间:它不只是省算力,还是一次分工

结论先行:在压缩空间里做扩散的收益,一半来自省,一半来自分工。

自编码器瓶颈处那几十个数张成的空间,叫潜空间。 「在潜空间里做扩散」就是:不去生成那个几千个数的场, 而是去生成那几十个数,再让解码器把它还原成场。

省算力这一半很好理解:要来回几十步的对象小了两三个数量级。 但书强调的是另一半——分工7:

负责什么
自编码器高频信息:空间梯度、小涡
扩散那一半中到大尺度的模式:尾流、涡街

书的原话是:解耦这两件事简化了生成式的学习过程, 让扩散那一半能专注在更有意义的表示上,不必对小尺度的抖动那么敏感。

还有一个顺带的好处:推理时,解码器还能帮着清掉扩散那一半留下的残余噪声7

这条分工为什么值钱:回到第 13 章那个观察——均值容易、标准差难。 小涡的具体位置本来就是随机的,让扩散去操心它们是浪费; 而尾流往哪边偏、涡街的相位在哪,才是真正需要「学分布」的部分。

收益的数在第 8 节主走查里给,先记结论:更准、快 8 倍、训练时间只多约 55%。

7. 两个新主张

书在这一章提了两条主张,它们都不是关于精度的,而是关于「能省掉什么」。

主张一:训练数据不完整,照样能学到完整的分布。

书的说法是2: 即使训练数据对单个例子只有一份不完整的分布, 「从许多不同例子里学习」这个全局的视角,也能让网络把后验分布补全。

读法:每个 case 你只看了一小段,但你看了很多个 case; 不同 case 的片面视野合在一起,能拼出完整的统计。 第 9 节那个「250 个状态只占约一成」就是这条主张的实验。

主张二:可以跳过冗长的瞬态热身。

先讲清楚「瞬态」和「统计平衡」这对词,它们是这一节的前提: 一个流动从静止开始,要跑很久才进入「统计上稳定」的状态 ——那之后流场每一刻都不一样,但它的统计量(均值、脉动强度)不再变了。 前面那一段叫瞬态,是热身,通常没人关心,但必须跑完才能开始采数据。

书说扩散那一套可以完全跳过这段热身,直接产生想要的样本2它给的理由是需求侧的:对许多涉及湍流的实际应用, 关键是拿到「所有可能流态」的完整分布,由此才能导出相关的统计量。

这一条的价值在第 8 节那组时间数字里会变得非常具体。

8. 主走查:三维湍流里机翼表面的压力分布

走查之前先讲清一个词,它决定了这组数据是怎么造出来的。

分离涡模拟:一种折中的做法—— 靠近壁面的那一层按「把湍流平均掉」的方式处理(第 05 章那个 RANS 的思路), 而远离壁面的大涡直接算出来。 它介于「什么都直接算」和「全部平均掉」之间。

主走查第 1 步(任务): 三维湍流里,机翼表面的压力分布。 机翼的几何在相对厚度、梢根比、后掠角、扭转角上变化1书说这个任务难在湍流本身的高维和混沌,以及它跨越很多尺度的相互作用。

主走查第 2 步(为什么用图): 规则网格要十万个以上的单元, 表面网格约 7,000 个节点1

主走查第 3 步(训练数据,这一步是主张一的实验): 用分离涡模拟造数据,取「统计平衡刚达成之后」的 250 个连续状态1⚠️ 书自己算了这个数的分量:那只占「要让方差达到统计上稳定所需状态数」的约一成。 书的原话是:模型是在对每个 case 只有非常片面的视野下训练的。

主走查第 4 步(拿什么量,这一步是全章的方法论): 指标是 Wasserstein 距离。 它量的是「把一堆土搬成另一堆要花多少功」—— 两个分布之间,要把一边的概率质量搬成另一边的样子,总搬运代价是多少8

书特意说明它有两种算法,而两者的差别是这一节最该记住的东西8:

算法怎么算抓得住什么
逐节点算把每个节点的分布各自独立处理,再平均逐点的统计(均值、标准差)准不准
在整张图上联合算考虑所有节点的联合分布还会惩罚错误的空间相关性

差别的例子:两个节点该同时变大,而模型让它们各自随机地大—— 逐点算看不出问题,联合算会扣分。

主走查第 5 步(为了统计稳定,两边各取多少): 真值那一边用 2,500 个连续状态,预测那一边采 3,000 个样本8⚠️ 书同时坦白:训练数据里的轨迹长到足够抓住均值流, 但不足以抓住标准差、空间相关性或者更高阶的统计。

主走查第 6 步(结果)9:

方法图上的 Wasserstein 距离
潜空间版(先压缩再扩散)1.95 ± 0.89
物理空间版(直接扩散)2.12 ± 0.90
高斯混合基线4.32 ± 0.86

两个扩散版本都远好于那个基线,而潜空间版最好。

主走查第 7 步(时间,这一步是主张二的实验)10:

干了什么花了多久
真值求解器(8 个 CPU 线程)跑完瞬态阶段 + 2,500 个平衡态2,989 分钟
潜空间版(8 个 CPU 线程)生成 3,000 个样本49 分钟
潜空间版(单个 GPU,也就是一块显卡)生成 3,000 个样本2.43 分钟

书还换了个角度算:如果只要一个收敛好的状态(比如拿去当另一个仿真器的初始条件), 在 CPU 上快四个数量级,在 GPU 上快五个数量级。 ⚠️ 书自己先声明了:跨实现的运行时比较总要打个折扣。

主走查第 8 步(潜空间那一步值不值): 潜空间版不但更准,还比物理空间版快 8 倍,而训练时间只多约 55%10

9. 另起一处的走查:椭圆柱表面的七法横评

另起一处的走查(和主走查那个三维机翼不是同一个任务): 椭圆柱周围的压力场,同样只看浸没物体的表面。 关键设计:训练轨迹被故意做得很短——短到覆盖不了一个完整的振荡周期。 也就是说,它们没有显式提供系统的完整统计信息11

要证明的点书写在一个专门的框里:扩散训练能通过组合 多个初始条件和几何形状的信息,学到完整的统计。 书说这是「一个非常强大的能力,把它和其他概率学习方法区分开来」。

真值分布是双峰的,由椭圆柱后方反复的涡脱落造成—— 所以模型既要抓住两个极值(密度更高的地方),也要抓住密度较低的中间部分12

然后是这张表,它是全书对概率方法最完整的一次横评13:

方法均值的 R²标准差的 R²逐点的 W₂联合的 W₂
物理空间扩散0.99890.98140.01160.1536
潜空间扩散0.99860.96140.01430.1787
潜空间流匹配0.99850.84250.01540.1635
自编码器单用0.99940.88180.01300.2050
物理空间流匹配0.99760.42370.02350.2256
贝叶斯图网络0.9980−0.65140.03630.5987
高斯混合图网络0.97080.10790.05350.7174

先把 R² 讲清楚,不然这张表没法读: 它是一个「解释了多少」的分数,1 表示完全对上,0 表示「和直接预测一个常数一样好」, 负数表示比预测一个常数还差。

现在这张表可以一句话读完:

均值那一列,七个方法全在 0.97 以上,几乎分不出高下。 标准差那一列,从 0.98 一路掉到 −0.65。

−0.6514 这个数要读出它的意思:那个方法预测的标准差场, 比「不管在哪儿都报同一个数」还要差。

这就是这一章那句话的全部依据:学均值谁都会,学分布才是分水岭。

10. 逐条读这张表

书自己对这张表给了四条观察,每一条都值得单独记12:

第一,物理空间那一版这里甚至能赢过潜空间版。 书的解释:常规版本的噪声在这个 case 上一定程度被平均掉了。 ⚠️ 注意这和第 8 节主走查的结论相反——那里是潜空间版赢。 同一套方法在两个任务上排名不同,这本身就是一条该记住的事实。

第二,流匹配以零头的成本产生这些分布,因此一般更可取。 读法:看表里流匹配那两行的标准差 R²(0.8425 和 0.4237)不如扩散那两行, 但书仍然推荐它——因为它便宜得多(第 13 章那个 20 步对 200 步)。

第三,贝叶斯网络和高斯混合模型的问题在分布图上非常清楚。 它们正是第 11 章提过的那两条老路,而这里给了它们的成绩单。

第四,自编码器单用的问题在这里也更清楚了:它有模态坍缩。 「模态坍缩」就是:数据里明明有两支(或多支)解,而模型只生成得出其中一支, 另一支被整个丢掉。 ⚠️ 这正是第 01 章那盆冷水的另一种失败方式—— 不是把两支平均掉,而是干脆只认一支。 书说这个问题在更复杂的场景里更严重。

书还坦白了这把尺子的局限12: 图上的 Wasserstein 距离基本抓住了上面这些直觉, 但没能反映分布的外围和内部部分匹配得多好。

11. 这一部分的结账与最后的推荐

书给整个概率那一块列了账14:

✅ 好处❌ 代价
能对分布做训练和推理推理成本略微增加
理论很成熟对确定性的场景没有真正的优势
训练稳定

书还有一句有意思的观察14: 令人惊讶的是,概率那一套里有些部分, 实际上比关于更简单的学习方法的一些基本问题发展得还更完善。

那条「对确定性场景没有优势」有一个明确的例外,书自己点了14: 长期稳定性——也就是第 15 章那个二十万步不发散。

最后是一条可以直接带走的二选一判据14:

如果你的问题包含歧义,以流匹配形式出现的扩散建模是首选。 如果你的数据包含可靠的输入-输出对,那就用更简单的确定性训练。

12. 主走查合起来看

发生了什么具体的数
1任务三维湍流里机翼表面的压力分布;几何在厚度、梢根比、后掠角、扭转角上变化
2为什么换图规则网格 10⁵ 个以上单元 对 表面网格 约 7,000 个节点
3架构问题消息传递够不着大尺度 → 在图的多个粗化版本上做 U-Net 式传递
4训练数据分离涡模拟,统计平衡刚达成后的 250 个连续状态 ≈ 所需的一成
5指标Wasserstein 距离,两种算法:逐节点算 / 在整张图上联合算
6统计口径真值 2,500 个状态,预测 3,000 个样本
7结果潜空间版 1.95 ± 0.89 / 物理空间版 2.12 ± 0.90 / 高斯混合 4.32 ± 0.86
8时间真值求解器 2,989 分钟;潜空间版 49 分钟(8 CPU 线程)、2.43 分钟(单 GPU)
9换个角度只要一个收敛态的话,CPU 上快四个数量级、GPU 上快五个数量级
10潜空间的账更准 · 快 8 倍 · 训练时间只多约 55%

每个数都是书里给的(逐条见脚注); 书自己先声明了跨实现的运行时比较要打折扣。

13. 作者的判断与证据

书里给了证据的:

说法证据
潜空间那一步值三维机翼上的 1.95 对 2.12,外加 8 倍速度与 55% 训练开销910
学均值谁都会七种方法的均值 R² 全部 ≥ 0.970813
学分布才分得开同一批方法的标准差 R² 从 0.9814 掉到 −0.651413
片面视野也能学到完整统计250 个状态 ≈ 一成,而结果仍然对得上19
自编码器单用会模态坍缩分布图上可见,外加标准差 R² 只有 0.88181213

作者的判断:

说法为什么算判断
「顺序消息传递对大尺度现象失效」没有给「不做粗化会差多少」的对照4
「流匹配一般更可取」这张表里流匹配的标准差 R² 反而更低;推荐依据是成本,而成本在这一章没有量12
「跳过瞬态热身」时间对比里那 2,989 分钟包含瞬态,但书没有单独给瞬态占多少10
「四到五个数量级的加速」由生成 3,000 个样本的耗时折算出来的,不是直接测的10
物理空间版在椭圆上反超潜空间版书给了归因(噪声被平均掉),但没有做验证12

判断(我们的,不是书里的): 这一章最该被带走的是那把尺子,不是那些方法。 「均值的 R² 和标准差的 R² 分开报」这一个动作,就足以把一批看起来都不错的方法排出真实次序。 而它之所以有效,是因为均值是所有回归目标都会顺带学到的东西, 标准差不是——只有真的在建模分布,标准差才可能对。 如果错,会错在: 如果真值的标准差场在空间上很平(处处差不多), 那么 R² 的分母很小,任何小误差都会让它掉到负数,这把尺子会过度惩罚。 判据是:真值标准差场的空间方差有多大? 太小就得换成第 8 节那个联合的 Wasserstein 距离。

14. 边界与局限

  • 两个任务给出了相反的排名(三维机翼上潜空间版赢,椭圆柱上物理空间版赢), 书给了归因但没有验证,也没有给「什么时候该选哪个」的判据;
  • 横评那张表只在一个任务上跑过,而且是表面压力这一个量;
  • 横评表里没有推理耗时。 书推荐流匹配的理由是成本,但这一章一个成本数字都没有;
  • 「250 个状态约占一成」的那个一成怎么算的,书没有交代;
  • 粗化算法只提了名字,粗化几级、每级压缩多少,正文没有给;
  • 自编码器那一半的规模、潜空间维度多少,全书没有给—— 而这恰恰是「快 8 倍」的来源;
  • 模态坍缩只有定性描述,没有量化;
  • Wasserstein 距离那把尺子书自己说漏了东西: 它反映不出分布的外围和内部匹配得多好12;
  • 整章没有物理约束。 这里的扩散完全是数据驱动的, 仿真器没有进入训练或推理——那是第 14 章那条线的事。

15. 可带走的

  1. 规则网格在有些场合是浪费: 绕三维机翼要十万个以上的单元, 而只要表面时七千个节点就够;
  2. 网格就是一张图:一堆点加上「谁和谁相邻」;好处是可以只在关心的地方铺密;
  3. 去噪和流匹配能原样搬到图上,直接作用在节点上;
  4. 但会撞一堵墙:图上的网络靠邻居一轮轮传消息,能看多远由层数决定; 大尺度成分的去噪会被这个范围卡住;
  5. 解法和 U-Net 同源:在图的多个粗化版本上传消息,让一轮消息覆盖更大的物理距离;
  6. 自编码器 = 编码器把一整个场压成几十个数 + 解码器再还原回去; 训练不需要标注,输入就是标准答案;
  7. 主成分分析这类经典降维构造上是线性的,表示不了弯曲的解流形;
  8. 潜空间的收益一半是省,一半是分工: 自编码器管小涡和空间梯度这类高频,扩散只管尾流、涡街这类中到大尺度;
  9. 收益是可量的:更准、快 8 倍、训练时间只多约 55%;
  10. 训练数据只有一成的片面视野,照样能学到完整的统计—— 靠的是「跨很多不同 case 的全局视角」;
  11. 扩散可以跳过冗长的瞬态热身,直接产生平衡态的样本;
  12. Wasserstein 距离量的是「把一堆土搬成另一堆要花多少功」; 逐点算和在整张图上联合算是两回事——前者不惩罚错误的空间相关性;
  13. 一张表的全部信息:均值 R² 全在 0.97 以上,标准差 R² 从 0.98 掉到 −0.65。 学均值谁都会,学分布才是分水岭;
  14. 负的 R² 意味着「比不管在哪儿都报同一个数还差」;
  15. 模态坍缩是另一种失败:不是把两支平均掉,而是干脆只认一支;
  16. 最后那条二选一:有歧义就用流匹配形式的扩散; 有可靠的输入-输出对就用更简单的确定性训练。

16. 原文地图

主题原书章原文位置
概念能搬到图上、补全数据分布31 Graph-based Diffusion Modelstext/17-p321-340.txt:165(搜「unstrucuted Eulerian meshes」) · text/17-p321-340.txt:166(搜「excel at completing data distributions」)
跳过瞬态热身31 同上text/17-p321-340.txt:170(搜「full distribution of possible flow states」)
直接作用在网格节点上31.1 Diffusion Graph Nettext/17-p321-340.txt:179(搜「defined by their discretization mesh」)
消息传递对大尺度失效、多尺度图 U-Net31.2text/17-p321-340.txt:260(搜「sequential message passing」) · text/17-p321-340.txt:264(搜「coarsening algorithm」)
潜空间、两半的分工、解码器去残余噪声31.3 Diffusion in Latent Spacetext/17-p321-340.txt:273(搜「lower-dimensional graph-based representation」) · text/17-p321-340.txt:276(搜「captures high-frequency information」)
三维机翼任务、7,000 节点、250 个状态31.4 Turbulent Flows around Wings in 3Dtext/17-p321-340.txt:337(搜「approximately 7,000 nodes」) · text/17-p321-340.txt:340(搜「Detached Eddy Simulation」)
两种 Wasserstein 算法、2500 与 300031.5 Distributional accuracytext/17-p321-340.txt:350(搜「Wasserstein-2 distance」) · text/17-p321-340.txt:355(搜「2,500 consecutive states」)
1.95 / 2.12 / 4.3231.5 同上text/17-p321-340.txt:363(搜「1.95」)
2,989 分钟 / 49 分钟 / 2.43 分钟、快 8 倍31.6 Computational Performancetext/17-p321-340.txt:371(搜「grain of salt」) · text/17-p321-340.txt:377(搜「8× faster」)
轨迹故意做得很短、要证明的点32 Distributional Accuracy of Diffusion Graph Netstext/17-p321-340.txt:390(搜「too short to cover one full oscillation」) · text/17-p321-340.txt:396(搜「combining the information across multiple」)
七种方法的数字32.3 Evaluating Distributional Accuracytext/18-p341-360.txt:217(搜「R2 of std: 0.9814」) · text/18-p341-360.txt:239(搜「R2 of std: -0.6514」) · text/18-p341-360.txt:246(搜「R2 of std: 0.1079」)
双峰真值、四条观察、尺子的局限32.3 同上text/18-p341-360.txt:256(搜「bi-modal distribution」) · text/18-p341-360.txt:263(搜「mode-collapse」) · text/18-p341-360.txt:265(搜「fails to illustrate」)
这一部分的账与最后的推荐33 Discussion of Probabilistic Learningtext/18-p341-360.txt:273(搜「more developed than basic questions」) · text/18-p341-360.txt:278(搜「relatively few advantages for deterministic settings」) · text/18-p341-360.txt:289(搜「go with simpler deterministic training」)

Footnotes

  1. 出处:第 31.4 节 Turbulent Flows around Wings in 3D(p.320–321)第 337 段 (text/17-p321-340.txt:337,搜「approximately 7,000 nodes」) 与第 340 段(text/17-p321-340.txt:340,搜「Detached Eddy Simulation」)。 原文明写这 250 个状态「只占达到统计上稳定的方差所需状态数的约 10%, 因此模型是在对每个 case 非常片面的视野下训练的」。 「分离涡模拟是介于直接算和全部平均之间的折中」这个解释是我们补的 (补充,不在书里,来自通用知识);书只给了这个方法的名字和所用的求解器。 2 3 4 5

  2. 出处:第 31 章开头(p.317)第 165 段 (text/17-p321-340.txt:165,搜「unstrucuted Eulerian meshes」)、 第 166 段(text/17-p321-340.txt:166,搜「excel at completing data distributions」) 与第 170 段(text/17-p321-340.txt:170,搜「full distribution of possible flow states」)。 原文说由完整分布可以导出 RMS、两点相关这类统计量。 2 3

  3. 补充(不在书里,依据我们的 ai-book-reference 书架): 依据: shelf=ai-book-reference/nndl-2e#23-graph-message-passing.md 事实=图神经网络的统一机制是「构造消息 → 邻域聚合 → 状态更新」,层数决定一个节点能看多远。 这条是第 4 节那堵墙的底层原因:书只说了「消息传递的触及范围有限」,没有解释范围由什么决定。

  4. 出处:第 31.2 节(p.318–319)第 260 段 (text/17-p321-340.txt:260,搜「sequential message passing」) 与第 264 段(text/17-p321-340.txt:264,搜「coarsening algorithm」)。 书用的粗化算法本来是给计算流体做快速网格粗化用的; 图之间的上下移动同样基于消息传递实现。 2 3 4

  5. 出处:第 31.3 节 Diffusion in Latent Space(p.319)第 273 段 (text/17-p321-340.txt:273,搜「lower-dimensional graph-based representation」)。 「主成分分析构造上是线性的、表示不了解流形」这一条书在讲降阶模型时提过, 我们提前用在这里;解流形的定义第 02 章给过。

  6. 补充(不在书里,依据我们的 ai-book-reference 书架): 依据: shelf=ai-book-reference/nndl-2e#37-vae-and-gan.md 事实=变分自编码器和普通自编码器「表面类似、机理不同」——它的编码器和解码器输出的是分布的参数,不是一个点。 书全程只用缩写称呼这个组件,没有解释「变分」两个字的含义,这条由我们补上。

  7. 出处:第 31.3 节(p.319)第 276 段 (text/17-p321-340.txt:276,搜「captures high-frequency information」)。 原文明说解耦这两件事简化了生成式的学习过程, 而且推理时解码器还能帮着清掉残余噪声。 2

  8. 出处:第 31.5 节 Distributional accuracy(p.321)第 350 段 (text/17-p321-340.txt:350,搜「Wasserstein-2 distance」) 与第 355 段(text/17-p321-340.txt:355,搜「2,500 consecutive states」)。 原文明说逐节点那种算法不惩罚错误的空间相关性,而在整张图上算的那种会。 「把一堆土搬成另一堆要花多少功」这个说法是我们补的 (补充,不在书里,来自通用知识);书只给了这个距离的名字。 同一段还坦白:训练轨迹长到足够抓住均值流,但不足以抓住标准差、空间相关性和更高阶统计。 2 3

  9. 出处:第 31.5 节(p.321)第 363 段(text/17-p321-340.txt:363,搜「1.95」)。 2 3

  10. 出处:第 31.6 节 Computational Performance(p.322)第 371 段 (text/17-p321-340.txt:371,搜「grain of salt」) 与第 377 段(text/17-p321-340.txt:377,搜「8× faster」)。 ⚠️ 书自己开头就写了「跨实现的运行时比较总要打个折扣」,我们照实传达。 那 2,989 分钟包含瞬态阶段加 2,500 个平衡态,书说这个时长「刚好够拿到一个收敛良好的方差」。 2 3 4 5

  11. 出处:第 32 章开头(p.323)第 390 段 (text/17-p321-340.txt:390,搜「too short to cover one full oscillation」) 与那个专门的框第 396 段 (text/17-p321-340.txt:396,搜「combining the information across multiple」)。

  12. 出处:第 32.3 节(p.335–336)第 256 段 (text/18-p341-360.txt:256,搜「bi-modal distribution」)、 第 263 段(text/18-p341-360.txt:263,搜「mode-collapse」) 与第 265 段(text/18-p341-360.txt:265,搜「fails to illustrate」)。 「模态坍缩 = 只生成得出多支解里的一支」这个解释是我们补的 (补充,不在书里,来自通用知识);书只用了这个名字。 2 3 4 5 6 7

  13. 出处:第 32.3 节 Evaluating Distributional Accuracy(p.334–335)第 217 段 (text/18-p341-360.txt:217,搜「R2 of std: 0.9814」)、 第 239 段(text/18-p341-360.txt:239,搜「R2 of std: -0.6514」) 与第 246 段(text/18-p341-360.txt:246,搜「R2 of std: 0.1079」)。 这七行数字是代码的打印输出,书正文没有把它们汇成一张表——这张表是我们整理的。 「R² 是解释了多少、负数表示比预测一个常数还差」这个解释是我们补的 (补充,不在书里,来自通用知识)。 2 3 4

  14. 出处:第 33 章 Discussion of Probabilistic Learning(p.337)第 273 段 (text/18-p341-360.txt:273,搜「more developed than basic questions」)、 第 278 段(text/18-p341-360.txt:278,搜「relatively few advantages for deterministic settings」) 与第 289 段(text/18-p341-360.txt:289,搜「go with simpler deterministic training」)。 书把长期稳定性列为「对确定性场景没有优势」这一条的一个有意思的例外。 2 3 4