圖神經網絡 Graph Neural Network (GNN)

2020-12-05 NLP學習筆記

傳統的神經網絡比較適合用於歐式空間的數據,而圖神經網絡 GNN 可以把神經網絡用在圖結構 (Graph) 中。圖神經網絡的種類很多,包括圖卷積網絡 GCN、圖注意力網絡 GAT、圖自編碼器 GAE 等。本文介紹最早被提出的圖神經網絡 (Graph Neural Network) GNN。

1.相關概念

之前的文章介紹過圖卷積網絡 GCN 和圖注意力網絡 GAT,其中 GCN 是 2016 年被提出的,GAT 是 2018 年提出的。本文介紹最早期的圖神經網絡 Graph Neural Network,簡稱 GNN。GNN 2009 年已經出現了,發表在論文《The graph neural network model》中。

1.1 graph_focused 和 node_focused

圖領域的應用通常分為兩類:graph_focused 和 node_focused。graph_focused 更關注於整個圖結構,對整個圖結構進行預測;node_focused 會關注節點的信息,可以進行節點的預測。

node_focused 可以理解為一個函數 τ,將圖 G 和節點 n 轉化為歐式空間中的一個 m 維向量:

node_focused

graph_focused 不關注於具體的節點 n,只需要得到圖 G 的向量 (包含整個圖 G 的信息),因此函數 τ 可以改為:

graph_focused

下圖展示了graph_focused 和 node_focused 的應用。圖 (a) 為化學分子結構,需要預測分子結構對人體是否有害,則使用 graph_focused 的方法判斷整個分子結構是否有害,而不用判斷具體某個原子的有害性。圖 (b) 是一個城堡圖片,判斷圖中每一個節點是否屬於城堡內部 (即黑點),此時需要得到每一個節點的特徵,並預測節點的類別,屬於 node_focused。圖 (c) 是網頁連接結構,可以通過 node_focused 判斷每一個網頁的類型。

graph_focused 和 node_focused 的應用

1.2 positional graph 和 nonpositional graph

GNN 可以用於 positional graph 和 nonpositional graph。nonpositional graph 是指節點的鄰居節點是沒有順序關係的,即可以隨意排列,這種 graph 比較常見。 而 positional graph 是指對於一個節點 n,需要為其所有鄰居指定一個獨一無二的整數位置,位置用 injective function 計算,如下公式所示:

positional 計算 (injective function)

可以理解為 nonpositional graph 不區分節點的鄰居,對於所有鄰居採用相同的方法計算。而 positional graph 會考慮鄰居的具體位置 (即 position)。

1.3 數學符號

下面是 GNN 中用到的一些符號含義:

符號含義

2.GNN 模型

2.1 傳播和輸出模型

在圖結構中,一個節點可以表示一個對象或概念,而邊可以表示節點之間的關係。GNN 用一個狀態向量 xn 表示節點 n 的狀態,節點 n 的狀態需要用四個部分的向量進行計算:節點 n 的特徵向量、鄰居節點的特徵向量、鄰居節點的狀態向量、邊 (與 n 相連) 的特徵向量。如下圖所示:

節點 1 的狀態向量 x1 計算方法

GNN 計算的公式主要包括傳播輸出兩個部分。傳播部分主要是用 transition function f將鄰居節點和邊的信息結合在一起,得到當前節點的狀態向量。輸出部分用 output function o 將節點的特徵和狀態向量轉為輸出向量。transition function 和 output function 如下面的公式:

傳播公式和輸出公式

對於 positional graph,在使用 transition function 時,需要把鄰居節點的位置信息也包含進來。例如可以將鄰居節點的特徵 l_ne[n]、狀態 x_ne[n] 和邊的特徵 l_co[n] 按照 position 的順序排列,然後還需要進行 pad,把不存在的鄰居節點的位置置為空值。

對於 nonpositional graph,可以將 transition function 改成下面的形式,即對於所有鄰居採用相同的方式處理,最後再相加。

nonpositional 傳播公式

2.2 迭代計算

GNN 通過迭代計算節點的狀態 x,如下所示:

狀態向量迭代計算公式

GNN 整體結構如下圖所示:

GNN 整體結構

2.3 GNN 優化

GNN 中利用了巴拿赫不動點定理(Banach’s Fixed Point Theorem),假設 transition function 是壓縮映射函數 (contraction map),從而保證節點的狀態向量 x最終收斂到一個不動點。

為了確保 transition function f是一個壓縮映射,GNN 在 fx 的偏導數矩陣中加上了懲罰項。最後再通過梯度下降學習模型的參數

3.參考文獻

The graph neural network model

相關焦點

  • 重新思考圖卷積網絡:GNN只是一種濾波器
    新智元報導 來源:arxiv編輯:肖琴【新智元導讀】最新研究提出,圖神經網絡僅對特徵向量進行低通濾波,不具有非線性流形學習特性。論文提出了一種基於圖形信號處理的理論框架,用於分析圖神經網絡。圖神經網絡已成為解決圖結構數據機器學習問題的最重要技術之一。
  • 圖神經網絡迎來快速爆發期 GNN的原理、變體及拓展
    01 GNN:從嘗鮮進入快速爆發期 今年以來,圖神經網絡技術(Graph Neural Network, GNN)得到了學術界極大的關注與響應。這個問題考驗了算法對圖數據結構的辨別能力,這兩篇文章都證明了 GNN 模型具有出色的結構學習能力。 圖中天然包含了關係,因此許多 GNN 相關的工作就建立在對給定系統進行推理學習的研究上,在這些研究中,「Can graph neural networks help logic reasoning?
  • 知深行遠:關於圖神經網絡層數加深的探索
    圖 (Graph) 由結點和連邊組成,我們把應用於圖上的神經網絡算法稱為圖神經網絡 (Graph Neural Network, 簡稱GNN)。圖表示學習 [18]為什麼需要GNN?對於圖像、視頻、音頻等數據,經典的神經網絡 (如CNN和RNN) 已經能夠較好地處理,並且目前也已經取得了不錯的效果,為什麼我們還會需要GNN呢?
  • 圖網絡未來幾何?12位學者寄望2021大爆發
    今年在該領域取得的巨大進展數不勝數,無法一一列舉,但我個人最為興奮的要屬神經算法推理。傳統上,神經網絡在插值機制中是非常強大的,但眾所周知,神經網絡是可怕的外推器,推理能力嚴重不足;推理的主要特徵之一,就是能夠發揮OOD的功能。
  • 圖神經網絡的表達能力,究竟有多強大?
    2、圖同構網絡(GIN)Keyulu Xu 等人發表的論文「 How powerful are graph neural networks?」我們可以設計出遵循 k-WL 測試的圖神經網絡,這種網絡是一定比消息傳遞架構更加強大的。Morris 等人在論文「 Weisfeiler and Leman go neural: Higher-order graph neural networks 」中提出了第一種這樣的架構 k-GNN。
  • CNN已老,GNN來了!
    Scarselli等人的論文The graph neural network model(F. Scarselli et. al. 2009)中提出的。在這裡,我們描述了原始的GNN,並列舉了原始GNN在表示能力和訓練效率方面的局限性。接著,我們介紹了幾種不同的GNN變體,這些變體具有不同的圖形類型,利用不同的傳播函數和訓練方法。
  • 從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡 (二)
    在從圖(Graph)到圖卷積(Graph Convolution): 漫談圖神經網絡 (一)中,我們簡單介紹了基於循環圖神經網絡的兩種重要模型,在本篇中,我們將著大量筆墨介紹圖卷積神經網絡中的卷積操作。接下來,我們將首先介紹一下圖卷積神經網絡的大概框架,藉此說明它與基於循環的圖神經網絡的區別。
  • 網絡神經科學 Network neuroscience
    in network neuroscience」, 對網絡神經科學進行概述。如下圖所示,在神經科學中用來表示神經系統的最常用、最簡單模型是構建一個網絡用來表示神經單元間的連接模式,其中神經單元(分子、神經元、大腦區域等)表示為節點,連接模式表示為邊。
  • 圖神經網絡GNN的可解釋性問題與解釋方法最新進展
    本文是一篇稍有深度的教程,假設讀者具備圖神經網絡的基礎知識和一點計算化學的知識。如果你想為本文做好準備,我在下面列出了一些有用的文章。 本文最初發表於 TowardsDataScience 博客,經原作者 Kacper Kubara 授權,InfoQ 中文站翻譯並分享。
  • 假期薦讀:一文看盡2019-2020各大頂會 Graph Neural Network 論文(附連結)
    ,作者們提出了一種基於Weisfeiler- Lehman圖同構測試的通用degree-specific圖神經網絡DEMO-Net。在多個節點和圖分類基準數據集上的實驗結果表明,他們提出的DEMO-Net相對於最先進的圖神經網絡模型的有效性和高效性。https://arxiv.org/abs/1906.02319?
  • 圖神經網絡越深,表現就一定越好嗎?
    數十層甚至數百層神經網絡的應用,是深度學習的重要標誌之一。但現實情況卻遠非如此:比如今年被視作機器學習領域最火熱的研究方向之一——圖神經網絡,大多數都只運用了寥寥幾層網絡。一般思路裡,我們會認為圖神經網絡越深,效果就會越好。
  • 人工神經網絡(Artificial Neural Network)算法簡介
    人工神經網絡,簡稱神經網絡,是一種模仿生物神經網絡的結構和功能的數學模型或者計算模型。其實是一種與貝葉斯網絡很像的一種算法。之前看過一些內容始終雲裡霧裡,這次決定寫一篇博客。
  • 全面回顧2020年圖機器學習進展,12位大神論道、寄望2021年大爆發!
    在 2020 年,圖機器學習領域取得了不勝枚舉的研究進展,神經算法推理是最令人振奮的課題之一。傳統意義上,神經網絡在插值方面十分強大,但是眾所周知,神經網絡是一種較差的外推器(extrapolator)。由於推理的主要特徵之一就是能夠在訓練數據分布之外發揮作用,因此神經網絡的推理能力不足。
  • 基於憶阻器的神經網絡應用研究
    .利用Pt/Al2O3/TiO2 x/Ti/Pt憶阻陣列實現三層全連接感知機網絡 3.2 卷積神經網絡 卷積神經網絡(convolutional neural network,CNN)的出現解決了圖像對於神經網絡來說的難點:大量的圖像處理數據導致成本高、效率低;在數位化的過程中很難保留原有的圖像特徵
  • GPT-GNN:圖神經網絡的生成式預訓練方法
    事實上,在NLP任務中也同樣存在著類似的問題,作者利用自然語言處理中預訓練的思想: "從大量的未標記語料庫中訓練一個模型,然後將學習到的模型轉移到只有少量標記的下遊任務",嘗試通過對圖神經網絡進行預訓練,使得GNN能夠捕獲輸入圖的結構和語義屬性,從而輕鬆地將其推廣到任何下遊任務。預訓練的目標是允許一個模型(通常是神經網絡)用預訓練的權重初始化它的參數。
  • 基於憶阻器的神經網絡應用研究
    .利用Pt/Al2 O3 /TiO2 −x/Ti/Pt憶阻陣列實現三層全連接感知機網絡3.2 卷積神經網絡卷積神經網絡(convolutional neural network,CNN)3.3.二值神經網絡二值神經網絡(binarized neural network,BNN)是神經網絡「小型化」探索中一個重要的方向。
  • Bengio 團隊力作:GNN 對比基準橫空出世,圖神經網絡的「ImageNet...
    然而,正如計算機視覺的崛起有賴於 ImageNet 的誕生,圖神經網絡也急需一個全球學者公認的統一對比基準。近日,Bengio 大神帶領其團隊發布了新的圖神經網絡對比基準測試框架以及附帶的 6 個標準化數據集。大家可以開始盡情刷榜了!
  • GAT 圖注意力網絡 Graph Attention Network
    圖神經網絡 GNN 把深度學習應用到圖結構 (Graph) 中,其中的圖卷積網絡 GCN 可以在 Graph 上進行卷積操作。但是 GCN 存在一些缺陷:依賴拉普拉斯矩陣,不能直接用於有向圖;模型訓練依賴於整個圖結構,不能用於動態圖;卷積的時候沒辦法為鄰居節點分配不同的權重。
  • 北大、斯坦福提出基於動態圖網絡學習的三維部件拼裝
    機器之心轉載來源:北京大學前沿計算研究中心在一篇 NeurIPS 2020 論文中,北大、史丹福大學的研究者提出了一種基於迭代式圖神經網絡的動態圖神經網絡學習的框架為解決這一新設定下的部件拼裝問題,我們提出了一個基於迭代式圖神經網絡(iterative graph neural network)的動態圖神經網絡學習(dynamic graph learning)的框架。
  • 一文讀懂圖神經網絡
    圖神經網絡作為神經網絡擴展,可以處理以圖結構表示的數據格式。在圖中,每個節點都由本身的特性以及其相鄰的節點和關系所定義,網絡通過遞歸地聚合和轉換相鄰節點的表示向量來計算節點的表示向量。圖神經網絡(GraphNeural Networks, GNNs),主要針對非歐幾裡得空間結構(圖結構)的數據進行處理。