如何将知识引入机器学习模型提升泛化能力?

摘要:近年来,基于数据驱动的机器学习模型开始提供可替代的方法,并在许多任务中优于纯物理学驱动模型。

本文分享自华为云社区《如何将知识引入机器学习模型提升泛化能力?》,作者:PG13 。

基于物理学的模型是当今技术和科学的核心。近年来,基于数据驱动的机器学习模型开始提供可替代的方法,并在许多任务中优于纯物理学驱动模型。但是,基于数据驱动的模型训练需要大量的数据,而且它们的决策推理可能难以解释,而且泛化性能仍然是一个挑战。而同时结合数据和物理学则可以两全其美,当机器学习算法在学习时,它们实际上是在你选择的算法、架构和配置所定义的假设空间中去寻找解。即使对于简单的算法,假设空间也可能相当大,而数据是我们在这个巨大空间中寻找解决方案的唯一指南。而如果我们可以使用我们对世界的知识(例如物理学)和数据一起来指导解空间的搜索,结果会怎样呢?

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

如何利用物理学来指导机器学习模型,总结一下主要有两种方法:(1)使用物理学理论计算额外特征(特征工程),与测量值一起输入模型进行训练;(2)在损失函数中添加物理不一致惩罚项以惩罚与物理学不一致的预测。
如何将知识引入机器学习模型提升泛化能力?_第1张图片
如何将知识引入机器学习模型提升泛化能力?_第2张图片

第一种方法,也就是特征工程,在机器学习领域中广泛使用。而第二种方法很像添加一个正则化项来惩罚过拟合现象,它们在损失函数中添加了一个物理不一致惩罚项。因此,在进行参数优化时,优化算法还需最小化物理上不一致的结果。

在论文[1]中,Karpatne 等人将这两种方法与神经网络相结合,并展示了一种他们称之为物理引导神经网络 (PGNN) 的算法。PGNN 可以提供两个主要优势:

  • 实现泛化是机器学习中一个基本挑战。由于大多物理模型不依赖于数据,因此它们在可能在未见过的数据上也能有良好的表现,即使这些数据来自于不同的分布。
  • 机器学习模型有时也被称为黑盒模型,因为它并不总是清楚模型如何进行特定的决策。可解释AI(XAI)有很多的工作要做以提高模型的可解释性。而PGNN可以为XAI提供基础,因为他们能够呈现出物理上一致且可解释的结果。

应用示例:湖泊温度建模

在论文[1]中,以湖泊温度建模为例来证明了 PGNN 的有效性。众所周知,水温控制着生活在湖中的生物物种的生长、生存和繁殖。因此,准确的温度观测和预测对于了解社区中发生的变化至关重要。论文的任务是开发一个模型,可以根据给定的深度和时间来预测湖泊的水温。

现在,让我们看看他们是如何应用 (1) 特征工程和 (2) 损失函数修改来解决这个问题的。对于特征工程,他们提出了一种称为GLM的模型来生成新特征并将其输入神经网络。它是一个基于物理学的模型,它能捕捉控制湖泊温度动态的过程(由于太阳、蒸发等引起的加热)。那么如何定义这个物理不一致项呢?众所周知,密度大的水会下沉至更深处,而水的温度与其密度之间的物理学关系也是已知的。因此,我们的模型在预测时应该遵循这样一个事实,即点越深,预测密度越高。如果对于两个点,模型预测出来更靠近湖面的点的密度更高,这就是在物理上不一致的预测。
如何将知识引入机器学习模型提升泛化能力?_第3张图片

经过以上的分析,现在可以将这个想法合并到我们的损失函数中。如果 ρA> ρB,也就是预测不符合物理一致性,我们需要进行惩罚,否则不进行惩罚。这可以通过将函数max( ρA- ρB, 0)的值添加到损失函数中来轻松实现。如果 ρA> ρB(即物理不一致),该函数将给出一个正值,这将增大损失函数的值,否则为零,保持损失函数不变。

此时,我们还需要对该函数进行两点修改:(1) 我们需要考虑所有点对的物理不一致情况,而不仅仅只是某一对。因此,可以对所有点对的max( ρA- ρB, 0)值求平均。(2) 此外,最小化物理不一致惩罚项的权重也很关键。这可以通过将平均物理不一致项乘以超参数(与正则化参数类似)来完成。如下公式所示:
如何将知识引入机器学习模型提升泛化能力?_第4张图片

对4个模型的结果进行了比较,分别是:

  • PHY:通用湖泊模型(GLM)
  • NN:神经网络
  • PGNN0:具有特征工程的神经网络,GLM模型的结果作为额外特征输入神经网络。
  • PGNN:具有特征工程和修正损失函数的神经网络。

以及两个评估指标:

RMSE:均方根误差

物理不一致分数:模型的预测不符合物理一致性结果的占比。
如何将知识引入机器学习模型提升泛化能力?_第5张图片
如何将知识引入机器学习模型提升泛化能力?_第6张图片

将 NN 与 PHY 进行比较,我们可以得出结论,NN 以损失物理不一致的结果为代价提供了更准确的预测。而比较 PGNN0 和 PGNN,我们可以看到通过修改了损失函数消除了物理不一致性。而预测准确性的提高主要是由于特征工程以及损失函数的一些贡献。

总而言之,这些初步结果向我们表明, PGNN 非常有希望提供较准确且物理一致的结果。此外,我们通过将物理学的知识进行转换引入损失函数,提升了机器学习模型的泛化性能。这个看似简单的想法有可能从根本上改善我们进行机器学习和科学研究的方式。

参考文献

[1] Physics-guided Neural Networks(PGNN): An Application in Lake Temperature Modeling.

[2] Theory-guided Data Science: A New Paradigm for Scientific Discovery from Data.

点击关注,第一时间了解华为云新鲜技术~

你可能感兴趣的:(机器学习物理数据算法模型)