查看原文
其他

硬约束引导的深度学习偏微分方程求解框架:如何把物理的先验知识来引入模型中?|NeurIPS论文分享直播回放(6)


NeurIPS 2022


直播回顾


《追AI的人》系列直播第17期特别场《NeurIPS AI安全论文分享会》以围绕更加安全可靠的智能技术为主题,分享在NeurIPS中包括对抗学习、贝叶斯深度学习、异常检测、鲁棒评估、噪声学习、 鲁棒动态图学习、偏微分方程求解等方向上发表的7篇论文。
🙋‍♂️议题分享详情回顾:

议题一:《利用离散对抗训练增强视觉表征》

议题二:《加速线性化拉普拉斯近似》

议题三:《利用典型特征提升分布外样本检测性能》

议题四:《ViewFool:探索深度学习的视角鲁棒性

议题五:《双重噪声下的可靠学习

现分享议题六:A Unified Hard-Constraint Framework for Solving Geometrically Complex PDEs《硬约束引导的深度学习偏微分方程求解框架》


直播回放,全文共计6111字。👇





作者简介





刘 松 铭

清华大学计算机科学与技术系在读本科生,曾获两次国家奖学金、商汤奖学金、美国数学建模竞赛Finalist、第五届“龙芯杯”大学生计算机系统能力培养大赛总决赛特等奖等荣誉。研究方向为AI for Science,利用物理信息机器学习方法解决结构优化、物理定律发现等问题。目前已在NeurIPS上发表一篇文章(第一作者)。




结构框架





一、研究背景
二、我们的方法
三、实验结果


01




研究背景




顾名思义,AI for Science就是把人工智能与自然科学深度融合。今天我们要讲的主题是其下的一个有分支,叫物理驱动的机器学习。经典的AI for Science大概可以分为两个方向,第一个方向是利用机器学习的算法来解决科学中的问题,比如说像科学中很多问题会产生数据,我们希望从数据中找到规律,或者是利用人工智能的一些泛化性,帮助我们生成更好的结构或者是发现物理定律。

如左图,这是一个药物发现的图,实际上在医疗中我们想去找到更好的药物,很多都是依赖我们的科研人员来去做大量的实验。有些研究者想把深度学习引入到这个过程中,用深度学习从历史数据中去寻找可能有潜力的结构,能够加快我们科研迭代的过程,类似的应用还存在于数值模拟和逆向问题等科学问题中。


另一个方向则是我们会把物理中的一些先验知识或物理定律结合到我们的机器学习模型中。例如机器物理约束的机器学习模型,物理感知的机器学习模型等。我们此时希望利用物理的规律来去指导原本数据驱动的过程。

为什么会有这样的想法?我们知道,机器学习模型、机器学习算法它的性能很大程度上就取决于数据集的数量和质量。而在很多问题中,尤其是在科学问题中,数据是非常少的,甚至它的质量也会很差。所以如果纯粹的用数据来去训练,可能得到的模型就会不鲁棒,在具体的应用场景中产生安全问题。在这个过程中,我们就希望能够引入一些物理规律,来帮我们减少对数据的需求,或者说能够训练出可解释性更高,泛化性更加好的模型。


如图,自动驾驶的问题。如果从我们的数据中去学自动驾驶的策略,那么它很有可能会由于深度模型自身带来的鲁棒性或者是过拟合的问题,在真实的道路中产生很多错误的决策。这对对于我们的用户来说是非常致命的,很有可能会对人身安全造成很大的影响。

因此我们希望在这个过程中引入一些物理约束,比方说可以把这个速度和距离的公式物理规律来加入其中,让模型能够计算出它目前做的决策怎么去影响汽车的行驶速度,再结合传感器对前方道路的探测,来构造安全的决策空间,这样就能最大程度去保证我们驾驶的安全性。类似这样的应用,在很多领域也在逐渐的发展,也是一个很有价值的方向。


怎么把物理的先验知识来引入到我们的模型中?最简单的方式其实就是PDE,也就是我们今天的主题叫做偏微分方程,因为很多物理定律都可以归纳为偏微分方程或者说用偏微分方程来进行表示。如图,我们这里举一个拉普拉斯方程的例子。第一行是平衡方程,它表示待解函数u的两个二阶偏导数的和为0。

下面这个公式是边界条件,它表示u在边界上与给定的函数g相等。一个PDE的解必须同时满足第一行的平衡方程和第二行的边界条件。

对于最一般的情况,假设我们的物理定律由PDE给出,我们希望我们的模型的输出能够满足PDE。那么最简单的方法就是把PDE的残差加入损失函数中。具体在训练过程中,我们会在矩形区域内采样一些点,把PDE在这些点上的残差作为损失函数训练神经网络。可以看到损失函数越小,就说明他们越满足PDE。

除了PDE以外,我们还会有一些data,data就是我们原本用于数据驱动的data,data的定义也非常简单,可以认为它是对我们的真实u的取值的一个观测。那么我们就把它们直接用一个简单的MSE给它算出来就可以了,也就是说一个理想的模型它应该满足我们的物理规律,就是PDE和边界条件,还要尽可能满足我们的观察。


这样一个模型它有一个什么问题?它的问题在于损失函数分为两个部分(我们这里忽略数据项),一项是PDE,一项是边界条件,这两项它的问题在于是两项完全独立的残差函数,它的最优值应该是同时取为0。当我们把它们放在一起优化的时候,就会遇到多目标优化的竞争问题。

而这一问题在PDE的背景下尤为严重。如图,它的纵轴是神经元的个数,横轴是横轴是它的梯度,可以发现它对于这两项损失函数,它们梯度值的分布是非常不一样的。也就是说PDE损失函数项的梯度要大于另一项边界条件的项。如果有这个问题存在,对于我们的训练是非常不利的。

我们需要同时满足这两个损失函数,希望它们都尽可能接近0,但是它们的梯度不一样,所以我们需要引入一些引用权重来尽可能平衡这两项,但这个权重的计算又比较比较困难,而且没有理论上的比较好的保证,所以这也是个难题。


但是对于更一般的情况,几何比较复杂的情况,比如上图燃料电池组的例子,我们的边界条件,这里有一个紫色的是外部边界条件,蓝色这个是内部的大圆的边界条件,红色是内部的小圆的边界条件,这样一来我们就有非常多的边界条件,而这些边界条件之间以及边界条件和PDE之间都存在不平衡竞争的问题。


对于这样比较复杂的问题来说,我们想找到一个合适的权重来去平衡它们,基本上是很困难的事情。所以为了解决这样的问题,我们希望能够把边界条件嵌入到网络结构中,使得网络自动满足边界条件,这样我们的优化目标就只剩下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的一个线性函数。我们对于这样一个经过我们做换元之后的线函数,就可以直接求出它的一个通解。



简单的理解为,我们从这线列方程中找到了一组基,然后我们在这组基上对我们的解做了一个展开,而展开的系数就由神经网络NN预测。对于说任意一个函数u,只要满足我的这个线性方程,它一定可以被表示为我们下面通解的形式。

我们发现它和第一类边界条件的通解不同,是我们通解里是含有参数的,它不是一个确定的点。因为对于这种含导数的边界条件,仅根据边界条件是无法确定解在边界上的取值,解的具体的值需要联立平衡方程才可求出。


所以,我们做的方法并不要求把它真实点求出来,而且也求不出来,只需要用一个形式给它表示出来。保证任意一个函数,只要它满足我们的边界条件,它都在我的假设集的表示范围内,同时保证我们的假设集本身处在边界条件的限制空间内。因此在用假设集之后,可以自动满足我的边界条件,就会有更好的效果。



如图,前面已经求出了在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%左右,这个是一个非常大的进步。侧面说明对于机器学习的问题,我们去构造一些带有先验知识的模型,有些时候是一件很好的事情,它可以帮助我们的模型来去规避掉很多物理上或者从人类知识的角度来看不合理的一些假设,从而缩小它的一个探索空间,是非常有意义的。


从这个例子中也可以看出,正是因为我们能够把它把边界条件给它嵌入到结构中,才能够达到这样的效果。在高维上的例子也很明显,其实也是超过我们意料,因为高维它其实是不利于我们的方法,因为我们的方法是希望边界条件尽可能多引入的额外场的维度尽可能小,但是在很多高问题上,情况恰好相反其实应该是不利于我们方法。


这一类求用神经网络来求解偏方偏微分方程还有很大的问题,我们看在机翼的问题上,即使最好我们能做到最好仍然有百分之二十几的误差。我们这个模型它其实还是不能够很好的解决这种物理比较复杂的模型,还是比较困难。也就是说这一类神经网络方法,在解决很复杂的问题上还是有局限性,这个也是未来我们需要进一步去讨论这个方向。


所以,目前这样方法目前还是集中在一个辅助的角色,用这种物理的规律,它们的损失函数作为一个监督信号来去辅助的去帮助我们的模型去泛化,而不是无监督的去学习。



可以发现我们的方法,尽管它包含了一些构造的公式和结构,但是它的收敛速度并没有影响。而且在我们的实验中,我们方法的所花的时间也并没有显著的高于标准的方法,其实这个时间几乎是可以忽略不计的,因为我们做的那些运算也没有特别耗时的运算。



从定性来看一下我们的方法。如右图,可以发现我们在这个例子上的一个Error的降低还是比较明显。实际上它在建模的是燃料电池组的随时间演化的一个过程。物理变量,即待解函数,它就是空间的一个温度的分布,我们希望能够把物理过程给它建模出来。

左图是我们的prediction,右边是ground truth,它们俩其实用肉眼都看不出区别,说明我们的方法在很大程度上已经是可以把物理过程给它复原出来,效果非常不错的。

往期精彩推荐点击标题查看文章

● 精华大图集锦!企业面向可持续发展的人工智能治理体系《人工智能治理与可持续发展实践白皮书》大图版



● AAIG成立一周年!砥砺前行,谱写新时代的科技之歌~请查收这份最新的自我介绍


 AI治理必修第19刊|人脑给AI打工?大模型能自己"写"论文了,还带公式和参考文献!AlphaZero 的黑箱打开了!


 听委员说|AAIG薛晖出席杭州市"两会",提出加快建立人工智能产业的多元协同治理机制


 双重噪声下的可靠学习:为什么M-Con对检测x-noise有效?NeurIPS论文分享直播回放(5)


 “算法偏见”是概念炒作吗?「这个AI不太冷」第3期带你揭秘现实AI!

更多人工智能治理和可持续发展好文
点击下方名片关注和星标【阿里巴巴人工智能治理与可持续发展研究中心】
👇AAIG课代表,获取最新动态就找她

 关注公众号发现更多干货❤️


有启发点在看喔👇
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存