論文 | 圖注意力網(wǎng)絡 | GRAPH ATTENTION NETWORKS
編者 | 夢夢
論文鏈接:https://arxiv.org/abs/1710.10903
摘要
????本文提出了圖注意力網(wǎng)絡(GATs)饮焦,這是一種新的作用在圖結構數(shù)據(jù)上的神經網(wǎng)絡框架靠胜。Attention機制利用masked self-attentional layers來解決以前基于圖卷積或者與圖卷積近似的前人方法中的不足之處袁勺。通過堆疊這樣的層 —— 當層中節(jié)點在更新自身特征的時候能夠兼顧它所有鄰居節(jié)點的特征茧球,我們在不引入任何形式的密集型矩陣計算操作(如計算逆矩陣)和不依賴于先驗地了解圖結構的情況下,隱式地對于一個節(jié)點的所有鄰居節(jié)點指定不同的權重条辟。采用這種方法冀偶,我們同時解決了許多基于頻譜的圖神經網(wǎng)絡的關鍵性的挑戰(zhàn)鬓梅。我們的模型也適用于歸納和轉導學習吞获。我們的GAT模型在4個已建立的轉導和歸納圖基準數(shù)據(jù)集上達到了最好的效果(Cora,Citeseer,Pubmed citation network datasets况凉,protein-protein interaction dataset(在訓練的過程中測試圖是不可見的))。
1各拷、簡介
????卷積神經網(wǎng)絡(CNNs)已經被成功地應用于解決例如圖像分類(He et al.,2016),語義分割(Jegou et al.,2017)或機器翻譯(Gehring et al.,2016)等領域刁绒。在這些應用領域底層的數(shù)據(jù)的表示都有類似網(wǎng)格的結構。這樣的體系結構高效地重復利用其局部的可學習的卷積核烤黍,這些卷積核被用在所有的輸入位置上知市。
????然而粮坞,許多有趣的任務,它們的數(shù)據(jù)不能被表示為類似網(wǎng)格的結構初狰。所不同的是,這些任務的數(shù)據(jù)是在不規(guī)則域中的互例。例如3D網(wǎng)格,社交網(wǎng)絡,電話網(wǎng)絡奥邮,生物網(wǎng)絡和腦連接體的情況等崔涂。像這樣的數(shù)據(jù),通常被表示為圖的形式糊秆。
? ? 現(xiàn)有文獻中已經有許多嘗試武福,將神經網(wǎng)絡拓展以解決任意的結構化圖。早期的工作使用遞歸神經網(wǎng)絡來處理在圖域中表示的數(shù)據(jù)痘番,作為有向非循環(huán)的圖(Frasconi et al.,1998;Sperduti & Starita,1997)捉片。圖神經網(wǎng)絡(GNNs)在2005年Gori et al.的文章中和2009年的Scarselli et al.的文章中被當作遞歸神經網(wǎng)絡的推廣而介紹。它可以處理更加廣泛的圖的類別汞舱,例如:循環(huán)圖伍纫、有向圖和無向圖。GNNs由迭代的過程組成昂芜,該過程傳播節(jié)點的狀態(tài)直到平衡莹规;緊隨其后的是一個神經網(wǎng)絡,神經網(wǎng)絡為每個節(jié)點在它的狀態(tài)下生成輸出泌神。這個想法在Li et al.(2016)年的文章中被采納和提升良漱,在這篇文章提出在傳播的過程中采用門控遞歸單元(Cho et al.,2014)。
????然而欢际,人們越來越關注將卷積推廣到圖域母市。這個方向上的進展經常被分為頻譜方法和非頻譜方法。
????一方面损趋,頻譜方法通過圖的頻譜表示來實現(xiàn)窒篱,且已經成功地應用于節(jié)點分類的上下文中。在Bruna et al.(2014)年的文章中舶沿,通過計算圖的拉普拉斯矩陣的特征分解墙杯,卷積被定義在傅里葉域。這導致潛在的密集的計算和非空間局部化的卷積核括荡。這些問題通過隨后的工作被解決高镐。Henaff et al.(2015)引入頻譜濾波器的參數(shù)化來使得濾波器在空間上是局部化的,這些濾波器都有著平滑的系數(shù)畸冲。后來嫉髓,Defferrard et al.(2016)提出將圖的拉普拉斯進行切比雪夫拓展來近似卷積核观腊,這樣一來就將計算拉普拉斯的特征向量的需求移除了,產生空間局部化的卷積核算行。最后梧油,Kipf & Welling(2017)簡化了前人的方法,他們限制卷積核在每個節(jié)點周圍的1-step鄰域州邢。然而儡陨,在前面提到的所有的頻譜方法方法中,學得的濾波器依賴拉普拉斯的特征基量淌,這會依賴于圖結構骗村。因此,一個在特定的圖結構上訓練出來的模型不能被直接應用在一個有著不同結構的圖上呀枢。
? ? 在另一個方面胚股,我們有非頻譜的方法(Duvenaud et al.,2015;Atwood & Towsley,2016;Hamilton et al.,2017),這些方法直接將卷積定義在圖上裙秋。卷積操作實施于在空間上相近的鄰居節(jié)點的節(jié)點組琅拌。這些方法的挑戰(zhàn)之一是如何定義一個可以在不同鄰居數(shù)目的節(jié)點上進行的操作,而且還要保持CNNs的權值共享的特性摘刑。在一些情況下财忽,這要求為每個節(jié)點的度學習一個具體的權值矩陣(Duvenaud et al.,2015),使用轉移矩陣的冪來定義鄰居,當學習每個輸入通道和鄰居的度的權重的時候(Atwood & Towsley,2016),或者提取和歸一化包含固定數(shù)量節(jié)點的鄰居(Niepert et al.,2016)泣侮。Monti et al.(2016)提出混合CNNs模型(MoNet)即彪,它是一種空間的方法,提供了一種將CNN的架構統(tǒng)一的泛化到圖上的方法活尊。最近隶校,Hamilton et al.,(2017)引入GraphSAGE,這是一種以歸納的方式計算節(jié)點表示的方法。這種技術的運作方式是對每個節(jié)點的固定大小的鄰域進行采樣蛹锰,然后對這個固定大小的鄰域執(zhí)行特定的聚合器(例如對所有采樣的鄰居節(jié)點的特征向量取平均值深胳,或者將他們通過前饋神經網(wǎng)絡以后的的結果在送入遞歸神經網(wǎng)絡),這個方法已經在幾個大規(guī)模的歸納學習的基準數(shù)據(jù)集上產生了令人印象深刻的表現(xiàn)铜犬。
? ? 以下我們直接進入重點部分的介紹:圖注意力網(wǎng)絡機制的講解舞终。
????作者將注意力機制和圖卷積相結合,已達到對節(jié)點分類的任務取得更好的效果癣猾。我認為他這么做的依據(jù)主要有兩點:一是圖結構敛劝,圖網(wǎng)絡的圖結構是需要提供信息的,這也是圖網(wǎng)絡能產生好的效果的原因纷宇,但是越稠密的圖夸盟,蘊含的信息是越少的,極端的情況就是全連接圖像捶,就是將所有的節(jié)點都連接起來上陕,這樣的圖的結構基本沒有提供任何有用的結構信息桩砰,所以,越稀疏的圖往往能提供越多的信息释簿,但是當人沒法先驗的決定圖中的兩個點是否連接的時候亚隅,我們還是希望能得到一個稀疏圖,這時候庶溶,我們就可以讓節(jié)點自己學習是否和它現(xiàn)有的臨邊相連煮纵,從而產生一個稀疏圖,我個人認為注意力機制能產生效果有一部分是這樣來的渐尿;二是注意力機制實屬萬金油,基本放到哪兒都能有一點效果矾瑰。作者說GAT有三個不錯的特點:(1)高效砖茸,節(jié)點對的計算是并行的(a是由節(jié)點對計算得到);(2)它可以作用于擁有不同入度的節(jié)點(作用對象是節(jié)點對殴穴,當然接受可變入度)凉夯;(3)模型能夠直接適用于歸納學習問題。
2采幌、GAT 網(wǎng)絡架構
圖注意力層(Graph Attentional Layer)?
--- 通過堆疊單個的圖注意力層來構建任意的圖注意力網(wǎng)絡劲够。
單個圖注意力層的輸入:圖中所有節(jié)點特征向量的集合
N 是圖中總結點數(shù), F是每個節(jié)點的特征數(shù)
單個圖注意力層的輸出:圖中節(jié)點更新后的特征向量的集合(更新后新的特征向量的維數(shù)可能與之前的特征向量維數(shù)不同)
????現(xiàn)在我們來看怎么引入注意力機制。實際上本文所說的注意力機制就是在正常的GCN上休傍,對每一個節(jié)點征绎,在傳遞信息的時候,乘上一個系數(shù)磨取,最后我們實際體現(xiàn)在GCN中的就是這個系數(shù)人柿,那么,兩個節(jié)點之間的注意力系數(shù)怎么求忙厌?首先作者定義一個所有節(jié)點共享(原文中指出所有節(jié)點的權重矩陣都相同凫岖,但是dgl庫里面GAT的實現(xiàn)所使用的兩個節(jié)點的W是不同的,也就是說使用了兩個權重矩陣逢净,這一點和論文中有所差別)的線性轉換層來得到更高層的特征哥放。設這一層的權重矩陣為;
? ? 緊隨其后爹土,我們在中心節(jié)點和它的鄰居節(jié)點之間進行自注意力 的計算甥雕,這個注意力機制在所有的節(jié)點對之間共享。以此來計算中心節(jié)點與其鄰居節(jié)點的注意力系數(shù):胀茵,這個注意力系數(shù)表明了節(jié)點的鄰居節(jié)點對其的重要程度犀农。
????在這個自注意力機制的最原始的表達式里,這個注意力模型允許每個節(jié)點跟圖中其它所有的節(jié)點進行注意力系數(shù)的計算宰掉,但是這么一來呵哨,圖中所有的結構信息都被丟失了赁濒。我們通過Masked attention機制,可以將圖的結構信息注入圖的自注意力機制中孟害,即對于一個節(jié)點,我們只計算它與包括其自己在內的所有一階鄰居節(jié)點(表示包括自己在內的所有一階鄰居節(jié)點)之間的自注意力系數(shù)拒炎。
????為了使不同節(jié)點之間的系數(shù)易于比較,挨务,我們取遍所有的,將計算得到的系數(shù)用函數(shù)歸一化:
在我們的實驗里击你,注意力機制是一層單層的前饋神經網(wǎng)絡加上一個(負輸入斜率),前饋神經網(wǎng)絡的參數(shù)是一個權重向量
? ? 最終上面一系列過程的表達式可以總結地寫為:
這里是轉置操作谎柄,是串聯(lián)操作()丁侄。
我們得到這個歸一化的系數(shù)后,將其與對應的特征向量作線性的組合朝巫,將結果作為每個這樣的中心節(jié)點的更新后的特征向量(在通過一個非線性激活函數(shù)之后):
為了使自注意力的學習過程穩(wěn)定下來鸿摇,作者在每一個更新層增加了多個并行的。也就是說劈猿,每一次GCN的更新拙吉,多次使用注意力機制。作者稱之為”多頭注意力“(即Multi-Head Attention)揪荣,這與Vaswani et al.(2017)的文章相似筷黔。具體而言,在最后一層之前的層仗颈,每層里個獨立的注意力機制執(zhí)行上式的變換佛舱,然后將它們的特征串聯(lián)起來(Concatenated)從而得到節(jié)點特征的輸出表示:
這就是GCN的更新。
在最后一層挨决,作者采用取平均的方式:
圖1形象地描述了多頭圖注意力層在更新節(jié)點特征向量時的聚合過程名眉。
3、Evaluation
作者源代碼:https://github.com/PetarV-/GAT
實驗中凰棉,對于Croa數(shù)據(jù)集损拢,作者的網(wǎng)絡中,除最后一層外撒犀,所有層的k值為8(實際上一共就兩層)福压,最后一層的k值為1,中間隱藏層的特征長度為8或舞,對特征和中間層都使用dropout層(0.6)荆姆,初始學習率設置為0.005,l2正則項的值設為0.0005映凳,Leaky_relu層的α值設為0.2胆筒。
結果: