Physics-guided Neural Networks (PGNN)简介
当机器学习算法正在学习时,它们实际上是在您根据您选择的算法,体系结构和配置定义的假设空间中搜索解决方案。即使对于相当简单的算法,假设空间也可能非常大。数据是我们在这个巨大空间中寻找解决方案的唯一指南。如果我们可以利用我们对世界的了解 - 例如,物理 - 以及数据来指导这种搜索,该怎么办?
这就是Karpatne等人的观点。在他们的论文Physics-guided Neural Networks(PGNN)中解释(https://arxiv.org/abs/1710.11431):在湖泊温度建模中的应用。在这篇文章中,我将解释为什么这个想法是至关重要的,我还将通过总结论文来描述他们是如何做到这一点的。
想象一下,你让你的外星人朋友(优化算法)到超市(假设空间)购买你最喜欢的奶酪(解决方案)。她唯一的线索就是你给她的奶酪(数据)图片。由于她缺乏对超市的了解,因此很难找到奶酪。她可能会在化妆品周围闲逛,甚至在到达食品区之前去了清洁用品柜台。
这类似于梯度下降等机器学习优化算法寻找假设的方式。数据是唯一的指南。理想情况下,这应该工作得很好,但大多数情况下,数据是嘈杂的或不够的。将我们的知识——在食品部分搜索奶酪,甚至不要看化妆品——整合到优化算法中,可以缓解这些挑战。让我们看看接下来,我们如何可以做到这一点。
如何用物理学指导ML算法
现在,让我总结一下作者是如何利用物理学来指导机器学习模型的。为此,他们提出了两种方法:(1)利用物理理论,计算附加特征(特征工程),连同测量结果一起输入模型;(2)在损失函数中加入物理不一致项,以惩罚物理不一致的预测。
(1)使用基于物理的模型的特征工程
(2)数据+物理驱动的损失函数
一种方法,即特征工程,广泛用于机器学习。然而,第二种方法是引人注目的。非常类似于添加正则化项以惩罚过度拟合,它们为损失函数添加了物理不一致项。因此,使用这个新项,优化算法还应该考虑最小化物理不一致的结果。
在论文中,Karpatne等人。将这两种方法与神经网络结合起来,并演示了一种称为physics-guided神经网络(PGNN)的算法。PGNN可以提供两个主要优点:
- 实现泛化是机器学习的基本挑战。由于物理模型大多不依赖于数据,因此即使来自不同的分布,它们也可能在看不见的数据上表现良好。
- 机器学习模型有时被称为黑盒模型,因为并不总是清楚模型如何达到特定决策。解释性AI(XAI)中有很多工作要提高模型的可解释性。PGNN可以为XAI提供基础,因为它们呈现出物理上一致且可解释的结果。
应用实例:湖泊温度建模
论文以湖泊温度模拟为例,说明PGNN的有效性。水温控制着湖中的生物物种的成长,存活和繁殖。因此,准确观察和预测温度对于了解区域中发生的变化至关重要。该任务是开发一种模型,该模型能够根据水深和时间来预测给定湖的水温。现在我们来看看他们是如何应用(1)特征工程和(2)损失函数修正来解决这个问题的。
(1)对于特征工程,他们使用称为 general lake model (GLM)来生成新特征并将其馈送到神经网络(NN)中。它是一个基于物理学的模型,捕捉控制湖中温度动态的过程(太阳加热,蒸发等)。
(2)现在让我们看看他们如何定义这个物理不一致性术语。众所周知,密度较大的水下沉。水温与其密度之间的关系也是已知的。因此,预测应遵循以下事实:点越深,预测密度越高。如果对于一对点,模型预测更靠近表面的点密度更高,这是一个物理不一致的预测。
现在可以将这个想法融入损失函数中。我们想惩罚ρA>ρB(否则什么也不做),对于更大的不一致性,惩罚应该更高。这可以通过将函数max(ρA-ρB,0)的值添加到损失函数来轻松完成。如果ρA>ρB(即不一致),函数将给出一个正值,它将增加损失函数的值(我们试图最小化的函数),否则它将给出零,使损失函数保持不变。
此时,为了正确使用它,需要对该函数进行两次修改。重要的是所有pairs的平均不一致性,而不是单个pair。因此,可以将所有点的max(ρA-ρB,0)相加并除以points数。此外,控制最小化物理不一致性的相对重要性至关重要。这可以通过将平均物理不一致性与超参数相乘(类似于正则化参数)来完成。
损失函数的物理不一致项
结果
以下是4个模型的结果。他们是:
- PHY:General lake model (GLM)。
- NN:神经网络。
- PGNN0:具有特征工程的神经网络。GLM的结果作为附加特征被输入NN。
- PGNN:具有特征工程和修改损失函数的NN。
还有两个评估指标:
- RMSE:均方根误差。
- 物理不一致:模型进行物理不一致的预测的时间步长的分数。
Results on Lake Mille Lacs
Results on Lake Mendota
NN与PHY进行比较,我们可以得出结论,NN以牺牲物理不一致的结果为代价提供更准确的预测。通过比较PGNN0和PGNN,我们可以看到物理不一致性主要得益于修改的损失函数。提高精度主要是由于特征工程和损失函数的一些贡献。
总而言之,这些初步结果向我们表明,这种新型算法PGNN非常有希望提供准确且物理一致的结果。此外,将我们对这个世界的认知融入到损失函数中提供了一种更优雅的方法来提高机器学习模型的泛化性能。这个看似简单的想法有可能从根本上改善我们进行机器学习和科学研究的方式。