ICLR2021-1:MULTI-HOP ATTENTION GRAPH NEURAL NETWORKS
GAT的注意機制並沒有考慮到非直接連線但提供重要網路上下文的節點,這可能會導致預測效能的提高。因此本文的作者提出了Multi-hop Attention Graph Neural Network (MAGNA),將多跳上下文資訊納入注意力計算的原則方法,使GNN的每一層都能進行遠端互動。為了計算非直接連線的節點之間的注意力,MAGNA將注意力分數分散到整個網路中,從而增加了GNN每一層的感受域。這樣,網路聚合的資訊增加,並且有注意力引數作為特徵選擇的指導。從理論上來說,3層每層6step的MAGNA和3×6=18的GAT具有相同的接受域,但是後者會因為模型的層數過深而過平滑。
圖1.Multi-hop attention diffusion |
---|
Model
符號定義:
其中,
T
,
R
T,R
T,R分別表示節點的type和邊的type。邊的embedding可以表示為:
R
∈
R
N
r
×
d
r
R∈R^{N_r×d_r}
R∈RNr×dr。
注意力擴散過程中,輸入是
(
v
i
,
r
k
,
v
j
)
(v_i, r_k, v_j)
(vi,rk,vj)三元組,分別表示節點i,j和邊k。MAGNA首先計算所有邊緣的注意力分數,這同GAT中提到的注意力是一樣的。注意力擴散模組根據邊的注意力分數,通過擴散過程計算非邊緣直接連線的節點對之間的注意力值。
圖2. MAGNA Architecture |
---|
Edge Attention Computation
注意力計算的過程表示為:
唯一與GAT不同的是增加了對邊
r
k
r_k
rk的考慮,其中的
v
a
(
l
)
v_a^{(l)}
va(l)則是一個
3
d
(
l
)
3d^{(l)}
3d(l)的可學習引數,||為拼接操作。對於無關係型別的圖,我們將其視為一類簡併的分類分佈(概率為1)。然後,注意力矩陣為:
然後和GAT一樣,使用softmax得到標準化的注意力矩陣:
A
(
l
)
=
s
o
f
t
m
a
x
(
S
(
l
)
)
A^{(l)}=softmax(S^{(l)})
A(l)=softmax(S(l))。
Attention Diffusion for Multi-hop Neighbors
基於1跳注意矩陣A的冪次,通過圖擴散計算多跳鄰居的注意分數,也就是注意力矩陣的多次冪。物理含義是不直接相鄰(多跳相鄰)的節點之間的注意力:
其中,
θ
i
θ_i
θi是注意力衰減因子,保證
θ
i
>
θ
i
+
1
θ_i>θ_{i+1}
θi>θi+1,也就是距離中心節點越遠的節點其重要程度要予以一定的衰減。文中使用了geometric distribution去計算注意力衰減因子:
θ
i
=
α
(
1
−
α
)
i
,
α
∈
(
0
,
1
]
θ_i=α(1-α)^i,α∈(0,1]
θi=α(1−α)i,α∈(0,1](注意這個東西,是不是和PageRank GCN有點像?)。該選擇基於一種歸納偏差,即距離較遠的節點在訊息聚合中權重應較小,與目標節點的關係路徑長度不同的節點依次獨立權重。最終注意力擴散的形式化描述為:
因為注意力擴散的過程中只是已經計算好的注意力矩陣
A
A
A的多次冪,因此其需要學習的引數與GAT一樣。
Approximate Computation for Attention Diffusion
因為MAGNA只需要通過
A
H
(
l
)
AH^{(l)}
AH(l)進行聚合,因此通過定義一個序列可以近似代替:
這和PageRank GCN一毛一樣。許多現實世界圖都表現出小世界性質,在這種情況下,選用較小的K值便足夠了。對於直徑較大的圖,我們選擇較大的K,並降低α的值。
DIRECT MULTI-HOP ATTENTION BASED GNN ARCHITECTURE
多頭注意力是不同注意力引數矩陣下學習結果的拼接:
首先,對於上一層的輸出,使用LayerNorm,然後計算多頭注意力
h
e
a
d
i
head_i
headi,並將
M
M
M個head拼接起來,在乘一個特徵對映矩陣
W
o
W_o
Wo,最終的到本層的輸出。
模型新增層規範化和剩餘連線,為每個塊提供了更具表達性的聚合步驟:
EXPERIMENTS
TASK 1: NODE CLASSIFICATION
對於資料集Cora、Citeseer和Pubmed,我們使用了6個隱藏尺寸為512的MAGNA塊和8個注意頭。對於大規模的ogbn-arxiv資料集,我們使用了2個隱藏尺寸為128的大塊和8個注意頭。
我們報告了(表1)從MAGNA的每一層移除MAGNA各組成部分(層歸一化、注意力擴散和深度聚集前饋層)後的模型效能。注意,這個模型等同於沒有這三個元件的GAT。我們觀察到,對於所有資料集,擴散和層歸一化在提高節點分類效能方面都發揮了關鍵作用。雖然層歸一化單獨沒有好處GNNs,其使用與注意擴散模組顯著提高MAGNA的效能。由於MAGNA計算了很多注意力值,因此層歸一化對於保證訓練穩定性至關重要。
TASK 2: KNOWLEDGE GRAPH COMPLETION
通過標準基準知識圖(WN18RR (Dettmers等,2018)和FB15K-237 (Toutanova & Chen, 2015)對MAGNA進行評估。對MAGNN之後的結果,使用了一個簡單的DistMult解碼器。DistMult是一個隱變數雙線性評分模型的一個簡單改進(這部分感興趣的可以自己看一下知識圖譜表示學習),為了考慮一種簡單的方法來減少關係引數的數量,限制
M
r
M_r
Mr為一個對角矩陣:
這個評分函式計算了兩個節點之間的評分,並用於損失函式:
同Trans系列模型一樣,給定一組正例
T
T
T(也就是在知識圖譜中實際存在的三元組)和一組負例
T
’
T^’
T’(公式太繁瑣了就不打出來了):
可以看到負例就是破壞正例得到的三元組的集合。
S
S
S就是上述的評分函式。對於負例,這個評分直覺上應該要更小,對於正例則大。所以,
S
’
−
S
S’-S
S’−S的差應該儘可能大,
S
’
−
S
+
1
S’-S+1
S’−S+1之後則變小,那麼最終的
L
o
s
s
Loss
Loss也儘可能小,就OK了。知識表示學習的準確率則用Mean Reciprocal Rank (MRR), Mean Rank (MR), hit rate at K (H@K)來衡量:
對於一個query,若第一個正確答案排在第n位,則MRR得分就是
1
/
n
1/n
1/n。(如果沒有正確答案,則得分為0)。
MR則是testing triple中正確答案也就是真實的t到底能在上述序列中排多少位,比如說t1排100,t2排200,t3排60…,之後對這些排名求平均,Mean rank就得到了。
H
@
K
H@K
H@Ktesting triple正確答案是否排在序列的前十,如果在的話就計數+1,最終,在前十的個數/總個數,就是Hit@10。
最終,準確率為:
MAGNA在所有四個指標上都實現了最先進的知識圖譜補全(表3)。MAGNA優於最近的淺層嵌入方法(QuatE)和深度嵌入方法(SACN)。注意,使用相同的解碼器(DistMult), MAGNA使用自己的嵌入實現了比使用相應的DistMult嵌入的巨大改進。
MAGNA MODEL ANALYSIS
上述幾幅圖分別代表了:(a)模型對拉普拉斯矩陣特徵值的影響,圖中較大結構對應的低特徵值被放大(放大到8倍),而帶有噪聲資訊的特徵向量對應的高特徵值被抑制;(b)模型的深度對最終效果的影響;(c)hop數量,也就是引數K;(d)α的值。
注意力的最終分佈。我們首先定義節點
v
i
v_i
vi在注意矩陣A上的差異度量:
其中
U
i
U_i
Ui是節點
v
i
v_i
vi的均勻分佈分數。這個差異度用來衡量學習到的注意力在多大程度上偏離了一種無資訊的均勻分佈,這個值越大就顯示了更多有意義的注意力分數。所以MAGNA學習到的注意力要比GAT更多且更有用。
相關文章
- 圖學習(一)Graph Attention Networks
- 論文解讀(GIN)《How Powerful are Graph Neural Networks》
- 論文解讀(DAGNN)《Towards Deeper Graph Neural Networks》GNN
- 論文解讀(LA-GNN)《Local Augmentation for Graph Neural Networks》GNN
- 論文解讀(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》
- Convolutional Neural Networks(CNN)CNN
- 神經網路(neural networks)神經網路
- 論文解讀(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》GNN
- 論文解讀(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》GNN
- CNN (Convolutional Neural Networks) AbstractCNN
- GAT: Graph Attention Network | 論文分享
- 圖神經網路論文閱讀(十六) GraLSP: Graph Neural Networks with Local Structural Patterns,AAAI 2020神經網路StructAI
- 機器學習實戰(十三):Convolutional Neural Networks機器學習
- COMP9444 Neural Networks and Deep Learning
- Graph Neural Network——圖神經網路神經網路
- DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ | NEURAL NETWORKSPyTorch
- DualGNN: Dual Graph Neural Network for Multimedia RecommendationGNN
- Delphi 論文閱讀 Delphi: A Cryptographic Inference Service for Neural Networks
- Recurrent Neural Networks(RNN) 迴圈神經網路初探RNN神經網路
- Outrageously Large Neural Networks The Sparsely-Gated Mixture-of-Experts Layer
- 閱讀論文:《Compositional Attention Networks for Machine Reasoning》Mac
- 卷積神經網路:Convolutional Neural Networks(CNN)卷積神經網路CNN
- DMCP: Differentiable Markov Channel Pruning for Neural Networks 閱讀筆記筆記
- 吳恩達 Convolutional Neural Networks第二週quizzes吳恩達UI
- 迴圈神經網路(RNN,Recurrent Neural Networks)介紹神經網路RNN
- 論文閱讀:《Deep Compositional Question Answering with Neural Module Networks》
- Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer 筆記筆記
- 論文解讀(SAGPool)《Self-Attention Graph Pooling》
- 論文解讀(AGCN)《 Attention-driven Graph Clustering Network》GC
- 論文閱讀 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
- 遷移學習(DANN)《Domain-Adversarial Training of Neural Networks》遷移學習AI
- 論文解讀(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》GCASTAI
- 神經圖協同過濾(Neural Graph Collaborative Filtering)Filter
- 論文閱讀 A Data-Driven Graph Generative Model for Temporal Interaction Networks
- Automatic Brain Tumor Segmentation using Cascaded Anisotropic Convolutional Neural NetworksAISegmentation
- (翻譯)DeepInspect: A Black-box Trojan Detection and Mitigation Framework for Deep Neural NetworksMITFramework
- [Read Paper] Improving neural networks by preventing co-adaptation of feature detectorsAPT
- 論文閱讀:《Multimodal Graph Networks for Compositional Generalization in Visual Question Answering》