Graph上的Transformer:Graphormer

这个工作来自:Do transformers really perform badly for graph representation,Nips2021,名为Graphormer。Graphormer包含3个主要embedding:centrality encoding, spatial encoding,edge encoding。
fig1

centrality encoding
Graphormer认为节点的向心性(centrality)是图学习的重要信号,因此需要设计一个方法表示向心性并结合到Transformer中。使用图的出度和入度表示节点的向心性: h i ( 0 ) = x i + z d e g − ( v i ) − + z d e g + ( v i ) + h_{i}^{(0)}=x_{i}+z^{-}_{deg^{-}(v_{i})}+z^{+}_{deg^{+}(v_{i})} hi(0)=xi+zdeg(vi)+zdeg+(vi)+其中, z − , z + ∈ R d z^{-},z^{+}\in\mathbb{R}^{d} z,z+Rd为入度 d e g − ( v i ) deg^{-}(v_{i}) deg(vi)和出度 d e g + ( v i ) deg^{+}(v_{i}) deg+(vi)的可学习embedding。对于无向图, d e g − ( v i ) deg^{-}(v_{i}) deg(vi) d e g + ( v i ) deg^{+}(v_{i}) deg+(vi)可以统一为 d e g ( v i ) deg(v_{i}) deg(vi)

spatial encoding
Transformer的一大优势就是具有全局感受野。对于序列信息来说,为了获得序列中的空间信息,通常Transformer会引入Position embedding来编码序列中的空间信息。然而对于图结构来说,节点并没有组织成序列。为了在模型中编码图的空间信息,Graphormer提出了Spatial Encoding。

对于图 G G G,考虑函数 ϕ ( v i , v j ) \phi(v_{i},v_{j}) ϕ(vi,vj)衡量了图 G G G中节点 v i v_{i} vi v j v_{j} vj的空间关系。Graphormer使用shortest path distance (SPD) 来衡量两个相连节点之间的距离 ϕ ( v i , v j ) \phi(v_{i},v_{j}) ϕ(vi,vj)。如果两个节点不相连,则 ϕ = − 1 \phi=-1 ϕ=1。引入spatial encoding后的Query-Key相似矩阵元素 A i j A_{ij} Aij为: A i j = ( h i W Q ) ( h j W K ) d + b ϕ ( v i , v j ) A_{ij}=\frac{(h_{i}W_{Q})(h_{j}W_{K})}{\sqrt{d}}+b_{\phi(v_{i},v_{j})} Aij=d (hiWQ)(hjWK)+bϕ(vi,vj)其中, b ϕ ( v i , v j ) b_{\phi(v_{i},v_{j})} bϕ(vi,vj) ϕ ( v i , v j ) \phi(v_{i},v_{j}) ϕ(vi,vj)索引的可学习的标量,在所有Layer上共享。

edge encoding
对于每个节点对 ( v i , v j ) (v_{i},v_{j}) (vi,vj),我们找到 ( v i , v j ) (v_{i},v_{j}) (vi,vj)的最短路径: S P i j = ( e 1 , e 2 , . . . , e N ) SP_{ij}=(e_{1},e_{2},...,e_{N}) SPij=(e1,e2,...,eN),然后计算沿路径的edge feature与可学习的embedding的点积的平均值: A i j = ( h i W Q ) ( h j W K ) d + b ϕ ( v i , v j ) + c i j A_{ij}=\frac{(h_{i}W_{Q})(h_{j}W_{K})}{\sqrt{d}}+b_{\phi(v_{i},v_{j})}+c_{ij} Aij=d (hiWQ)(hjWK)+bϕ(vi,vj)+cij其中: c i j = 1 N ∑ n = 1 N x e n ( w n E ) ⊤ c_{ij}=\frac{1}{N}\sum_{n=1}^{N}x_{e_{n}}(w_{n}^{E})^{\top} cij=N1n=1Nxen(wnE)其中, x e n x_{e_{n}} xen是在路径 S P i j SP_{ij} SPij中的第 n n n个edge feature, w n E ∈ R d E w_{n}^{E}\in\mathbb{R}^{d_{E}} wnERdE为第 n n n个可学习的embedding。

额外的:Special Node
Graphormer基于Transformer实现,为了更好地表示图的整体信息,还添加了一个节点,名为 [ V N o d e ] [VNode] [VNode],并将 [ V N o d e ] [VNode] [VNode]与其他节点独立连接,这类似于BERT中的 [ C L S ] [CLS] [CLS]

总结
Graphormer利用Transformer带有全局感受野的自注意力结构,并引入三种空间编码方式来弥补Transformer感知图结构能力的不足。

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值