FNO(Fourier Neural Operator)入门教程

许可证: MIT · 更新于 2026-08-01

学习路径

阶段 1:理论背景(1–2 天)

必读论文

  • Li et al. “Fourier Neural Operator for Parametric PDEs”(ICLR 2021)

核心概念

  • Neural Operator vs. 传统 Neural Network:学习解算子而非有限维映射
  • 傅里叶变换在离散化 PDE 解空间的线性性
  • 降谱定理(Kolmogorov-Arnold)与神经算子的逼近能力

阶段 2:代码实现(3–5 天)

官方实现(PyTorch):

git clone https://github.com/lirui-Country/FNO-for-parametric-PDEs
cd FNO

学习顺序

  1. datasets/:数据加载与归一化(Darcy 流入门最佳)
  2. models/FNO.py:谱算子实现(torch.fft 解读)
  3. train.py:训练循环与学习率调度
  4. 在 AirfRANS 数据集上复现(翼型 RANS 代理模型)

阶段 3:进阶(1–2 周)

  • 降谱攻击(FNO 在高分辨率上失效的原因与对策)
  • Time-FNO(时变 PDE,如 NS 方程)
  • 与 DeepONet / PINN 的对比消融实验

推荐练习项目

  1. Darcy 流:最简入门,数据集小,训练 10 分钟出结果
  2. NACA 翼型:AirfRANS 子集,FNO 精度验证
  3. U-bend 弯管:工程实用,数据集在导航站收录

适用人群

  • 有 PyTorch 基础的工程师/研究者
  • 希望了解神经算子(Neural Operator)与传统 PINN 区别的人
  • 需要为 CFD/CAE 开发代理模型的人
标签: FNO神经算子代理模型教程PyTorch