天天看點

特征圖注意力_向往的GAT(圖注意力模型)

特征圖注意力_向往的GAT(圖注意力模型)

0 GRAPH ATTENTION NETWORKS的誕生

随着GCN的大紅大紫(可以參考如何了解 Graph Convolutional Network(GCN)?),

graph領域的deep learning研究可謂變得風生水起,

人工智能又出現了新的網紅。GCN在一系列任務取得了突破性進展的同時,一系列的缺點也逐漸被放大。

深度學習三巨頭”之一的Yoshua Bengio組提出了

Graph Attention Networks(下述簡稱為GAT)去解決GCN存在的問題并且在

不少的任務上都取得了state of art的效果

(可以參考機器之心:深入了解圖注意力機制的複現結果),

是graph neural network領域值得關注的工作。

1 聊點基礎

登堂入室之前,先介紹三點基礎問題。

1.1 Graph資料結構的兩種“特征”

當我們說起graph或者network的資料結構,通常是包含着頂點和邊的關系。研究目标聚焦在頂點之上,邊訴說着頂點之間的關系。

對于任意一個頂點
特征圖注意力_向往的GAT(圖注意力模型)
,它在圖上鄰居
特征圖注意力_向往的GAT(圖注意力模型)
,構成第一種特征,即圖的結構關系。
特征圖注意力_向往的GAT(圖注意力模型)

圖1 graph示意圖

當然,除了圖的結構之外,每個頂點還有自己的特征
特征圖注意力_向往的GAT(圖注意力模型)
(通常是一個高維向量)。

它可以使社交網絡中每個使用者的個體屬性;可以是生物網絡中,每個蛋白質的性質;還可以使交通路網中,每個交叉口的車流量。

graph上的deep learning方法無外乎就是希望學習上面的兩種特征。 1.2 GCN的局限性

GCN是處理transductive任務的一把利器(transductive任務是指:訓練階段與測試階段都基于同樣的圖結構),然而GCN有

兩大局限性

是經常被诟病的:

(a)

無法完成inductive任務,即處理動态圖問題。

inductive任務是指:訓練階段與測試階段需要處理的graph不同。通常是訓練階段隻是在子圖(subgraph)上進行,測試階段需要處理未知的頂點。(unseen node)

(b)

處理有向圖的瓶頸,不容易實作配置設定不同的學習權重給不同的neighbor

。這一點在前面的文章中已經講過了,不再贅述,如有需要可以參考下面的連結。

superbrother:解讀三種經典GCN中的Parameter Sharing​zhuanlan.zhihu.com

特征圖注意力_向往的GAT(圖注意力模型)
1.3 Mask graph attention or global graph attention

還有一件事件需要提前說清楚:

GAT本質上可以有兩種運算方式的

,這也是原文中作者提到的

  • Global graph attention
顧名思義,就是每一個頂點
特征圖注意力_向往的GAT(圖注意力模型)
都對于圖上任意頂點都進行attention運算。

可以了解為圖1的藍色頂點對于其餘全部頂點進行一遍運算。

優點:

完全不依賴于圖的結構,對于inductive任務無壓力

缺點:

(1)丢掉了圖結構的這個特征,無異于自廢武功,效果可能會很差(2)運算面臨着高昂的成本

  • Mask graph attention

注意力機制的運算隻在鄰居頂點上進行,也就是說圖1的藍色頂點隻計算和橙色頂點的注意力系數。

作者在原文中GAT ARCHITECTURE這一節中寫道"We inject the graph structure into the mechanism by performing masked attention—we only compute eij for nodes j ∈Ni, whereNi is some neighborhood of node i in the graph. "

顯然作者在文中采用的是masked attention,DGL裡實作的也是如此,以下的解讀均基于這種方式。

2 GAT并不難懂

和所有的attention mechanism一樣,GAT的計算也分為兩步走: 2.1 計算注意力系數(attention coefficient)

對于頂點

特征圖注意力_向往的GAT(圖注意力模型)

,逐個計算它的鄰居們(

特征圖注意力_向往的GAT(圖注意力模型)

)和它自己之間的相似系數

特征圖注意力_向往的GAT(圖注意力模型)

解讀一下這個公式:

首先一個共享參數
特征圖注意力_向往的GAT(圖注意力模型)
的線性映射對于頂點的特征進行了增維,當然這是一種常見的特征增強(feature augment)方法

特征圖注意力_向往的GAT(圖注意力模型)

對于頂點

特征圖注意力_向往的GAT(圖注意力模型)

的變換後的特征進行了拼接(concatenate);

最後
特征圖注意力_向往的GAT(圖注意力模型)
把拼接後的高維特征映射到一個實數上,

作者是通過 single-layer feedforward neural network實作的。

顯然學習頂點
特征圖注意力_向往的GAT(圖注意力模型)
之間的相關性,就是通過可學習的參數
特征圖注意力_向往的GAT(圖注意力模型)
和映射
特征圖注意力_向往的GAT(圖注意力模型)
完成的。
有了相關系數,離注意力系數就差歸一化了!其實就是用個softmax
特征圖注意力_向往的GAT(圖注意力模型)

要注意這裡作者用了個

特征圖注意力_向往的GAT(圖注意力模型)

,至于原因嘛,估計是試出來的,畢竟深度玄學。

上面的步驟可以參考圖2進行了解

特征圖注意力_向往的GAT(圖注意力模型)

圖2 第一步運算示意圖

2.2 權重求和(aggregate)

完成第一步,已經成功一大半了。第二步很簡單,

根據計算好的注意力系數,把特征權重求和(aggregate)一下。
特征圖注意力_向往的GAT(圖注意力模型)
特征圖注意力_向往的GAT(圖注意力模型)

就是GAT輸出的對于每個頂點

特征圖注意力_向往的GAT(圖注意力模型)

的新特征(融合了鄰域資訊),

特征圖注意力_向往的GAT(圖注意力模型)

是激活函數。

式(3)看着還有點單薄,

俗話說一個籬笆三個樁,attention得靠multi-head幫!

來進化增強一下

特征圖注意力_向往的GAT(圖注意力模型)

嗯,這次看起來就很健壯了,

multi-head attention也可以了解成用了ensemble的方法,畢竟convolution也得靠大量的卷積核才能大顯神威!

上面的步驟可以參考圖3進行了解

特征圖注意力_向往的GAT(圖注意力模型)

圖3 第二步運算示意圖

3 談幾點深入的了解

3.1 與GCN的聯系與差別

無獨有偶,我們可以發現本質上而言:

GCN與GAT都是将鄰居頂點的特征聚合到中心頂點上(一種aggregate運算),

利用graph上的local stationary學習新的頂點特征表達。

不同的是GCN利用了拉普拉斯矩陣,GAT利用attention系數。

一定程度上而言,GAT會更強,因為 頂點特征之間的相關性被更好地融入到模型中。

3.2 為什麼GAT适用于有向圖? 我認為最根本的原因是GAT的運算方式是逐頂點的運算(node-wise),這一點可從公式(1)—公式(3)中很明顯地看出。每一次運算都需要循環周遊圖上的所有頂點來完成。逐頂點運算意味着,擺脫了拉普利矩陣的束縛,

使得有向圖問題迎刃而解。

3.3為什麼GAT适用于inductive任務? GAT中重要的學習參數是
特征圖注意力_向往的GAT(圖注意力模型)
特征圖注意力_向往的GAT(圖注意力模型)
,因為上述的逐頂點運算方式,這兩個參數僅與1.1節闡述的頂點特征相關,與圖的結構毫無關系。是以測試任務中改變圖的結構,對于GAT影響并不大,隻需要改變
特征圖注意力_向往的GAT(圖注意力模型)
,重新計算即可。

與此相反的是,

GCN是一種全圖的計算方式,一次計算就更新全圖的節點特征。學習的參數很大程度與圖結構相關,這使得GCN在inductive任務上遇到困境。

目前,我們團隊利用GCN和GAT在交通預測領域有不少探索,歡迎感興趣的朋友參考。如果有幫助,還希望可以引用我們的論文。

Multistep speed prediction on traffic networks: A deep learning approach considering spatio-temporal dependencies​www.mendeley.com

  • Zhang, Z., Li, M., Lin, X., Wang, Y., & He, F. (2019). Multistep speed prediction on traffic networks: A deep learning approach considering spatio-temporal dependencies.Transportation Research Part C: Emerging Technologies,105, 297-322.

https://www.tandfonline.com/doi/full/10.1080/21680566.2020.1822765​www.tandfonline.com

  • Ke Zhang, Fang He, Zhengchao Zhang, Xi Lin & Meng Li(2020)Graph attention temporal convolutional network for traffic speed forecasting on road networks,Transportmetrica B: Transport Dynamics,DOI:10.1080/21680566.2020.1822765