几何图神经网络

Gemnet

GemNet专门设计用于精准预测分子之间的相互作用,相比之前广泛使用的DimeNet,GemNet通过引入几何二面角信息,使其能够更好的捕捉原子之间复杂的空间关系,考虑它们的位置和类型。 1.1 引入二面角信息 对比DimeNet的消息传递机制,GemNet 的思路比较好理解,既然在DimeNet中,引入方向性的夹角消息传递能够提升精度,那么引入更高维的二面角信息理论上应该能更进一步,如图1所示。 (1)角度表示:图1中展示了三种角度类型:\(\phi_{\mathrm{cab}},\phi_{\mathrm{abd}}\)和二面角\(\theta_{\mathrm{cabd}}\)。这些角度被用来更新原子a和b之间的嵌入\(m_{\mathrm{ca}}\)和\(m_{\mathrm{db}}\)。 (2)二面角的可视化:当分子被旋转使得原子a和b重合时,二面角\(\theta_{\mathrm{cabd}}\)变得可见。二面角是由四个原子a,b,c和d形成的,它关乎两个平面之间的角度,这在化学结构中非常重要,因为它影响了分子的形状和功能。 GemNet中,上述角度信息的公式化表述如公式1、2、3所示,每个公式都定义了特定的数学函数,用于计算原子间相互作用的几何特征。 \(\boldsymbol{e}_{{_{{\mathrm{RBF},n}}}}(x_{{_{{\mathrm{db}}}}})=\sqrt{\frac{2}{c_{{_{{\mathrm{emb}}}}}}}\frac{\sin(\frac{n\pi}{c_{{_{{\mathrm{emb}}}}}}x_{{_{{\mathrm{db}}}}})}{x_{{_{{\mathrm{db}}}}}}\) \(e_{\mathrm{CBF,ln}}(x_{\mathrm{ba}},\varphi_{\mathrm{abd}})=\sqrt{\frac2{c_{\mathrm{int}}^3j_{l+1}^2(z_{\mathrm{ln}})}}j_l(\frac{z_{\mathrm{ln}}}{c_{\mathrm{int}}}x_{\mathrm{ba}})Y_{\mathrm{l0}}(\varphi_{\mathrm{abd}})\) \(e_{\mathrm{SBF,lnm}}(x_{\mathrm{ca}},\varphi_{\mathrm{cab}},\theta_{\mathrm{cabd}})=\sqrt{\frac2{c_{\mathrm{emb}}^3j_{l+1}^2(z_{\mathrm{ln}})}}j_l(\frac{z_{\mathrm{ln}}}{c_{\mathrm{emb}}}x_{\mathrm{ca}})Y_{\mathrm{lm}}(\varphi_{\mathrm{cab}},\theta_{\mathrm{cabd}})\) 公式1称为径向基函数,其中\(e_{\mathrm{RBF},n}(x_{\mathrm{db}})\)是第n个径向基函数,用于编码两个原子d和b之间的距离\(x_{\mathrm{db}}\)。\(c_{\mathrm{emb}}\)是归一化常数,用于调整函数的周期性。公式1的作用是捕捉原子对之间的距离信息,它通过正弦函数形式的径向基函数来表示原子间距的信息,并将该信息编码为神经网络可以处理的形式,这种编码对于理解原子对之间的相互作用是重要的。 公式2称为复合基函数(Continuous Filter,CBF),这个表达式结合了球贝塞尔函数\(j_{l}\)和第l阶的球谐函数\(Y_{_{l 0}}\),以编码原子b和a之间的距离\(x_{\mathrm{ba}}\),以及它们与第三个原子d形成的角度\(\varphi_{\mathrm{abd}}\)。\(c_{\mathrm{int}}\)是另一个归一化常数,而\(z_{ln}\)表示l阶球贝塞尔函数的第n个零点。公式2结合了球贝塞尔函数和球谐函数,它的作用是捕捉原子三元组之间的角度关系,用于表征由三个原子构成的角度特征,这些信息对于定义分子结构中的角度依赖性特征至关重要。 公式3称为结构基函数(Structural Basis Function,SBF),这个公式用于编码原子c和a之间的距离\(x_{\mathrm{ca}}\),以及它们与其他两个原子b和d形成的角度\(\varphi_{\mathrm{cab}}\)和二面角\(\theta_{\mathrm{cabd}}\)。这里使用了l阶球贝塞尔函数和l阶m次球谐函数\(Y_{\mathrm{lm}}\)。类似于CBF,SBF的作用是通过考虑更多的角度信息(如二面角)来编码原子四元组间的空间关系,这种复合的基函数允许模型捕捉分子结构的更复杂几何特征,如扭曲和立体排列。 值得注意的是,在公式3中,球谐函数的参数m,当m=0时,球谐函数\(Y_{l}^{m}\left(\theta,\varphi\right)\)只依赖于极角\(\theta \),与方位角\(\varphi […]

Gemnet Read More »

DimeNet

DimeNet(Directional Message Passing Neural Network)是一种专门用于分子图结构的神经网络,在预测分子性质和模拟分子间相互作用方面表现出色。DimeNet 的独特之处在于它引入了方向性消息传递机制,使其能够更好地捕捉分子中的几何和角度信息。DimeNet的关键特点之一是方向性消息传递,传统的消息传递神经网络(Message Passing Neural Network, MPNN)主要考虑节点和边之间的消息传递。SchNet进一步的对节点之前的相对距离进行建模。而DimeNet则更进一步引入了方向性消息传递的概念,这意味着它不仅考虑节点和边的信息,还将相邻边之间的角度信息纳入计算。 1.1引入角度信息 在SchNet模型中介绍的连续卷积中,存在一个截断距离C的概念。通过截断距离的设置,可以限制仅在这个距离范围内的原子之间才允许信息的传递。这种方法相当于在分子图中引入了一个局部邻域的概念,每个原子只与它的近邻原子“交流”,而不是与整个分子中的所有原子交流,这其实就是卷积算法中“关注局部”的思想与优点。 这种局部化的方法可以大大降低计算负担,因为它减少了模型必须处理的消息数量。同时,它也减少了模型可能学习到的噪声或不相关信息,因为远离的原子对通常对当前原子的化学性质影响较小。但是,这种方法也有其局限性,特别是当两个结构上不同但在局部尺度上相似的分子,例如在大约2埃的截断距离下,一个常规的GNN可能无法区分六边形分子(例如环己烷)和两个三角形分子(例如环丙烷)。这是因为在图神经网络(GNN)的常规处理方式中,原子之间的关系通常是基于它们之间的距离来建模的,而非它们在空间中的具体方向或者角度。当我们说一个原子的“邻域”时,是指在一定截断距离内与该原子相连的其他原子。在截断距离限制下,原子只能“看到”它周围一定范围内的其他原子,并与这些原子交换信息。 以环己烷(一个六边形分子)和环丙烷(一个由两个三角形组成的分子)为例,如果它们的键长相同,每个原子在截断距离内的邻域将是相似的,如图1所示。也就是说,每个原子周围可能都有两个相邻原子,它们之间的距离大约是2埃,因此从每个原子的局部视角来看,它们的邻域模式看起来是无法区分的。这样,基于局部信息的GNN将无法区分这两种分子的整体结构。 为了区分这两个分子,模型需要能够识别原子之间关系的角度特征,也就是需要知道这些原子是如何在三维空间中定向的。在三维空间中,六边形的角度和三角形的角度是不同的,因此这是区分这两种分子的关键。然而,如果模型仅仅基于距离信息而不考虑角度信息,它就会丧失这种区分能力。因此,为了更准确地建模分子结构,需要引入能够处理角度信息的机制,这便是DimeNet的设计动机。 1.2球谐函数和贝塞尔径向模型 在构建分子的基础表示时,DimeNet采用了球谐函数和贝塞尔径向模型这两类数学函数。球谐函数用于捕捉分子形状及原子在不同方向上的分布,这对于理解分子的三维结构至关重要。贝塞尔径向模型则在处理问题时更加关注于原子间的实际距离,这些函数特别适合于描述原子间距离相关的性质。 在DimeNet模型中,球谐函数和贝塞尔径向模型的应用是一种关键的数据预处理步骤,旨在从分子的三维结构中提取空间特征,尤其是原子间的距离和角度信息。具体来说,几何深度学习模型在处理原子问题时的输入一般是原子在笛卡尔坐标系(x,y,z)下的三维坐标。通过计算任意两个原子之间的欧几里得距离,并把这个距离作为贝塞尔径向模型的输入,贝塞尔径向模型能够捕捉到原子间距离上的波动特征。类似的,可以将笛卡尔坐标系下原子的位置表示转换为球坐标系中的角度表示,这些角度信息再作为球谐函数的输入,球谐函数能够捕捉到原子间方向上的角度特征。基于上述距离和角度,我们使用球谐函数和贝塞尔函数公式中的系数组合作为几何深度学习模型的输入特征。球谐函数和贝塞尔函数的数学特征正交性可以确保从这些转换得到的特征在信息上是独立且互补的,减少了特征间的冗余。 值得注意的是,球谐函数和贝塞尔方程公式中的系数是固定的数学函数,不需要被训练。只要有点的三维坐标作为输入,球谐函数和贝塞尔方程拆解的结果就是固定的。球谐函数和贝塞尔方程的使用更像是一种基于原子坐标的特征工程手段,用于将原始的几何数据转换成一种对模型更有用的形式。这种特征转换方法为DimeNet提供了一种“强大的语言”,使其能够精确描述并利用原子间的距离和角度相互作用信息。正交性保证了转换得到的特征集中每个特征都携带有用且独特的信息,有助于模型从数据中学习到更多独立的特征,从而提高预测分子性质的准确性。 最后,还有一个关键问题是模型如何习得这些系数特征的含义?毕竟球谐函数和贝塞尔函数并没有被内置在模型的结构中作为模型的一部分。实际上,DimeNet并不需要“知道”这些系数代表了什么。模型有能力通过训练过程学习这些转换后的系数特征与目标属性(如分子的能量或其他化学性质)之间的关系。通过大量的训练数据,DimeNet能够识别哪些模式(在这些系数表示的特征中)与预测的化学性质有关联。这种学习过程是数据驱动的,不需要模型对系数的物理意义有先验的理解。使用球谐函数和贝塞尔函数作为输入预处理步骤是因为它们提供了一种有效的方式来表达分子结构中的三维空间信息。这些信息是传统图神经网络(例如GCN、GraphSAGE、GAT等)难以直接处理的,因为它们通常设计用于处理图结构数据,而没有考虑到原子间复杂的空间和方向性关系。

DimeNet Read More »

SchNet

SchNet是一种用于分子和材料的量子化学计算的深度学习模型,最初由德国的研究人员在2017年开发。它是一种基于图的神经网络,专门设计来处理三维分子结构中的原子间相互作用。SchNet的独特之处在于它使用了连续卷积操作,可以捕捉到原子之间复杂的距离依赖关系,从而能够预测分子的能量、力以及其他重要的化学性质。这种模型通过学习原子环境的表示来实现高精度的预测,而不依赖于任何人工定义的特征或先验的物理知识。SchNet已经在多种化学和材料科学任务中展现出了卓越的性能,成为了分子模拟领域的一种重要工具。 1.1 SchNet模型结构 SchNet的架构如图1所示,这是一个针对分子和材料建模而设计的深度学习网络。图中分为三个主要部分:架构总览、交互模块和滤波器生成网络。 1.架构总览 如图1左图所示,输入表示为\((Z_1,\cdots,Z_n)\)和\((r_1,\cdots,r_n)\),其中\(\mathbf{z}_{i}\)是原子类型(例如氢、氧、碳等)被编码成的一个one-hot编码的向量。这是基本的化学信息,对于识别不同原子的性质非常重要。\(r_{i}\)是每个原子在分子中的三维坐标,这些位置信息对于模型来说至关重要,因为它们直接决定了原子之间的距离和相互作用,这些都是决定分子性质的关键因素。 输入数据首先经过嵌入层(embedding),这是一个常见的深度学习技术,一般使用神经网络层将每个原子的one-hot节点特征向量转换成一个固定大小的连续特征向量。在这个例子中,每个原子经过神经网络层映射成的新特征向量的维度是64,即每个原子被映射为一个包含64个元素的向量。这个向量编码了原子的某些属性,可以在网络训练过程中进行学习和优化。接下来是多个交互层,每个层都旨在捕捉和更新原子之间的相互作用信息,得到更有效的原子特征向量表示。之后,一个原子级别的操作(atom-wise)对每个原子的特征进行转换。原子级别操作将对每个原子的特征向量独立地进行学习变换。这意味着网络在进行这些操作时,不会考虑原子之间的相互作用或原子的邻居,而是将注意力集中在单个原子的特征向量上。在实践中,这通常通过应用一个全连接层来实现。 Shifted softplus是一种激活函数,用于引入非线性,该激活函数定义为:\(\text{Shifted softplus}(x)=\ln(0.5e^x+0.5)\) 其函数图像如图2所示。 它是一个平滑的非线性函数,可以将非线性引入神经网络。Shifted Softplus类似于激活函数ReLU,但对于负输入值具有非零梯度。即使输入具有负值,也可以帮助网络继续学习,且在x=0的位置过度的更加平滑。值得注意的是,Shifted Softplus 在处理几何数据时往往比ReLU更受欢迎,主要原因有下面几个: (1)平滑的梯度:Shifted Softplus 函数在整个定义域中都有一个平滑的导数。这意味着梯度不会突然变为零(如ReLU在负输入时的表现),从而避免了神经网络在训练过程中的梯度消失问题。在几何结构的数据中,原子或节点的特征可能涉及复杂的相互作用和细微的变化,平滑的梯度允许模型更细致地调整其参数以捕获这些特征。 (2)非饱和性:Shifted Softplus是一个非饱和激活函数,这意味着它的输出不会在较大的正输入值时饱和到一个固定值(与Sigmoid或Tanh不同)。非饱和性有助于减轻训练过程中的梯度饱和问题,提高网络在深层结构中的信息流动。

SchNet Read More »

Scroll to Top