3. DeepONet架构原理
在动力系统预测中,我们真正想学的往往不是一个有限维向量到另一个向量的映射,而是一个算子:输入是一条函数(初值曲线、外激励时程、参数场),输出也是一条函数(状态轨迹、响应时程)。DeepONet 的核心思想,就是把这种“函数到函数”的映射拆成两条并行的子网络来学习,从而绕开传统全连接网络在高维函数空间上难以泛化的困境。
一、为什么要把网络拆成“分支”和“主干”
DeepONet 的输入由两部分组成:一部分是传感器采样得到的输入函数离散值 u(x₁), u(x₂), …, u(x_m),另一部分是输出函数在待求位置上的查询坐标 y(在动力系统中通常是时间 t,或时空坐标 (x, t))。如果直接把 (u, y) 拼接后送入一个全连接网络,网络必须同时学会“输入函数长什么样”和“在哪个位置取值”这两件性质完全不同的事,样本效率很低。
DeepONet 的做法是分工:分支网络(Branch Net)只吃输入函数的采样值,输出一个 p 维特征向量 b = [b₁, …, b_p];主干网络(Trunk Net)只吃查询坐标 y,输出同样维度的特征向量 t = [t₁, …, t_p]。最终输出取两者的内积:
G(u)(y) ≈ Σ_{k=1}^{p} b_k(u) · t_k(y) + b_0
这个形式的精妙之处在于:分支网络编码“是哪一个输入函数”,主干网络编码“在哪个位置取值”,内积则相当于在 p 个基函数上做加权求和。可以把 t_k(y) 理解为第 k 个可学习的基函数,b_k(u) 就是该基函数在当前输入下的系数。这正是算子逼近定理所保证的结构。
二、算子逼近定理给出的理论保证
DeepONet 并非经验拼凑,其理论基础是万能算子逼近定理(Chen & Chen, 1995;Lu 等将其推广到深度网络形式)。定理的直观表述是:对于定义在紧集上的连续算子 G,只要分支网络和主干网络足够宽(或足够深),存在一组网络参数使得内积形式能以任意精度一致逼近 G。这一定理把“学算子”问题转化为“学两组有限维特征的内积”,为网络结构提供了合法性。
需要提醒的是,定理是存在性结论,不告诉我们需要多少样本、多宽的网络。实际建模中,p 的取值、传感器点数 m、分支/主干各自的层宽,仍要靠验证集误差来调。经验上 p 取 50~200 较为常见,m 应足以分辨输入函数的主要变化尺度(例如激励时程含 10 Hz 成分时,采样率至少 50 Hz 量级)。
三、输出形式与可解释性
DeepONet 的输出天然是“基函数展开”形式:G(u)(y) = Σ b_k(u)·t_k(y)。这带来两点可解释性优势。第一,主干输出的 t_k(y) 可以单独可视化,它们往往呈现出与系统固有模态、衰减包络相似的形状,相当于网络自己学出了一组数据驱动的基函数。第二,分支输出的 b_k(u) 是输入函数的“指纹”,对同一系统不同初值,比较系数向量即可判断响应差异主要落在哪几个模态上。
此外,由于主干网络与输入函数无关,训练完成后可以固定分支、只对主干在密集时间网格上求值,得到平滑的连续轨迹,而不像普通回归网络那样只能在训练点上插值。这一点对动力系统长期预测尤其重要。
四、与全连接网络、PINN 的局限对比
全连接网络把 (u, y) 拼接后回归,本质是在学一个高维函数 F(u, y)。当输入函数采样点 m 增大时,输入维度线性增长,网络需要大量样本覆盖“函数空间 × 坐标空间”的联合分布;换一组初值就要重新大量采样,泛化到未见函数的能力弱。DeepONet 通过解耦把函数维度和坐标维度分开处理,样本效率明显更好。
PINN 把 PDE 残差作为损失项,无需标签数据,适合正问题与反问题。但它的局限在于:每个新的初值/边界条件通常要重新训练一次网络,属于“一问题一训练”;损失中残差项与数据项权重敏感,训练不稳定;对高维、强非线性、长时间积分的问题收敛困难。DeepONet 则是“一次训练、多输入推理”,训练完成后对新初值只需前向计算,适合需要反复调用算子的场景(如实时控制、参数扫描、不确定性量化)。
| 方法 | 学习对象 | 新初值处理 | 主要局限 |
|---|---|---|---|
| 全连接网络 | F(u, y) 联合映射 | 需大量新样本,泛化弱 | 输入维度随采样点增长,样本效率低 |
| PINN | 单个解 u(x,t) | 每个条件重新训练 | 训练不稳定,长时积分困难 |
| DeepONet | 算子 G: u → G(u) | 前向推理即可 | 需成对算子数据,p 与 m 需调 |