跳到主要内容

一条抛物线看穿全书

1. 这一章讲什么

三件事: 一道题的正确答案不止一个时,最常规的那种训练方式必然给出一个都不对的答案; 换一种打分方式可以躲开这件事,代价是只拿得到其中一个正确答案; 以及为什么这不是教科书里的人造玩具,而是流体里天天发生的事。

它在全书链条里的位置:这是种子。 全书剩下的十九章,都是在回答这一章逼出来的三个问题: 物理知识该在学习过程的哪一层进来(第 02 到 10 章)、 网络该吐一个答案还是一整个分布(第 11 到 16 章)、 以及训练时那个「往哪挪一丁点」的量本身算得对吗(第 18 到 19 章)。

这一章不需要任何预备知识。里面会用到的每一个词,都在第一次出现的地方当场讲明白。

2. 顶层全景

整章只围着一个输入转:题目给出 x = 0.36,问「哪个数的平方等于 0.36」。

题目: x = 0.36

合法答案有两个: +0.6 和 −0.6

┌──────────────────────┼──────────────────────┐
│ │ │
① 常规训练 ② 换一种打分 ③ 学一整个分布
「离标准答案 「把答案平方, 「学往哪边挪,
差多远」 看离 0.36 差多远」 反复挪几十次」
│ │ │
输出 ≈ 0 输出 +0.6 或 −0.6 +0.6 和 −0.6 都吐
两支的平均 (拿哪支看运气) (但有点糊)
│ │ │
0² = 0 ≠ 0.36 0.6² = 0.36 ✓ 两支都 ✓
**谁都不是** **对了一半** **全对,但贵**

这张图在讲什么: 同一道题、同一个网络结构、同样的训练时长, 只因为「怎么给答案打分」不一样,结果从「完全错」变成「对一半」再变成「全对」。 全书二十章都在这条岔路上做文章。

x = 0.36 这个具体输入是我们挑的(挑它是因为 0.6 是个整齐的数); 下面出现的两个训练结果 0.100203 与 0.000002 是书里真跑出来的输出。

3. 一道题,两个都对的答案

先把题目摆出来,它简单到可以口算。

书给的物理过程只有一句话:拿一个数,把它平方。书用记号 𝒫: y → y², 并且把 y 限定在 0 到 1 之间。这个 𝒫 在书里叫「模型」—— 注意这本书里的「模型」一律指物理方程,不指训练出来的网络,和机器学习圈子的习惯相反1

现在把它倒过来问:已知平方之后的结果 x,反推平方之前的那个数。 这叫求它的反函数(把一个运算的箭头掉个头:原来是「输入 y 得到 x」,现在要「输入 x 得到 y」)。

麻烦就在这儿:平方这个运算,把两个不同的数送到了同一个地方。 0.6² = 0.36,(−0.6)² = 0.36。所以题目给你 0.36, +0.6−0.6 两个答案都对,没有哪个更对2

主走查第 1 步: 输入 x = 0.36 → 合法答案集合 {+0.6, −0.6},两个元素,地位完全平等。

4. 先把「神经网络」和「训练」这两个词讲掉

这一节是补课。 书自己明说它不提供深度学习入门,直接假设读者知道这些3;我们补上。

一个神经网络,说穿了就是一大堆可以随便调的数,外加一套固定的算法把它们串起来。 你给它一个输入,它按那套算法把输入和这堆数反复相乘、相加、再做一点简单的取舍, 最后吐出一个输出。这堆可以调的数叫参数(也叫权重,同一件事的两个名字, 你在别人的文档和代码里两个都会撞见)。这一章用的那个网络有三层、每层 128 个数。

「训练」就是把这堆数调到合适的值。 做法朴素得出奇: 给它一道题 → 看它答得离正确答案差多远 → 把每个数朝「差得少一点」的方向挪一丁点 → 换下一道题,重复几万次。

「朝哪个方向挪」不是猜出来的,是算出来的。 对每一个参数,都可以算出 「这个数增加一丁点,差距会变大还是变小、变多少」——这个量叫梯度。 现代的深度学习框架能一次把所有参数的梯度全部算出来, 代价只比正着算一遍多一个很小的常数倍4

5. 「差多远」这个数,叫损失

结论先行:这一节要讲的不是一个技巧,是全书出事的地方。

上一节说「看它答得离正确答案差多远」,那个「差多远」得是一个具体的数, 否则没法拿去算梯度。这个数叫损失(loss)。训练的全部目标就是让它变小。

最常用的算法是:把差值平方。 网络答 a、标准答案是 b,那么这一道题的损失就是 (a − b)², 一批题目取平均。平方是为了让「差 −0.5」和「差 +0.5」一样糟,而且差得越远、惩罚涨得越快。 这个算法叫平方误差,它是深度学习里最常见的默认选项,这一章用的就是它。

现在把它套到我们这道题上,事情立刻不对劲。 训练数据是这么造的: 随机抽一个 x,然后随机地+√x−√x 里挑一个当标准答案5。 所以数据集里 x = 0.36 这个位置附近,大约一半的样本标着 +0.6,另一半标着 −0.6

网络只能输出一个数,而它要同时离 +0.6 和 −0.6 都近。 平方误差之下, 这个「同时离两边都近」有唯一的最优解:输出它们的中间值 0。

而 0 平方还是 0,离 0.36 差着十万八千里。它谁都不是。

主走查第 2 步: 输入 x = 0.36 → 数据集里一半标 +0.6、一半标 −0.6 → 平方误差最小的输出是 (+0.6 + (−0.6)) / 2 = 0。网络吐 0

这不是网络太小,也不是训练不够。 书里那次训练跑 50 轮, 损失从第 10 轮的 0.100193 到第 50 轮的 0.100203,四十轮里第三位小数都没动过6

那个 0.1002 是可以当场核对的数,而且它正好等于「彻底放弃、一律输出 0」的成绩。 算一遍:输出恒为 0 时,每道题的平方误差就是标准答案的平方,也就是 x 本身; 而 x 是在 0 到 1 之间均匀抽的,平均值 0.5;书里那段代码把一批 5 道题的损失求和之后 又除以了总题数,所以显示出来的数是 0.5 ÷ 5 = 0.17

训练结果 0.100203 和这个 0.1 只差万分之二 —— 它不是没训好,是训到头了。

6. 那两支答案有个名字:模态

先看现象。 把这道题的所有合法答案画出来,你会看到两条曲线: 一条在横轴上方(+√x),一条在下方(−√x)。它们从原点分开,越往右分得越开。 在 x = 0.36 这一处,两条线一个在 +0.6、一个在 −0.6,中间隔着 1.2 的空档,里面什么都没有。

「所有合法答案的集合」这个东西,书里叫解流形。 你可以就把它想成刚才画出来的那两条曲线本身 ——一道题的答案不是散落的点,而是连成片的一整套东西。

而这两条彼此分开、中间没有过渡的支,各叫一个模态(mode)8。 这个词是全书最承重的一个:后面凡是说「多模态」,说的就是「同一个输入有好几支都对的答案」。

模态这个概念要紧在哪儿:平均两个模态得到的东西,可以完全不在解流形上。 (+0.6)(−0.6) 都在那两条曲线上,它们的平均值 0 却掉在中间那个 1.2 宽的空档里, 那个位置上一个合法答案都没有。

这就是第 5 节那个 0 的真正来历,也是全书的起点: 不是网络学岔了,是目标函数本身把它领到了一个不存在的地方

7. 换一种打分法:把网络的答案送回那个物理过程

问题出在「拿网络的答案和一个预先存好的标准答案比」。那就别比了。

新做法只改一行:网络吐出一个数 y 之后,不去查标准答案,而是把 y 送回那个平方运算, 得到 ,再看 离题目给的 x 差多远。损失变成 |𝒫(y) − x|²9

这么一改,+0.6−0.6 就都能拿满分了。 因为两个数平方之后都是 0.36, 损失都是 0。网络不再有任何理由去输出中间值 —— 输出 0 的话,0² = 0,离 0.36 差 0.36, 那才是重罚。

主走查第 3 步: 输入 x = 0.36 → 网络吐 +0.6 → 平方得 0.36 → 损失 0 ✓ ; 网络吐 −0.6 → 平方得 0.36 → 损失 0 ✓ ; 网络吐 0 → 平方得 0 → 损失 (0 − 0.36)² = 0.1296 ✗。 同一个输入,罚的对象整个反过来了。

成绩:同样的网络、同样的 50 轮,损失从 0.100203 掉到 0.000002 —— 差五万倍10。 按第 5 节那个换算法反推回去,这意味着网络给出的数平方之后, 离题目大约只差 0.003,而题目本身的量级是 0.36,相对误差不到百分之一。

这件事有个名字,它是全书的中心词:可微物理(differentiable physics,常缩写成 DP)。 名字里的两半各管一件事——「物理」是指那个真实的过程(这里是平方,后面会是整个流体求解器), 「可微」是指这个过程必须能回答「输入变一点,输出会变多少」, 否则梯度传不回来、网络就没法调11

为什么它管用,书给的解释只有一句: 它是拿网络当前的预测去过一遍那个离散的物理过程, 而不是拿一个预先算好的解去比;这让它找到网络预测附近最好的那个模态, 从而阻止了解流形上多个模态被平均掉12

8. 但它只拿得到一支

上一节的成功有个天花板,而且书当场就点破了。

把训练结果画出来,你会看到网络稳稳地落在两条曲线中的一条上—— 要么全程走上面那支,要么全程走下面那支,从来不会两支都要

原因藏在「网络」这个东西的形状里:它是一个确定性的函数。 所谓确定性,就是同一个输入进去,出来的永远是同一个输出,不多不少一个数。 只要还是这个形状,它就永远表示不了「两个都对」这件事13

那它到底走哪一支?由参数一开始被随机赋的那批初始值决定。 训练开始前,那一大堆参数要先填上一批随机数(这一步叫随机初始化, 每一次训练都会重新抽一批);梯度只会把网络推向离当前位置最近的那个模态。 书直接建议读者把这个例子多跑几遍,亲眼看着它换支14

主走查第 4 步: 输入 x = 0.36 → 第一次训练(初始参数偏正)→ 输出 +0.6; 第二次训练(初始参数偏负)→ 输出 −0.6两次都得满分,可你事先不知道会拿到哪一个,也拿不到另一个。

这个缺口一直悬到全书后半。 从这里到第 10 章,所有做法都是确定性的, 所以这个洞一直原封不动地留着。补它要换一整把刀(第 11 到 13 章)。

9. 第三条路的预告:让网络学「往哪挪」

书在第 2 章立刻把补丁的样子亮了出来,虽然完整的机制要等到很后面。

思路是:别让网络直接吐答案,让它吐「往哪个方向挪一步」。 一开始随便给一个乱七八糟的起点,问网络「从这儿该往哪挪」,挪一步;再问,再挪; 反复几十次,那个乱七八糟的起点就被推成了一个像样的答案15

关键在起点是随机的。 起点是从一堆随机数里抽的(这种随机数在这一行里叫噪声), 抽到不同的起点,就会被推向不同的模态。于是同一个 x = 0.36, 你问一百次,得到的是一把点:一部分落在 +0.6 附近,一部分落在 −0.6 附近。

这个做法叫流匹配(flow matching),是扩散类生成模型里的一种。 它在这一章只需要知道这么多:它两支都抓得到,但结果有点糊—— 书自己说画出来的点还有些噪,更大的网络会好一些16。它到底怎么做的,第 13 章整章讲。

主走查第 5 步: 输入 x = 0.36,外加一个随机起点 → 起点 A 被推到 +0.6 附近、起点 B 被推到 −0.6 附近 → 采一百次,两支都在,而且各占一部分。第 1 步那两个答案,到这里才被完整地表示出来。

10. 主走查合起来看

同一个输入 x = 0.36,三种做法从头走到尾:

常规训练可微物理流匹配
拿到什么x = 0.36x = 0.36x = 0.36 + 一个随机起点
参考什么预存的标准答案(一半 +0.6、一半 −0.6)把自己的输出平方学到的「往哪挪」
网络吐什么≈ 0+0.6 −0.6采一百次,两支都有
送回平方0² = 00.6² = 0.36两支都是 0.36
全书那次训练的损失0.1002030.000002(书没给这一项的数)
结论谁都不是对了一半全对,但糊、而且贵

两个损失数字与 ±0.6 是书里的;x = 0.36 这个具体输入是我们挑的; 「输出 ≈ 0 时损失约 0.1」那一步换算是我们算的(算法见第 5 节)。

11. 这不是人造问题:烛火上方的那缕烟

读到这儿一定会有人说:抛物线是教科书玩具,真实问题哪有这么巧。书自己也预料到了, 所以给了一个谁都见过的场景。

点一支蜡烛,看它上方那缕烟。 它一开始笔直上升,然后开始朝某一侧摆。 朝左还是朝右?没有原因 —— 初始条件完美对称的时候, 决定它往哪边偏的是计算过程里那些微不足道的误差怎么一点点攒起来17

这就是一个「同一个输入,两个都对的答案」。 往左摆的那股流是合法的物理, 往右摆的那股也是。而把它们平均一下,你得到一股笔直向上的烟—— 一种现实里根本不存在的流18。这个词书里叫分岔(bifurcation): 一个系统在某个点上分成了两条同样合法的走法。

真正吓人的是这句: 书说很多实用的偏微分方程都有这类模态, 而且往往不清楚在解流形的哪里、有几个;在这种情况下用常规监督训练 「非常危险」——你可能在毫不知情的情况下拿到了这些模态的平均19

「毫不知情」是这句话的重点。 抛物线这道题里,你一眼就能看出输出 0 是错的。 换成一个三维流场,你拿到的是一堆看起来平滑、看起来合理的数—— 它可能是几种真实流动被揉在一起的产物,而你没有任何提示。

12. 收口(一):这一刀后面会被切成三档

第 7 节那一刀——「拿预存的答案比」对上「把答案送回物理过程」——不是一刀两断,而是一条连续的谱。

按「物理和网络贴得多紧」,后面把它切成了三档:物理只当数据车间(用完就扔)、 物理写进打分方式、以及整个求解器搬进训练过程。 第 02 章给这三档的坐标系,第 05 到 10 章一档一档地走。

13. 收口(二):还有一把和它正交的刀

第 8 节那个「只拿到一支」的缺口,上面那三档一档都补不了。 因为三档换的都是 「物理在哪一层进来」,而缺口出在别处:网络是个确定性函数,一个输入只出一个答案。

所以还有第二把刀,和第一把完全正交:吐一个确定的答案,还是吐一整个分布。 前十章一律走「一个确定的答案」那边,第 11 章才回来拿另一边。

14. 作者的判断与证据

书里给了证据的:

说法证据是什么
常规监督训练在这道题上完全错真跑出来的训练日志:损失 0.100193 → 0.100203,四十轮不动6
换成把输出送回物理过程就对了同一份日志的另一半:0.00000210
它只拿得到一个模态画出来的图,以及「多跑几遍会换支」这个可复现的操作14
流匹配两支都能拿到画出来的图(书自己也说「还有点噪」)16

作者的推测、或者说没给证据的:

说法为什么算推测
「很多实用的 PDE 都有这类模态」书给了一个例子(烛火的烟),没有给出任何统计或综述19
「往往不清楚有几个、在哪儿」这是经验之谈,书没有展开论证

判断(我们的,不是书里的): 这一章的论证有一处被压缩了,值得点明—— 书证明的是「平方误差会平均多个模态」,不是「监督学习会平均多个模态」。 这两者差一个损失函数。理论上换一个不那么爱平均的损失(比如按绝对值算差距, 它的最优解是中位数而不是平均值)结果会不同,而书没有讨论这一步。 如果错,会错在: 在这道题上,+0.6−0.6 各占一半, 中位数和平均值恰好都是 0,所以换成绝对值也救不了这道题—— 但它救不了这一道题,不等于「所有监督损失都必然平均模态」。 我们的意思是:这条结论对平方误差是硬的,推广到别的损失需要另外论证。

15. 边界与局限

这一章能撑住什么、撑不住什么,说清楚:

  • 这是一道一维的、解析上完全已知的题。 全书后面的例子没有一个是这么干净的, 这一章的作用是把机制亮出来,不是给性能数字;
  • 「换一种打分法」在这里之所以能做,是因为那个物理过程只是平方,写一行就完了。 真实的物理过程是一整个数值求解器,要让它交出梯度是件麻烦事——第 08 章整章讲这个麻烦;
  • 流匹配在这一章只露了个面。 它为什么能表示分布、代价在哪儿, 这一章一个字都没解释,第 11 到 13 章才把它从头搭起来;
  • 书没有比较别的损失函数(见上一节我们的判断);
  • 书没有讨论「模态坍缩」在监督训练里的其他表现形式, 比如图像超分辨率里那张糊掉的高分辨率图——那要到第 20 章才被点出来是同一件事。

16. 可带走的

  1. 一道题的正确答案不止一个时,「让输出更接近标准答案」这个训练目标本身就是坏的。 它必然把几个答案揉成一个,而那个揉出来的东西可以完全不合法;
  2. 判据只有一句话:把两个合法答案平均一下,得到的东西还合法吗? 不合法,你就有这个问题;合法(比如答案本来就聚在一起),那不必担心;
  3. 这件事和网络大小、训练时长无关。 损失卡住不动不一定是没训好—— 先算一下「彻底摆烂的成绩是多少」,卡在那个数上就是目标函数的问题;
  4. 一个可以立刻用的替代方案:如果你能把网络的输出送回产生数据的那个过程, 就别用预存的标准答案。 前者允许多个正确答案各自得满分;
  5. 但那样只拿得到一支,拿哪支由随机初始化决定。 要两支都要,得让网络吐分布,不是吐答案;
  6. 确定性的网络永远表示不了多个模态——这是形状决定的,不是训练技巧能绕过的;
  7. 这类多答案的情形在物理里是常态,而且通常看不出来。 烛火上方的烟往左还是往右,是同一个道理;
  8. 书里的「模型」指物理方程,不指网络。 读这本书(和这组拆解)全程记住这一条。

17. 原文地图

主题原书章原文位置
一个 x 两个解、三种做法的总览1 A Teaser Exampletext/01-p1-20.txt:467(搜「two solutions for every point」) · text/01-p1-20.txt:472(搜「capture both modes」)
可微物理的定义与前提1.1 Differentiable physicstext/01-p1-20.txt:478(搜「differentiable physics (DP)」) · text/01-p1-20.txt:496(搜「has to be differentiable」)
题目设定(𝒫: y → y²)1.2 Finding the inverse function of a parabolatext/01-p1-20.txt:502(搜「find the unknown function」)
训练数据怎么造的1.2 同上text/01-p1-20.txt:517(搜「randomly choose between」)
监督训练日志1.2 同上text/01-p1-20.txt:583(搜「Epoch 10/50」) · text/01-p1-20.txt:587(搜「Epoch 50/50, Loss: 0.100203」)
「平均掉了」那句诊断1.2 同上text/01-p1-20.txt:606(搜「averaged between the data points」)
可微物理版的损失怎么写1.3 A differentiable physics approachtext/02-p21-40.txt:26(搜「mean-squared error term of the form」)
可微物理训练日志1.3 同上text/02-p21-40.txt:60(搜「Epoch 50/50, Loss: 0.000002」)
为什么它躲开了平均1.3 同上text/02-p21-40.txt:78(搜「prevents an averaging of the modes」)
只拿一个模态、由初始化决定1.3 同上text/02-p21-40.txt:80(搜「deterministic function」) · text/02-p21-40.txt:83(搜「determined by the random initialization」)
流匹配版:学整个分布2 A Probabilistic Generative AI Approachtext/02-p21-40.txt:93(搜「full distribution of the」)
流匹配的结果(两支都有,但噪)2 同上text/02-p21-40.txt:262(搜「resolves both」)
「这不是人造问题」与「非常危险」2.1 Discussiontext/02-p21-40.txt:275(搜「very dangerous in such cases」)
烛火上方的烟、分岔2.1 同上text/02-p21-40.txt:277(搜「Smoke rising above a candle」) · text/02-p21-40.txt:280(搜「unphysical, straight flow」)
「模型」指物理方程这个记号约定1.1 Differentiable physicstext/01-p1-20.txt:485(搜「our model equation」)

Footnotes

  1. 出处:第 1 章 A Teaser Example(p.5–13)第 485 段(text/01-p1-20.txt:485,搜「our model equation」)。 原文把 𝒫∗ ∶ 𝑌 → 𝑍 直接称作「our model equation」,并说它编码解应当满足的性质。 同一段还立了另一个贯穿全书的记号:* 上标的是理想的、连续的量,不带的是离散的、 计算机里真能算出来的量;这个记号第 06 章讲残差时才真正要用到,那里会再提。

  2. 出处:第 1 章(p.5–13)第 467 段(text/01-p1-20.txt:467,搜「two solutions for every point」) 与第 502 段(text/01-p1-20.txt:502,搜「find the unknown function」)。 书举的例子是 x = 0.5、解为 ±√0.5;我们换成 x = 0.36 只是为了让数好念。

  3. 出处:第 3.3 节 Scope of this book(p.24)第 376 段(text/02-p21-40.txt:376,搜「introduction to deep learning」)。 书明说它不提供深度学习与数值仿真的入门,假设读者已经具备。

  4. 补充(不在书里,依据我们的 ai-book-reference 书架): 依据: shelf=ai-book-reference/nndl-2e#11-backprop-and-autodiff.md 事实=一次前向、一次反向就能把所有参数的梯度全部算出来,代价只是一次前向计算的常数倍。 这条是本章「训练」那一段的支撑:如果每个参数都要单独试一遍,几十万个参数的网络根本训不动。

  5. 出处:第 1.2 节(p.8)第 517 段(text/01-p1-20.txt:517,搜「randomly choose between」)。 原文还特意说明这么造数据是为了模拟一般情形——事先收集数据时,通常不会偏向多模态解里的某一支。

  6. 出处:第 1.2 节(p.9)第 583–587 段(text/01-p1-20.txt:583,搜「Epoch 10/50」 与 text/01-p1-20.txt:587,搜「Epoch 50/50, Loss: 0.100203」)。 五行日志分别是 0.100193 / 0.100193 / 0.100207 / 0.100202 / 0.100203。 2

  7. 补充(不在书里,来自通用知识):这一步换算是我们做的,用的全是书里那段代码的设定—— x 由 np.random.random 生成(0 到 1 均匀分布,均值 0.5); 输出恒为 0 时每道题的平方误差等于标准答案的平方,也就是 x; 代码把每一批(5 道题)的平均损失累加之后再除以总题数 10000, 于是显示值 = 0.5 ÷ 5 = 0.1。代码见 text/01-p1-20.txt:563(搜「batch_size = 5」)。

  8. 出处:第 1 章(p.5)第 467 段(text/01-p1-20.txt:467,搜「two modes」)。 「解流形(solution manifold)」这个词书在诊断那一句里用(text/02-p21-40.txt:78, 搜「solution manifold」)。两个词书都当读者已知,我们补了解释。

  9. 出处:第 1.3 节(p.11)第 26 段(text/02-p21-40.txt:26,搜「mean-squared error term of the form」)。 原文写的损失是 |𝒫(y_pred) − x_true|²,并说这里故意做得很简单, 后面可以换成有限差分模板、甚至一整个隐式时间积分步。

  10. 出处:第 1.3 节(p.12)第 60 段(text/02-p21-40.txt:60,搜「Epoch 50/50, Loss: 0.000002」)。 书没有把 0.100203 和 0.000002 放在一起做比值,「差五万倍」是我们算的。 2

  11. 出处:第 1.1 节(p.5)第 478 段(text/01-p1-20.txt:478,搜「differentiable physics (DP)」) 与第 496 段(text/01-p1-20.txt:496,搜「has to be differentiable」)。 原文说得很硬:𝒫 必须可微,那些以梯度形式出现的导数就是驱动学习过程的东西

  12. 出处:第 1.3 节(p.12)第 76–78 段(text/02-p21-40.txt:78,搜「prevents an averaging of the modes」)。 原文用的词是「find the best mode near the network prediction」——注意「near」这个字, 它正是第 8 节「拿哪支看初始化」的原因。

  13. 出处:第 1.3 节(p.12)第 80 段(text/02-p21-40.txt:80,搜「deterministic function」)。 原文接着说:要抓住多个模态,就得把网络扩展成能表示输出的完整分布,并用额外的维度去参数化它 ——这正是第 11 章之后要做的事。

  14. 出处:第 1.3 节(p.13)第 83 段(text/02-p21-40.txt:83,搜「determined by the random initialization」)。 原文的原话是让读者「run the example a couple of times to see this effect in action」。 2

  15. 出处:第 2 章 A Probabilistic Generative AI Approach(p.15)第 93–96 段 (text/02-p21-40.txt:93,搜「full distribution of the」)。 原文说这类方法要跟带噪的数据打交道,所以先要一个给 y 加不同强度噪声的数据加载器, 让网络学会朝两个可能的模态的正确方向走

  16. 出处:第 2 章(p.18)第 262 段(text/02-p21-40.txt:262,搜「resolves both」)。 原文承认结果「still a bit noisy」,并说更大的网络会有帮助。 2

  17. 出处:第 2.1 节 Discussion(p.19)第 277–279 段(text/02-p21-40.txt:277,搜「Smoke rising above a candle」)。 原文说完美对称的设置会开始朝左或朝右转,取决于近似误差怎么累积起来

  18. 出处:第 2.1 节(p.19)第 280 段(text/02-p21-40.txt:280,搜「unphysical, straight flow」)。

  19. 出处:第 2.1 节(p.19)第 273–275 段(text/02-p21-40.txt:275,搜「very dangerous in such cases」)。 原文:很多实用的 PDE 都表现出这类模态,而且常常不清楚在我们关心的解流形里有多少个、在哪里; 在这种情况下用监督学习「非常危险」,我们可能在不知情的情况下得到这些模态的平均。 2