DeepONet 深度算子网络入门

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

学习路径

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

核心思想: DeepONet = Branch Net(参数输入 u(x) 的编码)+ Trunk Net(空间坐标 t 的编码),两者做内积得到解算子 G(u)(t)。其理论基础是 Kolmogorov-Arnold 表示定理在神经网络中的离散化。

必读论文

  • Lu et al. “DeepONet: Learning nonlinear operators for inverse problems”(Nature Machine Intelligence 2021)

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

DeepXDE(MIT License)是 DeepONet 与 PINN 最成熟的 Python 框架,支持多种算子与边界条件。

from deepxde.backend import tf
from deepxde.nn.tensorflow.fnn import FNN

# 支网络:编码函数 u(x)
branch = FNN([100, 128, 128, 128], "relu", "Glorot normal")

# 干网络:编码坐标 t
trunk = FNN([2, 128, 128, 128], "relu", "Glorot normal")

# 拼接入积分解算子
net = deepxde.nn.DeepONetOperator([100, 128, 128, 128], [2, 128, 128, 128])

学习顺序(DeepXDE 官方 Tutorial)

  1. Burgers 方程(1D 无粘)
  2. Porter 方程(参数化初边值)
  3. 随机微分方程(不确定性量化)

阶段 3:工业场景实战

  • 参数化几何(多几何形状的力学响应预测)
  • 多物理耦合(热-结构顺序耦合)
  • 在 U-bend 数据集上做流场代理模型

与 FNO 的对比

特性DeepONetFNO
网格适应性✅ 任意点评估❌ 固定分辨率
参数化维度✅ 高维参数⚠️ 有限
训练效率✅ 数据效率高⚠️ 需大量数据
开源框架DeepXDE ✅NeuralOperator ✅

推荐资源

  • DeepXDE 官方文档(中文友好)
  • Lu et al. 2021 Nature MI 原文
  • GitHub: lululxvi/deepxde(Star 3k+,活跃维护)
标签: DeepONet神经算子DeepXDEPINN教程