Press "Enter" to skip to content

强强联合!数据和物理学“联手”构建神经网络模型 PGNN

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

摘要:机器学习算法的学习过程,实际上是在假设空间中搜索解决方案的过程。仅使用数据引导搜索过程中存在一些挑战性问题。一份近期研究提出了利用物理学辅助数据以引导搜索过程,并给出了使用特征工程和向损失函数中添加物理非一致项这两种实现方法。论文通过对湖水温度的建模,验证了这一方法的有效性。

 

当今技术和科学的核心,是基于物理学构建的模型。但近些年来,数据驱动的模型已崭露头角,并在许多任务中给出了优于物理学驱动模型的表现。即便如此,这些模型依然需要数据,模型的推理也很难解释,并且在泛化能力上仍然存在挑战。结合数据和物理学,可以做到相得益彰。

 

 

机器学习算法的学习过程,实际上是在假设空间中搜索解决方案的过程。该假设空间是根据我们所选择的算法、体系结构和配置而定义的。即使是对于相当简单的算法,假设空间也可能非常大。数据是我们在该巨大空间中搜索解决方案的唯一指引。那幺我们是否可以利用人们对世界的认知(例如,物理学知识等)并辅以数据,用于指导该搜索过程呢?

 

这一论点是 Karpatne 等人在他们的论文“物理学引导的神经网络()在湖泊温度建模中的应用”( Physics-guided Neural Networks (PGNN): An Application in Lake Temperature Modeling )一文中提出的。在此,我将解释该论点的重要性,并解读该论文,阐述论文研究者的具体做法。

 

设想你已将你的外星人朋友(即优化算法)派送到超市(即假设空间),去购买你最喜欢的奶酪(即解决方案)。她手头的唯一线索,就是你给她的一张奶酪图片(即数据)。由于我们的外星朋友对超市并不具有任何先验知识,因此她很难找到奶酪。她甚至可能会在到达食品区之前围着化妆品区、清洁用品区打转。

 

图一 我们的外星朋友最终抵达超市食品区(图片来自 Dominic L. Garcia

 

该比喻类似于梯度下降等机器学习优化算法寻找假设的过程。数据是此过程中的唯一指引。理想情况下,这类方法会很好的工作。但在大多数情况下,数据或者具有噪声,或者数据量不足。在优化算法中集成我们的知识,可在一定程度上解决这些挑战性问题。例如,奶酪需要在食品区域搜索,而不必查看化妆品区域。下面,我们阐述应如何做到这一点。

 

如何使用物理学指引机器学习算法

 

现在,我概述一下论文研究者是如何用物理学来引导机器学习模型的。他们提出了两种方法:(1)使用物理学理论计算额外的特征(即特征工程),并与测量数据一并作为模型的输入 ;(2)在损失函数中添加物理非一致(physical inconsistency)项,对物理非一致预测做出惩罚。

 

图二 第一种方法:使用基于物理学的模型开展特征工程。

 

图三 第二种方法:使用数据及物理学驱动的损失函数。

 

在机器学习中,使用特征工程的第一种方法是广为使用的。但第二种方法更具吸引力。它非常类似于通过添加正则化项以惩罚过度拟合的做法,由此在损失函数中添加了物理非一致项。 因此,优化算法在使用这个新的补偿项时,应该考虑的是如何使物理非一致结果最小化。

 

Karpatne 等研究者在论文中提出,将上述两种方法与神经网络结合,并给出了一种称为“以物理学为引导的神经网络”(PGNN,physics-guided neural network)算法。 PGNN 具有两个主要优点:

 

实现泛化 :泛化能力是机器学习中的一项基本挑战。由于物理模型大多并不依赖于数据,因此在未见数据上也会表现良好,即使数据具有不同的分布。

 

机器学习模型时常被视为一种“黑箱”,因为人们并不总是十分清楚模型是如何给出特定的决策的。不少工作致力于实现可解释人工智能( XAI,Explainable AI ),以提高模型的可解释性。PGNN 通过给出物理上一致并且可解释的结果,为 XAI 提供了基础。

 

应用示例:湖水温度建模

 

论文以湖水温度模拟为例说明了 PGNN 的有效性。湖水温度控制着生活在湖中生物物种的生长、存活和繁殖。因此,准确地观察和预测湖水温度,对于了解湖泊生物圈中发生的变化是至关重要的。该例的任务是开发一个可以预测特定湖水温度随水深和时间变化的模型。下面,我将阐述论文研究者是如何应用(1)特征工程和(2)改进的损失函数解决这个问题。

 

(1) 对于使用特征工程方法,论文研究者使用一种称为“GLM”( 通用湖泊模型,general lake model )的模型生成新特征,并以这些特性为神经网络的输入。GLM 是一种基于物理学的模型,描述了控制湖水温度变化的动态过程,包括由日照、蒸发等引发的加热效应。

 

(2) 下面介绍论文研究者是如何定义物理非一致项的。众所周知,密度更大的水分布更低。水温与水密度间的关系是已知的。因此,预测需遵循以下事实:观察点越深,预测的密度越高。如果模型预测结果中,更接近湖水表面的观察点,密度值更高,那幺这就给出了物理非一致的预测。

 

图四 物理非一致项的定义

 

现在将该理念集成到损失函数中。我们需要在ρ(A)>ρ(B) 做出惩罚,反之则不做出惩罚。物理非一致越大,那幺惩罚也应该越大。这可以轻松实现,我们只需将函数 max(ρ(A)-ρ(B),0) 的值添加到损失函数中即可。如果ρ(A)>ρ(B),即存在物理非一致,那幺 max 函数将给出一个正值,增大我们试图最小化的损失函数值。反之,max 函数将给出零,损失函数值保持不变。

 

这里,正确使用损失函数时,需要对该函数做两处改进。一项重要的事情是保持对所有点对的平均非一致性,而不是单个数据对。我们可以将所有点对的 max 函数值相加,再除以点对数。此外,控制物理非一致最小化的相对重要性也是至关重要的。我们可以通过将平均物理非一致与超参数相乘(类似于正则化参数)实现。

 

图五 损失函数的物理非一致项

 

实验结果

 

下面给出四种模型的实验结果。这四种模型分别为:

 

PHY:表示 GLM 模型。

 

NN:表示神经网络模型。

 

PGNN0:使用特征工程方法的 NN,其中 GLM 模型的结果将作为 NN 的额外输入。

 

PGNN:使用特制工程的 NN,改进了损失函数。

 

论文采用如下两种度量结果评估:

 

RMSE:均方根误差。

 

物理非一致性:模型给出物理非一致预测的时间步长的比例。

 

图六 米拉湖(Lake Mille Lacs)上的实验结果

 

图七 门多塔湖(Lake Mendota)上的实验结果

 

通过对比 NN 与 PHY 可得出结论,NN 以牺牲物理非一致结果为代价,给出了更准确的预测。通过对比 PGNN0 和 PGNN 可看到,消除物理非一致主要得益于改进的损失函数。预测精度的提高主要原因在于特征工程,其中有来自于改进损失函数的一些贡献。

 

总结一下,初步结果表明,论文新提出的算法 PGNN 在给出准确且物理一致结果上具有很好的前景。此外,将对世界的认知集成到损失函数中的方法,提供了一种提高机器学习模型泛化性能的很好做法。该理念看似简单,但是有可能从根本上改进我们开展机器学习和科学研究的方式。

 

扩展阅读

 

论文原文:

 

Theory-guided Data Science: A New Paradigm for Scientific Discovery from Data

 

作者简介

 

Mehmet Alican Noyan曾是一位纳米技术研究人员,现在是一位机器学习工程师。他在博客中介绍并分享对机器学习的一些直观理解。

 

查看英文原文: Physics-guided Neural Networks (PGNNs)

 

https://towardsdatascience.com/physics-guided-neural-networks-pgnns-8fe9dbad9414

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注