首页 > 其他分享 >如何把先验知识引入到深度学习的损失函数中

如何把先验知识引入到深度学习的损失函数中

时间:2025-01-07 13:00:15浏览次数:3  
标签:引导 函数 模型 信号 约束 先验 引入 物理

可以根据具体问题和领域知识构建带有物理约束的损失函数,以进一步指导模型的优化调整。这种物理约束可以以多种形式融入损失函数中。例如,可以通过引入与物理规律相关的物理引导项,用于约束模型输出与物理规律一致。这样的物理引导项可以基于已知的物理方程、领域专家知识(经验知识)或通过施加硬约束来构建,从而提供额外的引导方向,帮助模型更好地拟合真实物理系统。

1)基于物理方程:构建基于已知的物理方程的物理引导项时,常常会涉及到含有高阶微分项的非线性微分方程,如Burgers 方程KdV 方程等。物理引导损失函数的方法避免了直接求解微分方程的数值解,而是通过平衡方程的方式提取物理信息。

2)基于领域专家知识:在某些领域中,经验知识可以以单调性关系或变量的合理值范围等形式表达,并可以使用不等式进行表示。通过合理的数学变换方法,可以灵活地运用各种领域知识来构建物理引导项。

基于物理引导项残差构建的物理引导损失函数可以用于对深度学习模型施加物理信息约束。通过将多个损失函数进行加权和连接,可以构建多样化的损失函数。

超参数用于调整各损失函数的权重,从而综合考虑标签数据与物理信息的重要性。通过灵活调整这些超参数,可以平衡标签数据与物理信息之间的权衡关系以使模型能够响应不同任务的具体需求(如满足物理一致性)。

基于物理方程或领域知识构建物理引导损失函数是目前流行的一种物理引导深度学习方法,属于软约束的范畴。以降雨径流建模为例,有大佬总结了降雨径流的极端天气情况与基本物理机制之间的关系,包括长期强降雨导致土壤含水量饱和、长期无雨导致极端干旱以及降雨强度与径流量大小的单调关系等。基于这些物理机制,构建了物理引导项,并将其与LSTM网络结合进行训练。实验结果显示,与传统的LSTM 模型相比,物理机制的加入不仅将MSE 平均值从0.36下降至0.11,还显著改进了对洪峰的预测,并完全消除了不符合基本物理规律的“负流量”错误预测。

有学者基于等离子体欧姆定律损失函数的理论指导深度学习模型,消除了模型产生违反欧姆定律约束的预测的可能性,在不同太阳周期背景下进行的太阳风模拟实验中,物理约束模型的决定系数R2 相比其他无约束深度学习回归模型平均提升约25%。

有学者针对轴承剩余使用寿命预测问题,利用轴承退化信息与监测信息间的单调约束关系构建了轴承退化过程的物理引导项,并引入时空注意机制,通过构建物理引导损失函数与深度学习模型相结合,对比其他先进模型,物理信息的加入显著提高了对现有数据的利用效率,R2 指标达到0.902,物理一致性得分方面平均提升约36%。

因此,物理引导损失函数的引入可以有效地将领域物理知识融入深度学习模型中,提升模型的性能和可解释性,并使模型能够更好地符合真实世界的物理规律。对模型施加软约束的一个主要优势在于,能够在输出(观察)数据不可用的情况下通过计算物理引导损失函数训练模型。进一步,当观测数据较稀疏时,也可以通过引入物理引导损失函数训练模型。此外,在算法复杂度方面,该方法在不显式增加模型参数的情况下,通过正则化项约束参数的更新方向。这种约束确保了模型预测沿着合理的方向优化。然而,基于软约束的模型可能仍然会产生物理上不一致的结果,因为它仅计算模型预测与物理机制之间一致性程度的加权平均值。这种策略只能在平均意义上保证预测结果不严重违反约束,无法确保预测结果在每个点都符合物理约束,即模型可能会在某些点上产生偏离控制方程的物理不一致的预测。目前,尚无适用的解决方案可以通过调整正则化项的权重,让模型更侧重于某项或多项基于物理的损失,实现各物理约束项的自适应优化控制。

3)硬约束:复杂系统中的领域先验知识通常由泛定方程和定解条件等组成。硬约束指为模型引入严格的限制条件,保证其在定解条件上严格与物理一致。施加物理硬约束后得到的总损失函数无需考虑由边界和初始条件构成的惩罚项。

引入严格限制的定解条件是目前常用的施加硬约束的方法。有学者在多材料扩散问题上,通过将解和通量的连续性条件作为硬约束整合到神经网络的数学形式中,完美解决了轴向界面处的不连续问题,与其他增强型PINN 方法在多场景下相比,总计算时间平均减少约20%。为解决神经网络中的“频谱偏差”现象.

有学者将多尺度深度神经网络与硬约束技术相结合,惩罚指定边界和初始约束的任何偏差,以将平流扩散方程的解转化为一个无约束优化问题。不同维度的ADE 数值实验表明,硬约束的引入增强了模型的有效性,MSE 平均降低了6 个数量级。

基于硬约束指导的模型具有一定的灵活性,有利于融合模型训练过程中的各种信息,这对提高模型精度具有重要意义。理论上,硬约束方法可以有效减少算法的数据需求,并且在较少的配置点(观测点)、边界点和观测值的情况下,依然能够获得较高的预测精度,同时对有噪声的观测具有更强的鲁棒性。从优化角度来看,硬约束通常比软约束更有效。对模型施加硬约束避免了直接构建边界和初始条件的残差项,减少了残差项的数量,降低了模型面对多重优化问题时的压力,并为手动调整训练超参数提供了便利。硬约束方法提高了模型的学习能力,可以有效利用领域知识和先验信息,但也存在一定的局限性。目前,对硬约束的研究还处于初级阶段,需要进一步深入探索。

当前的硬约束方法只能保证严格的限制条件区域周围的配置点的预测结果严格符合物理约束,不能保证整体满足。换句话说,硬约束方法是一种从局部到全局的应用方法,而局部遵守约束是全局满意的必要不充分条件。只有所有位置都满足泛定方程和定解条件,才能保证整体的物理约束。同时,扩大硬约束的覆盖范围会增加计算时间。因此,如何平衡硬约束的覆盖范围和计算效率是一个值得进一步研究的问题。

学术咨询:

担任《Mechanical System and Signal Processing》《中国电机工程学报》等期刊审稿专家,擅长领域:信号滤波/降噪,机器学习/深度学习,时间序列预分析/预测,设备故障诊断/缺陷检测/异常检测。

非平稳信号的一种稀疏推动时频滤波方法(MATLAB)
算法可迁移至金融时间序列,地震/微震信号,机械振动信号,声发射信号,电压/电流信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等信号。

非平稳信号的凸一维全变差降噪方法(MATLAB)
算法可迁移至金融时间序列,地震/微震信号,机械振动信号,声发射信号,电压/电流信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等信号。
完整数据可通过学术咨询获得(哥廷根数学学派)

完整代码可通过学术咨询获得:

标签:引导,函数,模型,信号,约束,先验,引入,物理
From: https://blog.csdn.net/2301_78829506/article/details/144983242

相关文章

  • 深入解析IPoIB网络设备的驱动实现:net_device_ops与ipoib_open函数
    在Linux内核中,网络设备的驱动实现通常通过net_device_ops结构体来定义设备的各种操作函数。本文将以IPoverInfiniBand(IPoIB)设备的驱动实现为例,深入分析net_device_ops结构体的定义以及ipoib_open函数的实现细节。通过这段代码,我们可以了解如何在内核中实现网络设备的初始化、......
  • C#版OpenCv常用函数大全
    OpenCvSharp是OpenCV的NET封装,提供了丰富的图像处理和计算机视觉功能。以下是一些常用函数及其详细说明。1.图像读取与显示Cv2.ImRead功能:读取图像文件并返回一个Mat对象。用法:Matimage=Cv2.ImRead("path/to/image.jpg");Cv2.ImShow功能:在窗口中显示图像。用法:C......
  • 位向量系统函数
    1基本概念$countbits( expression , list_of_control_bits )$countones( expression )$onehot( expression )$onehot0( expression )$isunknown( expression )2示例1$countbits        Thefunction $countbits countsthenumberofbi......
  • 基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真
    1.程序功能描述基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真。通过魏格纳函数法,来产生多种自加速的光束,设计自加速光束方法,模拟出相应的图结果。2.测试软件版本以及运行结果展示MATLAB2022A版本运行 3.核心程序figure;subplot(121);imshow(Phase2,......
  • UG NX二次开发(C++)-UFun函数-按照特定方向提取轮廓线
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1、前言2、UF_CURVE_create_shadow_outline帮助说明3、工作视图向WCS视图变换4、完整代码5、测试结果1、前言提取轮廓线在UGNX二次开发过程中比较多,其可以通过UF_CURVE_create_shadow......
  • 正则表达式{}和(),pyhton里的正则表达式,函数findall解析
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • 函数连续性误区
    一元函数连续性定义的问题:遇到一道题,问题是:若函数\(f\)在\(x=a\)处连续,则在a的某个去心邻域内,\(f(x)\)连续,是否正确。这是一个乍一看好像正确的结论。函数在某点连续,则该点附近的函数值都与他相近,这些点连起来就连续了。但是,这个结论是错误的。重新回顾函数在某点连续的定义:......
  • 如何隐藏Excel表格中的函数公式不让别人看到!
    大家好,我是小鱼。在使用WPS制作表格分析数据时,默认情况下输入的函数公式都是可以看到的。但是,有时不想让别人看到我们使用的函数公式,只显示结果就行,想把函数公式隐藏掉。具体操作方法:第一步、先隐藏函数公式所在单元格区域1、如下面动图所示,首先在“合计”这一列第一个单......
  • 掌握这3个Excel函数公式,遇到Excel文本连接问题!
    大家平时在用Excel表格处理数据时,有时需要对表格某些单元格中的文本进行连接组合,比如说需要把有些地址信息的省、市、区、详细地址这样的不同单元格文本连接到一块,这时候如果使用函数公式会非常方便和快捷。今天就跟大家分享3个Excel函数公式,掌握这3个Excel函数公式后,遇到Excel......
  • python-函数的参数
    默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!要注意定义可变参数和关键字参数的语法:*args是可变参数,args接收的是一个tuple;**kw是关键字参数,kw接收的是一个dict。以及调用函数时如何传入可变参数和关键字参数的语法:可变参数既可以直接传入:func(1,2,3),......