硬约束引导的深度学习偏微分方程求解框架:如何把物理的先验知识来引入模型中?|NeurIPS论文分享直播回放(6)
NeurIPS 2022
直播回顾
🙋♂️议题分享详情回顾:
现分享议题六:A Unified Hard-Constraint Framework for Solving Geometrically Complex PDEs《硬约束引导的深度学习偏微分方程求解框架》
直播回放,全文共计6111字。👇
作者简介
结构框架
01
研究背景
我们需要同时满足这两个损失函数,希望它们都尽可能接近0,但是它们的梯度不一样,所以我们需要引入一些引用权重来尽可能平衡这两项,但这个权重的计算又比较比较困难,而且没有理论上的比较好的保证,所以这也是个难题。
对于这样比较复杂的问题来说,我们想找到一个合适的权重来去平衡它们,基本上是很困难的事情。所以为了解决这样的问题,我们希望能够把边界条件嵌入到网络结构中,使得网络自动满足边界条件,这样我们的优化目标就只剩下PDE(即平衡方程),就能够很好的缓解不平衡竞争的问题。
在硬约束方法中,我们的假设集 不再是单独的神经网络,而是由三个部分组成,L是一个距离函数,这个距离函数指的是到边界的距离,NN表示神经网络,表示在边界上的通解(即边界条件方程的一般解)。我们可以验证,这样构造的假设集是严格满足边界条件。例如对刚才介绍的方程,我们取,这样的假设集在训练过程中一定是严格满足边界条件的。
我们在后续的实验中也发现,硬约束的构造对于神经网络表现是有很大提升的,这种方法它的问题是什么?目前来看只能用于第一类边界条件,也就是狄利克雷(Dirichlet)边界条件。我们下面来看一下为什么它只能用于第一类。
最常用了三类边界条件,分别是Dirichlet BC、Neumann BC、Robin BC 三类边界条件。Dirichlet BC边界条件最简单,它定义了在边界处理的取值,可以是具体的值,也可以是一个函数,它是对待解函数在边界上的取值的直接定义。
对于Neumann BC边界条件,它的定义不是对这个待解函数本身定义的,而是对它的导数来定义。例如我们希望某个函数在边界上的导数为0,。对于Robin来说,它就更加复杂,它就是前两者的一个结合。
对于第一类边界条件,我们的待解函数在边界上的通解就是给定的函数。但对于其他边界条件来说,我们就很难求出一个通解,尤其是边界是不规则的时候。这种情况下也就是我们很难直接去用前面的例子来去做,所以这也是硬约束方法目前很大的一个局限性。
总结之前的方法,一个是基于变分PINNs,一个是硬约束的方法,函数连接理论的方法,还有是基于CNNs的方法,我们发现它们都有各自的局限性,都有不完美的地方。那么我们提出的方法就是希望能够提出统一的框架,不仅同时解决这些问题,并且尽可能解决好。
02
我们的方法
我们考虑的是一个更加通用的PDE形式,这个f表示的是一个包含导数的算子,它定义在求解域上。而下面的方程则表示第一、二、三类边界条件的统一形式。
这处注意一下,考虑的不仅仅是一个边界条件,考虑的是m个边界条件,在不同的边界上定义了不同的方程,我们怎么来去把它这个形式作为一个化简?用一个额外场的方法做换元,希望把u的梯度换成另一个向量,再把它带进去。我们就发现原本很复杂方程就变成了一个线性函数,是关于u和p的一个线性函数。我们对于这样一个经过我们做换元之后的线函数,就可以直接求出它的一个通解。
所以,我们做的方法并不要求把它真实点求出来,而且也求不出来,只需要用一个形式给它表示出来。保证任意一个函数,只要它满足我们的边界条件,它都在我的假设集的表示范围内,同时保证我们的假设集本身处在边界条件的限制空间内。因此在用假设集之后,可以自动满足我的边界条件,就会有更好的效果。
如图,前面已经求出了在m个边界上的通解,怎么能够把它融合在一起来求出整体的一个解?我们考虑下面这个解的形式。
它有四个部分。首先第一部分:它是一个到边界的距离函数,它保证在边界上无关项都会消失;第二项是神经网络项,它提供拟合能力;第三项就是我们之前求出的通解,通解的作用就是为了能够能够让它在边界条件上能够得到满足边界条件的形式。
这些综合起来看的话就不难得到,当我的空间中的某一点位于边界上时,假设集的取值是自动满足边界条件的。
03
实验结果
先介绍一下一些关于setting的部分,首先是我们的一个metrics,metrics选的也比较简单,因为我们想就是为了去让模型尽可能满足微分方程,所以用了在拟合在函数拟合上非常见的metrics,比如MAE,还有MAPE这些非常经典的metrics。
MAPE它有一个缺点,就是它对于某些取值为0的值,它是没有办法去定义误差。所以我们就定义了一个WMAPE,把他所有的error加起来,然后除以所有的truth的加和,然后这样一个metric就会大概度量出它的Error相对数量级。
另一个方法叫做PINN-LA,这个方法就是去用一些启发式的方法来去自动调节不同损失函数项之间的权重,进行一个比较。
然后是xPINN方法,它是因为几何比较复杂,而且边界很多,我们希望把复杂的几何给它分解成很多个小块的几何,在每个小块几何上,定义单独的一个神经网络,让它来在上面去训练,可以一定程度上缓解我们前面提到的问题,因为相当于说它把很多个边界分散到了不同的小区域上,最后这个方法PFNN它就是一个变分的方法,通过变分的手段来去做一些硬约束上的操作。
主要有两个问题,一个问题是左边的电池组,它是一个几何边界相对比较多的情况。我们想看一下它在解这样的问题时效率如何。右边是一个机翼的问题,它就是一个矩形,中间挖掉了一个像水滴一样一个形状,但其实它是比较复杂的。
有两个原因,一个原因是它的物理规律比较复杂,它的物理规律是基于流体的一个ns方程,在数学上是比较难求解。另一个复杂之处在于水滴虽然说看起来很简单,但是它实际上是由一个200多个点来表示的一个样条,具有相当的复杂度。
这个是我们的一个实验结果。除了刚才两个例子之外,我们还在高维上的例子上做了一个实验,也是为了验证我们的公式,不仅能够满足一维、二维这样的情况,也能满足更高的维度。可以发现在不同metri的意义上来看,我们的模型相比前沿的方法都有很大的提升。
尤其我们看第一个燃料电池组的电池组的例子,我们发现前人比较好的方法也就是到15%左右,我们可以把整个误差都控制在5%左右,这个是一个非常大的进步。侧面说明对于机器学习的问题,我们去构造一些带有先验知识的模型,有些时候是一件很好的事情,它可以帮助我们的模型来去规避掉很多物理上或者从人类知识的角度来看不合理的一些假设,从而缩小它的一个探索空间,是非常有意义的。
从这个例子中也可以看出,正是因为我们能够把它把边界条件给它嵌入到结构中,才能够达到这样的效果。在高维上的例子也很明显,其实也是超过我们意料,因为高维它其实是不利于我们的方法,因为我们的方法是希望边界条件尽可能多、引入的额外场的维度尽可能小,但是在很多高维问题上,情况恰好相反,其实应该是不利于我们方法。
这一类求用神经网络来求解偏方偏微分方程还有很大的问题,我们看在机翼的问题上,即使最好我们能做到最好仍然有百分之二十几的误差。我们这个模型它其实还是不能够很好的解决这种物理比较复杂的模型,还是比较困难。也就是说这一类神经网络方法,在解决很复杂的问题上还是有局限性,这个也是未来我们需要进一步去讨论这个方向。
所以,目前这样方法目前还是集中在一个辅助的角色,用这种物理的规律,它们的损失函数作为一个监督信号来去辅助的去帮助我们的模型去泛化,而不是无监督的去学习。
可以发现我们的方法,尽管它包含了一些构造的公式和结构,但是它的收敛速度并没有影响。而且在我们的实验中,我们方法的所花的时间也并没有显著的高于标准的方法,其实这个时间几乎是可以忽略不计的,因为我们做的那些运算也没有特别耗时的运算。
● 精华大图集锦!企业面向可持续发展的人工智能治理体系《人工智能治理与可持续发展实践白皮书》大图版
● AAIG成立一周年!砥砺前行,谱写新时代的科技之歌~请查收这份最新的自我介绍
● AI治理必修第19刊|人脑给AI打工?大模型能自己"写"论文了,还带公式和参考文献!AlphaZero 的黑箱打开了!
● 听委员说|AAIG薛晖出席杭州市"两会",提出加快建立人工智能产业的多元协同治理机制
● 双重噪声下的可靠学习:为什么M-Con对检测x-noise有效?NeurIPS论文分享直播回放(5)
● “算法偏见”是概念炒作吗?「这个AI不太冷」第3期带你揭秘现实AI!
更多人工智能治理和可持续发展好文点击下方名片关注和星标【阿里巴巴人工智能治理与可持续发展研究中心】