跳到主要内容

选架构:局部还是全局

1. 这一章讲什么

三件事: 先把「拿网络去算物理」这个模糊说法变成一个明确的目标(它有个名字:代理模型); 然后给出选网络的两刀——样本在空间上怎么排,以及一个点的变化会牵动多远; 最后逐个过一遍候选架构,每一个都算清楚它的参数量代价

它在全书链条里的位置:这是动手之前的最后一次准备。 第 02、03 章讲清了求解器是什么;从第 05 章起要开始训网络。 这一章回答「训哪种网络」,而书的答案不是「哪个更先进用哪个」。

这一章不含任何训练结果。 它是选型判据,判据的验证在后面每一章。

2. 顶层全景

整章围着同一个极小的输入转:一维五个格子上的一个场 [0, 0, 1, 0, 0] 中间那格是 1,其余是 0——就是一根针。

输入: 五个格子 [ 0 , 0 , 1 , 0 , 0 ]

┌─────────────────────┴─────────────────────┐
│ │
① 局部任务 ② 全局任务
「算它的二阶导」 「算它对应的压力」
只牵动左右各一格 牵动全场每一格
│ │
一层 3 宽的卷积 一层卷积永远不够
三个权重: [1, −2, 1] ┌──────┬────────┬─────┐
│ U-Net 空洞卷积 FNO / 注意力
▼ │ │ │
输出 [0, 1, −2, 1, 0] 降采样 拉开间距 换到频域 / 全对全

这张图在讲什么: 同一个输入,任务是局部的还是全局的,决定了选哪一类网络; 而选错的代价不是「慢一点」,是根本做不到(下面第 8 节有书自己的话)。

图里左边那个「一层 3 宽的卷积」现在就得讲一句,不然后面几节读不动。 它指的是一个很具体的动作:准备好三个数(这里是 1、−2、1), 把它们对准输入里连着的三个格子、对应相乘再加起来,得到一个新格子的值; 然后整体往右挪一格,再算一次;一路滑到头。 这个「一组权重滑过整个输入」的动作就叫卷积(convolution), 那三个数叫这个卷积的卷积核(kernel);「3 宽」说的就是卷积核有 3 个数。 为什么这三个数正好是 1、−2、1、以及它和数值方法是什么关系,第 6 节整节讲。

[0, 0, 1, 0, 0] 这个输入是我们挑的,下面所有在它上面算出来的数也是我们算的; 模板 [1, −2, 1]、FNO 的 M⁴/M⁶、以及那张选型表是书里的。

3. 先立目标:代理模型

结论先行:这一章所有的选择,都服务于一个很具体的目标。

先看现象。 一次高保真的流体仿真动辄跑几小时; 而设计一个机翼,你要试几千种形状。几千乘几小时,这就是工程上真实的痛。

于是有了这个念头:训一个网络,直接从「形状长什么样」跳到「气流长什么样」, 把中间那几小时省掉。 输入是一个场,输出是一个场; 训好之后,每次调用的代价是固定的,而且在显卡上跑起来非常快1

这个「模仿原来那个物理过程的新函数」叫代理模型(surrogate model)。 它还有另外两个名字:模拟器(emulator)和神经算子(neural operator)—— 书明说这三个是同一件事,而你出门三个都会撞见2

它不是万能的,书自己给了一个具体的警告,而且是内存上的。 在看那个警告之前,先补一件真实用起来才会碰上的事。

实际的卷积层,在每个格子上不是只存一个数,而是并排存一叠数—— 这一叠里的每一个都由一组自己的权重算出来,各自记录一种不同的模式 (比如「这里有没有一道陡坡」「这里是不是在打转」)。 这一叠有多厚,就说它有多少个特征通道(feature channel)。

现在看那个警告: 一个有 128 个特征通道的卷积层, 作用在 128 × 128(约 16000 个格子)的输入上, 会产生 128³ 个中间值,也就是两百多万个数; 这些全都得暂存下来,再交给下一层3

这个数字要有参照物才有量感: 输入本身只有 16000 个数, 而一层之后暂存的东西是它的 128 倍;网络有几十层的话,内存是被这些中间结果吃掉的, 不是被参数吃掉的。

这一节立完,下面「选哪种网络」才有得可选。

4. 第一刀:样本在空间上怎么排

这一刀最省事,因为它直接砍掉一半选项。

书把数据分成四种排列4:

#排列例子
1没有空间排列一个探头随时间记录的温度和压力——根本没有空间维度
2规则网格(structured)第 03 章那个 32×40 的烟羽,探头整整齐齐排在格子上
3不规则排列(unstructured)探头在任意位置,但知道谁和谁相邻
4不规则且没有连接关系一堆粒子——邻居关系每一步都在变

第 1 种情况只剩一种选择:全连接网络(fully connected,也叫 MLP)。 所谓全连接,就是每一层的每一个数都和上一层的每一个数相连,不假设任何空间结构5

这里有一条书顺手埋下的伏笔,我们留到该讲的地方讲: 书把最有名的那一类做法(网络接收坐标当输入)也归进了第 1 种情况, 并在那里给了全书对它最重的一句评价。 那个做法的名字和那句评价,我们放在第 07 章整章处理—— 在一个词还没被定义的时候就让它承担一句重判决,读者接不住。

5. 第二刀:一个点的变化会牵动多远

这一刀是全章的核心,书自己也这么说。

先看现象,用第 03 章那两件事作对比:

  • 算一格的二阶导:只用到它左右两个邻居。改动一格,只有它附近几格受影响;
  • 算压力:第 03 章说过,那是一个牵动全场所有格子的方程。改动一格,全场都要重算

「网络里的某一个输出点,受到输入里哪些点影响」,这个范围叫感受野(receptive field)。 一层 3 宽的卷积,感受野就是 3 格——它只看得见自己和左右各一个邻居。

这个划分不是深度学习发明的,它对得上 PDE 的老分类6:

PDE 的分类行为该配什么感受野
双曲型(hyperbolic)局部的、波状的传播——扰动以有限速度往外走局部感受野就够
椭圆型(elliptic)全局的——一处变动瞬间牵动全场必须是全局感受野

第 03 章那个压力投影,解的正是椭圆型方程。 所以「烟羽里的压力」这一项, 任何有限感受野的网络都做不了

书把这条抬得很高: 关于数据里的依赖是局部还是全局的知识, 「是应该被利用起来的重要知识」7

下面要上一张选型总表,里面会一次抛出十个名字。 大半是后面几节的正题,到时候再讲; 但「规则网格 + 局部」那一格里的两个,书没打算展开,而你出门一定会撞见——先把它们挂上牌:

  • 把上一节那种卷积层一层层堆起来的网络,名字叫 CNN (convolutional neural network,卷积神经网络)。每一层都是「一组权重滑过整个输入」, 堆得越多,最上面那层看得越远。这是规则网格上最基本的那一款,别的多半是它的变体。
  • 同样是卷积层堆起来的,但每一层算完之后,把结果「加回」它自己的输入、 而不是直接替换掉它——这样一层只需要负责「差多少」, 不必负责「把对的地方原样抄一遍」。这种网络就叫 ResNet(residual network)。 (那条「算完加回去」的接线叫残差连接,第 11 节会再碰到一次; 第 10 章那个只有四万多个参数、却干成了正事的小网络,用的就是 ResNet。)

书给的选型总表,横轴是第一刀、纵轴是第二刀8:

规则网格不规则没有空间排列
局部CNN、ResNet图网络连续卷积
全局全连接网络
— 靠层级U-Net、空洞卷积多尺度图网络多尺度连续卷积
— 靠频域FNO谱图网络(无)
— 靠序列Transformer图 Transformer点 Transformer

这张表的读法:先按你的数据长什么样选一列,再按依赖是局部还是全局选一行。 剩下那一格里的名字,就是你的候选。

6. 卷积核就是数值方法里的模板

这是全书把数值方法和神经网络对接得最直白的一处,值得单独讲。

先说数值方法这边。 要在格子上算一个二阶导,标准做法是拿三个系数去乘三个相邻格子: 左邻 × 1 + 自己 × (−2) + 右邻 × 1。 这组系数在数值方法里叫一个模板(stencil), 一维那个二阶导算子的经典模板就是 [1, −2, 1]9

再说神经网络这边。 一个「宽度为 3、单输入单输出通道」的一维卷积层, 干的事情一模一样:拿三个权重去乘三个相邻格子,滑过整个输入。

所以书直接说:那个模板可以原样映射成这个卷积层的权重, 只不过在数值方法里这三个数是定死的,在神经网络里它们是学出来的9

主走查第 1 步(局部任务): 输入 [0, 0, 1, 0, 0],拿 [1, −2, 1] 卷一遍 (两端按 0 补齐)—— 第 0 格:0 − 0 + 0 = 0;第 1 格:0 − 0 + 1 = 1;第 2 格:0 − 2 + 0 = −2; 第 3 格:1 − 0 + 0 = 1;第 4 格:0 − 0 + 0 = 0输出 [0, 1, −2, 1, 0],一层、三个权重就够了。 (这五个输出是我们按那个模板算的,书只给了模板本身。)

这一步的意义:一个卷积层不是黑箱,它就是一个可学的差分格式。 你已经懂的数值方法,和网络里的一层,是同一种东西的两种说法。

7. 通向全局感受野的两条路

一层卷积看 3 格,两层看 5 格,每加一层多看 2 格。 所以要在 128 个格子上做到全局,得堆 64 层——这显然不行。

书说领域里立住了两条路10:

U-Net(靠层级)空洞卷积(靠拉开间距)
怎么做逐级降采样到更粗的网格(128 → 64 → 32 → …),后半程再逐级升回去卷积的采样点拉开距离:看 5×5 的邻域,但只取其中 3×3 个点,中间的直接跳过
要处理多少个点对数级减少——粗层上的卷积极其高效不变——每层都在完整分辨率上算
关键部件skip connection:把前半程的层直接接到后半程去
实现难度麻烦一点(要加降采样层)极简(把卷积调用换成空洞卷积就完了)
实际速度快得多——大步长跳着访存,内存访问不理想

skip connection 为什么是关键,书说得很具体: 最深、最粗的那一层("瓶颈层")存不下最细一层的所有细节; 把细节直接从前半程接过去,是提高精度的关键一步10

书的裁决:U-Net 多花的那点实现力气,在网络真正要部署的时候会显著回本10

换到图上,这个选择题不存在: 图上的内存访问本来就不规则, 而且在一般的图上算「跳着取」的步长太贵,所以有全局依赖就直接上多尺度图网络11

主走查第 2 步(全局任务): 输入还是 [0, 0, 1, 0, 0],任务换成「算它对应的压力」—— 一层 3 宽的卷积感受野只有 3 格,看不见两端,做不了; 堆两层感受野变成 5 格,勉强够(五个格子的玩具尺寸); 换成 128 格就要堆 64 层; U-Net 只要 log₂128 = 7 级降采样,在最粗那层一个 3 宽的卷积就看得见全部; 空洞卷积也只要几层(每层间距翻倍:3 → 7 → 15 → …), 但每一层都还在 128 个点上算。 (层数是我们按「每层加 2 格感受野」和「每级折半」算的;两条路本身是书里的。)

8. 选错的两种后果

书把这两种后果分开写了,而且它们不是同一个量级的问题12:

选错的方向后果
数据主要是局部影响,却选了全局感受野的架构网络会「浪费」资源去捕捉全局效应;最坏情况下,拿平滑掉的全局模态去近似局部效应
数据是全局影响,却用有限感受野去近似这是一个无解的任务,必然引入大误差

注意这两句的语气差别:前一种是「浪费、可能变差」,后一种是「无解」。 所以拿不准的时候,宁可多给感受野——但那不是免费的,代价见下面两节。

9. FNO:一笔可以当场算的参数账

书对这个架构给了全书少见的、量化的否定,所以值得单独看。

它的做法:把空间上的数据用傅里叶变换搬到频域—— 也就是把一个场分解成「一个整体的平缓起伏 + 一个快一点的波动 + 一个更快的波动 + ……」, 每一种波动的强弱各是一个数。然后拿一个全连接层去改最大的 M 个频率,再变回来13

它的天然优势:频域的基函数全都是「铺满整个空间」的。 所以哪怕只留一部分频率,它也能处理和修改输入信号的每一个部分—— 这是纯白拿的全局感受野13

它的代价,书算得很清楚:

维度要处理几个频率模态全连接层要几个参数
二维M⁴
三维M⁶

对比常规卷积: 二维总复杂度 O(K⁴)(K 是卷积核宽度), 三维只涨到 O(K⁵)——指数是 5,不是 614

更糟的是 M 必须随空间区域的尺寸增长,所以通常 M 比 K 大; 于是 M⁶ 远远大于 K⁵。书的结论:FNO 在三维(或更高维)上需要不可行的参数量,不推荐14

主走查第 3 步(FNO 那一格): 五个格子最多分解成 5 个频率; 只留最大的 3 个(M = 3)——一维要 M² = 9 个参数; 同样的 M 放到二维要 M⁴ = 81 个,三维要 M⁶ = 729 个。 而一个宽度 3 的卷积在三维是 K³ = 27 个权重。 9 → 81 → 729,这就是那个指数的样子。 (M = 3 这个取值和这三个数是我们为演示算的;M⁴ / M⁶ 这个规律是书里的。)

还有一句书自己给的谨慎提醒: FNO 常被宣传成「能给出连续的表示、能超出训练分辨率」, 而书说函数空间通常是被截断的,所以这个承诺常常存疑15

10. 注意力:它离一个全连接层其实不远

书把注意力讲得很完整,但它的结论是祛魅式的,所以两头都要讲到。

先讲它怎么做。 分两步16:

  1. 先把输入编成 token。 一个 token 就是一小块输入被压成的一串数; 这一步的主要作用是减少输入的个数——比如拿图像的一小块,而不是一个个像素;
  2. 再由注意力给这一组 token 算出一份加权。

自注意力(self-attention)的意思是:每一个输入都对所有其他输入算一份权重这正是处理全局依赖的机制——它一步就能让任意两个位置发生关系。

具体怎么算:三个矩阵。 每个 token 各产生一个 query(我在找什么)、 一个 key(我是什么)、一个 value(我携带什么内容)。 拿所有的 query 去乘所有的 key,N 个 token 就产生一个 N × N 的矩阵; 过一遍 Softmax(把每一行变成一组加起来等于 1 的比例),再去乘 value16

现在是书的祛魅那一句: 注意力算的那个 N × N 矩阵, 「离直接上一个全连接层其实不远」——全连接层同样带一个 N × N 的权重矩阵17

11. 一个完整的 Transformer 块,以及它的代价

上一节只讲了注意力这一步。把它包成一个可以反复堆叠的部件,还要再加三样东西16

第一样:把注意力算完的结果加回原来的输入,而不是替换掉它。 这个「算完加回去、而不是换掉」的接线叫残差连接(residual connection)—— 第 5 节那个 ResNet、第 7 节那个 skip connection,都是同一条思路的不同用法。

⚠️ 一个必须当场分开的重名:「残差」这两个字在这个领域有两个完全不同的意思。 这里说的是接线方式(残差连接):把一层的输出加回它的输入。 而这本书正文里绝大多数时候说的「残差」是另一件事: 把一个解代回方程,左右两边差多少——那是第 06 章的正题。 本拆解的口径:接线的那个一律写全称「残差连接」,单说「残差」时永远指方程两边的差。

第二样:层归一化。 一层算完之后,把这一层的那些数整体缩放平移一下, 让它们回到差不多的尺度上。这是为了让训练稳定——数一旦跑得太大或太小,后面就没法学。

第三样:一个两层的前馈网络。 就是第 4 节那种全连接层, 连着叠两层、中间加一道取舍。

这三样加上注意力,合起来是一个块;整个网络就是把这个块重复很多次16

代价:自注意力对 token 数是二次的。 N 翻倍,计算量变四倍, 这天然限制了输入的尺寸和分辨率17

绕开的办法叫线性注意力:改成先算 key 和 value 的乘积、再乘 query, 两边事先各加一道非线性的变换,从而避开那个 N × N 矩阵,对 N 变成线性; 代价是算出来的注意力更粗糙18

书对它最实在的一句批评: 注意力在 token 空间里通常还是「稠密」的—— 对已知空间结构的问题,它把这个结构信息丢掉了; 丢掉的部分必然要用更多的权重或者更低的精度去补19

主走查第 4 步(注意力那一格): 还是 [0, 0, 1, 0, 0],把每一格当一个 token(N = 5)。 Q 乘 Kᵀ 产生一个 5 × 5 = 25 个数的矩阵,比如第 2 格(值为 1)那一行过完 Softmax 是 [0.05, 0.15, 0.60, 0.15, 0.05]——这些数是为演示编的,不是真实数值。 拿这一行去加权五个 value,得到第 2 格的新表示。 关键在于:这 25 个数和一个 5×5 的全连接层的权重个数完全一样(书的原话); 而且这个矩阵里没有任何地方写着「第 1 格和第 2 格是邻居」—— 那个已知的空间结构,在这一步被丢掉了,只能靠数据重新学回来。

12. 网格不规则、或者根本没有网格

这两格书讲得很短,因为它们不是本书的重点。

  • 不规则但知道谁和谁相邻:图网络——把每个采样点当一个节点、 相邻关系当边,信息沿着边一轮轮传;
  • 连相邻关系都没有(一堆粒子): 书说这可以看成「没有连接的不规则网格」, 但明确地当粒子处理会更好;卷积和层级这两个想法照样搬得过去—— 连续卷积核是合适的工具,按邻域做粗化则给出层级20

粒子那一支具体怎么做,第 20 章讲。

13. 一条容易漏的实践建议

书在总结里放了一句很实用的话,而它和前面所有内容是反着的:

前面十节都在说「数据的空间结构决定了你的选择」。 而这一句说:把数据搬到另一种结构上,可能精度和性能都更好—— 比如把不规则的点云投影到一个(变形的)规则网格上,然后就能用卷积那一套21

书还提了一句:经典的 U-Net 可以配上 Transformer 的部件(注意力和归一化)。 这个「现代化的 U-Net」长什么样,第 15 章会给出完整的样子。

14. 主走查合起来看

同一个输入 [0, 0, 1, 0, 0],四类架构各走一遍:

任务用什么具体的数
1算二阶导(局部)一层 3 宽卷积权重 [1, −2, 1] → 输出 [0, 1, −2, 1, 0],3 个参数
2算压力(全局)堆卷积一层看 3 格、两层看 5 格;128 格要 64 层
2′同上U-Netlog₂128 = 7 级降采样,粗层上一个 3 宽卷积就看得见全部
2″同上空洞卷积间距 1 → 2 → 4,几层就够;但每层都还在 128 个点上算
3同上FNO留 3 个频率:一维 9 个参数、二维 81、三维 729
4同上自注意力5 个 token → 5×5 = 25 个数;和一个 5×5 全连接层同样大;丢掉了「谁和谁相邻」

书里的:模板 [1, −2, 1]、M⁴/M⁶ 的规律、N×N 那句祛魅、那张选型表。 我们算的:五格上的卷积输出、层数、9/81/729、以及那一行注意力权重(为演示编的)。

15. 作者的判断与证据

书里给了推导或数据的:

说法依据
FNO 在三维上参数量不可行一笔可以当场核对的账:M⁶ 对 K⁵,且 M > K14
注意力对 token 数是二次的算法本身决定的,N×N 矩阵17
卷积核等价于差分模板直接给出了 [1, −2, 1] 的对应9
U-Net 比空洞卷积快给了机制上的理由(访存模式),没有给计时数据10

作者的判断、没有实验支撑的:

说法为什么算判断
「用有限感受野去近似全局影响是个无解的任务」书直接断言,没有给失败案例12
「U-Net 的实现力气在部署时会显著回本」经验之谈10
Transformer「是否真的普遍优于经典架构仍然是开放问题」书自己就这么标的——这是本章少见的、明确的悬而未决16

判断(我们的,不是书里的): 这一章对 FNO 的否定只基于参数规模这一个维度, 而且比的是「原始形态的 FNO」对上「卷积」。书没有提后来那些把权重张量分解掉的变体, 那类做法正是冲着 M⁶ 这个问题去的。 如果错,会错在: 如果那些变体在三维上的实测精度没能跟上原始 FNO, 那书的结论仍然站得住,只是理由不够完整。 判据是:参数量的账是硬的(M⁶ 就是 M⁶),但「这条路走不通」比「这个形态走不通」多说了一步。

16. 边界与局限

  • 这一章不给任何实测对比。 没有「同一个任务上 U-Net 对 FNO 对 Transformer」的表, 所有裁决靠的是参数量和访存模式这类结构性论证;
  • 图网络和连续卷积只被提了名字。 它们的机制这一章一句都没展开;
  • 书自己说本章的重点是「怎么把 PDE 模型纳进来」,而不是架构本身的精妙之处22—— 所以如果你要选架构,这一章给判据,不给完整的架构知识;
  • 注意力那一节写于 v0.3(2025 年),书对它的结论是「尚未定论」,这一条比别的更容易过时;
  • 超参数(层数、每层多大、用什么激活)书基本没讲,只说「层数应该和层的大小一起增长」, 以及 ReLU 和它的平滑变体是好选择5

17. 可带走的

  1. 代理模型 = 模拟器 = 神经算子,三个名字一件事:一个模仿原来那个物理过程的新函数;
  2. 显存是被中间结果吃掉的,不是被参数吃掉的。 128 通道作用在 128² 上就是两百多万个中间值;
  3. 选架构的第一刀:样本在空间上怎么排。 没有空间排列 → 只剩全连接网络;
  4. 第二刀:一个点会牵动多远。 这一刀对得上 PDE 的老分类——双曲型局部、椭圆型全局;
  5. 卷积核就是差分模板。 [1, −2, 1] 可以原样当成一个 3 宽卷积的权重, 区别只是一个定死、一个学出来;
  6. 选错的两种后果不对称: 全局架构用在局部问题上是浪费, 有限感受野用在全局问题上是无解;
  7. 通向全局有三条路:降采样层级(U-Net)、拉开间距(空洞卷积)、换到频域(FNO)。 还有第四条:全对全(注意力);
  8. U-Net 的命门是 skip connection——瓶颈层存不下细节,得从前半程直接接过去;
  9. FNO 的账要自己会算:二维 M⁴、三维 M⁶,而 M 随区域尺寸增长。 三维上不推荐;
  10. 注意力的 N×N 矩阵和一个全连接层差不多大,而且它把「谁和谁相邻」这个已知信息丢了;
  11. 数据结构不是命定的。 把点云投到规则网格上,可能精度和性能一起变好。

18. 原文地图

主题原书章原文位置
代理模型 / 模拟器 / 神经算子是同一件事4 Supervised Trainingtext/03-p41-60.txt:648(搜「surrogate model」)
监督训练是一切项目的中心起点4 同上text/03-p41-60.txt:650(搜「central starting point」)
训好之后每次调用代价固定4.2 Looking aheadtext/03-p41-60.txt:685(搜「constant cost per evaluation」)
两百多万个中间值4.2 同上text/03-p41-60.txt:689(搜「more than 2 million」)
四种空间排列5.1 Spatial Arrangementtext/04-p61-80.txt:18(搜「No spatial arrangement」)
没有空间排列只剩全连接5.2 No spatially arranged inputstext/04-p61-80.txt:29(搜「only dense」) · text/04-p61-80.txt:42(搜「ReLU and smoother variants」)
感受野、双曲型 vs 椭圆型5.3 Local vs Globaltext/04-p61-80.txt:49(搜「receptive field」)
选型总表5.3 同上text/04-p61-80.txt:61(搜「Unstructured」)
局部还是全局是该被利用的知识5.3 同上text/04-p61-80.txt:73(搜「should be leveraged」)
选错的两种后果5.3 同上text/04-p61-80.txt:77(搜「waste」)
粒子数据:连续卷积 + 邻域粗化5.4 Regular, unstructured and point-wise datatext/04-p61-80.txt:104(搜「continuous convolution kernels」)
卷积核 = 模板,[1, −2, 1]5.5 Hierarchiestext/04-p61-80.txt:113(搜「stencils」)
U-Net vs 空洞卷积、skip connection5.5 同上text/04-p61-80.txt:132(搜「skip connection」) · text/04-p61-80.txt:137(搜「Dilation in the form of」)
U-Net 的实现力气会回本5.5 同上text/04-p61-80.txt:149(搜「pay off significantly」)
图网络不存在「要不要空洞」5.5 同上text/04-p61-80.txt:151(搜「dilate or not」)
FNO 的机制与全局支撑5.6 Spectral methodstext/04-p61-80.txt:160(搜「truncated」) · text/04-p61-80.txt:167(搜「global support」)
M⁴ / M⁶ 与 O(K⁵) 的对比5.6 同上text/04-p61-80.txt:176(搜「a cubic increase」) · text/04-p61-80.txt:184(搜「intractable amounts of parameters」)
注意力两步走、Q/K/V、Transformer 块5.7 Attention and Transformerstext/04-p61-80.txt:194(搜「encoded into tokens」) · text/04-p61-80.txt:32(搜「query」)
「离全连接层其实不远」、二次代价5.7 同上text/04-p61-80.txt:217(搜「not too far」)
线性注意力5.7 同上text/04-p61-80.txt:221(搜「linear attention」)
丢掉已知空间结构这条批评5.7 同上text/04-p61-80.txt:227(搜「discarding this information」)
把数据搬到另一种结构上5.8 Summary of Architecturestext/04-p61-80.txt:237(搜「deformed) regular grid」)
现代化的 U-Net5.8 同上text/04-p61-80.txt:240(搜「components of Transformer architectures」)

Footnotes

  1. 出处:第 4.2 节 Looking ahead(p.50)第 685 段(text/03-p41-60.txt:685,搜「constant cost per evaluation」)。 原文:真实世界现象的 PDE 数值近似往往非常贵,而训练好的网络每次求值的代价是常数, 而且在 GPU 或专用计算单元上求值通常很容易。 「一次仿真几小时、设计机翼要试几千种形状」这个具体的量是我们补的 (补充,不在书里,来自通用知识),书只说「very expensive to compute」。

  2. 出处:第 4 章 Supervised Training(p.49)第 648 段(text/03-p41-60.txt:648,搜「surrogate model」)。 原文:「we obtain a surrogate model (also called "emulator", or "Neural operator")」。 同一件事的第四个说法在第 3.5.2 节的提示框里:learned surrogates / hybrid simulators / autoregressive models(text/02-p21-40.txt:511,搜「Learned solution operators」)。

  3. 出处:第 4.2 节(p.50)第 689 段(text/03-p41-60.txt:689,搜「more than 2 million」)。 原文:一个 128 特征的 CNN 层作用在 128² 约 16k 个格子的输入上,得到 128³ 个中间值, 「All these values at least need to be momentarily stored in memory」。

  4. 出处:第 5.1 节 Spatial Arrangement(p.51)第 18 段(text/04-p61-80.txt:18,搜「No spatial arrangement」)。 第四种情况书特意说明:粒子式的湍流表示里,邻居关系随时间变得很快

  5. 出处:第 5.2 节 No spatially arranged inputs(p.52)第 29 段(text/04-p61-80.txt:29,搜「only dense」) 与第 42 段(text/04-p61-80.txt:42,搜「ReLU and smoother variants」)。 后者是书对超参数给的全部建议:ReLU 和更平滑的变体(如 GELU)是好选择,层数应当和层的大小一起增长。 2

  6. 出处:第 5.3 节 Local vs Global(p.52)第 49 段(text/04-p61-80.txt:49,搜「receptive field」)。 原文把感受野这个问题直接对上了 PDE 的经典分类:双曲型指的是局部的、波状的行为, 与之相对的椭圆型是全局行为。

  7. 出处:第 5.3 节(p.52)第 73 段(text/04-p61-80.txt:73,搜「should be leveraged」)。 这句话书放在一个提示框里单列。

  8. 出处:第 5.3 节(p.52)第 61 段(text/04-p61-80.txt:61,搜「Unstructured」)。 表格里的「CConv」是连续卷积、「GNN」是图网络、「MLP」是全连接网络。

  9. 出处:第 5.5 节 Hierarchies(p.53)第 113 段(text/04-p61-80.txt:113,搜「stencils」)。 原文:梯度、拉普拉斯这类微分算子的离散化常被想成「模板」,而模板等价于一个带特定权重的卷积层; 一维归一化拉普拉斯的经典模板 [1, −2, 1] 可以直接映射成一个 kernel size = 3、 单输入单输出通道的一维卷积,权重设成这三个系数,而且不参与训练 2 3

  10. 出处:第 5.5 节(p.54)第 132 段(text/04-p61-80.txt:132,搜「skip connection」)、 第 137 段(text/04-p61-80.txt:137,搜「Dilation in the form of」) 与第 149 段(text/04-p61-80.txt:149,搜「pay off significantly」)。 原文对 skip connection 用了两次「crucial」。 2 3 4 5

  11. 出处:第 5.5 节(p.54)第 151 段(text/04-p61-80.txt:151,搜「dilate or not」)。

  12. 出处:第 5.3 节(p.52)第 77 段(text/04-p61-80.txt:77,搜「waste」)。 原文两句分别是「will most likely have negative effects on accuracy … worst case approximate local effects with smoothed out global modes」和「will be an unsolvable task」。 2

  13. 出处:第 5.6 节 Spectral methods(p.55)第 167 段(text/04-p61-80.txt:167,搜「global support」)。 「把一个场分解成一系列快慢不同的波动」这个对傅里叶变换的解释是我们补的 (补充,不在书里,来自通用知识);书直接用了「Fourier transform」和「frequency domain」。 2

  14. 出处:第 5.6 节(p.55)第 176 段(text/04-p61-80.txt:176,搜「a cubic increase」) 与第 184 段(text/04-p61-80.txt:184,搜「intractable amounts of parameters」)。 2 3

  15. 出处:第 5.6 节(p.55)第 160 段(text/04-p61-80.txt:160,搜「truncated」)。 原文:「the function spaces are typically truncated, so it is often questionable whether the frequency representation really yields suitable solutions beyond the resolution of the training data」。

  16. 出处:第 5.7 节 Attention and Transformers(p.56)第 194 段(text/04-p61-80.txt:194,搜「encoded into tokens」) 与第 32 段(text/04-p61-80.txt:32,搜「query」)。 同一节开头书就把话说在前面:注意力「bear promise for physics-related problems」, 但「it's still open, whether they're really generally preferable over more "classic" architectures」。 2 3 4 5

  17. 出处:第 5.7 节(p.56)第 217 段(text/04-p61-80.txt:217,搜「not too far」)。 同一段还写着自注意力「is quadratic in the number of tokens N」,这天然限制了输入的尺寸和分辨率。 2 3

  18. 出处:第 5.7 节(p.57)第 221 段(text/04-p61-80.txt:221,搜「linear attention」)。

  19. 出处:第 5.7 节(p.57)第 227 段(text/04-p61-80.txt:227,搜「discarding this information」)。 原文:「for problems with a known spatial structure, discarding this information will inevitably need to be compensated for, e.g., with a larger weight count or lower inference accuracy」。

  20. 出处:第 5.4 节 Regular, unstructured and point-wise data(p.53)第 104 段 (text/04-p61-80.txt:104,搜「continuous convolution kernels」)。

  21. 出处:第 5.8 节 Summary of Architectures(p.57)第 237 段 (text/04-p61-80.txt:237,搜「deformed) regular grid」)。

  22. 出处:第 5 章开篇(p.51)第 9 段(text/04-p61-80.txt:9,搜「the subtleties of NN architectures」)。 原文:「Our focus is to introduce ways of incorporating PDE-based models (the "physics"), rather than the subtleties of NN architectures.」