Physics-guided Neural Networks (PGNN): An Application in Lake Temperature Modeling
1.构建混合物理数据模型
如下图
2.使用基于物理的损失函数
上图中描述的HPD模型的一种标准方法是在训练集上最小化其模型预测Y ^的经验损失,同时保持较低的模型复杂度,如下所示:
其中R衡量模型的复杂性,而λ是权衡的超参数。但是,任何此类训练程序的有效性都受到标记训练集的大小的限制,在许多科学问题中,训练集的大小通常很小。特别是,不能保证通过最小化公式2.1训练的模型将产生与我们的物理学知识相一致的结果。因此,我们引入了基于物理的损失函数,以指导数据科学模型的学习,以实现物理上一致的解决方案,如下所示。
使用以下方程式表示目标变量Y和其他物理变量Z之间的物理关系:
G和H是基于物理学的方程式的一般形式,可能涉及Y和Z的代数运算。测量模型预测中是否违反了这些基于物理的方程的一种方法是评估以下基于物理的损失函数:
其中ReLU表示整流的线性单位函数。由于Loss:PHY不需要实际观察目标变量Y,因此与传统的损失函数相比,它甚至可以在未标记的数据实例上进行评估。 PGNN涉及Loss:PHY的完整学习目标可以表示为:
其中λPHY是决定与经验损失和模型复杂度相比最小化物理不一致性的相对重要性的超参数。由于假定已知的物理定律对于任何看不见的数据实例同样适用,因此,即使训练数据很小且不能完全代表,确保模型输出的物理一致性作为PGNN中的学习目标也可以帮助实现更好的泛化性能。此外,领域专家还可以解释PGNN模型的输出,并将其吸收到科学工作流程中,从而促进科学进步。
3.PGNN用于湖泊温度建模
由于在广泛的空间尺度上水温的观测数据不完整(或在某些地区不存在),因此需要高质量的温度建模。特别有趣的是在给定深度d和特定时间t上对水温进行建模的问题。这个问题被称为温度的一维建模(深度是一维的)。已经开发了许多基于物理学的模型来研究湖泊温度,例如,最新的一般湖泊模型(GLM)[7]。该模型捕获了控制湖泊温度动态的各种物理过程,例如,由于来自太阳的短波辐射引起的水面加热,地表下方辐射的衰减以及层间能量变化的层的混合。不同深度,以及通过蒸发或长波辐射从湖表面散发的热量,如图3所示。我们使用GLM作为我们基于物理学的湖温模型的首选模型。
我们将控制每个深度和时间步长的湖泊温度动态的物理变量视为输入驱动程序D。这包括水面的气象记录,例如不同波长的太阳辐射量,风速,以及气温,深度值和一年中的某天。要构建图2中所示类型的HPD模型,我们使用来自GLM,YPHY的湖泊温度模拟以及每个深度和时间步长的输入驱动程序D来获得增强的特征集,
我们采用基本的多层感知器体系结构,使用X对任何给定深度和时间的温度Y进行回归。对于具有L个隐藏层的完全连接的网络,这相当于与输入特征x相关的以下建模方程,对其目标进行预测
其中(W; b)权重和偏差参数集,f是在隐藏层上使用的**函数。使用均方误差作为损失函数的选择,使用网络权重的L1和L2范数,W作为公式2.1中的正则项,如下所示:
为了将物理知识作为损失函数纳入神经网络的训练中,我们将温度,密度和水深之间的关键物理关系用作基于物理的方程式(方程式2.2)。在下文中,我们介绍了这种物理关系的两个关键组成部分,并描述了我们使用它来确保物理学习的方法
温度–密度:
密度–深度:
在图4(b)的示例图中,由于密度较大的水较重,并且会下降到湖底。在同一时间步长t上,两个不同深度d1和d2的水密度以下列方式彼此相关:
为了确保在基于物理的模型Y ^的温度预测中维持基于物理的方程,可以按以下方法构造基于物理的损失函数。考虑在nd深度值和nt时间步长的规则网格上未标记的输入要素数据集。在任意一对连续的深度值di和di + 1(di <di + 1)上,可以计算出时间步长t上模型密度估计的差为
正值Δ[i, t]可以视为违反了基于物理学的等式3.12的深度di和时间t。可以将其评估为ReLU(∆ [di, t])的非零出现。因此,我们可以将每个连续的深度对和时间步长上所有物理违规的平均值视为基于物理的损失函数:
在学习目标(公式2.4)中使用基于物理的损失以及经验损失(公式3.9)和正则项(公式3.10),我们获得了完整的PGNN公式。请注意,在我们特定的湖泊温度建模问题中,即使正在训练神经网络来提高其预测水温的准确性,但基于物理的损失函数的使用仍可确保温度预测也转化为其他物理变量,即密度和深度,因此可以解决该物理问题。