Graph Attention Network的本質是什麼?

連結:https://www。zhihu。com/question/275866887

編輯:深度學習與計算機視覺

宣告:僅做學術分享,侵刪

為什麼根據鄰居節點預測自己的方法(Attention機制)會在graph embedding上有比較突出的表現,針對某一個特殊節點訓練出來的引數為什麼會有普適性

作者:Mr yao

https://www。zhihu。com/question/275866887/answer/1643016079

最近也在研究GAT,但我在作者原始碼抽取了一些訓練好的attention矩陣進行輸出後,發現其值就是類似的平均化,比如,一個節點有n條邊,那麼每條邊的attention值就近似1/n。這就基本上回歸到GCN了,表明gat的attention完全沒學到任何邊的重要性程度,下圖是在Cora資料集上部分節點的對應邊的attention值(citeseer資料集也類似)

Graph Attention Network的本質是什麼?

Cora資料集部分節點的對應邊的attention值

這個問題我問了GAT的作者,但作者僅說明了在同質圖上會出現這種情況,而Cora資料集和citeseer資料集是典型的同質圖,但在PPI資料集不會出現這種情況,貼一下原作者的回答:

Hi, and thank you for your issue!

The effect here usually occurs on homophilous datasets (of which Cora and Citeseer are definite cases)。 By definition, in such datasets, the edges often merely indicate that classes should be shared, so most of the performance can be recovered by something that resembles simple averaging。 It is therefore in GATs‘ interest to learn a distribution that is close to uniform。

This effect does not happen on PPI。

Check out this blog-post from the Deep Graph Library team, which explores this effect detailedly:

https://docs。dgl。ai/en/0。4。x/tutorials/models/1_gnn/9_gat。html

Hope that helps!

Thanks,

Petar

詳細去看了部落格中的內容後發現也是表明在cora資料集上的attention值類似於平均化,在PPI資料集上有明顯的區別,因此GAT在PPI上的效果遠超其它GNN方法。但並沒有解釋為何在cora和citeseer這些同質圖資料上gat學不到任何有用的attention值。按照常規的理解,分類問題類似於聚類問題,那麼一個節點的n個鄰居節點中,與其label相同的鄰居節點所對應邊的attention值應該更大才能使得其分類效果更好啊(在真實訓練時看不到其label,但可以根據特徵之間的相似程度來大致判斷是否是同一類,比如歐式裡的空間的距離),而非是所有邊的平均化。

那麼為何gat在同質圖上學不到任何有用的attention值呢?為何平均化的attention值是趨於gat的利益的呢?

作者:liuxu03

https://www。zhihu。com/question/275866887/answer/1269784122

GAT我覺得最大的貢獻在於將attention引入到GNN中,至於其模型效果,在“Pitfalls of Graph Neural Network Evaluation”一文中有非常詳盡的實驗證明,大部分情況下是不如GCN的……

上述的那篇文章也提到了現如今GNN的方法基本都在Cora,Citeseer和Pubmed上做驗證,甚至連train/val/test的劃分也完全一致,何嘗不是一種對資料集的“過擬合”,也就是隻是篩選出了在這三個資料集上能work的GNN模型。

作者:yeee leslie

https://www。zhihu。com/question/275866887/answer/708355331

GAT,GCN 和 Graphsage這幾個model的本質都是一樣的。aggregate neighbor的feature來學習自己的embeding,都可以理解成neighbor feature的weighted sum 在加上transform去reduce dimension。

GCN 的weighted sum係數是normalized laplace matrix。Graphsage 和 GCN 比較類似, 他自己提出了4種aggregator。GAT可以使不同的neighbor學習到不同的weight,再加上multihead,multihead可以理解為ensemble, 效果比其他兩個model要好。

model有幾個layer就是不同hop的node之間的message passing。

作者:匿名使用者

https://www.zhihu.com/question/275866887/answer/1269921406Attention

本身作為訊息傳遞機制,是去發掘一個系統的子系統之間的相關性。至於所謂普適性,那麼一般而言,是沒有成立的必然性的,如果對於某個系統或者問題成立,那麼只說明問題本身的資料具有這個特點。

☆ END ☆

如果看到這裡,說明你喜歡這篇文章,請轉發、點贊。微信搜尋「uncle_pn」,歡迎新增小編微信「 woshicver」,每日朋友圈更新一篇高質量博文。