论文地址:https://arxiv.org/pdf/2205.12454v4
代码地址:https://github.com/rampasek/GraphGPS
Graph Transformers(GTs)通过允许节点对图中所有其他节点进行注意(全局注意力),从而缓解了与稀疏消息传递机制相关的基本限制。但存在以下问题:
在本文中,提出了一种构建通用、强大且可扩展的图变换器(GPS)的方案。该方案的模块如下:
embedding模块将多个提出的PE和SE方案嵌入到local和global级别,作为附加节点特征;同时位置和结构的相对特征融入边特征
processing模块定义了一个计算图,计算图在消息传递图神经网络(MPNNs)和Transformer的全局注意力之间保持了平衡。
论文的贡献如下:
位置编码(PE):旨在提供图中给定节点在空间中的位置概念。因此,当两个节点在图或子图中彼此接近时,它们的PE也应该接近。
结构编码(SE):旨在提供图或子图结构的嵌入,以帮助提高图神经网络(GNN)的表达能力和泛化能力。因此,当两个节点共享相似的子图,或者当两个图相似时,它们的SE也应该接近。
PE、SE方案,它们基本都可以归纳到local、global、relative三种类别
PE方案
Local PE(作为node features)
global PE (作为node features)
Relative PE (作为edge features)
SE方案
Local SE (作为node feature)
Global SE (作为graph feature)
Relative SE (作为edge feature)
防止早期平滑
在以前,通常在Transformer之前使用几个MPNN层。由于MPNN存在过度平滑、过度压缩和等问题,这些层可能无法在早期阶段保持一些信息。尽管它们可以利用PE/SE或更具表达力的MPNN,它们仍然可能会丢失信息。而GPS layer可以缓解这个问题,它的流程如下:
方程如下:
X ℓ + 1 , E ℓ + 1 = G P S ℓ ( X ℓ , E ℓ , A ) ( 1 ) computed as X M ℓ + 1 , E ℓ + 1 = M P N N e ℓ ( X ℓ , E ℓ , A ) , ( 2 ) X T ℓ + 1 = GlobalAttn ℓ ( X ℓ ) , ( 3 ) X ℓ + 1 = M L P ℓ ( X M ℓ + 1 + X T ℓ + 1 ) , ( 4 ) \begin{aligned} \mathbf{X}^{\ell+1},\mathbf{E}^{\ell+1} & =\quad\mathrm{GPS}^{\ell}\left(\mathbf{X}^{\ell},\mathbf{E}^{\ell},\mathbf{A}\right) & & \mathrm{(1)} \\ \text{computed as}\quad\mathbf{X}_M^{\ell+1},\mathbf{E}^{\ell+1} & =\quad\mathrm{MPNN}_{e}^{\ell}\left(\mathbf{X}^{\ell},\mathbf{E}^{\ell},\mathbf{A}\right), & & \mathrm{(2)} \\ \mathbf{X}_T^{\ell+1} & =\quad\text{GlobalAttn}^\ell\left(\mathbf{X}^\ell\right), & & \mathrm{(3)} \\ \mathbf{X}^{\ell+1} & =\quad\mathrm{MLP}^\ell\left(\mathbf{X}_M^{\ell+1}+\mathbf{X}_T^{\ell+1}\right), & & \mathrm{(4)} \end{aligned} Xℓ+1,Eℓ+1computed asXMℓ+1,Eℓ+1XTℓ+1Xℓ+1=GPSℓ(Xℓ,Eℓ,A)=MPNNeℓ(Xℓ,Eℓ,A),=GlobalAttnℓ(Xℓ),=MLPℓ(XMℓ+1+XTℓ+1),(1)(2)(3)(4)
模块化(Modularity) 使得各个模块或组件可以互相替换、灵活组合,从而方便调整或扩展。
初始 PE/SE 类型:在系统中,可以根据需要替换不同类型的节点特征(PE)和边特征(SE)。
处理这些 PE/SE 的网络:例如,可以使用不同类型的神经网络来处理这些特征(如MLP),这部分也可以进行替换。
MPNN 和 GlobalAttn 层:它们是 模块化的,即它们可以被其他不同类型的图神经网络层或者注意力机制所替代,适应不同的需求。
任务特定预测头:这是网络最后的输出层,用于根据任务的具体需求进行预测。任务特定的预测头也可以根据不同的任务进行更换。
GPS更详细的方程如下:
X ℓ + 1 , E ℓ + 1 = G P S ℓ ( X ℓ , E ℓ , A ) ( 6 ) computed as X ^ M ℓ + 1 , E ℓ + 1 = M P N N e ℓ ( X ℓ , E ℓ , A ) , ( 7 ) X ^ T ℓ + 1 = GlobalAttn ℓ ( X ℓ ) , ( 8 ) X M ℓ + 1 = B a t c h N o r m ( D r o p o u t ( X ^ M ℓ + 1 ) + X ℓ ) , ( 9 ) X T ℓ + 1 = B a t c h N o r m ( D r o p o u t ( X ^ T ℓ + 1 ) + X ℓ ) , ( 10 ) X ℓ + 1 = M L P ℓ ( X M ℓ + 1 + X T ℓ + 1 ) ( 11 ) \begin{aligned} \mathbf{X}^{\ell+1},\mathbf{E}^{\ell+1} & =\quad\mathrm{GPS}^\ell\left(\mathbf{X}^\ell,\mathbf{E}^\ell,\mathbf{A}\right) & \left(6\right) \\ \text{computed as}\quad\hat{\mathbf{X}}_M^{\ell+1},\mathbf{E}^{\ell+1} & =\quad\mathrm{MPNN}_e^\ell\left(\mathbf{X}^\ell,\mathbf{E}^\ell,\mathbf{A}\right), & \mathrm{(7)} \\ \hat{\mathbf{X}}_{T}^{\ell+1} & =\quad\text{GlobalAttn}^\ell\left(\mathbf{X}^\ell\right), & \left(8\right) \\ \mathbf{X}_{M}^{\ell+1} & =\quad\mathrm{BatchNorm}\left(\mathrm{Dropout}\left(\hat{\mathbf{X}}_M^{\ell+1}\right)+\mathbf{X}^\ell\right), & \mathrm{(9)} \\ \mathbf{X}_{T}^{\ell+1} & =\quad\mathrm{BatchNorm}\left(\mathrm{Dropout}\left(\hat{\mathbf{X}}_T^{\ell+1}\right)+\mathbf{X}^\ell\right), & \mathrm{(10)} \\ \mathbf{X}^{\ell+1} & =\quad\mathrm{MLP}^\ell\left(\mathbf{X}_M^{\ell+1}+\mathbf{X}_T^{\ell+1}\right) & \mathrm{(11)} \end{aligned} Xℓ+1,Eℓ+1computed asX^Mℓ+1,Eℓ+1X^Tℓ+1XMℓ+1XTℓ+1Xℓ+1=GPSℓ(Xℓ,Eℓ,A)=MPNNeℓ(Xℓ,Eℓ,A),=GlobalAttnℓ(Xℓ),=BatchNorm(Dropout(X^Mℓ+1)+Xℓ),=BatchNorm(Dropout(X^Tℓ+1)+Xℓ),=MLPℓ(XMℓ+1+XTℓ+1)(6)(7)(8)(9)(10)(11)