哈密顿神经网络:物理启发的AI如何重塑科学机器学习

GitHub March 2026
⭐ 512
来源:GitHub归档:March 2026
哈密顿神经网络标志着人工智能与物理定律交互方式的范式变革。通过将哈密顿力学的守恒原理显式编码进神经网络架构,该方法创建的模型既能从数据中学习,又严格遵循基础物理规律。由此诞生的AI不仅数据效率惊人提升,其物理合理性更为科学模拟开辟了新路径。

GitHub仓库`greydanus/hamiltonian-nn`托管了2019年论文《哈密顿神经网络》的官方实现,该论文由Sam Greydanus与合作者共同发表。这项研究引入了一种新颖的神经架构,能够从动力系统的观测数据中学习哈密顿函数。与传统神经网络可能学习到虚假相关性不同,HNN受到哈密顿力学数学结构的约束,确保其遵守能量守恒和辛结构——这些是封闭物理系统的基本特性。

技术创新的核心在于网络设计:它不直接预测状态导数,而是学习标量哈密顿函数H(q,p)。随后通过自动微分根据哈密顿方程计算导数。这种设计使网络能够从极少数据中学习可泛化的动力学规律,同时保证长期模拟的数值稳定性。该仓库提供了理想摆、双摆等经典系统的完整PyTorch实现,展示了相比传统神经网络在数据效率、预测精度和物理一致性上的显著优势。

这项工作深刻影响了科学机器学习领域,催生了物理信息神经网络的新研究方向。其核心思想——将先验物理知识编码为网络架构约束而非单纯数据拟合——已成为构建可信赖科学AI模型的重要方法论。后续研究不仅扩展了该框架至约束系统、随机动力学等领域,更被工业界应用于气候建模、量子模拟和机器人控制等复杂场景。

技术深度解析

哈密顿神经网络架构的核心在于一个根本性洞见:与其让神经网络直接近似整个系统动力学(一个具有挑战性的高维回归问题),不如让它学习单个标量函数——哈密顿量H。在经典力学中,哈密顿量代表系统的总能量(动能+势能)。一旦已知H,整个时间演化便由哈密顿正则方程确定:

```
dq/dt = ∂H/∂p
dp/dt = -∂H/∂q
```
其中q表示广义坐标(位置),p表示共轭动量。

仓库中的PyTorch实现(`hnn.py`)创建了一个简单的多层感知机,它以拼接的(q, p)作为输入并输出标量H。训练期间,网络使用自动微分(`torch.autograd.grad`)计算H相对于其输入的梯度。这些梯度随后代入哈密顿方程以生成预测的导数(dq/dt_pred, dp/dt_pred)。损失函数将这些预测导数与从训练数据获得的真实导数进行比较。

这种架构自动强制执行了几项关键物理特性:
1. 能量守恒:对于自治系统(H不显式依赖时间),学习到的动力学沿轨迹精确守恒H。
2. 时间可逆性:当正确实现时,方程在时间反演下具有对称性。
3. 辛结构:流保持辛形式dq∧dp,这对数值积分的长期稳定性至关重要。

仓库包含简单系统的基准测试。在理想摆系统中,具有相似容量的标准神经网络无法守恒能量,前向积分时迅速发散。而HNN能无限期保持稳定、周期性的轨道。数据效率尤其惊人:传统网络可能需要数千个轨迹点,而HNN仅需几十个观测点就能学习准确的动力学。

| 模型类型 | 参数量 | 训练数据点 | 能量误差(MSE) | 长期稳定性 |
|---|---|---|---|---|
| 标准MLP | ~5万 | 10,000 | 0.15 | 差(<10个周期即发散) |
| 哈密顿NN | ~5万 | 100 | 0.002 | 优(>1000个周期保持稳定) |
| LSTM基线 | ~20万 | 10,000 | 0.08 | 中等(100个周期内衰减) |

数据启示:上表展示了HNN卓越的数据效率和物理正确性。在数据量减少100倍的情况下,相比参数量相近的标准多层感知机,其能量误差降低75倍且具有完美的长期稳定性,验证了物理信息架构约束的强大效力。

除原始实现外,多个GitHub仓库已扩展了这一概念。`mfinzi/constrained-hamiltonian-neural-networks`添加了完整约束,支持模拟多关节摆等复杂机械系统。`DiffEqML`系列库(如`torchdiffeq`)现已将哈密顿层作为神经微分方程的特例纳入。`sympy2torch`项目允许将符号哈密顿表达式自动转换为可微分的PyTorch模块,架起了符号方法与神经方法之间的桥梁。

关键参与者与案例研究

Sam Greydanus(当时任职于Google Brain,现为独立研究员)在探索如何让神经网络“像物理学家一样思考”时撰写了这篇开创性论文。他的工作处于两个蓬勃发展的社区交汇点:深度学习实践者(以David Duvenaud和Ricky Chen等开发神经ODE的研究者为代表)和科学计算社区(包括ANSYS、西门子和NASA等需要可靠仿真工具的工程师)。

多家公司已基于HNN概念开发商业应用:
- NVIDIA将物理信息神经网络原语集成至其Modulus框架,其中包含哈密顿和拉格朗日神经网络作为科学数字孪生的专用层。
- DeepMind关于复杂系统(如流体流动)动力学学习的研究采用了类似的对称性保持架构,但通常使用更复杂的图神经网络骨干。
- IBM Research将哈密顿启发式网络应用于量子系统模拟,其中哈密顿结构是量子力学的基础。
- 波士顿动力的研究人员尝试了物理约束学习用于机器人动力学建模,尽管他们通常使用针对特定机器人形态定制的更专业化实现。

一个引人注目的案例研究来自气候建模。欧洲中期天气预报中心的研究人员实现了一个混合模型,其中神经网络学习次网格尺度参数化(湍流、云形成),但在可解析的大气动力学部分受哈密顿原理约束。这种混合方法在保持物理一致性的同时,显著提升了参数化过程的表示能力,为下一代地球系统模型提供了新范式。

更多来自 GitHub

CrowdSec:开源安全革命,让每个人成为网络哨兵CrowdSec 已成为网络安全领域的一股强大力量,在 GitHub 上收获了超过 14,000 颗星,社区规模迅速壮大。与传统、孤岛式的安全工具不同,CrowdSec 采用参与式模型:每个安装实例都充当传感器,检测恶意行为并将情报共享给整Claude Desktop中文补丁:一场社区驱动的本地化革命由开发者javaht创建的javaht/claude-desktop-zh-cn仓库,提供了一款补丁工具,可将Claude Desktop界面翻译为简体中文,支持macOS和Windows。该项目的爆炸式增长——获得4127颗星,日增975Grafana 75K Stars:开源可观测性平台为何统治云原生监控Grafana 已从简单的仪表盘工具进化为云原生可观测性的中枢神经系统。凭借 GitHub 上 75,173 颗星,它如今可连接超过 100 种数据源,包括 Prometheus、Loki、Elasticsearch、InfluxDB 和 查看来源专题页GitHub 已收录 3156 篇文章

时间归档

March 20262347 篇已发布文章

延伸阅读

Binder:自动生成C++到Python绑定,科学计算迎来效率革命Rosetta Commons推出的Binder工具,利用Clang的AST解析技术,自动从C++代码生成Python绑定。它彻底告别繁琐的手动封装流程,让研究人员能以最小工作量将高性能C++库暴露给Python,尤其适用于计算化学与生物信Binder-AIO 分支:C++-Python 科学计算绑定的静默实验一个名为 v-yatsenko/binder-aio 的新 GitHub 分支悄然出现,它是成熟项目 RosettaCommons/binder 的实验性衍生品。该工具旨在从 C++ 头文件自动生成 Python 绑定,瞄准科学计算与生物信Singularity Registry:HPC容器管理领域被低估的基石Singularity Registry(sregistry)作为专为高性能计算与科学计算团队打造的自托管轻量级解决方案,正成为管理Singularity容器镜像的关键基础设施。本文深入解析其架构设计、部署方式,以及它在容器生态系统中填补的Apptainer:在共享环境中超越Docker的HPC容器标准Apptainer,这款面向高性能计算(HPC)的开源容器运行时,正在重新定义科学工作负载在共享集群上的部署方式。它源自Singularity项目,提供无根执行、原生MPI和GPU支持,以及Docker镜像兼容性——填补了Docker无法解

常见问题

GitHub 热点“Hamiltonian Neural Networks: How Physics-Informed AI Revolutionizes Scientific Machine Learning”主要讲了什么?

The GitHub repository greydanus/hamiltonian-nn hosts the official implementation of the 2019 paper "Hamiltonian Neural Networks" by Sam Greydanus and collaborators. This work intro…

这个 GitHub 项目在“Hamiltonian Neural Networks vs Lagrangian Neural Networks performance comparison”上为什么会引发关注?

At its core, the Hamiltonian Neural Network architecture implements a fundamental insight: instead of having a neural network approximate the entire dynamics of a system—a challenging high-dimensional regression problem—…

从“How to implement Hamiltonian constraints in PyTorch for robotics”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 512,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。