Graph Attention Network (GAT) 圖注意力網絡 論文詳解 ICLR2018
文章目錄
論文題目:Graph Attention Network (GAT)
時間:2018
期刊:ICLR
論文鏈接:https://arxiv.org/abs/1710.10903
Github鏈接:https://github.com/Diego999/pyGAT
1 相關介紹
graph上的deep learning方法無外乎就是希望學習節點特征以及節點在圖中的結構特征。
GCN的局限性
- 無法完成inductive任務,即處理動態圖問題。inductive任務是指:訓練階段與測試階段需要處理的graph不同。通常是訓練階段只是在子圖(subgraph)上進行,測試階段需要處理未知的頂點。(unseen node)
- 處理有向圖的瓶頸,不容易實現分配不同的學習權重給不同的neighbor
- 對於一個圖結構訓練好的模型,不能運用於另一個圖結構(所以此文稱自己為半監督的方法)
本文貢獻(創新點)
- 引入masked self-attentional layers 來改進前面圖卷積的缺點
- 對不同的相鄰節點分配相應的權重,既不需要矩陣運算,也不需要事先知道圖結構
- 四個數據集上達到state-of-the-art的准確率Cora、Citeseer、Pubmed、protein interaction
attention 引入目的
- 為每個節點分配不同權重
- 關注那些作用比較大的節點,而忽視一些作用較小的節點
- 在處理局部信息的時候同時能夠關注整體的信息,不是用來給參與計算的各個節點進行加權的,而是表示一個全局的信息並參與計算
相關工作
對待圖結構的數據有兩種方法,譜方法和非譜方法
譜方法 spectral approaches
例如:GCN
Semi-Supervised Classification with Graph Convolutional Networks,ICLR 2017這篇文章中的方法
解析 :Semi-Supervised Classification with Graph Convolutional Networks用圖卷積進行半監督分類
非譜方法 non-spectral approaches (基於空間的方法)
例如:GraphSAGE
William L Hamilton, Rex Ying, and Jure Leskovec. Inductive representation learning on largegraphs. Neural Information Processing Systems (NIPS), 2017.
解析:GraphSAGE:Inductive Representation Learning on Large Graphs
這種方法是將相鄰節點設置為固定的長度,然后進行specific aggregator,這種方法在幾個大的benchmarks上取得了非常好的效果。
注意力機制 self-attention
優點:可以處理任意大小輸入的問題,並且關注最具有影響能力的輸入。
注意力機制再RNN與CNN之中,都取得了不錯的效果,並且可以達到state-of-the-art的性能。
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. arXiv preprint arXiv:1706.03762, 2017
2 GAT
Graph Attentional Layer
和所有的attention mechanism一樣,GAT的計算也分為兩步:計算注意力系數(attention coefficient)和加權求和(aggregate)
input
單個 graph attentional layer的輸入是一個節點特征向量集合
Unexpected text node: '  'Unexpected text node: '  'h={h1
其中
- NNN表示節點的數目
- FFF表示每個節點的特征的數目
output
並生成一個新的節點特征集合
Unexpected text node: '  'Unexpected text node: '  'h′={h1′