4. 图神经网络核心算子与消息传递
在材料图神经网络中,无论模型名称如何变化,其核心计算都可以归结为一次“消息传递”迭代:每个节点从邻居收集信息,经过聚合与更新后得到新的表示。不同算子之间的差异,本质上体现在三个问题上——谁给谁发消息、消息如何构造、消息如何聚合与更新。理解这三层,就能把 GCN、GAT、MPNN、SchNet、CGCNN 放在同一框架下比较,并判断它们各自适合哪类材料问题。
一、统一视角:消息传递的三步分解
设材料图 G=(V,E),节点 v 的特征为 hv,边 (u,v) 的特征为 euv。一次消息传递可写成:
m_v = AGG({ M(h_u, h_v, e_uv) : u ∈ N(v) })
h_v' = UPD(h_v, m_v)
其中 M 是消息函数,AGG 是聚合函数(要求对邻居顺序不敏感,常用求和、求均值或求最大值),UPD 是更新函数。材料图的特殊性在于:节点通常是原子,边是原子间连接或近邻关系,边特征可携带键长、键角、晶格方向等信息。因此,材料学含义往往藏在“边特征如何进入消息函数”这一环节。
二、GCN:归一化邻域平均
GCN(图卷积网络)把消息函数简化为线性变换,聚合采用对称归一化平均:
h_v' = σ( Σ_{u∈N(v)∪{v}} (1/√(d_v d_u)) · W h_u )
其中 d 为节点度,W 为可学习权重。它的材料学含义是:每个原子的新表示是其自身与近邻原子特征的加权平均,权重由配位数决定。GCN 不区分邻居的重要性,也不使用键长、键角等边特征,因此适合只关心连接关系、不强调几何细节的任务,例如基于原子连接拓扑的粗粒度分类。若把 GCN 直接用于需要区分键长差异的性质预测,会丢失关键几何信息。
三、GAT:注意力加权聚合
GAT(图注意力网络)在聚合时引入注意力系数 αuv:
α_uv = softmax_u( LeakyReLU( aᵀ [W h_v || W h_u] ) )
h_v' = σ( Σ_{u∈N(v)} α_uv · W h_u )
材料学含义:模型自动学习“哪个邻居对当前原子更重要”。例如在预测形成能时,异种原子邻居可能比同种原子邻居获得更大权重;在多面体配位环境中,注意力可以突出与中心原子成键更强的配位原子。GAT 仍主要依赖节点特征,边特征通常不直接进入注意力计算,因此对键长的敏感度有限,但比 GCN 更具选择性。
四、MPNN:把边特征写进消息
MPNN(消息传递神经网络)给出最一般的形式,并明确允许边特征参与:
m_v = Σ_{u∈N(v)} M(h_u, h_v, e_uv)
h_v' = UPD(h_v, m_v)
在材料中,euv 可以编码键长、键角、晶格矢量投影等。MPNN 的价值在于把几何信息显式注入消息,因此适合分子性质预测、吸附能、缺陷形成能等对局部几何敏感的任务。实际实现时,M 常用多层感知机,UPD 常用 GRU 或残差连接,以缓解深层过平滑。
五、SchNet:连续滤波卷积
SchNet 面向连续坐标体系,其消息函数使用径向基函数展开键长:
e_uv = exp(-γ (r_uv - μ_k)²) (径向基)
m_v = Σ_u h_u ⊙ W e_uv
h_v' = h_v + m_v
材料学含义:SchNet 把“原子间距离”作为连续输入,通过一组可学习的径向基函数描述不同距离区间的作用强度。它天然满足平移、旋转不变性,适合分子动力学、晶体能量与力场预测。与 MPNN 相比,SchNet 更强调距离的连续变化,而不是离散的键类型。
六、CGCNN:晶体图卷积
CGCNN(晶体图卷积神经网络)专为晶体结构设计,节点为原子,边为晶体近邻,边特征由键长经高斯展开得到:
e_uv = exp(-(r_uv - μ)² / σ²)
m_v = Σ_u σ( W_f [h_u || e_uv] + b_f ) ⊙ g( W_s [h_u || e_uv] + b_s )
h_v' = h_v + m_v
其中 σ 为 Sigmoid 门控,g 为 Softplus 激活。材料学含义:CGCNN 用门控机制控制邻居信息流入,边特征直接参与消息构造,因此能同时利用原子种类与局部配位几何。它适合晶体形成能、带隙、弹性模量等周期性结构性质预测。使用时需注意:近邻截断半径的选择会直接影响图结构,常用 6–8 Å;半径过小会漏掉重要配位,过大则引入噪声并增加计算量。
七、算子选择与材料任务对照
| 算子 | 是否用边特征 | 聚合方式 | 典型材料任务 |
|---|---|---|---|
| GCN | 否 | 归一化平均 | 拓扑分类、粗粒度性质 |
| GAT | 否(可扩展) | 注意力加权 | 需要区分邻居重要性的预测 |
| MPNN | 是 | 求和/均值 | 分子性质、吸附能、缺陷能 |
| SchNet | 是(连续距离) | 径向滤波求和 | 能量、力场、分子动力学 |
| CGCNN | 是(高斯展开) | 门控求和 | 晶体形成能、带隙、模量 |
八、实现要点与常见问题
在具体实现中,消息传递层通常堆叠 3–5 层。层数过少,感受野不足,无法捕捉长程配位环境;层数过多,所有节点表示趋于一致,出现过平滑,反而降低区分度。缓解手段包括残差连接、跳跃连接、LayerNorm 以及限制层数。
另一个关键点是邻居截断与图构建。以 CGCNN 为例,若截断半径设为 6 Å,某原子周围可能只有 4 个邻居;设为 8 Å 则可能增加到 12 个以上。邻居数量变化会改变聚合结果的尺度,因此常配合均值聚合或归一化。实际训练时,建议先统计不同截断半径下的平均配位数,再结合任务精度与显存开销确定半径。