《Do Transformers Really Perform Bad for Graph Representation?》论文笔记

引言

论文提出 Graphormer 对“图数据结构”进行表征学习,Graphormer 是基于标准 Transformer 模型结构, 通过加入 Centrality Encoding、Spatial Encoding 、Edge Encoding 技术编码图结构信息, Centrality Encoding 主要用于编码节点的重要度信息, Spatial Encoding 主要用于编码节点位置结构信息。模型示意图如下:
在这里插入图片描述
 

Graph Neural Network

给定一个图对象 G = ( V , E ) G=(V, E) G=(V,E) V = { v 1 , v 2 , . . . , v n } V=\{v_1, v_2, ..., v_n\} V={v1,v2,...,vn} 表示节点集合, x i x_i xi 表示特定节点对应的特征向量,GNN网络的目标是学习节点的向量表征、与图对象的向量表征。

对节点的表征学习遵从 AGGREGATE-COMBINE 模式,用 h i l h_i^l hil 表示节点 i i i l l l 次迭代对应的特征向量,并且 h i 0 = x i h_i^0 = x_i hi0=xi,则:
a i l = A G G R E G A T E ( { h j ( l − 1 ) , j ∈ N ( v i ) } ) h i l = C O M B I N E ( h i ( l − 1 ) , a i l ) a_i^l = AGGREGATE(\{h_j^{(l-1)}, j\in N(v_i)\}) \newline h_i^l = COMBINE(h_i^{(l-1)}, a_i^l) ail=AGGREGATE({hj(l1),jN(vi)})hil=COMBINE(hi(l1),ail)

N ( v i ) N(v_i) N(vi) 表示节点 i i i 的邻居节点集合, a i l a_i^l ail 实质是从邻居节点中抽取信息,而 $h_i^l $ 对邻居节点信息与自身特征信息进行融合。

为了得到图对象整体的表征,可以在最后一次迭代 L L L 中,对所有节点的表征向量进行聚合, h G = R E A D O U T ( { h i L , i ∈ G } ) h_G=READOUT(\{h_i^L, i \in G\}) hG=READOUT({hiL,iG}), 得到的 h G h_G hG 就可以作为图表征向量。
 

Transformer

Transformer 的核心是注意力机制,单一头注意力机制计算如下, :
H l − 1 = [ h 1 l − 1 , h 2 l − 2 , . . . , h n l − 1 ] Q = H l − 1 W Q , K = H l − 1 W K , V = H l − 1 W V A = Q T K / d k H l = A V H^{l-1} = [h_1^{l-1}, h_2^{l-2}, ..., h_n^{l-1}]\newline Q=H^{l-1}W_Q, K=H^{l-1}W_K, V=H^{l-1}W_V \newline A=Q^TK/\sqrt{d_k} \newline H^l=AV Hl1=[h1l1,h2l2,...,hnl1]Q=Hl1WQ,K=Hl1WK,V=Hl1WVA=QTK/dk Hl=AV
 

Graphormer

标准 Transformer 依赖隐向量的相似度来决定注意力强度,但在图数据结构中,仅利用节点的特征向量是不够的,还需高效的利用图结构信息。
 

Centrality Encoding

Centrality Encoding 用于度量图节点的重要程度,图中不同节点应该具有不同的重要程度,将节点的重要度信息注入到 Transformer 中,有助于模型对图数据的理解。在具体实现上,主要根据节点的 “度” 信息来决定节点的重要程度,在有向图中,每个节点有“入度” 与 “出度”两个值,Graphormer 会赋予每个节点两个度向量,并将度向量与特征向量加在一起作为输入:
h i 0 = x i + z d e g r e e ( v i ) − + z d e g r e e ( v i ) + h_i^0 = x_i + z^-_{degree_{(v_i)}} + z^+_{degree_{(v_i)}} hi0=xi+zdegree(vi)+zdegree(vi)+

z + z^+ z+ z − z^- z 是可学习的 Embedding 矩阵, 对于无向图, z + z^+ z+ z − z^- z 可以合并为一个可学习矩阵 。
 

Spatial Encoding

标准 Transformer 是为文本数据建模而设计的,在处理文本序列时,通过绝对位置编码或者相对位置编码,注入位置信息,而图数据结构并非典型的序列数据,那么应采用何种位置编码信息来表示节点的位置呢?论文采取了相对位置编码的思想,将节点 v i v_i vi v j v_j vj 之间的最短路径距离作为位置信息,如果两节点是可连通的,则取值为最短路径长度,否则取-1或者其它特殊值。针对每一位置值,Graphormer 初始化一个可学习标量与之对应,并将位置信息加入到注意力矩阵 A A A中:
A i j = Q T K d + b f ( v i , v j ) A_{ij} = \frac{Q^TK}{\sqrt d} + b_{f(v_i, v_j)} Aij=d QTK+bf(vi,vj)

偏置项 b f ( v i , v j ) b_{f(v_i, v_j)} bf(vi,vj) 表示的就是两节点的位置信息。
 

Edge Encoding

如果边对象集合包含有意义的特征向量信息,将这部分信息注入到模型,将有利于表征学习,论文指出传统的 Edge Encoding 有两种方式,一种是将相关联的边特征向量加总到节点特征向量上,另一种将边向量加入到 AGREEGATE-COMBINE的AGREEGATE阶段。

Graphormer 提出了一种全新的 Edge Encoding,对于任意可连通的节点对 ( 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}, 两节点的边特征信息融合为 c i j = 1 N ∑ i = 1 N x e n ( w n E ) T c_{ij} = \frac{1}{N}\sum_{i=1}^Nx_{e^n}(w_n^E)^T cij=N1i=1Nxen(wnE)T, 其中 x e n x_{e^n} xen 是最短路径中某一条边对应的特征向量, w E w^E wE 是一个可学习的Embedding 矩阵。最终将 c i j c_{ij} cij 加总到注意力矩阵 A i j A_{ij} Aij

A i j = Q T K d + b f ( v i , v j ) + c i j A_{ij} = \frac{Q^TK}{\sqrt d} + b_{f(v_i, v_j)} + c_{ij} Aij=d QTK+bf(vi,vj)+cij
 

Implementation Details of Graphormer

将 Layer Normalization 应用在MHA 与 FFN 之前。
H l ′ = M H A ( L N ( H l − 1 ) ) + H l − 1 H l = F F N ( L N ( H l ′ ) + H l ′ H^{l'} = MHA(LN(H^{l-1})) + H^{l-1} \newline H^{l} = FFN(LN(H^{l'}) + H^{l'} Hl=MHA(LN(Hl1))+Hl1Hl=FFN(LN(Hl)+Hl

添加 Special Node 融合图 G G G 的信息,与 READOUT函数功能类似:

  • 在 Graphormer 中, 用 [VNode] 表示 Special Node。
  • [VNode] 与图 G G G 的任意一节点直接连接。
  • 在 AGGREGATE-COMBINE 阶段, [VNode] 的表征学习与普通阶段一致,在READOUT阶段,直接采取最后一层的[VNode] 的表征学习作为 h G h_G hG
  • 由于 [VNode] 与其它节点的连接是虚拟的,并且最短距离为1,为了区别实际连接距离为1的节点对关系,在 Spatial Encoding 中,对 b f ( v i , [ V N o d e ] ) b_{f(v_i, [VNode])} bf(vi,[VNode]) 设置为一个特殊独立的可学习标量值。

 

实验

在这里插入图片描述
对比第二行与第三行,说明 Spatial Encoding 比 Laplacian PE 更有效,并且对比基线效果,Spatial Encoding 的作用十分明显。 对比第三行与第四行,说明 Centrality Encoding 有助于效果提升。对比最后三行,Edge Encoding 中的 via node 与 via Aggr 分别对应传统的两种融合边特征信息的两种方式, via attn bias 是论文提出的方式,最终结果表明 via attn bias 略优于前两种方式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值