如何将知识引入机器学习模型提升泛化能力?
基于物理学的模型是当今技术和科学的核心。近年来,基于数据驱动的机器学习模型开始提供可替代的方法,并在许多任务中优于纯物理学驱动模型。但是,基于数据驱动的模型训练需要大量的数据,而且它们的决策推理可能难以解释,而且泛化性能仍然是一个挑战。而同时结合数据和物理学则可以两全其美,当机器学习算法在学习时,它们实际上是在你选择的算法、架构和配置所定义的假设空间中去寻找解。即使对于简单的算法,假设空间也可能相当大,而数据是我们在这个巨大空间中寻找解决方案的唯一指南。而如果我们可以使用我们对世界的知识(例如物理学)和数据一起来指导解空间的搜索,结果会怎样呢?
如何用物理学指导机器学习算法
- 实现泛化是机器学习中一个基本挑战。由于大多物理模型不依赖于数据,因此它们在可能在未见过的数据上也能有良好的表现,即使这些数据来自于不同的分布。
- 机器学习模型有时也被称为黑盒模型,因为它并不总是清楚模型如何进行特定的决策。可解释AI(XAI)有很多的工作要做以提高模型的可解释性。而PGNN可以为XAI提供基础,因为他们能够呈现出物理上一致且可解释的结果。
应用示例:湖泊温度建模
经过以上的分析,现在可以将这个想法合并到我们的损失函数中。如果 ρA> ρB,也就是预测不符合物理一致性,我们需要进行惩罚,否则不进行惩罚。这可以通过将函数max( ρA- ρB, 0)的值添加到损失函数中来轻松实现。如果 ρA> ρB(即物理不一致),该函数将给出一个正值,这将增大损失函数的值,否则为零,保持损失函数不变。
- PHY:通用湖泊模型(GLM)
- NN:神经网络
- PGNN0:具有特征工程的神经网络,GLM模型的结果作为额外特征输入神经网络。
- PGNN:具有特征工程和修正损失函数的神经网络。
RMSE:均方根误差
物理不一致分数:模型的预测不符合物理一致性结果的占比。
将 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.
- 点赞
- 收藏
- 关注作者
评论(0)