圖注意力網絡-Graph Attention Network (GAT)


圖注意力網絡-Graph Attention Network (GAT)

GAT(graph attention networks)網絡,處理的是圖結構數據。它與先前方法不同的是,它使用了masked self-attention層。原來的圖卷積網絡所存在的問題需要使用預先構建好的圖。而在本文模型中,圖中的每個節點可以根據鄰域節點的特征,為其分配不同的權值。GAT結構很簡單,功能很強大,模型易於解釋。文章的實驗證明,GAT模型可以有效地適用於基於圖的歸納學習問題與轉導學習問題。

1. 圖注意力層-Graph Attentional Layer

1.1 圖注意力層要做什么

對於一個\(N\)節點的圖,我們一共會構造\(N\)個圖注意力網絡,因為每一個節點都需要對於其鄰域節點訓練相應的注意力。而圖注意力網絡的層數\(K\)則根據需要決定。我們在這里先分析\(K=1\),即一個單層圖注意力網絡的工作原理。

單層圖注意力網絡的輸入為一個向量集\(h = \{\vec{h_1},\vec{h_2},...,\vec{h_N}\},\vec{h_i}\in \R^F\),輸出為一個向量集\(h'=\{\vec{h_1'},\vec{h_2}',...,\vec{h_N'}\},\vec{h_i'}\in \R^{F'}\)。即,通過圖注意力層后,原本的節點信息\(\vec{h_i}\)被更新為了\(\vec{h_i'}\)。為了使得網絡能夠從原始輸入中提取更加深層次的信息,通常而言,\(F' > F\),即圖注意力層是一個將信號升維的網絡。

1.2 圖注意力層是如何工作的

下圖為節點\(i\)單的單層圖注意力網絡的其中一個鄰域節點\(j\)的結構表示。
截屏2021-02-06 下午9.10.08

對於節點\(i\),考慮其鄰域節點\(j\)對其的注意力權重的計算過程。

輸入為兩個向量\(\vec{h_i},\vec{h_j}\in \R^F\),為了將它們變換到\(\R^{F'}\),我們引入一個待學習的權重矩陣\(W\in\R^{F'\times F}\),以及一個待學習的向量\(\vec{a}\in \R^{2F'}\)

  • 做兩個運算: \(W * \vec{h_i}\)\(W * \vec{h_j}\),得到兩個\(\R^{F'}\)維向量。
  • 計算節點\(i\)在節點\(j\)上的注意力值\(e_{ij} = \alpha(W\vec{h_i},W\vec{h_j})\)\(\alpha\)是一個\(\R^{F'}\times\R^{F'}\to R\)的映射。
  • 最后對於節點\(i\)的所有鄰域節點求得\(e\)后,利用\(softmax\)完成注意力權重的歸一化操作。

具體到計算過程即為

\[\begin{align} &e_{ij} = LeakyReLU(\vec{a}^T [W\vec{h_i}||W\vec{h_j}]) \\ &\alpha_{ij} = softmax(e_{ij}) = \frac{\exp{(LeakyReLU(\vec{a}^T [W\vec{h_i}||W\vec{h_j}])})}{\sum_{j\in N_i}\exp{(LeakyReLU(\vec{a}^T [W\vec{h_i}||W\vec{h_j}]))}} \end{align} \]

在歸一化所有節點的注意力權重后,就可以通過圖注意力層進行節點的信息提取了。整個網絡的輸出值\(\vec{h_i'}\)計算公式如下(其中\(\sigma\)表示激活函數):

\[\vec{h_i'} = \sigma(\sum_{j\in N_i}\alpha_{ij}W\vec{h_j}) \]

2. 多層圖注意力網絡(Multi-head Attention)

截屏2021-02-06 下午9.43.48

上圖為一個三層圖注意力網絡。多層注意力機制存在的意義在於:不同的特征可能需要分配不同的注意力權重,如果僅僅用單層注意力層,則對於該鄰域節點的所有屬性都采用了相同的注意力權重,這樣將會減弱模型的學習能力。

在引入了多層注意力網絡后,進一步調整公式為

\[\vec{h_i'} = {||}_{k=1}^K \ \ \sigma(\sum_{j\in N_i}\alpha_{ij}^k W^k\vec{h_j}) \]

特殊情況:如果我們將多層注意力網絡應用到最后一層(輸出層),應該將公式改為

\[\vec{h_i'} = \sigma(\frac{1}{K} \sum_{k=1}^K\sum_{j\in N_i}\alpha_{ij}^k W^k\vec{h_j}) \]


免責聲明!

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



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