Equivariant Graph Neural Networks

论文链接:https://arxiv.org/abs/2102.09844

  • 一种新模型来学习与旋转、平移、反射和排列等变的图神经网络,称为 E(n)-等变图神经网络 (EGNN)

尽管深度学习在很大程度上取代了手工制作的特征,但许多进步严重依赖于深度神经网络中的归纳偏差。(inductive bias)

将神经网络限制为和研究问题相关函数的一种有效方法是,利用问题的对称性、变换等变性(equivariance),通过研究某个对称组来简化当前问题的计算。

  • CNN的卷积是等变形、池化是近似不变性;
  • GNN的点的排列顺序是等变性(不同点的排列对应不同的邻接矩阵,但是最终这张graph表达的信息是一样的)

许多问题都表现出 3D 平移和旋转对称性

  • 这些对称操作的集合记为SE(3) ,如果包含反射,那么集合记为 E(3)。 通常希望对这些任务的预测相对于 E(3) 变换是等变的或不变的。

最近,已经提出了等变E(3) 或 SE(3) 的各种形式和方法。 其中许多工作在研究中间网络层的高阶表示类型方面实现了创新。 然而,这些高阶表示的转换需要计算成本高昂的系数或近似值。 此外,在实践中,对于许多类型的数据,输入和输出仅限于标量值(例如温度或能量,在文献中称为 type-0)和 3D矢量(例如速度或动量,在文献中称为 type-1)

  • 它是平移、旋转和反射等变 (E(n)),以及关于输入点集的置换等变。 模型比以前的方法更简单,同时模型中的等变性不限于 3 维空间,并且可以扩展到更大的维空间,而不会显着增加计算量。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

等变性:先平移/旋转/排列再映射,和先映射再平移/旋转/排列 效果是一样的

论文中探索了三种等变性:

  1. Translation equivariance
  2. Rotation and relection equivariance
  3. Permutation equivariance.
    • 置换同变性:在这里插入图片描述
    • 置换不变性:在这里插入图片描述
    • 简单来说,置换不变性使得输出与输入顺序无关,而置换同变性使得输出顺序与输入顺序对应
    • 显然置换同变函数后面接一个置换不变的函数,得到的函数还是置换不变的。
    • 什么时候需要这两类函数?因为图天然具有无序性,当我们关心节点特征时,我们希望改变节点标号时,节点特征不变,或者说节点特征的排序要根据节点编号做出重排,这时候就需要置换同变性;当我们关心图特征时,希望改变节点标号不影响图特征,就需要置换不变性。
    • GNN 的置换同变性称为全局同变性(Global Equivariance),将聚合算子的置换不变性称为局部不变性(Local Invariance),显然,局部不变性诱导全局同变性。
      • 聚合算子的置换不变性对于全局的置换同变性来说,是非必要的
      • 直接定义全部同变 GNN 仅有理论价值,无实际价值
    • 那么有没有办法设计新的不满足不变性的聚合算子,使得 GNN 整体上仍具有同变性,但是具有更强的表达能力呢?答案是肯定的,只需引入局部同变性(Local Equivariance),即
    • 局部同变性:相同邻域结构的节点具有相同的表示
      在这里插入图片描述
      在这里插入图片描述
  • 三大关键点:消息函数、更新函数和聚合函数 , 这决定了GNN的表达能力
    在这里插入图片描述

参考:https://www.cnblogs.com/hilbert9221/p/14443747.html

消息传递框架 MPNN

在这里插入图片描述
在这里插入图片描述

GCN & GAT & GSAGE

https://zhuanlan.zhihu.com/p/412296850

等变神经网络综述

  • 在物理和化学领域,很多问题需要去处理带有几何特征的图。

例如,化学小分子和蛋白质都可以建模成一个有原子和其化学键关系组成的几何图。在这个图中,除了包含原子的一些内在特征以外,我们还需要考虑到每个原子在空间的三维坐标这一几何特征。而在物理学的多体问题中,每个粒子的几何特征则包括坐标,速度,旋转等。

不同于一般特征,这些几何特征往往都具备着一些对称性和等变性。正因为如此,基于对对称性的建模,大量基于图神经网络的改进模型在近年来被提出。这一类模型,因为克服了传统图神经网络无法很好处理这类具有等变对称性质的特征的缺点,被统称为等变图神经网络。

例如,在预测分子的能量时,我们需要这个预测对于输入的几何特征是不变的,而在分子动力学应用中,我们则需要预测的结果和输入的几何特征是等变的。

通用框架

在这里插入图片描述

在这里插入图片描述

基于不可约表示信息的模型

这类模型基于表示论中关于紧群的线性表示可以拆解为一系列的不可约表示的直积这一理论。从而在 SE(3) 群中构建满足等变性质的消息模型。

  • 例如,在 TFN 中:
    在这里插入图片描述
    有大量的工作基于 TFN 结构做了相应的扩展,例如加入 Attention 机制, 引入非线性的 Clebsch-Gordan 系数等。但是这类方法计算复杂度都较高,且不可约表示仅仅适用于特定的群。这约束了这类模型的表达能力。

基于正则表示信息的模型

在这里插入图片描述
LieTransformer 基于此思想,引入了自注意力机制来进一步提高模型的性能。基于李群正则表示的模型在群的选取上更加灵活,但是由于要进行离散化和采样,需要在效率和性能之间做出权衡。同时,以上的更新只考虑了标量信息 h,但难以直接推广到对几何信息 x 的更新,除非综合哈密顿网络等工作中的更新方法。

### ComENet 的背景和技术细节 #### 什么是 ComENet? ComENet 是一种基于几何图神经网络(Geometric Graph Neural Networks, GGNN)的方法,专门用于分子性质预测和其他涉及三维空间结构的任务。它继承了等变性图神经网络(Equivariant Graph Neural Networks)的思想,能够有效捕捉原子间的方向性和距离关系[^2]。 #### 技术背景 ComENet 的核心在于通过引入方向感知机制来增强模型的表现力。相比于传统的不变量图神经网络(Invariant GNNs),后者仅能捕获节点特征而不关注边的方向信息,ComENet 利用了矢量耦合技术,使得模型能够在保持旋转和平移等变性的前提下学习到更丰富的几何特性[^3]。 以下是 ComENet 的一些关键技术特点: 1. **等变性设计** ComENet 使用球谐函数(Spherical Harmonics)编码原子间的相对位置向量,并将其嵌入到消息传递过程中。这种设计确保了模型对于输入数据的旋转操作具有稳定的响应行为。 2. **高效的消息传递框架** 基于 MPNN(Message Passing Neural Network)架构扩展而来,ComENet 提供了一种新的消息更新公式,允许在每次迭代中同时传播标量和张量特征。这不仅提高了计算效率,也增强了表示能力[^4]。 3. **可解释性强** 不同于某些端到端方法可能带来的黑箱效应,ComENet 明确分离了几何建模与化学属性预测两个阶段,从而便于研究人员理解每一步骤的作用及其贡献。 #### 应用场景 由于其出色的性能表现及良好的理论基础支持,ComENet 已经成功应用于多个领域,包括但不限于药物发现中的虚拟筛选、材料科学里的晶体稳定性评估等方面。特别是在处理那些高度依赖精确空间排列的信息时,比如蛋白质折叠或者纳米管生长模拟等问题上展现了显著优势。 ```python import torch from e3nn import o3 class ComENetLayer(torch.nn.Module): def __init__(self, irreps_in, irreps_out): super().__init__() self.linear = o3.Linear(irreps_in, irreps_out) def forward(self, features, edge_attr): msg = self.linear(features) * edge_attr # Element-wise multiplication with directional encoding return msg.sum(dim=-2) # Aggregate messages across neighbors # Example usage of a single layer within the network architecture. layer = ComENetLayer('8x0e + 8x1o', '8x0e') features = torch.randn(10, 16) # Input node features (batch size=10) edge_attr = torch.randn(10, 5, 9) # Edge attributes including direction vectors encoded as spherical harmonics output = layer(features.unsqueeze(-2), edge_attr) print(output.shape) # Output shape after one message-passing step ``` 上述代码片段展示了如何构建一个简单的 ComENet 层实例并执行前向传播过程。这里我们采用了 E(3)-equivariant neural networks 中实现的操作符来进行高效的张量运算。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值