Graph Attention Networks
1 Graph Attention Networks
[Velickovic P, 2017, 1] 提出了图的注意力网络,利用注意力机制聚合信息,相当于空间法的卷积。
用hi(l)表示第l层的第i个顶点的特征向量。
eij=a(Whi(l),Whj(l)).(1.1)
其中a(⋅)是非线性**函数,原文给的是LeakReLUα=0.2(a[Whi(l)∥Whj(l)]),∥是拼接操作。
αij=softmaxj(eij)=∑k∈N(i)exp(eik)exp(eij).(1.2)
用注意力作信息聚合。单头注意力:
hi(l+1)=σ⎝⎛j∈N(i)∑αijWhj(l)⎠⎞.(1.3)
多头注意力为:
hi(l+1)=∥k=1Kσ⎝⎛j∈N(i)∑αijkWkhj(l)⎠⎞.(1.4)
平均注意力:
hi(l+1)=σ⎝⎛K1k=1∑Kj∈N(i)∑αijkWkhj(l)⎠⎞.(1.5)

2 Watch Your Step: Learning Node Embeddings via Graph Attention
[Abuelhaija S, 2018, 2] 在利用转移矩阵T=diag(A×1N)−1×A作随机游走计算共现矩阵D(co-occurrence matrix)时,使用注意力作概率对每次转移加权。
E[D;Q1,Q2,⋯,QC]=P~(0)k=1∑CQk(T)k=P~(0)EQ[(T)k].(2.1)
其中C是总的随机游走步数,P~(0)是初始的位置对角阵,∑kQk=1。
使用注意力机制:
(Q1,Q2,Q3,⋯)=softmax((q1,q2,q3,⋯)).(2.2)
3 GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs
[Zhang J, 2018, 3] 使用了Gate门控注意力,就是在[Velickovic P, 2017, 1]提出的注意力中的∑j∈N(i)αijWhj(l)的部分再加入一个权重门控:
hi(l+1)=∥k=1Kσ⎝⎛j∈N(i)∑gikαijkWkhj(l)⎠⎞.(3.1)
门控gi:
gi=(gi1,⋯,giK)=σ(hi(l)∥j∈N(i)max({W1hj(l)+b1})∥∣N(i)∣∑j∈N(i)hj(l))W2+b2.(3.2)

4 Graph Classification using Structural Attention
[Lee J B, 2018, 4] 提出了结构注意力,就是对邻居信息聚合时使用了注意力机制。

上图中fs(⋅:θs)对邻居顶点信息聚合,fh(⋅:θh)对隐藏层表达更新,fc(⋅:θc)使用新的隐藏层表达预测标签,fr(⋅:θr)则生成新的排序向量(反映顶点的类型重要性排序)rt。
fs(⋅:θs)也称作Step Module,工作原理见下图。A,D别是邻接矩阵和顶点特征向量矩阵,ct−1是当前顶点。而rt−1是排序向量,τ:RN×D→RN×R,R是顶点类型,也可以看成是将原理的特征变换后的新特征表达。其中(Trt−1)T就是注意力权重。

参考文献
-
1 Velickovic P, Cucurull G, Casanova A, et al. Graph Attention Networks[J]. arXiv: Machine Learning, 2017.
-
2 Abuelhaija S, Perozzi B, Alrfou R, et al. Watch Your Step: Learning Node Embeddings via Graph Attention[C]. neural information processing systems, 2018: 9180-9190.
-
3 Zhang J, Shi X, Xie J, et al. GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs[J]. arXiv: Learning, 2018.
-
4 Lee J B, Rossi R A, Kong X, et al. Graph Classification using Structural Attention[C]. knowledge discovery and data mining, 2018: 1666-1674.