天天看點

論文閱讀_圖注意力網絡

介紹

英文題目:GRAPH ATTENTION NETWORKS

中文題目:圖注意力網絡

論文位址:https://export.arxiv.org/pdf/1710.10903.pdf

領域:知識圖譜,知識表示

發表時間:2018年

作者:Petar Veliˇckovi ́c,劍橋大學

出處:深度學習頂會 ICLR

被引量:1000

代碼和資料:https://github.com/PetarV-/GAT

閱讀時間:2022.04.25

讀後感

簡介部分複習了當時主流做法的演進過程,是很好的導讀,其中GNN(基于RNN),GCN(基于CNN),GAN (基于Attention)都比較重要,MoNet和GraphSAGE也可以讀一下(GraphSAGE用于大規模資料)。

泛讀

  • 針對問題:基于圖結構的節點分類
  • 結果:在小資料集傳導測試中GAN與GCN效果不相上下,略好一點;在大資料集歸納測試中,無法使用GCN等方法,GAN更有優勢。
  • 核心方法:把注意力機制引入圖神經網絡。
  • 難點:如果之前了解Attention和圖的基本表示方法,本篇原理和代碼都不複雜。
  • 泛讀後了解程度:直接精讀

    (看完題目、摘要、結論、圖表及小标題)

精讀

摘要

提出圖注意力網絡 graph attention networks(GATs),基于圖結構,利用帶MASK的自注意力機制。利用鄰居節點的特征對不同鄰居配置設定不同權重,無需高代價的矩陣運算,也不需要事先了解圖結構。

簡介

不規則資料常常使用圖來描述,用神經網絡解決圖問題:最早提出用RNN方法表征有向無環圖;2005提出GNN将RNN用于更多的圖結構,它通過疊代擴充節點狀态直至均衡,對每個節點産生一個輸出;後又被改進,加入門控單元。(建議延伸閱讀GNN)

卷積思想也被引入圖神經網絡,包含基于譜和不基于譜的方法。

基于譜方法:Bruna等在2014年使用譜表征方法應用于上下文中的節點分類問題,在頻域使用卷積計算拉普拉斯矩陣的特征分解,它使用了大量計算和非局部的濾波器。2015年Henaff提出使用光滑系數,使其在空間上局部化;2016年Defferrard使用切比雪夫逼近濾波器,不再需要計算拉普拉斯的特征向量。最終,在2017年Kipf和Welling簡化了之前的方法提出GCN,每層使用一跳的鄰居,建構多層模型(CNN的譜方法推薦閱讀GCN,其中也介紹了切比雪夫方法)。上述譜方法學習的過濾器(取舍鄰居節點)都依賴拉普拉斯向量,拉普拉斯又基于圖的鄰接矩陣和度矩陣,強依賴圖結構,是以,訓練好的模型不能用于其它結構的圖(結構變化,模型就不能用了)。

不基于譜方法:2015-2017年相繼提出了将卷積直接用于圖,計算空間上相鄰的組的方法。面臨的問題是節點的近臨數各不相同以及如何保證CNN共享權重,解決方法有:學習不同度的權重矩陣;使用轉換矩陣的強度來定義近鄰,然後學習不同通道和鄰居度的權重;以及提取并歸一化包含固定數量節點的鄰域。2016年Monti在MoNet(mixture model CNNs)提出了統一CNN結構的空間方法(GAT可以作為MoNet的一個特殊執行個體)。Hamilton在2017年提出了GraphSAGE,以歸納方法計算節點的表征,它采樣固定數目的鄰近節點,使用特殊的聚合函數,這種方法在幾個大型歸納基準測試中取得了令人印象深刻的表現。(建議延伸閱讀GraphSAGE,該方法常被用于大圖模型的效果對比)

注意力機制近年來在很多序列任務中效果很好,它的一個主要優勢是支援不同大小的輸入,專注最相關的部分做決策,常用的方法有自注意力和内部注意力,通過和CNN和RNN結合,注意力在機器閱讀和學習句子表征方面效果很好。2017年Vaswani展示了注意力不僅可以和其它模型結合,其本身也能在機器翻譯任務中建構強大的模型。

本文受其啟發,将注意力應用于基于圖結構的節點分類問題,其主要想法是利用自注意力方法,使用領域資訊,計算圖中每個節點的隐藏表征,具有以下特點:

  • 該操作是高效的,可以跨節點對并行操作
  • 通過為鄰域指定任意權重,應用于具有不同度的圖節點
  • 适用于歸納學習,可以推廣到不完全可見的圖

2. GAT架構

2.1 圖注意力層

層的輸入是節點特征h={h1,h2,…hN},其中N是節點數量,hi是向量hi ∈ RF,F是每個節點的特征個數。輸出是新的節點特征:h’={h’1,h’2,…h’N},h’i∈ RF ′,輸入的特征個數F可能與輸出的特征個數F’不同。

為了通過層學習到更有效的表征,至少需要一個可學習的線性轉換,模型參數W ∈ RF ′ ×F ,它被應用于每個節點,利用自注意力矩陣a,a : RF ′× RF ′來計算注意力參數:

論文閱讀_圖注意力網絡

它用于表示節點j對節點i的重要性。在注意力的一般公式中,模型允許每個節點參與其它節點的計算,因而與圖結構無關。文中方法則使用Mask來遮蔽無關的節點,隻考慮j ∈ Ni,即i在圖中的鄰居節點,實驗隻考慮一階鄰居。再使用Softmax進行歸一化:

論文閱讀_圖注意力網絡

注意力a是單層前饋網絡,權重參數a ∈ R 2F ′,使用LeakyReLU作為激活函數,将(1)代入式(2)後,表示為:

論文閱讀_圖注意力網絡

其中T表示轉置,||表示串聯操作,如圖-1中左圖所示:

論文閱讀_圖注意力網絡

之後,利用a來計算最終輸出的特征h’:

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-nBemQx3k-1651490265983)(https://upload-images.jianshu.io/upload_images/5357893-e155d0681b09e109.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

其中σ是激活函數。

為了保證模型的穩定性,将單頭注意力擴充成多頭注意力模型,使用K個互不依賴的注意力機來實作式-4的轉換,然後将輸出特征串聯作為最終輸出的特征表示,最終的輸出每個節點有KF’個特征。

論文閱讀_圖注意力網絡

其中||表示串聯。

當使用多頭注意力時,網絡的最後一層不應輸出太長特征,是以使用均值方法averaging來計算輸出特征。

論文閱讀_圖注意力網絡

多頭聚合方法如圖-1右圖所示(一個顔色代表一個頭,hi代表鄰近節點)。

2.2 與之前方法對比

上述方法解決了之前圖神經網絡遺留的問題:

  • 在計算方面,它非常高效,自注意力層可以并行計算邊,輸出特征可以在節點上并行。不需要特征分解或類似的複雜運算,單頭的時間複雜度可表示為O(|V |F F ′ + |E|F ′),其中F是特征數,|V|和|E|是節點和邊的個數,複雜度與GCN相當,多頭注意力占用的空間和參數由頭數K決定,且多頭可以并行計算。
  • 與GCNs方法不同的是,文中模型允許對同一鄰居節點使用不同的權重,進而實作了模型容量的飛躍,此外,學習到的注意力權重可能提升模型的可解釋性。
  • 注意力機制以共享方式應用于圖中所有邊,它不依賴全局圖結構f無需事先通路所有節點,是以:
  • 圖不需要是無向的
  • 可用于歸納學習,支援在訓練時不完全了解全圖的任務
  • 2017年提出的GraphSAGE方法對節點采樣固定數目的鄰居,為了保證計算過程的一緻性,它不能通路所有鄰居,當使用LSTM作為聚合工具時,它得到了更好的效果。文中方法則不受這些因素影響,它使用所有鄰居,且不假設其順序。
  • 文中方法可視為MoNet的特例,與Monet相比,文中模型使用節點特征來計算相似性,而不是節點的結構屬性。

3. 評價

3.1 資料集

論文閱讀_圖注意力網絡

文中共使用了四個資料集,前三個用于測試傳導,第四用用于測試歸納,具體資料見表-1。

  • 傳導資料集中的節點是文檔,邊是文檔間的引用關系(無向),特征是使用詞袋模型提取的文檔表征,每個節點對應一個類别标簽。
  • 歸納資料集是PPI(蛋白質互相作用),20張圖訓練資料,2個測試圖,2個驗證圖,平均每圖2372個節點,每個節點50個特征,共121個标簽,一個節點可同時擁有多個标簽。

3.2 對比模型

  • 傳導學習:使用多個模型對比,詳見表-2,其中效果比較好的有圖卷積網絡GCN;使用切比雪夫過濾器的Chebyshev;以及MoNet模型。
  • 歸納學習:主要與使用不同聚合方法的GraphSAGE模型對比,其它幾種方法不能用于該資料集。

    請注意,用于對比的多層感覺機MLP完全沒有用到圖結構資訊。

3.3 實驗設定

  • 傳導學習:使用兩層GAT模型,第一層多頭K=8,每頭輸出特征數為F’=8,使用ELU激活函數,第二層用于分類,使用單頭注意力計算C個特征,C是類别數,後接softmax激活函數。使用了dropout和正則化項,每個節點都可被領域随機采樣。
  • 歸納學習:使用三層GAT模型,前兩層多頭K=4,每頭輸出特征F’=256,使用ELU激活函數,最後一層為多标簽的分類,使用6頭注意力,每頭121個特征,然後取均值,後接sigmoid激活函數。由于訓練資料量大,是以不使用dropout和正則化項。還與注意力均為1(所有鄰居權重相等)且架構相同的模型進行了對比。

    兩個模型均使用 Glorot 初始化,最小化交叉熵損失函數,使用Adam優化器,early stopping政策,最多疊代100次。

3.4 實驗結果

  • 傳導學習

    其中GCN-64* 表示使用64個隐藏層特征。GAT比GCN效果略好,這可能是由于對相同鄰居配置設定不同權重帶來的收益。

論文閱讀_圖注意力網絡
  • 歸納學習

    GAT相對之前方法明顯提升20.5%,另外對比了相同架構下,與注意力衡定(Const-GAT)相比,配置設定給相同鄰居不同權重使模型效果提升3.5%。

論文閱讀_圖注意力網絡

圖-2在CORA資料集上,将GAT模型的第一層t-SNE變換将特征表示可視化。圖上聚類對應7個标簽,證明了模型輸出對不同主題的區分能力。

介紹

英文題目:GRAPH ATTENTION NETWORKS

中文題目:圖注意力網絡

論文位址:https://export.arxiv.org/pdf/1710.10903.pdf

領域:知識圖譜,知識表示

發表時間:2018年

作者:Petar Veliˇckovi ́c,劍橋大學

出處:深度學習頂會 ICLR

被引量:1000

代碼和資料:https://github.com/PetarV-/GAT

閱讀時間:2022.04.25

讀後感

簡介部分複習了當時主流做法的演進過程,是很好的導讀,其中GNN(基于RNN),GCN(基于CNN),GAN (基于Attention)都比較重要,MoNet和GraphSAGE也可以讀一下(GraphSAGE用于大規模資料)。

泛讀

  • 針對問題:基于圖結構的節點分類
  • 結果:在小資料集傳導測試中GAN與GCN效果不相上下,略好一點;在大資料集歸納測試中,無法使用GCN等方法,GAN更有優勢。
  • 核心方法:把注意力機制引入圖神經網絡。
  • 難點:如果之前了解Attention和圖的基本表示方法,本篇原理和代碼都不複雜。
  • 泛讀後了解程度:直接精讀

    (看完題目、摘要、結論、圖表及小标題)

精讀

摘要

提出圖注意力網絡 graph attention networks(GATs),基于圖結構,利用帶MASK的自注意力機制。利用鄰居節點的特征對不同鄰居配置設定不同權重,無需高代價的矩陣運算,也不需要事先了解圖結構。

簡介

不規則資料常常使用圖來描述,用神經網絡解決圖問題:最早提出用RNN方法表征有向無環圖;2005提出GNN将RNN用于更多的圖結構,它通過疊代擴充節點狀态直至均衡,對每個節點産生一個輸出;後又被改進,加入門控單元。(建議延伸閱讀GNN)

卷積思想也被引入圖神經網絡,包含基于譜和不基于譜的方法。

基于譜方法:Bruna等在2014年使用譜表征方法應用于上下文中的節點分類問題,在頻域使用卷積計算拉普拉斯矩陣的特征分解,它使用了大量計算和非局部的濾波器。2015年Henaff提出使用光滑系數,使其在空間上局部化;2016年Defferrard使用切比雪夫逼近濾波器,不再需要計算拉普拉斯的特征向量。最終,在2017年Kipf和Welling簡化了之前的方法提出GCN,每層使用一跳的鄰居,建構多層模型(CNN的譜方法推薦閱讀GCN,其中也介紹了切比雪夫方法)。上述譜方法學習的過濾器(取舍鄰居節點)都依賴拉普拉斯向量,拉普拉斯又基于圖的鄰接矩陣和度矩陣,強依賴圖結構,是以,訓練好的模型不能用于其它結構的圖(結構變化,模型就不能用了)。

不基于譜方法:2015-2017年相繼提出了将卷積直接用于圖,計算空間上相鄰的組的方法。面臨的問題是節點的近臨數各不相同以及如何保證CNN共享權重,解決方法有:學習不同度的權重矩陣;使用轉換矩陣的強度來定義近鄰,然後學習不同通道和鄰居度的權重;以及提取并歸一化包含固定數量節點的鄰域。2016年Monti在MoNet(mixture model CNNs)提出了統一CNN結構的空間方法(GAT可以作為MoNet的一個特殊執行個體)。Hamilton在2017年提出了GraphSAGE,以歸納方法計算節點的表征,它采樣固定數目的鄰近節點,使用特殊的聚合函數,這種方法在幾個大型歸納基準測試中取得了令人印象深刻的表現。(建議延伸閱讀GraphSAGE,該方法常被用于大圖模型的效果對比)

注意力機制近年來在很多序列任務中效果很好,它的一個主要優勢是支援不同大小的輸入,專注最相關的部分做決策,常用的方法有自注意力和内部注意力,通過和CNN和RNN結合,注意力在機器閱讀和學習句子表征方面效果很好。2017年Vaswani展示了注意力不僅可以和其它模型結合,其本身也能在機器翻譯任務中建構強大的模型。

本文受其啟發,将注意力應用于基于圖結構的節點分類問題,其主要想法是利用自注意力方法,使用領域資訊,計算圖中每個節點的隐藏表征,具有以下特點:

  • 該操作是高效的,可以跨節點對并行操作
  • 通過為鄰域指定任意權重,應用于具有不同度的圖節點
  • 适用于歸納學習,可以推廣到不完全可見的圖

2. GAT架構

2.1 圖注意力層

層的輸入是節點特征h={h1,h2,…hN},其中N是節點數量,hi是向量hi ∈ RF,F是每個節點的特征個數。輸出是新的節點特征:h’={h’1,h’2,…h’N},h’i∈ RF ′,輸入的特征個數F可能與輸出的特征個數F’不同。

為了通過層學習到更有效的表征,至少需要一個可學習的線性轉換,模型參數W ∈ RF ′ ×F ,它被應用于每個節點,利用自注意力矩陣a,a : RF ′× RF ′來計算注意力參數:

論文閱讀_圖注意力網絡

它用于表示節點j對節點i的重要性。在注意力的一般公式中,模型允許每個節點參與其它節點的計算,因而與圖結構無關。文中方法則使用Mask來遮蔽無關的節點,隻考慮j ∈ Ni,即i在圖中的鄰居節點,實驗隻考慮一階鄰居。再使用Softmax進行歸一化:

論文閱讀_圖注意力網絡

注意力a是單層前饋網絡,權重參數a ∈ R 2F ′,使用LeakyReLU作為激活函數,将(1)代入式(2)後,表示為:

論文閱讀_圖注意力網絡

其中T表示轉置,||表示串聯操作,如圖-1中左圖所示:

論文閱讀_圖注意力網絡

之後,利用a來計算最終輸出的特征h’:

論文閱讀_圖注意力網絡

其中σ是激活函數。

為了保證模型的穩定性,将單頭注意力擴充成多頭注意力模型,使用K個互不依賴的注意力機來實作式-4的轉換,然後将輸出特征串聯作為最終輸出的特征表示,最終的輸出每個節點有KF’個特征。

論文閱讀_圖注意力網絡

其中||表示串聯。

當使用多頭注意力時,網絡的最後一層不應輸出太長特征,是以使用均值方法averaging來計算輸出特征。

論文閱讀_圖注意力網絡

多頭聚合方法如圖-1右圖所示(一個顔色代表一個頭,hi代表鄰近節點)。

2.2 與之前方法對比

上述方法解決了之前圖神經網絡遺留的問題:

  • 在計算方面,它非常高效,自注意力層可以并行計算邊,輸出特征可以在節點上并行。不需要特征分解或類似的複雜運算,單頭的時間複雜度可表示為O(|V |F F ′ + |E|F ′),其中F是特征數,|V|和|E|是節點和邊的個數,複雜度與GCN相當,多頭注意力占用的空間和參數由頭數K決定,且多頭可以并行計算。
  • 與GCNs方法不同的是,文中模型允許對同一鄰居節點使用不同的權重,進而實作了模型容量的飛躍,此外,學習到的注意力權重可能提升模型的可解釋性。
  • 注意力機制以共享方式應用于圖中所有邊,它不依賴全局圖結構f無需事先通路所有節點,是以:
  • 圖不需要是無向的
  • 可用于歸納學習,支援在訓練時不完全了解全圖的任務
  • 2017年提出的GraphSAGE方法對節點采樣固定數目的鄰居,為了保證計算過程的一緻性,它不能通路所有鄰居,當使用LSTM作為聚合工具時,它得到了更好的效果。文中方法則不受這些因素影響,它使用所有鄰居,且不假設其順序。
  • 文中方法可視為MoNet的特例,與Monet相比,文中模型使用節點特征來計算相似性,而不是節點的結構屬性。

3. 評價

3.1 資料集

論文閱讀_圖注意力網絡

文中共使用了四個資料集,前三個用于測試傳導,第四用用于測試歸納,具體資料見表-1。

  • 傳導資料集中的節點是文檔,邊是文檔間的引用關系(無向),特征是使用詞袋模型提取的文檔表征,每個節點對應一個類别标簽。
  • 歸納資料集是PPI(蛋白質互相作用),20張圖訓練資料,2個測試圖,2個驗證圖,平均每圖2372個節點,每個節點50個特征,共121個标簽,一個節點可同時擁有多個标簽。

3.2 對比模型

  • 傳導學習:使用多個模型對比,詳見表-2,其中效果比較好的有圖卷積網絡GCN;使用切比雪夫過濾器的Chebyshev;以及MoNet模型。
  • 歸納學習:主要與使用不同聚合方法的GraphSAGE模型對比,其它幾種方法不能用于該資料集。

    請注意,用于對比的多層感覺機MLP完全沒有用到圖結構資訊。

3.3 實驗設定

  • 傳導學習:使用兩層GAT模型,第一層多頭K=8,每頭輸出特征數為F’=8,使用ELU激活函數,第二層用于分類,使用單頭注意力計算C個特征,C是類别數,後接softmax激活函數。使用了dropout和正則化項,每個節點都可被領域随機采樣。
  • 歸納學習:使用三層GAT模型,前兩層多頭K=4,每頭輸出特征F’=256,使用ELU激活函數,最後一層為多标簽的分類,使用6頭注意力,每頭121個特征,然後取均值,後接sigmoid激活函數。由于訓練資料量大,是以不使用dropout和正則化項。還與注意力均為1(所有鄰居權重相等)且架構相同的模型進行了對比。

    兩個模型均使用 Glorot 初始化,最小化交叉熵損失函數,使用Adam優化器,early stopping政策,最多疊代100次。

3.4 實驗結果

  • 傳導學習

    其中GCN-64* 表示使用64個隐藏層特征。GAT比GCN效果略好,這可能是由于對相同鄰居配置設定不同權重帶來的收益。

論文閱讀_圖注意力網絡
  • 歸納學習

    GAT相對之前方法明顯提升20.5%,另外對比了相同架構下,與注意力衡定(Const-GAT)相比,配置設定給相同鄰居不同權重使模型效果提升3.5%。

論文閱讀_圖注意力網絡

繼續閱讀