E(3)-equivariant graph neural networks for data-efficient and accurate interatomic potentials
刊物
NATURE COMMUNICATIONS
解决问题
- 大多数当代的对称性感知模型使用不变卷积,并且只作用于标量
创新点
- NequIP使用E(3)-等变卷积来进行几何张量的相互作用,从而得到信息更加丰富更加忠实的原子环境表示
- 达到了SOTA精度
- 高数据效率
思想概述
等变
- 在原子系统中,物理性质在一组原子的平移、反射和旋转下具有明确定义的变换性质
- 例子:如果一个分子在空间中旋转,它的原子偶极子或力的向量也会通过等变变换相应地旋转
- 等变神经网络能够更一般地表示物理系统的张量性质和张量运算(例如向量加法、点积和交叉积)
- 形式上,一个函数 f : X ↦ Y f : X \mapsto Y f:X↦Y对于一个作用于 X X X和 Y Y Y的群 G G G是等变的如果:
D Y [ g ] f ( x ) = f ( D X [ g ] x ) ∀ g ∈ G , ∀ x ∈ X D_{Y}[g]f(x)=f(D_{X}[g]x) \space \space \space \space \space \space \forall g \in G, \forall x \in X DY[g]f(x)=f(DX[g]x) ∀g∈G,∀x∈X
- 其中, D X [ g ] D_{X}[g] DX[g]和 D Y [ g ] D_{Y}[g] DY[g]是群元素 g g g在向量空间 X X X和 Y Y Y的表示
神经等变原子间势(NequIP)
- 目标:找到从原子位置 { r ⃗ i } \{\vec{r}_{i}\} {ri}和化学种类 { Z i } \{Z_{i}\} {Zi}到总势能 E p o t E_{pot} Epot和作用在原子上的力 { F ⃗ i } \{\vec{F}_{i}\} {Fi}的映射,总势能是原子势能的总和,力为总势能相对于原子位置的梯度
E p o t = ∑ i ∈ N a t o m s E i , a t o m i c F ⃗ i = − ∇ i E p o t E_{pot} = \sum_{i \in N_{atoms}} E_{i, atomic} \\ \vec{F}_{i} = -\nabla_{i} E_{pot} Epot=i∈Natoms∑Ei,atomicFi=−∇iEpot
- E i , a t o m i c E_{i, atomic} Ei,atomic是由图神经网络预测的标量节点属性,NequIP的输出是预测的势能 E p o t E_{pot} Epot,它在平移,反射和旋转下是不变的,但网络包含的内部特征是与旋转反射等变的几何张量
- 网络建立在张量场网络Tensor-Field Networks(TFN)中引入的层上,其基元是在e3nn中实现的,使得能够构建对于平移表现中不变性,对于奇偶性和旋转表现出等变性的神经网络,原子特征由标量、向量和高阶张量组成,特征向量 V a c m l , p V_{acm}^{l,p} Vacml,p的下标是 l , p l,p l,p,旋转阶 l = 0 , 1 , 2 , . . . l=0,1,2,... l=0,1,2,...是非负整数,并且奇偶性是 p ∈ ( 1 , − 1 ) p \in (1, -1) p∈(1,−1)中的一个,它们一起标记了 O ( 3 ) O(3) O(3)的不可约表示,下标 a , c , m a,c,m a,c,m分别对应于原子,通道(特征向量的元素)和取值 m ∈ [ − l , l ] m \in [-l, l] m∈[−l,l]的表示下标,对这些几何对象操作的卷积是等变函数而不是不变函数,即,如果在 k k k层的特征在旋转或奇偶变换下进行变换,那么 k → k + 1 k \rightarrow k+1 k→k+1层的卷积输出进行相应的变换,卷积操作天然是平移不变的,因为它们的滤波器作用于相对原子间距离向量,此外卷积还是排列不变的,虽然原子特征对于下标是排列等变的,总势能对于下标是排列不变的
- 为了实现旋转不变性,卷积滤波器 S m ( l ) ( r ⃗ i j ) S^{(l)}_{m}(\vec{r}_{ij}) Sm(l)(rij)被约束为可学习的径向函数和球谐波的乘积,它们在 S O ( 3 ) SO(3) SO(3)下是等变的:
S m ( l ) ( r ⃗ i j ) = R ( r i j ) Y m ( l ) ( r ^ i j ) S^{(l)}_{m}(\vec{r}_{ij}) = R(r_{ij})Y^{(l)}_{m}(\hat{r}_{ij}) Sm(l)(rij)=R(rij)Ym(l)(r^ij)
- 其中,如果 r ⃗ i j \vec{r}_{ij} rij为中心原子 i i i到近邻原子 j j j的相对位置,则 r ^ i j \hat{r}_{ij} r^ij和 r i j r_{ij} rij分别是相关的单位向量和原子间距离,并且 S m ( l ) ( r ⃗ i j ) S^{(l)}_{m}(\vec{r}_{ij}) Sm(l)(rij)是相应的卷积核,滤波器中所有可学习权值都在旋转不变径向函数 R ( r i j ) R(r_{ij}) R(rij)中,这个径向函数被实现为一个多层感知机,它一起输出所有滤波器-特征张量产生的相互作用的径向权值:
R ( r i j ) = W n σ ( . . . σ ( W 2 σ ( W 1 B ( r i j ) ) ) ) R(r_{ij}) = W_{n}\sigma(...\sigma(W_{2}\sigma(W_{1}B(r_{ij})))) R(rij)=Wnσ(...σ(W2σ(W1B(rij))))
- 其中 B ( r i j ) ∈ R N b B(r_{ij}) \in \mathbb{R}^{N_{b}} B(rij)∈RNb是 N b N_{b} Nb维的原子间距离的基嵌入, W i W_{i} Wi是权重矩阵并且 σ ( x ) \sigma(x) σ(x)表示逐元素的非线性激活函数,文中使用的是SiLU激活函数,径向贝塞尔函数和一个多项式包络函数用于作为原子间距离的基:
B ( r i j ) = 2 r c sin ( b π r c r i j ) r i j f e n v ( r i j , r c ) B(r_{ij}) = \frac{2}{r_{c}}\frac{\sin(\frac{b\pi}{r_{c}}r_{ij})}{r_{ij}}f_{env}(r_{ij},r_{c}) B(rij)=rc2rijsin(rcbπrij)fenv(rij,rc)
- 其中 r c r_{c} rc是一个局部截止半径,将相互作用限制在比某个截止距离更近的原子上,因为径向贝塞尔函数在截止距离 r c r_{c} rc处不是二阶连续可微的,所以需要乘以一个包络函数, f e n v f_{env} fenv是一个多项式, p = 6 p = 6 p=6作用于由截止半径归一化的原子间距离 r i j r c \frac{r_{ij}}{r_{c}} rcrij
f e n v ( r i j , r c ) = 1 − ( p + 1 ) ( p + 2 ) 2 ( r i j r c ) p + p ( p + 2 ) ( r i j r c ) p + 1 − p ( p + 1 ) 2 ( r i j r c ) p + 2 f_{env}(r_{ij}, r_{c}) = 1-\frac{(p+1)(p+2)}{2}{(\frac{r_{ij}}{r_{c}})}^{p}+p(p+2){(\frac{r_{ij}}{r_{c}})}^{p+1}-\frac{p(p+1)}{2}{(\frac{r_{ij}}{r_{c}})}^{p+2} fenv(rij,rc)=1−2(p+1)(p+2)(rcrij)p+p(p+2)(rcrij)p+1−2p(p+1)(rcrij)p+2
- 截止/局部原子环境的使用允许评估的计算成本与原子数量线性成比例,网络初始化时,贝塞尔根被设置为 b = [ 1 , 2 , . . . , N b ] b = [1, 2, ..., N_{b}] b=[1,2,...,Nb],其中 N b N_{b} Nb是基函数的数量,随后通过反向传播来优化 b π b\pi bπ,对于具有周期边界条件的系统,使用在ASE代码中实现的邻居列表来识别适当的原子邻居
- 最后在卷积中,输入的原子特征张量和滤波器必须再次以等变的方式结合起来,这点通过一个几何张量积达到,其输出特征是旋转等变的
- 网络需要尊重的最后一个对称性是奇偶性:网络在反转下如何变换,即 x ⃗ → − x ⃗ \vec{x} \rightarrow -\vec{x} x→−x,如果满足以下选择规则,奇偶等变性是通过只允许来自一个滤波器和一个具有奇偶值 p f p_{f} pf和 p i p_{i} pi的输入张量特征的贡献来贡献一个输出特征来实现的:
p o = p i p f p_{o} = p_{i}p_{f} po=pipf
- 最终,一个完整的卷积层与滤波器 f f f作用于输入 i i i,实现产生输出 o : l i ⊗ l f → l o o: l_{i} \otimes l_{f} \rightarrow l_{o} o:li⊗lf→lo:
L a c m o l o , p o , l f , p f , l i , p i ( r ⃗ a , V a c m i l i , p i ) = ∑ m f , m i C l i , m i , l f , m f l o , m o ∑ b ∈ S ( R ( r a b ) c , l o , p o , l f , p f , l i , p i ) Y m f l f ( r ^ a b ) V b c m i l i , p i \mathcal{L}_{acm_{o}}^{l_{o},p_{o},l_{f},p_{f},l_{i},p_{i}}(\vec{r}_{a}, V_{acm_{i}}^{l_{i},p_{i}}) = \sum_{m_{f},m_{i}}C_{l_{i},m_{i},l_{f},m_{f}}^{l_{o},m_{o}} \sum_{b \in S}{(R(r_{ab})_{c,l_{o},p_{o},l_{f},p_{f},l_{i},p_{i}})Y_{m_{f}}^{l_{f}}(\hat{r}_{ab})V_{bcm_{i}}^{l_{i},p_{i}}} Lacmolo,po,lf,pf,li,pi(ra,Vacmili,pi)=mf,mi∑Cli,mi,lf,mflo,mob∈S∑(R(rab)c,lo,po,lf,pf,li,pi)Ymflf(r^ab)Vbcmili,pi
- 其中, a a a和 b b b分别表示卷积的中心原子和相邻的原子 b ∈ S b \in S b∈S, C C C表示Clebsch-Gordan系数,对于给定的输出旋转阶和奇偶性 ( l o , p o ) (l_{o}, p_{o}) (lo,po),由 ( l i , p i ) (l_{i}, p_{i}) (li,pi)和 ( l f , p f ) (l_{f}, p_{f}) (lf,pf)的不同组合产生多个 L a c m o l o , p o \mathcal{L}_{acm_{o}}^{l_{o},p_{o}} Lacmolo,po张量,取所有可能的输出张量,并将它们链接起来,还将邻域和的输出除以 N \sqrt{N} N, N N N表示原子的平均邻居数,为了更新原子特征,还是用dense层,以逐原子的方式应用,原子之间共享权重,类似于SchNet中的自相互作用层,不同的权重用于不同的旋转阶,对给定的张量的所有下标 m m m应用相同的权重集,以保持等变
- NequIP网络架构,原子embedding,interaction blocks,an output block:
- Embedding:跟随SchNet,初始特征根据原子序数 Z i Z_{i} Zi得到
- Interaction Block:编码相邻原子之间的相互作用:核心是卷积函数,产生相同旋转和奇偶性的对 l o , p o l_{o},p_{o} lo,po的不同张量积相互作用的特征由线性逐元素self-interaction层混合,使用了resnet风格的更新: x k + 1 = f ( x k ) + Self-Interaction ( x k ) \mathbf{x^{k+1}} = f(\mathbf{x^{k}}) + \text{Self-Interaction}(\mathbf{x^{k}}) xk+1=f(xk)+Self-Interaction(xk),其中 f f f是一系列self-interaction,convolution,concatenation和self-interaction,上述公式中的每个种类的Self-Interaction的权重是分开学习的,最后,混合特征被等变的基于SiLU的门控非线性处理(偶和奇标量不是门控,而是直接分别由SiLU和tanh非线性处理)
- Output Block:最后卷积的 l = 0 l=0 l=0特征被传递给一个输出块,该输出块由一组两个逐原子的self-interaction层组成
- 对于每个原子,最后一层输出一个标量,这被解释为原子势能,然后将这些结果求和,给出系统的总预测势能,随后,力作为预测的总势能的负梯度得到,从而确保了能量守恒和旋转等变力
成 - 对于每个原子,最后一层输出一个标量,这被解释为原子势能,然后将这些结果求和,给出系统的总预测势能,随后,力作为预测的总势能的负梯度得到,从而确保了能量守恒和旋转等变力