當前位置:
首頁 > 新聞 > 基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

【新智元導讀】膠囊圖神經網路(CapsGNN)是在GNN啟發下誕生了基於圖片分類的新框架。CapsGNN在10個數據集中的6個的表現排名位居前兩名。與所有其他端到端架構相比,CapsGNN在所有社交數據集中均名列首位。

本日Reddit上熱議的一個話題是名為「膠囊圖神經網路」(CapsGNN)的新框架。從名字不難看出,它是受圖神經網路(GNN)的啟發,在其基礎上改進而來的成果。

CapsGNN框架的作者為新加坡南陽理工大學電氣與電子工程學院的Zhang Xinyi和Lihui Chen,該研究的論文將在ICLR 2019上發表。

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

目前,從圖神經網路(GNN)中學到的高質量節點嵌入已經應用於各種基於節點的應用程序中,其中一些程序已經實現了最先進的性能。不過,當應用程序用GNN學習的節點嵌入來生成圖形嵌入時,標量節點表示可能不足以有效地保留節點或圖形的完整屬性,從而導致圖形嵌入的性能達不到最優。

膠囊圖神經網路(CapsGNN)受到了膠囊神經網路的啟發,利用膠囊的概念來解決現有基於GNN的圖嵌入演算法的缺點。CapsGNN以膠囊形式對節點特徵進行提取,利用路由機制來捕獲圖形級別的重要信息。因此,模型會為每個圖生成多個嵌入,從多個不同方面捕獲圖的屬性。

CapsGNN中包含的注意力模塊可用於處理各種尺寸的圖,讓模型能夠專註處理圖的關鍵部分。通過對10個圖結構數據集的廣泛評估表明,CapsGNN具有強大的機制,可通過數據驅動捕獲整個圖的宏觀屬性。在幾個圖分類任務上的性能優於其他SOTA技術。


膠囊圖神經網路基本架構

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

上圖所示為CapsGNN的簡化版本。它由三個關鍵模塊組成:1)基本節點膠囊提取模塊:GNN用於提取具有不同感受野的局部頂點特徵,然後在該模塊中構建主節點膠囊。 2)高級圖膠囊提取模塊:融合了注意力模塊和動態路由,以生成多個圖膠囊。 3)圖分類模塊:再次利用動態路由,生成用於圖分類的類膠囊。


注意力模塊

在CapsGNN中,基於每個節點提取主膠囊,即主膠囊的數量取決於輸入圖的大小。在這種情況下,如果直接應用路由機制,則生成的高級別的膠囊的值將高度依賴於主膠囊的數量(圖大小),這種情況並不理想。因此,實驗引入一個注意力模塊來解決這個問題。

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

注意力模塊架構。首先壓平主膠囊,利用兩層全連接神經網路產生每個膠囊的注意力值。利用基於節點的歸一化(對每行進行歸一化)來生成最終注意力值。 將標準化值與主膠囊相乘來計算標度膠囊。


實驗設置與結果

我們驗證了從CapsGNN中提取的圖嵌入與大量SOTA方法的性能,與一些經典方法的最優性能做了對比。此外還進行了實驗研究,評估膠囊對圖編碼特徵效率的影響。我們對生成的圖/類膠囊進行了簡要分析。實驗結果和分析如下所示。

表1為生物數據集的實驗結果,表2為社會數據集的實驗結果。對於每個數據集,以粗體突出顯示前2個準確度。

與所有其他演算法相比,CapsGNN在10個數據集中的6個的表現排名位居前兩名,並且在其他數據集上也實現了基本相當的結果。與所有其他端到端架構相比,CapsGNN在所有社交數據集中均名列首位。

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

表1:生物數據集的實驗結果

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

表2:社交數據集的實驗結果


膠囊的效率

在膠囊的效率測試實驗中,GNN的層數設置為L = 3,每層的通道數都設置為Cl = 2。通過調整節點的維度(dn)、圖(dg)、膠囊和圖形、膠囊的數量(P)來構造不同的CapsGNN。

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

表3:膠囊效率評估實驗中經過測試的體系結構詳細信息

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

圖3:特徵表示效率的比較。橫軸表示測試架構的設置,縱軸表示NCI1的分類精度。

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

圖膠囊的可視化

基於GNN,強於GNN:膠囊圖神經網路的PyTorch實現 | ICLR 2019

分類膠囊的可視化


膠囊圖網路:基於GNN的高效快捷的新框架

CapsGNN是一個新框架,將膠囊理論融合到GNN中,來實現更高效的圖表示學習。該框架受CapsNet的啟發,在原體系結構中引入了膠囊的概念,在從GNN提取的節點特徵的基礎上,以向量的形式提取特徵。

利用CapsGNN,一個圖可以表示為多個嵌入,每個嵌入都可以捕獲不同方面的圖屬性。生成的圖形和類封裝不僅可以保留與分類相關的信息,還可以保留關於圖屬性的其他信息,這些信息可能在後續流程中用到。CapsGNN是一種新穎、高效且強大的數據驅動方法,可以表示圖形等高維數據。

與其他SOTA演算法相比,CapsGNN模型在10個圖表分類任務中有6個成功實現了更好或相當的性能,在社交數據集上的表現尤其顯眼。與其他類似的基於標量的體系結構相比,CapsGNN在編碼特徵方面更有效,這對於處理大型數據集非常有用。


關於開源代碼和模型的一些補充信息

數據集

代碼會從input文件夾中獲取訓練圖,圖存儲形式為JSON。用於測試的圖也存儲為JSON文件。每個節點id和節點標籤必須從0開始索引。字典的鍵是存儲的字元串,以使JSON能夠序列化排布。

每個JSON文件都具有以下的鍵值結構:

邊緣鍵(edges key)具有邊緣列表值,用於描述連接結構。標籤鍵具有每個節點的標籤,這些標籤存儲為字典- 在此嵌套字典中,標籤是值,節點標識符是鍵。目標鍵具有整數值,該值代表了類成員資格。

輸出

預測結果保存在output目錄中。每個嵌入都有一個標題和一個帶有圖標識符的列。最後,預測會按標識符列排序。

訓練CapsGNN模型由src /main.py腳本處理,該腳本提供以下命令行參數。

論文地址:

https://openreview.net/pdf?id=Byl8BnRcYm

Github相關資源:

https://github.com/benedekrozemberczki/CapsGNN#outputs

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

最新自動駕駛汽車排行:蘋果、特斯拉墊底,谷歌無人車第一
英偉達再出黑魔法GauGAN:憑藉幾根線條,草圖秒變風景照

TAG:新智元 |