9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

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

  • 2018-12-29
  • 本文字数:2817 字

    阅读完需:约 9 分钟

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

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


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



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


这一论点是 Karpatne 等人在他们的论文“物理学引导的神经网络(PGNN)在湖泊温度建模中的应用”(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


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2018-12-29 08:002911
用户头像

发布了 391 篇内容, 共 120.7 次阅读, 收获喜欢 254 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

Web3极客日报#127

谢锐 | Frozen

区块链 开源 技术社区 Rebase Web3 Daily

Deno 入门手册:附大量 TypeScript 代码实例

寇云

node.js typescript

Spring Security 中的授权操作原来这么简单

江南一点雨

Java spring Spring Boot spring security

DDD 实践手册(番外篇: 事件风暴-概念)

Joshua

领域驱动设计 DDD 事件风暴 事件驱动 Event Storming

一文带你了解 HTTP 黑科技

cxuan

大前端 HTTP

新mac笔记本需要做的事情

好好学习

Mac

解决 Django 多进程下,logging 记录日志错乱问题

AlwaysBeta

Python django 编程 日志 log

Jenkins权限管理

kcnf

MySQL事务解析

一个有志气的DB

MySQL 事务隔离级别 mysql事务

回“疫”录(20):世界从来不会欺负听话的人

小天同学

疫情 回忆录 现实纪录 纪实

半小时手工解决的活,让我意外学会了 python 的 pdfkit 库

小匚

Python python教程

PhotoShop切图,一篇文章就够用了

cwang

Web 工具 PhotoShop

一想到有95%的问题还没解决,我就calm down了

赵新龙

科普 宇宙 后真相时代

从零开始制作一台计算机-概述

小兵

计算机基础

给苹果提醒APP配个助手

BabyKing

提醒助手 TODO 奇妙清单 Reminders Helper

CentOS 6 升级 glibc

wong

centos glibc

中小企业如何做运维自动化?

外滩运维专家

运维 spug 运维自动化 jenkins ansible

程序员的晚餐 | 5 月 18 日 瓠子,年少时的味道

清远

美食

如何更自信的写作

董一凡

写作

Live2D for Unity入门篇 4.x

波波

编程 游戏开发 Live2D Unity

Kotlin 协程实践(2)之 异步和Callback地狱

陈吉米

Java kotlin 协程

游戏夜读 | Two Sum问题的八个解

game1night

Kafka系列第7篇:你必须要知道集群内部工作原理的一些事!

z小赵

大数据 kafka 实时计算

JAVA主流锁

颇风

Java 多线程

谈谈控制感(7):底线思维与控制感

史方远

职场 心理 成长

谈谈控制感(6):虚幻的控制感也好用

史方远

职场 心理 成长

Web3极客日报 #128

谢锐 | Frozen

区块链 开源 技术社区 Rebase Web3 Daily

Redis缓存三大问题

Bruce Duan

redis 缓存穿透 缓存击穿 缓存雪崩

npm下载electron缓慢的问题

玏佾

npm Electron

用原理认知世界,用情绪驱动行为

史方远

职场 心理 成长

汉字不能编程?别闹了,只是看着有点豪横!容易被开除!

小傅哥

spring 小傅哥 aop 汉字编程

  • 扫码添加小助手
    领取最新资料包
强强联合!数据和物理学“联手”构建神经网络模型PGNN_AI_Mehmet Alican Noyan_InfoQ精选文章