基于Green函数的算子学习方法

简介

DeepOnet引领了深度学习与算子学习的结合,之后又有FNO方法被提出,第二种方法本质是学习Green函数,利用傅里叶变化结合频率截断将计算复杂度转化为线性方程式。FNO的理论分析就已经让人看得云里雾里了,可以清楚地理出一个脉络就是通过算子的逼近技术简化计算过程加快推理速度,这篇文章可以说是直击Green函数的本质,最终发表在了JMLR上,其水平是无可置疑的。

Boullé, N., Kim, S., Shi, T., & Townsend, A. (2022). Learning Green’s functions associated with time-dependent partial differential equations. Journal of Machine Learning Research, 23(218), 1-34.

主要结果

这篇文章就介绍了一件事,考虑一个有界空间上的表示域上的抛物线偏微分算子

$$ \mathcal{P} u:=u_t-\nabla \cdot(A(x, t) \nabla u)=f(x, t), \quad x \in \Omega, t \in[0, T], 0

Green函数就是\( G(x, t, y, s) \),能够快速计算上面那个偏微分算子的结果

$$ u(x, t)=\int_0^T \int_{\Omega} G(x, t, y, s) f(y, s) \mathrm{d} y \mathrm{~d} s, \quad(x, t) \in \mathcal{U} $$

看到这公式应该是会头皮发麻的,Green函数包含了四个维度,也就说其的计算复杂度也随着这四个维度的增加而增加,但是如果我们能找到一个神经网络去近似表示这个函数,那么这个偏微分算子的求解速度能够大大增快。

下面给出一个例子,是一个非常简单的偏微分算子了:

$$ \frac{\partial u}{\partial t}-\nabla^2 u=f(x, t), \quad u(x, 0)=0, \quad u(0, t)=0, \quad(x, t) \in \mathbb{R}^n \times \mathbb{R} $$

对应的Green函数的解析表达式是下面的形式

$$ G(x, t, y, s)=\frac{\Theta(t-s)}{(4 \pi(t-s))^{n / 2}} \exp \left(-\frac{1}{4} \frac{|x-y|^2}{t-s}\right), \quad(x, t) \neq(y, s) \in \mathbb{R}^n \times \mathbb{R} $$

那么对于更加复杂的情形,是几乎找不到解析解,那我们就想通过神经网络去学习这个Green函数,但是这里面有一个问题,四个变量耦合的Green函数很难直接去学习,那么这篇文章就提出一种低秩降阶的方法。

理论分析比较复杂,我这里就不再赘述了,如果读者有兴趣可以参考原文,这里只给出几个主要的结果,这篇文章只是指导实践。

定理1:对于充分小的\(0<\epsilon<1 \)和\(k \leq k_\epsilon=\mathcal{O}\left(\left\lceil\log \frac{1}{\epsilon}\right\rceil^{n+3}\right) \)结,存在一个 (低秩)可分离的近似值,其形式

$$ G_k(x, t, y, s)=\sum_{i=1}^k u_i(x, t) v_i(y, s), \quad(x, t) \in Q_X,(y, s) \in Q_Y, $$

使得

$$ \left\|G-G_k\right\|_{L^2\left(Q_X \times Q_Y\right)} \leq \epsilon\|G\|_{L^2\left(\hat{Q}_X \times Q_Y\right)} $$

定理10:设\(\Omega \subset \mathbb{R}^n\)是一个满足均匀内锥条件的域。
\( \mathcal{U}=\Omega \times[0, T], \epsilon>0 \)适当的小,\( G \)是抛物线算子相关的Green函数。那么,存在一种随机算法,使得我们可以构建一个\( G \)的近似值\( \tilde{G} \),使用\( \mathcal{O}\left(\epsilon^{-\frac{n+2}{2}} \log (1 / \epsilon)\right)\)个输入输出对和它的邻接点,以便

$$ \|G-\tilde{G}\|_{L^1(\mathcal{U} \times \mathcal{U})}=\mathcal{O}\left(\Gamma_\epsilon^{-1 / 2} \epsilon\right)\|G\|_{L^1(\mathcal{U} \times \mathcal{U})} $$

其概率值为\( \geq 1-\mathcal{O}\left(\epsilon^{\log ^{n+1}(1 / \epsilon)}\right)\)。
这两个定理算是提供了用算子学习理论对抛物线算子相关的Green函数进行逼近的理论基础,这样的话可以基于这篇文章设计深度学习方法进行求解抛物线算子。具体的推导实在太复杂,如果不是数学专业的同学很难去看懂,但是后续可以推广这项工作到其他类型的算子。

总结

基于Green函数的算子学习方法为理论分析打下了坚实的基础,也为后续的网络架构设计等提供了全新的视角,这些方法的效果可能没那么好,但是为后续的发展提供了理论依据,这就是我认为理论文章的最重要价值,为实践提供方法。文章最后,作者提到了一个问题,那就是Physics Informed Machine Learning经常会遇到一个问题,那就是难以优化,也就是说损失函数的平面是非常崎岖不平的,如下图所示
基于Green函数的算子学习方法_第1张图片
具体原因就是嵌入了物理先验知识就去,也就是将偏微分方程作为惩罚项加入loss中,具体可以参考下面的论文:

Krishnapriyan, A., Gholami, A., Zhe, S., Kirby, R., & Mahoney, M. W. (2021). Characterizing possible failure modes in physics-informed neural networks. Advances in Neural Information Processing Systems, 34, 26548-26560.

你可能感兴趣的:(机器学习人工智能深度学习机器人)