Pytorch 實作系列 — GAT

mz bai
Apr 26, 2024

--

Graph attention network(GAT)由 Veličković et al.(2017, 劍橋)在Graph Attention Networks提出,特色在於擴展注意力機制的能力到圖結構資料上,達到與GCN相同的水平。

模型概念

圖注意力網路(GAT)的概念類似GCN,但在聚合資訊的同時,使用注意力機制調整鄰域特徵的重要性。概念簡單也易於平行化,計算上類似RNN,有Bahdanau et al.的attention公式味道。

GAT大致可分為兩種版本, Veličković et al.(2017)的版本較為出名,且有許多變體,而Brody et al.(2021)的版本則提出dynamic attention和static attention的概念,闡述在static attention中,query的注意力容易聚焦在特定的key,而忽略其他的key,而dynamic attention的query可以考量到各自的性質而對應到不同的key。

formula of v1 and v2 from paper[2105.14491v3]

模型架構

concept from paper[1710.10903]

圖注意力網路的架構類似GCN,但在聚合資訊的同時,使用注意力機制調整鄰域特徵的重要性。概念簡單也易於平行化,計算上類似RNN。

資料集

DBLP,計算機領域資料庫,收集論文間彼此的引用關係,資料來源是Graph2Gauss,每個節點有1639個特徵,共4個分類標籤。

評估

v1的混淆矩陣
v2的混淆矩陣

筆記

  • GAT容易出現過擬合的現象,故使用上需注意調參。
  • 論文無特別提到加深網路的方法,建議加上skip connection,避免輸出只剩0或1。

實作

參考

--

--

mz bai

Present data engineer, former data analyst, Kaggle player, loves data modeling.