|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法( 二 )


该研究提出一种能够学习无限维函数空间之间映射的新型深度学习架构——傅里叶神经算子 , 通过傅里叶空间中的线性变换实例化积分算子(参见图 1a) 。
|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法
本文插图

该研究的主要贡献有:
傅里叶神经算子方法共享相同的学得网络参数 , 而与出于计算目的在输入和输出空间上使用的离散化无关 。
对于 parametric PDE , 傅里叶神经算子始终优于所有现有的深度学习方法 。 其误差率在伯格斯方程上降低了 30% , 在达西流动问题上降低了 60% , 在纳维 - 斯托克斯方程(雷诺数为 10000 的湍流状态)上降低了 30%(如图 1b 所示) 。 在学习整个时间序列的映射时 , 该方法在雷诺数为 1000 时 , 达到了 < 1% 的误差 , 在雷诺数为 10000 时 , 误差为 8% 。
在 256×256 网格上 , 用于求解纳维 - 斯托克斯方程的伪谱方法用时 2.2 秒 , 而傅里叶神经算子的推断时间仅为 0.005 秒 。 该方法不仅具有巨大的速度优势 , 在下游应用(如解决贝叶斯逆问题)中使用时 , 其准确率也不会下降 , 如图 3 所示 。
神经算子
神经算子是一个迭代结构 v_0 |→ v_1 |→ . . . |→ v_T , 其中 , v_j (j = 0, 1, . . . , T ? 1) 是一系列函数 , 每一个函数取值于 R^dv 。 首先通过局部(逐点)变换 P 将输入 a ∈ A 转换为更高维度的表示 v_0 = P(a) 。 这一局部变换 P 一般通过浅层全连接网络进行参数化 , P : R^da → R^dv 单独对每个空间组件 a(x) ∈ R^da 执行 。 类似地 , 输出 u = Q(v_T ) 是 v_T 通过局部变换 Q : R^dv → R^du 后的投影 。
在每次迭代中 , 更新 v_t |→ v_t+1 被定义为非局部积分算子 K 和局部非线性激活函数 σ 的组合 。
|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法
本文插图

κ_φ 是从数据中学得的核函数 。 定义 1 和定义 2 构成了神经网络向无限维空间的泛化 [Li et al., 2020b] 。 如果我们移除对函数 a 的依赖 , 并使 κ_φ(x, y) = κ_φ(x?y) , 则得到 (4) 是卷积算子 。
研究者在傅里叶空间中直接参数化 κ_φ , 并使用快速傅里叶变换(FFT)对 (4) 进行高效计算 , 从而得到在 PDE 问题上获得 SOTA 结果的新型快速架构 。
傅里叶神经算子
研究人员提出用傅里叶空间中定义的卷积算子替换掉 (4) 中的核积分算子 。 令 F 表示对函数的傅里叶变换 f : D → R^dv , F^?1 表示逆变换 , 则得到:
|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法
本文插图

j = 1, . . . , d_v , i = √?1 表示虚数单位 。 令公式 (4) 中的 κ_φ(x, y, a(x), a(y)) = κ_φ(x ? y) , 并应用卷积定理 , 得到:
从而在傅里叶空间中直接参数化 κ_φ:
|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法
本文插图

实验
研究者在一维伯格斯方程、二维达西流动问题和二维纳维 - 斯托克斯方程上对比了 FNO 和多个有限维架构和基于算子的逼近方法 。
|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法
本文插图

伯格斯方程
该实验的结果参见图 2a 和表 1 。
该研究提出的 FNO 方法取得了最低的相对误差 , 并且该误差值不随分辨率的变化而变化 , 而基于卷积神经网络的方法(FCN)的误差随着分辨率的增长而增大 。 与其他神经算子方法(如在物理空间中使用 Nystr?m 采样的 GNO 和 MGNO)相比 , 傅里叶神经算子方法在准确率和计算效率方面均更胜一筹 。
|无惧分辨率变化,求解PDE家族:加州理工提傅里叶神经算子方法


推荐阅读