Skip to content

Mathematics-Yang/PINN-from-Scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PINN入门项目:融合物理先验的偏微分方程求解方案

项目简介

物理信息神经网络(Physics-Informed Neural Networks, PINN)是一种融合数据驱动与物理先验的创新建模方法,核心目标是高效求解偏微分方程(PDE)。

传统深度学习仅依靠数据训练模型,缺乏物理规律的约束,预测结果往往违背质量守恒、能量守恒等基本物理逻辑;传统数值方法(如有限差分法、有限元法)依赖网格离散,在高维(10维及以上)问题中会遭遇严重的维数灾难,计算复杂度呈指数级增长。

PINN 打破上述局限,将物理定律以“软约束”或“硬约束”的形式嵌入神经网络训练流程,实现“数据+物理”的双驱动建模,为偏微分方程求解提供了灵活、高效的新思路。

PINN 核心原理

PINN 的本质是用神经网络逼近 PDE 解函数,并通过物理约束优化网络参数,核心流程包含以下三部分:

  1. 神经网络作为参数化解函数 采用神经网络 $u_\theta(x,t)$ 逼近 PDE 的真实解 $u(x,t)$,其中 $\theta$ 为网络的可训练参数,通过调整参数让网络输出无限接近真实解。
  2. 物理约束嵌入损失函数 利用自动微分技术计算神经网络输出的各阶导数,将其代入目标 PDE 方程得到残差;将残差最小化作为损失函数的关键组成部分,强制网络输出满足预设的物理定律。
  3. 观测数据协同优化 若存在少量实验测量数据、边界条件或初始条件数据,将网络预测值与观测值的误差也纳入损失函数,实现物理约束与数据拟合的协同优化,提升模型精度与泛化能力。

项目内容结构

本项目从基础理论到进阶优化,构建了 PINN 学习与实践体系,内容分为以下五个模块(主要以一维热传导基准问题作为例子):

  1. 机器学习基础知识铺垫 从机器学习的基本概念入手,介绍模型训练、损失函数、优化器等核心要素,为后续 PINN 学习奠定理论基础。
  2. 传统 PDE 求解方法介绍 系统讲解经典的偏微分方程求解方法,包括:
    • 解析解法:分离变量法
    • 数值解法:有限差分法、有限元法 分析传统方法的优势与局限性,凸显 PINN 应对高维问题的价值。
  3. PINN 基础模型实现与优化 详细介绍 PINN 的模型构建流程,并对比不同优化器在训练中的表现,涉及优化器包括:
    • 随机梯度下降(SGD)
    • 自适应矩估计(Adam)
    • 有限内存拟牛顿法(L-BFGS)
  4. PINN 性能进阶优化策略 引入混合高斯模型(GMM)课程学习(CL) 两种优化策略,解决 PINN 训练过程中可能出现的收敛速度慢、局部最优等问题,进一步提升模型的求解精度与稳定性。
  5. 拓展模型探索 除基础 PINN 外,本项目还引入三类相关的先进建模方法,供读者拓展学习:
    • 局部极限学习机(locELM)
    • 随机特征方法(FU-FEM)
    • 随机神经网络(RaNN)

项目用途

本项目适用于科学计算、机器学习、应用数学等领域的初学者与研究人员,可作为 PINN 入门学习的实践教程,帮助读者理解物理信息神经网络的核心思想,掌握从基础模型构建到进阶优化的完整流程。

About

PINN入门级别代码(以一维热传导方程为例)/PINN from Scratch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors