图神经网络

GraphGAN

GraphGAN是一种结合了图神经网络和生成对抗网络(GAN)概念的机器学习模型。它旨在通过对抗学习框架解决图数据中的节点分类和链接预测问题,特别是在缺少标签数据的情况下。GraphGAN通过结合生成器和判别器两个主要组件来学习图中节点的有效表示。 GraphGAN的框架如下:设\(G=(V,\mathcal{E})\)为一个给定的图,其中\(V=\begin{Bmatrix}v_1,\ldots,v_V\end{Bmatrix}\)代表顶点的集合,而$\mathcal{E} = \left\{ e_{ij} \right\}_{i,j=1}^{V}$代表边的集合。对于给定的顶点\(\nu_{c}\),定义\(\mathcal{N}\left(\nu_{c}\right)\)为直接连接到\(\nu_{c}\)的顶点集,也就是顶点\(\nu_{c}\)的1-hop邻居。我们将顶点\(\nu_{c}\)的真实连通性分布表示为条件概率\(p_{\mathrm{true}}\left(\nu|\nu_{c}\right)\),它反映了\(\nu_{c}\)的连通性偏好和它所连接顶点的类型。从这个视角来看,\(\mathcal{N}\left(\nu_{c}\right)\)可以被看作是从\(p_{\mathrm{true}}\left(\nu|\nu_{c}\right)\)抽取的一组观察样本。给定图\(\mathrm{G}\),GraphGAN旨在学习以下两个模型: 生成器\(\mathrm{G}\)和判别器\(\mathrm{D}\)作为两个对手: 生成器\(\mathrm{G}\)将试图完美地匹配\(p_{\mathrm{true}}\left(\nu|\nu_{c}\right)\)并生成类似于\(\nu_{c}\)的真实直接邻居的相关顶点以欺骗判别器。而判别器\(\mathrm{D}\)则相反,会尝试检测这些顶点是\(\nu_{c}\)的真实邻居还是由其对手\(\mathrm{G}\)生成的。形式上, \(\mathrm{G}\)和\(\mathrm{D}\)在一个有以下价值函数\(V(G,D)\)的双人博弈中进行对抗: \(\min_{\theta_G}\max_{\theta_D}V(G,D)=\sum_{c=1}^V\left(\mathbb{E}_{\nu\sim p_{\mathbf{tne}}(\nu|\nu_c)}\left[\log D(\nu,\nu_c;\theta_D)\right]+\mathbb{E}_{\nu\sim p_G(\nu|\nu_c;\theta_G)}\left[\log\left(1-D(\nu,\nu_c;\theta_D)\right)\right]\right)\)       (1) 上式描述的最小最大(Minimax)博弈公式是生成对抗网络的核心。在图生成对抗网络(GraphGAN)的上下文中,生成器\(\mathrm{G}\)的目标是生成看起来像真实数据的样本。在GraphGAN的情境下,生成器试图生成看似是\(\nu_{c}\)的1-hop邻居的顶点。而鉴别器\(\mathrm{D}\)的目标是区分输入样本是来自于真实数据还是生成器生成的假数据。在GraphGAN中,它试图区分一个顶点对\((\nu,\nu_{c})\)是否是真实的1-hop邻点对。这个公式包含了两个期望(Expectations): 第一部分为真实数据的期望\(E_{v\sim p_{\mathrm{true}}\left(v\mid v_{c}\right)}\left[\log […]

GraphGAN Read More »

Deep Graph Infomax

Deep Graph Infomax(DGI)是一种基于图的无监督学习方法,其主要目标是学习图中节点的有效表示,即图数据的Embedding。DGI由Petar Veličković等人在2019年的论文中提出,这种方法通过最大化局部图结构(节点)和全局图结构(整个图)之间的互信息来学习节点表示,DGI整体的模型计算流程如图1所示。 从图1可以看出,第一步,算法需要一个正常图\((X,A)\)的扰动版本\((\widetilde{X},\widetilde{A})\),扰动版本通过负样本操作\(\mathrm{C}\)来实现。负样本操作可以通过多种方式实现,本质是一个函数。这个函数会接受图的节点特征\(\mathbf{X}\)和邻接矩阵\(\mathrm{A}\)作为输入,然后对原图结构进行变换,比如随机打乱节点的特征,或者在邻接矩阵中随机重排列边。目的是创建一个与原始图在统计特性上有显著区别的样本,这个负样本在后续步骤中用来帮助判别器学习如何区分图的正样本表示和与图不相关的表示。 第二步使用编码器函数\(\varepsilon(X,A)\)处理原始图的每个节点,从而得到每个节点的向量表示。这里的编码器\(\mathcal{E}\)通常是一个图神经网络(如GCN),它能够考虑节点的特征以及节点之间的连接(通过邻接矩阵\(\mathrm{A}\))来产生一个低维而信息丰富的特征向量\(\boldsymbol{h}_i\)。编码器的目的是捕获节点的局部图结构和节点特征,生成的集合\((H,A)=h_1,h_2,\cdots,h_n\)包含了输入图所有节点的这些表示。同理,在上一步中采样的负样本也需要经过编码器\(\boldsymbol{\varepsilon}\)的处理得到对应的\((\widetilde{H},\widetilde{A})\)。 第三步,算法需要从整个输入图的节点表示中提取一个单一的图级别的表示\(\mathbf{s}\)。这通常通过一个汇总函数\(R\left(\boldsymbol{H},A\right)\)完成,它可以是简单的平均节点表示,或者一个更复杂的结构,如基于注意力的汇总方法。这个图级别的表示\(\mathbf{s}\)应该捕获整个图的全局性质,它将在损失函数中用于比较正样本和负样本的节点表示。 最后一步是模型学习的关键。在这一步中,通过梯度下降来更新编码器\(\boldsymbol{\varepsilon}\)、汇总函数\(\text{R}\)以及判别器\(\text{D}\)的参数。判别器也是一个图神经网络,其任务是根据节点表示(\(h_{i}\)或\(h_{j}\))和图表示来判断节点是否属于该图。损失函数\(\text{L}\)在正样本的情况下鼓励判别器给出高的得分,而在负样本的情况下给出低的得分。通过最大化损失函数中定义的互信息量,模型能够训练出区分原始图节点和负样本节点表示的能力。 这个训练过程的目标是调整模型的参数,使得从正样本图中提取的节点表示与图的全局表示尽可能接近,而从负样本图中提取的节点表示则与图的全局表示尽可能远。即最大化节点表示和对应图级表示的互信息。这种方法认为,如果节点表示能够捕捉到与整个图表示高度相关的信息,那么这些节点表示就是有用的。这便完成了DGI的主要目标:学习图中节点的有效表示,即图数据的Embedding。 随机游走算法的目的也是学习图中节点的有效表示,且与DGI同属无监督学习方法,但在方法和理念上存在显著差异。随机游走侧重于通过模拟从一个节点开始的随机路径来捕捉图中节点的局部连接模式,以探索和利用图的局部结构特性。这种方法通过观察节点间的“游走”行为,直接反映了节点的邻近关系。相比之下,DGI采用基于互信息最大化的策略,通过学习节点表示和全局图表示之间的互信息来提取特征,不仅考虑了局部结构,还尝试捕捉整个图的全局上下文。DGI通常使用图神经网络如图卷积网络(GCN)作为编码器,更侧重于深度学习技术。总体而言,随机游走方法更加直观和简单,适用于图的局部特征学习;而DGI则是一种更复杂的深度学习方法,能够综合局部与全局信息,适合于需要深层特征提取的复杂图形任务。 此外,DGI(Deep Graph Infomax)和GAN(生成对抗网络)虽然都涉及到一个判别器组件,但它们的目标和训练过程有本质的不同。GAN由两个模型组成:生成器(Generator)和判别器(Discriminator)。生成器的目标是创建尽可能接近真实数据的新数据实例,而判别器则试图区分真实数据和生成器创建的伪造数据。这两个模型在训练过程中相互竞争,生成器不断改进其生成的数据质量以试图“欺骗”判别器,而判别器也不断改进其识别真伪数据的能力。这种对抗性的训练过程导致了生成器学会生成高质量的数据。DGI的目的不是生成新的数据,而是从图数据中学习有用的节点表示。在DGI中,判别器的作用不是与编码器对抗,而是帮助编码器学习生成高质量的节点嵌入。DGI使用一个非对抗的信息最大化原则,这个原则指导编码器生成的节点表示要包含足够的信息以便判别器可以准确区分节点是来自原始图还是扰动后的图(即正样本或负样本)。换句话说,判别器用于指导编码器捕捉到有意义的特征——使得这些特征对于区分不同图结构是有信息的。DGI的目标是通过这种方式提升表示的质量,而不是在编码器和判别器之间创建对抗。

Deep Graph Infomax Read More »

Relational Graph Convolutional Neural Network

对比GCN讲解RGCN的基本思想。GCN通过将图的邻接矩阵与节点特征结合,利用统一的权重矩阵\(\mathrm{W}\)来更新节点的特征,从而捕获图中的拓扑结构信息。这种方法在处理同质图时非常有效,即所有节点和边被假定具有相同的类型和属性。然而,GCN不直接处理图中的异质性或复杂的关系类型。 与GCN不同,RGCN(Relational Graph Convolutional Neural Network)被设计用来处理具有多种关系的异构图。此时,节点或边的种类有很多种情况,每种类型可能有其特定的属性和语义。例如,在生物医学的异构图中,不同类型的节点(如药物分子、疾病名称、蛋白质名称、生物通路等)和边(如促进、抑制、治疗、包含等)包含丰富的语义信息。RGNN能够对这些不同类型的实体和关系分别学习表示,这样能够更好地理解它们各自以及它们之间的复杂关系。用公式表示为: \(G=(V,E,R,T)\) 其中\(\text{V}\)为节点集,每个节点在下文表示为\(\nu_{i}\);\(\text{E}\)为边集,边\((\nu_{i},r,\nu_{j})\in E\);\(T(\nu_{i})\)为节点类型;\(\mathrm{R}\)为边类型集合,\(r_{i}\)在下文表示每个边的属性。 【例1】边有三种不同的类型\((r_1,r_2,r_3)\),分别用三种不同的线段格式表示,如图1所示。例如,节点A通过类型为\(r_{1}\) 的边与节点B和D相连,通过类型为\(r_{2}\) 的边与节点C相连等等。图1中也展示了关系图卷积网络(RGCN)的一个关键特点:不同类型的边使用不同的权重矩阵\((W_{_{r1}},W_{_{r2}},W_{_{r3}})\)来处理信息。这意味着,当更新一个节点的特征时,RGCN 会根据边的类型使用不同的权重矩阵。值得注意的是,在这个例子中,\(r_{1}\) 有三种类型,但这并不意味着要维护三个独立的神经网络。实际上,\(W_{_{r1}},W_{_{r2}},W_{_{r3}}\)可以共同组成一层神经网络的参数。假设用于更新边信息的神经网络输入输出都是由12个神经元组成的网络层,那么第1-3个神经元可以用于更新第一种边类型;第4-6个神经元用于更新第二种边类型;第7-9个神经元用于更新第三种边类型。 RGCN为每种类型的边引入了不同的权重矩阵,以此来捕获不同关系类型之间的细微差异。每一种关系类型的权重矩阵负责编码特定类型的边对节点特征更新的贡献。这样,RGCN能够综合节点的特征以及与其相连的各种类型边的信息,生成更丰富的节点表征。实际上,RGNN更像是一种思想,而不是固定的模型,它可以扩展到其它GNN模型上,如GraphSAGE、RGAT等。节点\(\mathrm{i}\)的特征更新规则在RGCN中可以表示为: \(\boldsymbol{h}_i^{(l+1)}=\sigma\left(\sum_{r\in R}\sum_{j\in N_r(i)}\frac{1}{c_{i,r}}\boldsymbol{W}_r^{(l)}\boldsymbol{h}_j^{(l)}\right)\) 其中: 在每一层中,对于每种类型的关系\(\mathrm{r}\),我们首先使用权重矩阵\(W_{r}^{(l)}\)来转换与节点\(\mathrm{i}\)相连的每个邻居节点\(\mathrm{j}\)的特征。然后,我们将所有这些转换后的特征进行加权求和,其中每个邻居的特征向量除以归一化常数\(c_{i,r}\),以避免不同数量的邻居对聚合结果的不均衡影响。最终,我们对所有关系类型的累加结果应用非线性激活函数,以得到节点\(\mathrm{i}\)在下一层的新特征向量\(h_i^{(l+1)}\)。这种机制允许RGCN分别学习不同类型的关系如何影响节点特征,而不是像GCN那样对所有边一视同仁,或者像GraphSAGE那样只是简单地聚合邻居节点的特征。

Relational Graph Convolutional Neural Network Read More »

Residual Gated Graph Convnets

Gated GCN 结合了GCNs的空间聚合能力和LSTM中的门控机制。这种结构设计旨在解决传统GCN在处理复杂图数据时面临的信息过载和信息损失问题。每个节点的状态更新不仅依赖于其邻居的信息,还受到门控机制的控制。这种操作使得网络可以在每一层学习到如何最有效地聚合邻近节点的信息,同时根据任务的需要丢弃无关信息,使其能够适应不同的图结构和动态变化的图数据,提供了更精细的信息处理能力。Gated GCN的模型设计如图1所示。 从图1中可以看到节点特征向量\(h_{i}\)和边特征向量\(e_{ij}\)的具体数据更新流程。首先每个节点\(\mathrm{i}\)在每一层\(\mathrm{l}\)有一个特征表示\(h_i^l\),节点\(\mathrm{i}\)邻居节点的特征向量集合为\(\begin{Bmatrix}h_j^l\end{Bmatrix}\)。每条边\((i,j)\)在每一层\(\mathrm{l}\)也有一个特征表示\(\boldsymbol{e}_{ij}\)。节点特征\(h_{i}^{l}\)通过矩阵\(U^{l}\)和\(A^{l}\)转换。相邻节点的特征\(\begin{Bmatrix}h_j^l\end{Bmatrix}\)通过矩阵\(V^{l}\)和\(B^{l}\)转换。边特征\(\begin{Bmatrix}e_{ij}^l\end{Bmatrix}\)通过矩阵\(C^{l}\)转换,这里的矩阵实际上是神经网络层中的参数矩阵。节点特征\(h_{i}^{l}\)、邻居节点的特征\(\begin{Bmatrix}h_j^l\end{Bmatrix}\)和边特征\(\begin{Bmatrix}e_{ij}^l\end{Bmatrix}\)分别经过\(A^{l}\)、\(B^{l}\)和\(C^{l}\)映射后的新特征表示将进行求和(Sum)操作,这一步的含义是进行边特征与节点特征的信息交互和融合,求和后的结果会经过激活函数ReLU的处理。处理后的结果一方面作为更新后的边特征\(\begin{Bmatrix}\boldsymbol{e}_{ij}^{l+1}\end{Bmatrix}\);另一方面将经过Sigmoid函数\(\sigma\)的处理产生一个门控信号,这个门控信号与相邻节点特征的加权(经过\(V^{l}\)变换后的\(h_{j}^{l}\))和相乘,实际上是对每个邻居节点的贡献进行缩放。这就是门控机制,它控制着信息的流向,与LSTM中的门控机制类似。最终,门控后的信息被累加到当前节点特征上 (经\(U^{l}\)变换后的\(h_{i}^{l}\)),通过一个求和(Sum)操作。结果再次通过ReLU激活函数得到当前层的输出结果。 经过上述处理后得到的结果\(\boldsymbol{h}_i^{l+1}\)是节点\(\mathrm{i}\)在下一层\(\mathrm{l+1}\)的新特征表示。同时,边的特征也更新为\(e_{ij}^{l+1}\)。这个过程体现了Gated GCN在图卷积中加入门控机制的重要性。通过调节门控信号,模型能够控制每个节点在其邻居之间传递的信息量,这样就可以捕捉到图中更加复杂的结构模式,同时减少不必要的信息传递,提高了模型的泛化能力和处理大规模图数据的效率。

Residual Gated Graph Convnets Read More »

Graph Isomorphism Network

在讲解Graph Isomorphism Network(GIN)之前,有必要先学习了解一下GNN模型的表达能力(Expressive Power),即GNN将不同图数据表示为不同嵌入向量的能力。这里会涉及一个被称为计算图的概念,图神经网络(GNN)的计算图是一种数据结构,它表示图中的节点以及它们之间的连接关系,用于有效地实施图数据上的学习算法。在这种结构中,每个节点聚合其邻居节点的信息,通过多次迭代更新其状态,从而捕捉和利用图的局部连接性质。为了研究GNN模型的表达能力,先来了解一下图数据的局部信息结构,如图1所示。 考虑图1两跳(2-hop)范围内计算图的几个特殊情况: (1)节点1和节点4,具有相同度数,但到其两跳(2-hop)邻居的信息上度数不同,导致计算图结构不同,因此可以区分这两个节点,如图2所示。 (2)节点1和节点5,因其自身度数不同而具有不同的局部结构信息,如图3所示。 (3)节点1和节点2,具有相同度数,也具有相同的邻居结构,在两跳邻居上,都具有相同的局部结构,如图4所示。 在图4的情况下,假设所有节点的初始化特征向量相同,且聚合节点信息时仅考虑两跳范围内的信息,那么节点1和节点2将被嵌入到同一个表示向量,GNN无法区分这两个节点。相比之下节点3、4、5由于计算图不同,理论上是可能由GNN区分开的。GNN模型应该有将不同的计算图映射到不同的节点向量的能力。想要区分不同的计算图,聚合的方式是关键,聚合函数表达能力越强,GNN表达能力越强。 然而,不管是求和、求平均,还是求最大值这些广泛被使用的聚合方式,都不是最佳的选择,如图5所示,两种图数据的计算图是不同的。但针对图5 (a)的初始化节点向量,求平均和求最大值的聚合方式都不能有效的区分出不同的计算图。类似的,对于图5(b)的初始化节点向量,求和的聚合方式也不能有效区分这两种计算图。这是因为图通过聚合节点向量后却得到了相同的新的节点向量。 从数学的角度上来讲,希望GNN的聚合函数是一种单射函数(Injective Function),即可把不同的元素映射成不同输出。换句话说,希望GNN的聚合函数能把不同的计算图映射生成不同的节点向量。显然,求和函数、求平均函数、求最大值函数都不是单射函数。根据Xu et al. 在论文Graph Wavelet Neural Network中得到定理可知:任一单射函数都可以表示为: \(\phi(\sum_{x\in

Graph Isomorphism Network Read More »

SE(3)-Transformers

SE(3)-Transformers: 3D Roto-Translation Equivariant Attention Networks是一篇研究如何在三维空间中实现旋转和平移等变性的深度学习网络的工作。这种网络通过结合\(SE(3)\)群的等变性,将传统的Transformer结构扩展到了三维空间,从而在不牺牲表达能力的前提下,显著提升了对三维几何信息的建模能力。此项工作为在三维空间中的物理模拟、生物信息学以及计算机视觉等领域的应用提供了强大的工具。 1、SE(3)-Transformer的计算流程 图1展示了一个用于\(SE(3)\)-Transformer等变注意力机制的工作流程。该流程分为四个步骤:首先获取节点的最近邻居及其相对位置,然后通过\(SE(3)\)等变权重矩阵进行特征映射,接着将查询、键和值向量传递到边上,最后通过注意力机制计算并聚合邻居节点的信息。整个过程确保了在旋转等变性下节点特征的更新,适用于需要保持空间对称性的图形数据处理任务。 在第一步中,节点\(\mathrm{i}\)的最近邻居(节点\(\mathrm{j}\))及其相对位置\(x_{j}-x_{i}\)被获取。最近邻居通常通过在三维空间中的某个距离度量来定义,图1中节点\(\mathrm{i}\)和它的邻居节点\(\mathrm{j}\)以向量的形式表示它们之间的相对位置。 在第二步中,重点在于构造\(SE(3)\)等变的权重矩阵\(W(x)\),这是为了确保在\(SE(3)\)群的选择操作下,模型的输出结果保持不变。具体而言,权重矩阵\(W(x)\)是通过结合Clebsch-Gordan系数\(\varrho_{Jm}^{\ell k}\)、径向神经网络\(\varphi_J^{\ell k}(\parallel x\parallel)\)和球谐函数\(Y_{Jm}\left(\frac{x}{\parallel x\parallel}\right)\)来构建的。Clebsch-Gordan系数用于处理不同角动量态之间的耦合关系,径向神经网络则基于距离\(\left|x\right|\)来建模径向特征,而球谐函数用于处理角度方向上的信息。通过这些成分的组合,构建出的权重矩阵能够确保特征在旋转操作下依然保持\(SE(3)\)等变性。这一矩阵为后续计算中的查询、键和值向量提供了基础,使得模型能够在处理三维空间中的数据时保持旋转对称性,即对数据进行旋转时输出结果不会发生改变。这对于处理具有空间对称性的数据(如3D点云、分子结构等)尤其关键。 在第三步中,模型通过\(SE(3)\)等变权重矩阵将节点的特征向量映射为査询(query)、键(key)和值(value)向量,并将这些向量传递到图的边上。具体来说,给定目标节点\(\mathrm{i}\)的特征向量\(f_{i}\)和其邻居节点\(\mathrm{j}\)的特征向量\(f_{j}\),模型首先利用相对位置(\(x_j-x_i\))结合特征\(f_{j}\),通过等变权重矩阵\(W_{K}\)和\(W_{V}\)生成键向量\(k_{ij}\)和值向量\(\boldsymbol{v}_{{ij}}\)。同时,目标节点\(\mathrm{i}\)的查询向量\(q_{i}\)由其自身特征向量\(f_{i}\)通过另一权重矩阵\(W_{Q}\)生成。这个过程确保了在图的每条边上都有与目标节点和邻居节点相关联的查询、键和值向量,且这些向量的生成过程具有\(SE(3)\)等变性,即在旋转和平移操作下保持不变。这一机制为后续的注意力计算和信息聚合奠定了基础,使得模型能够有效地捕捉邻居节点对目标节点的影响,并保证结果的空间变换不变性。 在第四步中,模型利用先前计算的查询、键和值向量,通过注意力机制对邻居节点的信息进行加权聚合。具体来说,目标节点\(\mathrm{i}\)和其邻居节点\(\mathrm{j}\)之间的注意力权重\(\alpha_{ij}\)是通过目标节点的查询向量\(q_{i}\)和邻居节点的键向量\(k_{ij}\)的点积计算得出的,表达式为: \(\alpha_{ij}=\frac{\exp(q_i^\top k_{ij})}{\sum_{j^{\prime}}\exp(q_i^\top k_{ij^{\prime}})}\) 这种注意力权重反映了目标节点\(\mathrm{i}\)对邻居节点\(\mathrm{j}\)信息的关注程度。随后,目标节点的输出特征\(f_{\mathrm{out},i}\)是对所有邻居节点的信息(即值向量\(\boldsymbol{v}_{{ij}}\))进行加权求和后的结果,公式为:

SE(3)-Transformers Read More »

SEGNN

Geometric and Physical Quantities Improve E(3) Equivariant Message Passing是另一篇研究如何通过几何和物理量来增强E(3)等变消息传递的论文。E(3) 等变性指的是在三维欧几里得空间中,模型在平移、旋转和反射变换下保持不变性。在分子模拟和其他三维数据应用中,捕捉输入数据的对称性(如平移、旋转和反射)是至关重要的。SEGNN实际上与TFN非常相似,甚至其模型计算与结构更加简单,但是SEGNN对于一些操作的术语使用与描述更加专业合理,可能在某些情况下提供了更为直观和易于理解的等变性实现方法。另一方面,TFN强调使用张量场来捕捉几何关系,而SEGNN则更多地依赖于图神经网络的结构和消息传递机制。 1、可导向特征 使用可导向向量(Steerable features)是在图神经网络中实现等变性的有效方法。这里的“可导向性”指的是是一类在特定变换下具有特定行为的特征。例如,如果一个结构被旋转,那么它的可导向特征将以已知的方式响应这次旋转。这些特征通常是在网络的设计中引入对称性和等变性原则,以确保在变换(如旋转、平移或反射)下,特征能够保留输入的对称性。简单说,可导向特征确保了特征表示的等变性,即当输入发生变换时,特征表示也会相应变换。 在SEGNN中,可导向向量的定义如下:向量\(\tilde{h}\)被定义为可导向的,这意味着它可以通过矩阵\(\boldsymbol{D}(g)\)来响应变换\(\mathrm{g}\)。例如,在三维空间中,一个欧几里得向量通过旋转矩阵\(\mathrm{R}\)进行变换,为了表示向量在变换下的行为,矩阵\(\boldsymbol{D}^{(l)}(g)\)通常是Wigner-D,根据球谐函数的定义,这些矩阵是\((2l+1)\)维的,可以作用于对应维数的向量空间。Wigner-D矩阵帮助实现了向量在旋转下的等变性,如图1所示。 图1(a)显示了一个可导向向量\(\tilde{\boldsymbol{h}}^{(l)}\)。可导向向量在不同\(\mathrm{l}\)阶的球谐函数子空间中被展开,这里\(l=0,1,2\),分别表示标量空间、向量空间和张量空间。每个子空间通过基函数\(Y_m^{(l)}\)(球谐函数)进行表示,向量的不同分量\(\left[h\right]_l^m\)与对应的阶数的球谐函数相乘,形成了这个向量的完整表达。具体来说,\(Y^{(l)}(x)\cdot Y_m^{(l)}(\cdot)\) 的运算表示在点\(\mathrm{x}\)处的球谐函数展开与基函数\(Y_{m}^{(l)}(\cdot)\)的组合。\(Y^{(l)}(x)\)是一个向量,包含所有磁量子数\(\mathrm{m}\)对应的球谐函数值,\(Y_{m}^{(l)}(\cdot)\)是具体的一个基函数,表示在某个特定模式下的值。\(Y^{(l)}(x)\)和\(Y_{m}^{(l)}(\cdot)\)的乘积表示一种分解和重构方式,将复杂函数表示为一组基函数的线性组合。这种表示在处理具有旋转对称性的系统时非常有效,能够方便地进行旋转和其他对称操作的计算。 图1(b)描述的是展示了应用旋转矩阵\(\mathrm{R}\)后向量\(\tilde{\boldsymbol{h}}^{(l)}\)的变化。每个子空间分别变换,向量的整体形态随着旋转而变化,但其基本结构和信息保持一致,体现了等变性。旋转矩阵\(\mathrm{R}\)的本质是Winger-D矩阵,Wigner-D 矩阵是对球谐函数在旋转下的变换进行描述,保证了每个分量在旋转下的正确变换行为。因此,当应用旋转矩阵\(\mathrm{R}\)时,不同阶数\(\mathrm{l}\)的子空间\(V_{l}\)内的向量部分通过相应的 Wigner-D

SEGNN Read More »

ComENet

ComENet计算二面角的方式与GemNet、SphereNet等模型不同,它是从边的角度出发的。在GemNet和SphereNet等模型中,通常是从原子的立体结构和位置出发,使用球坐标系统来建模分子的几何结构。GemNet直接计算原子间的距离、夹角和二面角,依赖于对原子三维坐标的精确描述;而SphereNet则通过投影的方式对二面角的计算进行的简化。 ComENet则采用了一种更为抽象的方法,其专注于边的角度。ComENet首先定义了分子结构中的边,然后利用这些边来构建一个图的局部表示。在这种表示中,二面角不是直接通过计算四个原子的空间位置来得到的,而是通过分析连接这些原子的边之间的相对方向和转动。这种方法有助于模型更好地理解和预测分子在不同化学环境中的行为,因为它抓住了化学键之间相互作用的本质,具体方式如图1所示。 如图1所示,对于图中的任意一条边\(e_{ij}\),选取两个参考节点\(f_j^i\)和\(f_i^j\),分别代表除了节点j之外节点i的最近邻节点,以及除了节点i之外节点j的最近邻节点,\(\mathcal{I}_{ij}\)是从由\(f_i^j,i,j\)形成的平面到由\(f_j^i,j,i\)形成的平面的角度。 这种计算方式的侧重点是边的相对方向而非原子的绝对位置,因此降低了对计算资源的需求。具体来说,在传统的计算方法中,二面角的计算需要四个原子组合参与。而针对一个分子结构而言,四个原子的组合方法要远远多于边的数量,因此ComENet实际上是通过减少计算次数来提高计算效率的。以乙醇(Ethanol)分子为例,如图2所示。 其分子式为 C2H5OH,包含两个碳原子、一个氧原子,以及六个氢原子(共9个原子)。在乙醇中,主要的化学键包括碳-碳键、碳-氧键、以及碳和氧的氢键。具体连接如下:CH键5个、CC键1个、CO键1个、OH键1个,总共有8条边。但是,对于CH和OH边来说,H原子没有其他的邻居,ComENet二面角的计算方法并不适用,对于这种情况,通常会忽略这些边的转动角计算。实际上,单个氢原子的转动对分子的整体构象变化影响较小,尤其是在它只连接一个碳的情况下,因此这种情况下不计算边转动角也不会有太大影响。所以,实际参与二面角计算的边只有2个(CC键和CO键)。对比之下,如果是随机选择四个连续的原子进行二面角的计算,则共用12种,分别是H1-C1-C2-H4、H1-C1-C2-H5、H2-C1-C2-H4、H2-C1-C2-H5、H3-C1-C2-H4、H3-C1-C2-H5、H1-C1-C2-O、H2-C1-C2-O、H3-C1-C2-O、C1-C2-O-H6。对比之下,ComENet二面角的计算方法效率更高。 从另一个角度来说,ComENet计算二面角的过程中参与的四个原子是相互之间距离最近的,这使得模型能更有效地捕捉到分子内部的局部结构变化。这种局部信息特别重要,因为分子的化学性质和反应活性常常由其局部结构决定。因此,通过专注于这些局部连接的原子,ComENet不仅提高了计算效率,也增强了模型对分子行为的预测能力。

ComENet Read More »

SphereNet

为了更好的描述解释SphereNet的二面角计算方式,我们首先正式定义一个三维分子图,通常表示为一个四元组\(G=(u,V,E,P)\)。其中\(u\in R^{d_{u}}\)是分子图的全局特征向量。$ V=\left\{\boldsymbol{v}_{i}\right\}_{i=1}^{n} $是原子特征集,其中每个\(v_{i}\in R^{d_{\nu}}\)是原子i的特征向量。$E = \left\{ (e_k, r_k, s_k)\right\}_{k=1}^{m}$是边集,其中每个\(e_k\in\mathbb{R}^{d_c}\)是特征向量,\(r_{k}\)是接收原子的索引,而\({s_{k}}\)是发送边k的原子的索引。$P= \left\{ p_h\right\}_{h=1}^{n}$是包含每个原子三维空间信息的三维笛卡尔坐标集。另外,我们使用$E = \left\{ (e_k, r_k, s_k)\right\}_{k=1}^{m}$表示指向原子i的边集,\(N_{i}\)表示进入原子i 的节点的索引集。信息传递过程后的输出包括更新的全局特征向量\(u^{^{\prime}}\in R^{d_u}\)、更新的原子特征$V’ =

SphereNet Read More »

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 »

Scroll to Top