DeepONet 深度算子网络入门
学习路径
阶段 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):
- Burgers 方程(1D 无粘)
- Porter 方程(参数化初边值)
- 随机微分方程(不确定性量化)
阶段 3:工业场景实战
- 参数化几何(多几何形状的力学响应预测)
- 多物理耦合(热-结构顺序耦合)
- 在 U-bend 数据集上做流场代理模型
与 FNO 的对比
| 特性 | DeepONet | FNO |
|---|---|---|
| 网格适应性 | ✅ 任意点评估 | ❌ 固定分辨率 |
| 参数化维度 | ✅ 高维参数 | ⚠️ 有限 |
| 训练效率 | ✅ 数据效率高 | ⚠️ 需大量数据 |
| 开源框架 | DeepXDE ✅ | NeuralOperator ✅ |
推荐资源
- DeepXDE 官方文档(中文友好)
- Lu et al. 2021 Nature MI 原文
- GitHub:
lululxvi/deepxde(Star 3k+,活跃维护)
标签: DeepONet神经算子DeepXDEPINN教程
相关条目
- FNO(Fourier Neural Operator)入门教程 · 系统学习 Fourier Neural Operator(傅里叶神经算子)从理论到代码实现,适合希望将神经算子用于 PDE 代理模型的工程师与研究者。
- Physics-Based Deep Learning 在线教材 · 由慕尼黑工业大学团队维护的免费在线教材,系统讲解「物理 + 深度学习」的融合范式,从可微物理、PINN 到神经算子与湍流建模,配套可运行代码。
- PINN from Scratch · 从零实现物理信息神经网络的经典中文结构化教程,配合 Raissi 原版 PINNs 仓库,是入门物理 AI 的最佳起点。
- 物理仿真与机器学习融合路线图 · 从经典 PDE 数值方法到数据驱动物理 AI 的系统学习路线,覆盖有限元、有限体积、代理模型、PINN 等方法的演进逻辑与适用场景。
- 算子学习综述(Operator Learning Survey) · 系统梳理算子学习方法的综述论文,覆盖 DeepONet、FNO 及其变体的理论、架构与误差分析,是理解「学习无限维映射」最合适的入门与查阅材料。