Graph Attention Networks


 Graph Attention Networks

 

1. 創新點

通過新型神經網絡對圖形結構數據進行操作,利用隱藏的自注意層賦予鄰域節點不同重要性,並無需提前了解整個網絡結構
 
通過堆疊這樣的一些層,這些層里的節點能夠注意其鄰近節點的特征,不需要進行成本高昂的矩陣運算(例如反演),也無需事先知道圖的結構
 

1.1. attention 引入目的

  • 為每個節點分配不同權重
  • 關注那些作用比較大的節點,而忽視一些作用較小的節點
  • 在處理局部信息的時候同時能夠關注整體的信息,不是用來給參與計算的各個節點進行加權的,而是表示一個全局的信息並參與計算

1.2. 框架特點

  • attention 計算機制高效,為每個節點和其每個鄰近節點計算attention 可以並行進行
  • 能夠按照規則指定neighbor 不同的權重,不受鄰居數目的影響
  • 可直接應用到歸納推理問題中

2. 模型

2.1. feature 處理

通過線性變換生成新的更強的 feature
輸入:node feature的集合 
( N 為node 數量, F 為每個node 的 feature 數--feature vector 長度)
輸出:
( 使用W 將每個特征轉換為可用的表達性更強的特征)

2.2. 計算相互關注

每兩個node 間都有了相互關注機制(用來做加權平均,卷積時,每個node 的更新是其他的加權平均
共享的關注機制
 
通過node feature 計算兩個node 間的關系
 
 
用來做加權平均需要轉換一下參數
 
(這個系數 α 就是每次卷積時,用來進行加權求和的系數)
 
本文采取的計算attention coefficient的函數a是一個單層的前饋網絡,LeakyReLU 處理得
 
( || 表示串聯/ 連接,一旦獲得,歸一化的相互注意系數用來計算對應特征的線性組合,以用作每個節點的最終輸出特征)
 
左圖:
在模型中應用相互注意機制a(Whi,Whj),通過權重向量 a 參數化,應用 LeakyReLU 激活
 
右圖:
節點1在鄰域中具有多端注意機制,不同的箭頭樣式表示獨立的注意力計算,通過連接或平均每個頭部獲取 h1`

2.3. multi-head attention機制

不只用一個函數a進行attention coefficient的計算,而是設置K個函數,每一個函數都能計算出一組attention coefficient,並能計算出一組加權求和用的系數,每一個卷積層中,K個attention機制獨立的工作,分別計算出自己的結果后連接在一起,得到卷積的結果,即
 
 
假如有 k 個獨立的相互注意機制同時計算,則集中其特征,可得到特征表示
 
 
 
對於最后一個卷積層,如果還是使用multi-head attention機制,那么就不采取連接的方式合並不同的attention機制的結果了,而是采用求平均的方式進行處理,即
 

3. 對比

  • 計算很高效,attention機制在所有邊上的計算是可以並行的,輸出的feature的計算在所有節點上也可以並行
  • 和GCN不同,本文的模型可以對同一個 neighborhood 的node分配不同的重要性,使得模型的容量(自由度)大增。
    • 分析這些學到的attentional weights有利於可解釋性(可能是分析一下模型在分配不同的權重的時候是從哪些角度着手的)
  • attention機制是對於所有edge共享的,不需要依賴graph全局的結構以及所有node的特征
  • 2017年Hamilton提出的inductive method 對於neighborhood的模式處理固定,不靈活

4. 實驗

  • transductive learning
  • inductive learning

4.1. transductive learning

  • 兩層 GAT
  • 在Cora 數據集上優化網絡結構的超參數,應用到Citeseer 數據集
  • 第一層 8 head, F`=8 ELU 作為非線性函數
  • 第二層為分類層,一個 attention head 特征數C,后跟 softmax 函數
    • 為了應對小訓練集,正則化(L2)
  • 兩層都采用 0.6 的dropout
    • 相當於計算每個node位置的卷積時都是隨機的選取了一部分近鄰節點參與卷積

4.2. inductive learning

  • 三層GAT 模型
  • 前兩層 K=4, F1=256 ELU作為非線性函數
  • 最后一層用來分類 K=6, F`=121 后跟logistics sigmoid 激活函數
  • 該任務中,訓練集足夠大不需要使用 正則化 和 dropout
兩個任務都是用Glorot初始化初始的,並且是用Adam SGD來最小化交叉熵進行優化
 

4.3. 實驗結結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM