• 物理
  • 机器学习
  • AI for Science

OmniQMC

一次训练,覆盖整条势能曲线

让神经网络理解整条势能曲线,而不是每个构型都重新训练

OmniQMC

应用场景

在医学、新能源、工业化学、半导体量子器件、光电等领域的材料学研究的过程中,一个核心的需求就是算出相应化学结构的波函数,从量子力学来讲,这样就掌握了系统在各种条件下的演化轨迹模拟,从而能够研制具有更好性能、更低成本、更高稳定性的材料

QMC 基础

基态波函数具有一个很完美的性质,在所有满足费米子反对称性的波函数中,基态波函数恰好是使系统能量期望值达到最小的函数。 这就是量子力学中的变分原理(Variational Principle):

Ψ0=argmin⁡Ψ∈HAS,  Ψ≠0E[Ψ]=argmin⁡Ψ∈HAS,  Ψ≠0∫Ψ∗(R)H^Ψ(R) dR∫∣Ψ(R)∣2 dR\Psi_0 = \underset{\Psi\in\mathcal H_{\mathrm{AS}},\;\Psi\neq0}{\operatorname{argmin}} {E[\Psi]} = \underset{\Psi\in\mathcal H_{\mathrm{AS}},\;\Psi\neq0}{\operatorname{argmin}} \frac{\displaystyle\int \Psi^*(\mathbf R)\hat H\Psi(\mathbf R)\,d\mathbf R} {\displaystyle\int |\Psi(\mathbf R)|^2\,d\mathbf R}

在 NN 电子规模的系统中,这需要在 3N3N 维位型空间上积分,电子数量增加,传统数值积分的计算成本迅速增长。

Variational Monte Carlo(VMC)采用了一个关键思想:将高维积分转化为概率分布下的期望,再通过蒙特卡洛采样近似计算

E[Ψ]=∫pΨ(R)Eloc(R) dR=ER∼pΨ[Eloc(R)]≈1M∑k=1MEloc(R(k))\begin{aligned} E[\Psi] &=\int p_\Psi(\mathbf R)E_{\mathrm{loc}}(\mathbf R)\,d\mathbf R\\[4pt] &=\mathbb E_{\mathbf R\sim p_\Psi} \left[E_{\mathrm{loc}}(\mathbf R)\right]\\[4pt] &\approx\frac{1}{M}\sum_{k=1}^{M} E_{\mathrm{loc}}(\mathbf R^{(k)}) \end{aligned}

通过马尔科夫链蒙特卡洛方法(MCMC) 按照波函数的概率密度 ∣Ψ∣2|\Psi|^2 进行重要性采样,仅计算采样位置上的局域能量,再取平均值

θ∗=argmin⁡θ  ER∼∣Ψθ∣2/Zθ[H^Ψθ(R)Ψθ(R)]\theta^*=\underset{\theta}{\operatorname{argmin}}\; \mathbb E_{\mathbf R\sim |\Psi_\theta|^2/Z_\theta} \left[ \frac{\hat H\Psi_\theta(\mathbf R)} {\Psi_\theta(\mathbf R)} \right]

蒙特卡洛解决的是高维积分的数值计算问题,而变分优化负责寻找能量最低的波函数

这里我们有了一个特别好的优化目标,我们把计算系统对应的「真实」波函数问题转化为 找到整体状态空间中「能量最小」的波函数,使用神经网络进行拟合,这个拟合是保真的

Former Works

怎么满足费米子反对称性约束呢?交换行列式的两行会使其变号:det⁡(PA)=sgn⁡(P)det⁡(A)\det(PA)=\operatorname{sgn}(P)\det(A)

如果做平均场近似,我们有一个单体波函数乘积表示整个体系:ΨMF(R)=∏i=1Nϕi(ri)\Psi_{\mathrm{MF}}(\mathbf R)=\prod_{i=1}^{N}\phi_i(\mathbf r_i) 这样就引出了 Slater determinant:ΨSD(R)=1N!det⁡[ϕj(ri)]i,j=1N\Psi_{\mathrm{SD}}(\mathbf R) =\frac{1}{\sqrt{N!}} \det\left[\phi_j(\mathbf r_i)\right]_{i,j=1}^{N}

然而单电子轨道假设具有局限性,它忽略了电子之间的显著相互作用,因此定义依赖所有电子位置的多电子轨道:ϕj(ri)⟶ϕj,θ(ri;r1,…,rN)\phi_j(\mathbf r_i) \quad\longrightarrow\quad \phi_{j,\theta}(\mathbf r_i;\mathbf r_1,\ldots,\mathbf r_N) 并通过特征聚合(卷积)和 MLP 的思路,使得电子之间可以通过特征的传递表达相关性,就得到了 FermiNet:Ψθ(R)=∑k=1Kdet⁡[ϕj,θ(k)(ri;R)]i,j=1N\Psi_\theta(\mathbf R) = \sum_{k=1}^{K} \det\left[ \phi_{j,\theta}^{(k)}(\mathbf r_i;\mathbf R) \right]_{i,j=1}^{N} 使用强大的 Transformer 注意力机制,就得到了 Psiformer:hi′=∑j=1Nsoftmax⁡j(qi⊤kjd)⏟电子 i 对电子 j 的注意力vj\mathbf h_i' = \sum_{j=1}^{N} \underbrace{ \operatorname{softmax}_j \left( \frac{\mathbf q_i^\top\mathbf k_j}{\sqrt d} \right) }_{\text{电子 }i\text{ 对电子 }j\text{ 的注意力}} \mathbf v_j

以上工作的效果都不错,但是他们是基于 VMC 的逻辑的,VMC寻找能量最低的逻辑是通过梯度下降,每次改变材料,都需要进行重复的训练,而不是像多数模型一样进行推理

这就是 foundation model 的意义,它可以通过一次训练,获得对于所有核素、材料、结构的理解,对于不同的材料进行重复推理

技术与方法

我的工作 OmniQMC 的当前成果就是基于Ferminet进行参数化,在 H2H_2 和 N2N_2 中,通过一次训练得到了对于不同的原子间距整体进行拟合的结果

OmniQMC 实验结果

具体来说,我就是要在每个组件中增加基于 RR 的特征和对不同的 RR 做到同时拟合的能力, Ferminet的思路是:先把电子–核、电子–电子的相对几何关系编码成特征,再用多层 MLP 与 concat/cfconv 在单电子流与双 电子流之间反复交换信息,刻画粒子间耦合。

  1. 首先在电子-核特征中我concat上了RBF,把标量 RR 通过多个高斯分布编码为与电子-核结构相同的特征
  2. 若 RR 只在输入层拼接一次,条件信号会随网络加深被稀释,深层几乎感知不到 RR 的变化,我采用逐层 FiLM 调制,让每一层都受 RR 控制
  3. 由于 N2N_2 的电子耦合性很强,我采用了 SchNet 的 电子-电子 消息传递逻辑

OmniQMC 架构示意图

未来方向

下一步更加困难的逻辑就是从神经网络能够理解标量 RR 如何扩展到能够同时处理各种各样的不同的复杂化学结构(核素、化学键、空间结构),有两个很promising的思路:

  1. 图神经网络 化学结构天然可以表示为一个带有几何信息的图 G=(V,E,{Zi,ai}i∈V)G=(V,E,\{Z_i,\mathbf a_i\}_{i\in V}) 图神经网络的核心是 Message Passing:一个原子的特征不再只由它自身决定,而是通过不断聚合周围原子的特征来更新 这一过程使网络能够从原子的局部相互作用中学习复杂的化学环境,并通过多层信息传播捕获更大范围的结构 这样,网络便能够处理不同大小、不同元素组成和不同几何构型的分子,而不必将每一种分子都表示为固定长度的普通向量
  2. 等变神经网络 物理系统具有许多天然的对称性。例如,将整个分子旋转一定角度,物理规律不会发生变化。我们希望网络不仅能够学习到这一事实,而且从结构上保证这一性质成立 对于一个对称变换 gg,等变性的数学定义为:
fθ(g⋅x)=g⋅fθ(x)f_\theta(g\cdot x) = g\cdot f_\theta(x)

直接把系统的物理对称性编码进神经网络 因此,网络不必分别学习一个分子处于不同朝向时的所有物理规律,而是直接利用对称性约束,把这些情况联系起来

FermiNet 其实也是一种等变神经网络

Ψθ(πR)=sgn⁡(π)Ψθ(R)\Psi_\theta(\pi\mathbf R) = \operatorname{sgn}(\pi)\Psi_\theta(\mathbf R)

通过网络结构直接保证了费米子反对称性,而不需要依靠训练数据让网络自行发现泡利不相容原理

后续我会进一步阅读并学习相关论文,并学习物理化学的内容,对我要解决的复杂化学结构场景有更深的理解

BUILD IT. SHOW IT. SHARE IT.

想展示你的项目,
或想找人一起共创?

把项目介绍、仓库链接或共创想法发送到

公众号二维码
关注公众号
获取项目动态