SA-PINNs
模型介绍
SA-PINNs(Self-Adaptive Physics-Informed Neural Networks)为观测点、边界点和 PDE 配点引入可学习的正注意力权重,使模型在训练中自动关注难拟合区域。
本模型包提供一维 Laplace、二维 Helmholtz 和一维时变 Burgers 方程案例。
论文:Self-Adaptive Physics-Informed Neural Networks using a Soft Attention Mechanism
https://arxiv.org/abs/2009.04544
模型描述
SA-PINNs 使用 min-max 鞍点优化:网络参数通过梯度下降减小加权物理损失,注意力参数通过梯度上升提高难拟合位置的权重。注意力权重由归一化 exp(alpha) 构造,始终为正且均值接近 1;Adam 阶段同时更新网络和注意力,L-BFGS 阶段冻结注意力并精调网络。
适用场景
| 场景 | 说明 |
|---|---|
| 一维 Laplace 求解 | 观察注意力如何聚焦高残差配点。 |
| 二维 Helmholtz 求解 | 求解具有高频空间变化的二维解析解。 |
| Burgers 方程求解 | 联合初值、边界和非线性 PDE 残差训练。 |
| 自适应权重研究 | 比较普通 PINN 和逐点 soft-attention 加权。 |
使用说明
1. OneCode 使用
可通过 OneCode 在线环境体验智能化一键式 AI4S 编程:
2. 手动安装使用
硬件要求
- 推荐使用 GPU 或 DCU 进行训练。
- CPU 可用于小配置流程验证。
- DCU 用户需要预先安装与当前集群匹配的 DTK 和 PyTorch 环境。
下载模型包
modelscope download --model OneScience/SA-PINNs --local_dir ./SA-PINNs
cd SA-PINNs
安装运行环境
DCU 环境
# 请首先激活 DTK 及 CONDA
conda create -n onescience311 python=3.11 -y
conda activate onescience311
pip install onescience[cfd-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
GPU 环境
# 请首先激活 CONDA
conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12
conda activate onescience311
pip install onescience[cfd-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
训练数据介绍
三个案例均根据解析方程和随机采样生成观测点、边界点和 PDE 配点,不依赖外部数据文件。Burgers 案例不内置参考解,因此仅输出预测场和注意力分布。
训练
通过 --case 选择案例:
python scripts/train.py --case laplace
python scripts/train.py --case helmholtz
python scripts/train.py --case burgers
检查点和训练历史默认保存至 weight/ 和 result/。命令行参数可覆盖 conf/config.yaml,例如 --epochs、--lbfgs-iters、--n-pde 和 --device。
训练权重
本仓库在weight/文件夹内提供三个案例训练的权重
推理、评估和可视化
完成对应案例训练后运行:
python scripts/inference.py --case laplace
python scripts/inference.py --case helmholtz
python scripts/inference.py --case burgers
预测结果、误差图和 PDE 注意力分布保存在 result/ 目录。Laplace 和 Helmholtz 案例会输出相对 L2 误差,模型和训练默认参数可在 conf/config.yaml 中修改。
OneScience 官方信息
| 平台 | OneScience 主仓库 | Skills 仓库 |
|---|---|---|
| Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills |
| GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills |
引用与许可证
- McClenny, L. and Braga-Neto, U. Self-Adaptive Physics-Informed Neural Networks using a Soft Attention Mechanism. arXiv:2009.04544, 2020.
- 本模型包采用 Apache-2.0 许可证,并保留原始论文说明。