跳转至

面向看了四年少女乐队稍微会了一点被赶鸭子上架之后依然还卡在架子上的PINN概览外加拷打结果

入门的入门:

导入

我已经有足足三分钟没有听到PINN的吐槽了,在接近半年之后,AI4PDE又一次传来无数个喜讯和噩耗之后。我依然没有什么动静,无非是实实在在的训练了一些网络,看了一些无关论文。

然而,这一次我们不仅仅是给一些片面的吐槽,而是直面这个持续时间接近十年的方法。并且介绍一些作者阅读的一些别的论文。

1Motivation:PINN可以干什么

PINN可以求解偏微分方程(这是一句废话),然而,连草履虫都能说出至少四种偏微分方程的求解。而这些所谓茴字的四种写法,不仅仅是用于炫技的工具,更意味着这些从最基本的微分差分方法,变分原理出发,天然的就具有了一大优势。

具有一套完善的误差分析框架和收敛性判断,例如有限差分法的Lax等价定理,使用Taylor展开来分析阶段误差,而有限元方法同样有Cea原理,将误差的分析转化为一个误差逼近的问题。

对于像有限体积法从积分的守恒律出发,意味着它是从**物理的第一性原理出发的**。解出来的解天然具有物理守恒关系。

此外,就是常年累计起来的优势了,Gibbs震荡,CFL条件这些晦涩的名词不仅仅是考点,更意味着**设计网络**时天然有这些可以依赖的路径,此外求解的过程中,尤其是大型的问题,**划分网格,并行计算**也早有成型内容。

而拥有这些优势的传统方法,似乎已经宣告:一个数值解的大厦早已完工,后人只需要做一些修补的工作……吗?

低垂的果实早已结束,摆在我们面前的是那些需“奋六世之余烈”的艰难问题。这些问题,例如流体的问题,多尺度,多物理场耦合等等,或许,过去基于第一性原理出发的这些方法并不全对。

在PINN的开山之作中提到,它是试图引入当下大火的数据分析的方法,因为他们已经在诸如图像识别,认知科学,基因组学等方面取得了较大优势。[1]然而,偏微分方程并不是数据驱动的,他确实有一个“方程”在那里,它就是从极少数的数据样本出发,并且提供严格的收敛性保证。所以正如很多Revier指出的那样:用少量数据去学习高维映射天然就是很难的。然而,为什么我们不反过来想想呢?第一性原理这种先验知识怎么就不能融合进学习网络呢?

这便是将机器学习方法与包括PDE在内的一系列方法结合的初衷。相比于之前的方法,直接从微分算子层面构造损失函数:

f = u_t- \mathcal{N}\,u

MSE=MSE_u+MSE_f

MSEu=Nu1∑i=1Nu∣u(tiu,xiu)−ui∣2,

MSEf=Nf1∑i=1Nf∣f(tif,xif)∣2.

Here, {tiu,xiu,ui}i=1Nu denote the initial and boundary training data on u(t,x) and {tif,xif}i=1Nf specify the collocations points for f(t,x).

相比于过去自动微分算法主要将其作为黑箱子使用,在PINN方法中确实对于神经网络函数u关于时间与空间进行了自动微分,有点类似于考虑神经网络函数空间选取一组基,然后在一个特定的度量下让其最小。

原文选取的算例为一维薛定谔方程

iht + 0.5hxx + |h|^2h = 0, x ∈ [−5, 5], t ∈ [0,π/2], (5)

h(0, x) = 2 sech(x), h(t,−5) = h(t, 5), hx(t,−5) = hx(t, 5), where h(t, x) is the complex-valued solution.

Let us define f (t, x) to be given by f := iht + 0.5hxx + |h| 2h,

原神经网络是一个复数函数。

MSE = MSE0 + MSEb + MSE f , (6) where MSE0 = 1 N0 N0 i=1 |h(0, xi 0) − hi 0| 2, MSEb = 1 Nb Nb i=1 |hi (t i b,−5) − hi (t i b, 5)| 2 + |hi x(t i b,−5) − hi x(t i b, 5)| 2 , and MSE f = 1 N f N f i=1 | f (t i f , xi f )| 2

当然,这是一种连续步长的方法。同样的,PINN还可以有离散的情况,这就需要我们借鉴Runge-Kutta算法:通过考虑一系列的中间点,并且有: un i := un+ci + t q j=1 aijN [un+c j], i = 1,..., q, un q+1 := un+1 + t q j=1 b jN [un+c j].

因此,可以考虑一个多输出的情况,

physics-informed neural network that takes x as an input and outputs un 1(x), . . . , un q(x), un q+1(x) .

回到原文中提到的算例,Allen-Chan方程

除了用于求解方程,PINN还可以被用于基于数据发现方程,即反问题。

f := ut + N [u; λ]

我们考虑一个流体力学的问题

u_t+\lambda_1(f(u)_x+vu_y)

ut + λ1(uux + vuy) = −px + λ2(uxx + uyy), vt + λ1(uvx + v v y) = −py + λ2(vxx + v yy),

之后,以PINN为基础的算法又开始被“发现”了一系列的优势:

首先是在原文献基础上拓展出来的关于反问题的求解,但我不是很了解。

其次就是解决奇性解和间断解的问题 Resolving Sharp Gradients of Unstable Singularities to Machine Precision via Neural Networks

当然也少不了多物理场耦合和多尺度分析的问题,但我依然不知道啊

2Problem:PINN遇到了哪些困难?

PINN是一种很有野心的方法,他在大家都还在用传统的数据科学方法(例如CNN,)当然,他也避免不了作为先行者的宿命,其缺点被反复拷打。正如PINN原文提到的一样,这项工作带来的问题比它解决的问题更多。

首先是能否收敛的问题,对于PINN网络依然缺乏定量的分析。

神经网络应该多深 / 多宽?到底真正需要多少数据?为什么该算法能使微分算子的参数收敛到唯一值,也就是说,为什么该算法不会在微分算子的参数上陷入局部最优解?

其次是网络设计的问题:

PINN采用的是一个较小规模的网络,而在规模放大的情况下,以及面对更深层的架构和更高阶的微分算子,网络会出现梯度消失的问题吗?使用不同的激活函数能否缓解这一问题?我们能否改进网络权重的初始化或数据的归一化方式?均方误差和误差平方和是合适的损失函数吗?

此外还有训练效果和推广的问题:

为什么这些方法对数据中的噪声似乎如此稳健?我们如何量化与预测相关的不确定性?

此外,PINN对参数的影响极其敏感,对一个方程产生出色结果的特定设置,对另一个方程可能并不适用。

我在这里,会介绍一些我最近一段时间内做的有关工作

1神经网络聚焦解决高维问题,但是高维问题不等于算得很慢。神经网络

随机特征方法RFM,ELM

2损失函数的噩梦:怎么调参

When and why PINNs fail to train: A neural tangent kernel perspective

在这篇文章中试图回答了一个问题

3误差分析:或许是PINN开了个坏头,现在ML论文没几个在讨论收敛阶、稳定性条件、结构保持性质。对ML解方程所讨论的也基本上都在ML方法的框架

Numerical analysis of physics-informed neural networks and related models in physics-informed machine learning

但这些论文好歹给出了一个结论:在网络足够密的情况下,泛化误差

4物理结构能够保持吗? 这是传统数值解方法的一大亮点之一,例如大家熟悉的“有限体积法”,寻找Riemann不变量。 包括去年去听港中文的报告,提到的拟共形映射算法,也是一种保持结构的算法“保角度”

那么,PINN网络的设计可不可以保持物理结构呢?实际上是可以做到的。 SympNets: Intrinsic structure-preserving symplectic networks for identifying Hamiltonian systems 并且在此基础上,得到了将其嵌入物理结构的Symplectic PINNs

3这个系列的后续的未来?

很难说,我毕业的时候PINN还能不能在,目前他会有这么几个走向。

更数学?做出更多的误差分析,与传统的数值解方法进行结合,够满足实际应用中对稳健性和计算效率的要求。

更物理?面对多尺度,多物理场的实际问题,

更数据?与一些纯数据驱动科学模型相结合,数据同化

更普及?与大模型进行融合,

既然一切都无法保证,就抓在手中吧