摘要:圖神經網絡是一種基於圖結構的深度學習方法。
一、什麼是圖神經網絡
圖神經網絡(Graph Neu作ral Networks, GNNs)是一種基於圖結構的深度學習方法,從其定義中能夠看出圖神經網絡主要由兩部分組成,即「圖」和「神經網絡」。這裏的「圖」是圖論中的圖數據結構,「神經網絡」是咱們熟悉的深度學習NN結構,如MLP,CNN,RNN等。要了解圖神經網絡咱們須要先回顧一下「圖」和「神經網絡」的基本概念。node
1.1圖的定義
1.2典型神經網絡
典型的神經網絡結構有兩條主線,一條主線是卷積神經網絡,簡稱CNN,主要用於圖像類數據的處理。另外一條主線是循環神經網絡,簡稱RNN,主要用於時序類數據的處理。因爲神經網絡結構的介紹不是本篇的重點,所以在這裏不作重點介紹。只展現以下兩圖典型的CNN和RNN的結構:算法
下圖展現了當前的主流神經網絡結構以及適用的場景:網絡
1.3圖神經網絡
根據上述對圖和神經網絡的回顧,咱們能夠看出,圖神經網絡就是藉助神經網絡的「能力」如深度特徵抽取等來處理圖結構的數據,所以對於圖神經網絡,其直觀的結構應該以下圖:數據結構
其中圖結構的數據有許多,如社交網絡圖、交通路線圖、人物關係圖、分子結構圖、計算結網絡拓撲圖等等。這些數據均可以做爲圖神經網絡的輸入。以後通過特定的神經網絡結構,如MLP,CNN,RNN等的基於圖結構的運算,能夠完成對於圖表示的分類,圖的節點或邊的預測等功能。框架
二、爲何須要圖神經網絡
近年來,深度學習已經完全改變了許多機器學習任務,從圖像分類和視頻處理,到語音識別和天然語言理解,這些任務中的數據一般表示在歐幾里得空間中。然而,在愈來愈多的應用程序中,數據是從非歐幾里得域生成的,並表示爲具備複雜關係和對象之間相互依賴的圖形。圖數據的複雜性給現有的機器學習算法帶來了巨大的挑戰。下圖左爲圖像(歐幾里得空間),右爲圖(非歐幾里得空間)。機器學習
傳統的神經網絡結構如CNN、RNN等都是接受歐幾里得空間的數據做爲輸入,他們沒法處理非歐幾里得空間的數據結構,好比圖和流行結構。所以對於此類數據,圖神經網絡就更加適合處理。近年來圖神經網絡的研究熱度也不斷提高,以下圖所示:學習
三、圖神經網絡典型的應用場景
本章節基於圖神經網絡近年來的一些研究進展,展現一下圖神經網絡當前典型的應用場景以及一些典型的任務。優化
將圖結構和節點內容信息做爲模型的輸入,GNNs的輸出能夠經過如下機制之一專一於不一樣的圖分析任務:編碼
- Node-level輸出用於點回歸和分類任務。
- Edge-level輸出與邊分類和鏈路預測任務相關。
- Graph-level輸出和圖分類任務相關,好比圖表示。
下面以典型論文爲例介紹幾個GNNs的典型任務:url
3.1圖分類
咱們知道不少有機物或者化合物的分子結構都是能夠用圖結構來表示的,好比下圖的4-nitroindole,該GNN的做用是訓練一個圖神經網絡,接收一個分子結構來判斷該分子結構會不會致使發生突變。在訓練的過程當中若是有現存的已標註的可致使發生突變的分子結構,咱們就能夠訓練該圖神經網絡,而後用他來預測一個新的未知的分子會不會致使突變。
3.2圖生成
咱們知道在圖像和語言的領域裏分別有embedding和generation技術,好比常見的圖像和語言生成技術,好比動態靜態的預訓練和詞嵌入技術。相應的在圖領域,咱們也有圖的嵌入表示好比graph embedding representation和圖的generation技術。好比下圖的graphvae,變分圖自編碼器就是一個圖生成模型,其主要是爲圖中節點找尋合適的 Embedding 向量,並經過 Embedding 向量實現圖重構。其中獲取到的節點 Embedding 能夠用於支撐下游任務。好比在新的分子結構生成發現中可使用該技術來加快分子發現速度。
3.3社交網絡分析
在社交網絡分析中,實體之間的關係每每會是很是重要的特徵,圖結構就能很好的表示這種關係特徵。以下圖的社交網絡圖中,每一個實體的關係能夠用邊來描述,這樣在進行實體分類或者關係分類時,利用圖數據結構,完成特定任務的標註,就能夠訓練出一個圖神經網絡來完成此類任務。
3.4網絡拓撲分析
網絡的拓撲自然就是圖結構的表示,計算機網絡中的路由技術就是以圖輪爲基礎的算路技術。同時網絡中每兩個節點之間也會有時延,丟包,抖動等網絡KPI信息。這些點對之間的KPI每每是動態變化的,這就影響到了實時路由決策和優化的問題。好比當前鏈路的時延或者丟包過大,路由算法就須要選擇新的路徑進行數據包傳遞。圖神經網絡在這個問題中就能夠接收底層的網絡拓撲、網絡配置信息和流量矩陣信息來實時預測每個點對,每一條流的實驗丟包抖動,這樣就能夠更好的配合路由和優化算法,使能網絡的自動駕駛。
四、圖神經網絡典型訓練框架
4.1Semi-supervised learning for node-level classification:
給定一個網絡,其中部分節點被標記,其餘節點未標記,ConvGNNs能夠學習一個魯棒模型,有效地識別未標記節點的類標籤。爲此,能夠經過疊加一對圖卷積層,而後是用於多類分類的softmax層來構建端到端框架。見圖(a)
4.2Supervised learning for graph-level classification:
圖級分類的目的是預測整個圖的類標籤。該任務的端到端學習能夠結合圖卷積層、圖池層和/或readout層來實現。圖卷積層負責精確的高級節點表示,圖池層則扮演下采樣的角色,每次都將每一個圖粗化成一個子結構。readout層將每一個圖的節點表示摺疊成一個圖表示。經過在圖表示中應用一個多層感知器和一個softmax層,咱們能夠創建一個端到端圖分類框架。見圖(b)
4.3Unsupervised learning for graph embedding:
當圖中沒有可用的類標籤時,咱們能夠學習在端到端框架中以徹底無監督的方式嵌入圖。這些算法以兩種方式利用邊緣級信息。一種簡單的方法是採用自編碼器框架,編碼器使用圖卷積層將圖嵌入到潛在表示中,在潛在表示上使用解碼器重構圖結構。另外一種經常使用的方法是利用負採樣方法(negative sampling),即對圖中有連接的部分節點對進行負採樣,而對圖中有連接的節點對進行正採樣。而後應用邏輯迴歸層對的正負配對進行區分。見圖(c)
參考文獻
[1]. https://mp.weixin.qq.com/s/PSrgm7frsXIobSrlcoCWxw
[2]. http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/GNN.pdf
[3]. https://persagen.com/files/misc/scarselli2009graph.pdf
[4]. https://arxiv.org/pdf/1802.03480.pdf
[5]. https://arxiv.org/abs/1901.00596
[6]. https://arxiv.org/abs/1910.01508
本文分享自華爲雲社區《2021年必火的圖神經網絡究竟是什麼?》,原文做者:就挺忽然。