2. FNO的数学基础

要理解Fourier神经算子(FNO)为什么能“一次训练、多分辨率复用”,必须先把视角从传统的有限维向量学习,抬升到函数空间之间的映射学习。传统神经网络处理的是固定维度的输入输出,例如一张 64×64 的图像对应一个 4096 维向量;而FNO面对的是偏微分方程的解算子——输入是一个函数(如初始条件、源项、系数场),输出也是一个函数(如时刻 T 的解)。这一节我们把这个扩展过程讲清楚,并说明FNO究竟逼近的是哪一类映射。

从有限维向量到函数空间

在有限维设定中,我们把输入写成向量 u ∈ ℝn,网络学习的是映射 f: ℝn → ℝm。但物理场本质上是定义在连续区域 Ω 上的函数,例如 a(x) 表示 x 处的扩散系数,u(x, t) 表示温度场。此时输入属于某个函数空间 𝒜(如平方可积空间 L²(Ω) 或 Sobolev 空间 Hs(Ω)),输出属于空间 𝒰。算子 G 把整个输入函数映成整个输出函数:

G: 𝒜 → 𝒰,   a ↦ u = G(a)

关键区别在于:向量是“一个点”,函数是“无穷维空间中的一个元素”。神经网络无法直接吃进无穷维对象,所以实际做法是离散化——在网格上采样得到有限维表示。但离散化只是“观测手段”,真正的学习目标仍是那个连续算子 G。这正是FNO与传统CNN代理模型的分水岭:CNN把网格点当作像素,学的是“某个分辨率下的向量映射”;FNO试图学“函数到函数”的映射本身。

算子学习的目标形式

算子学习的标准设定是:给定若干组观测对 {(ai, ui)},其中 ui = G(ai) 由数值求解器(如有限差分、有限元)算出,我们希望构造参数化算子 Gθ 使其逼近 G。训练目标通常写成函数空间中的相对误差:

min_θ  E_{a~μ} [ ‖G(a) − G_θ(a)‖_𝒰 / ‖G(a)‖_𝒰 ]

其中 μ 是输入函数的分布(例如随机生成的高斯随机场系数)。注意损失是在函数范数下度量的,而不是逐点均方误差的简单堆叠——虽然实现上常以离散 L² 近似,但概念上它对应连续范数。这带来一个重要推论:如果 Gθ 真的逼近了连续算子,那么换一套网格去离散同一个 a,输出应当收敛到同一个连续解。这就是“离散化不变性”的数学根源。

FNO逼近的映射类型

FNO并不是万能的,它逼近的是一类具有特定结构的算子。其核心层写作:

v_{l+1}(x) = σ( W_l v_l(x) + (K_l v_l)(x) )

其中 Kl 是积分算子,在Fourier域中实现为对低频模态的逐点乘法:先做FFT,截断到前 kmax 个模态,乘以可学习的复权重 R,再逆变换回来。因此FNO擅长逼近的是平移不变(或近似平移不变)的积分型算子,例如:

  • 椭圆型方程的解算子,如 −∇·(a∇u) = f 中从 a 到 u 的映射;
  • 热传导、扩散过程的演化算子;
  • Navier–Stokes 在规则网格上的短时推进算子;
  • 具有周期或近似周期边界条件的线性/弱非线性算子。

反之,强烈依赖绝对位置、具有尖锐局部奇点或非平移不变结构的算子,FNO的谱截断会损失高频信息,需要配合局部分支或增大模态数。理解这一点,才能在选型时判断FNO是否合适。

从有限维向量映射到函数空间算子映射 有限维向量映射 u ∈ ℝⁿ(固定维度) f: ℝⁿ → ℝᵐ v ∈ ℝᵐ(固定维度) 换分辨率需重新训练 升维 函数空间算子映射 a(x) ∈ 𝒜 ⊂ L²(Ω) 连续输入函数 G: 𝒜 → 𝒰 算子(无穷维) u(x) ∈ 𝒰 ⊂ L²(Ω) 连续输出函数 离散化观测 网格采样 → 有限维 FFT → 截断 k_max 模态 谱权重 R 逐点相乘 逆FFT → 回到物理空间 同一算子可复用于 不同网格分辨率 离散化不变性:网格加密时输出收敛到同一连续解

离散化不变性的直观含义

设想同一个扩散系数场 a(x),我们分别在 64×64 和 256×256 的网格上离散它。传统CNN在 64 网格上训练后,直接喂 256 网格会因输入维度不匹配而失效,必须插值或重训。FNO则不同:它的谱卷积层在Fourier域中只保留前 kmax 个模态,这些模态对应的是连续函数中最低频的成分,与网格点数无关。因此同一组权重可以在不同分辨率上执行,输出在物理意义上保持一致(在截断误差范围内)。

直观地说,FNO学的是“函数之间的规律”,网格只是观察这个规律的“采样窗口”。窗口变密,看到的还是同一个规律。这也是为什么FNO在超分辨率预测、多尺度仿真中特别有吸引力。但要注意:离散化不变性并非绝对,kmax 截断会引入高频误差,网格过粗时低频模态也可能失真,实际使用中应验证不同分辨率下的误差是否在可接受范围。

理解本节的关键,是把“输入输出是向量”换成“输入输出是函数”,把“网络是向量映射”换成“网络是算子逼近”。FNO的谱卷积正是为在函数空间中做平移不变的积分运算而设计的,这也是它区别于普通CNN代理模型的数学本质。