摘要:圖神經網絡是一種基於圖結構的深度學習方法。
1、什么是圖神經網絡
圖神經網絡(Graph Neu做ral Networks, GNNs)是一種基於圖結構的深度學習方法,從其定義中可以看出圖神經網絡主要由兩部分組成,即“圖”和“神經網絡”。這里的“圖”是圖論中的圖數據結構,“神經網絡”是我們熟悉的深度學習NN結構,如MLP,CNN,RNN等。要了解圖神經網絡我們需要先回顧一下“圖”和“神經網絡”的基本概念。
1.1圖的定義
1.2典型神經網絡
典型的神經網絡結構有兩條主線,一條主線是卷積神經網絡,簡稱CNN,主要用於圖像類數據的處理。另一條主線是循環神經網絡,簡稱RNN,主要用於時序類數據的處理。由於神經網絡結構的介紹不是本篇的重點,因此在這里不做重點介紹。只展示如下兩圖典型的CNN和RNN的結構:
下圖展示了當前的主流神經網絡結構以及適用的場景:
1.3圖神經網絡
根據上述對圖和神經網絡的回顧,我們可以看出,圖神經網絡就是借助神經網絡的“能力”如深度特征抽取等來處理圖結構的數據,因此對於圖神經網絡,其直觀的結構應該如下圖:
其中圖結構的數據有許多,如社交網絡圖、交通路線圖、人物關系圖、分子結構圖、計算結網絡拓撲圖等等。這些數據都可以作為圖神經網絡的輸入。之后經過特定的神經網絡結構,如MLP,CNN,RNN等的基於圖結構的運算,可以完成對於圖表示的分類,圖的節點或邊的預測等功能。
2、為什么需要圖神經網絡
近年來,深度學習已經徹底改變了許多機器學習任務,從圖像分類和視頻處理,到語音識別和自然語言理解,這些任務中的數據通常表示在歐幾里得空間中。然而,在越來越多的應用程序中,數據是從非歐幾里得域生成的,並表示為具有復雜關系和對象之間相互依賴的圖形。圖數據的復雜性給現有的機器學習算法帶來了巨大的挑戰。下圖左為圖像(歐幾里得空間),右為圖(非歐幾里得空間)。
傳統的神經網絡結構如CNN、RNN等都是接受歐幾里得空間的數據作為輸入,他們無法處理非歐幾里得空間的數據結構,比如圖和流行結構。因此對於此類數據,圖神經網絡就更加適合處理。近年來圖神經網絡的研究熱度也不斷提升,如下圖所示:
3、圖神經網絡典型的應用場景
本章節基於圖神經網絡近年來的一些研究進展,展示一下圖神經網絡當前典型的應用場景以及一些典型的任務。
將圖結構和節點內容信息作為模型的輸入,GNNs的輸出可以通過以下機制之一專注於不同的圖分析任務:
- Node-level輸出用於點回歸和分類任務。
- Edge-level輸出與邊分類和鏈路預測任務相關。
- Graph-level輸出和圖分類任務相關,比如圖表示。
下面以典型論文為例介紹幾個GNNs的典型任務:
3.1圖分類
我們知道很多有機物或者化合物的分子結構都是可以用圖結構來表示的,比如下圖的4-nitroindole,該GNN的作用是訓練一個圖神經網絡,接收一個分子結構來判斷該分子結構會不會導致發生突變。在訓練的過程中如果有現存的已標注的可導致發生突變的分子結構,我們就可以訓練該圖神經網絡,然后用他來預測一個新的未知的分子會不會導致突變。
3.2圖生成
我們知道在圖像和語言的領域里分別有embedding和generation技術,比如常見的圖像和語言生成技術,比如動態靜態的預訓練和詞嵌入技術。相應的在圖領域,我們也有圖的嵌入表示比如graph embedding representation和圖的generation技術。比如下圖的graphvae,變分圖自編碼器就是一個圖生成模型,其主要是為圖中節點找尋合適的 Embedding 向量,並通過 Embedding 向量實現圖重構。其中獲取到的節點 Embedding 可以用於支撐下游任務。比如在新的分子結構生成發現中可以使用該技術來加快分子發現速度。
3.3社交網絡分析
在社交網絡分析中,實體之間的關系往往會是非常重要的特征,圖結構就能很好的表示這種關系特征。如下圖的社交網絡圖中,每個實體的關系可以用邊來描述,這樣在進行實體分類或者關系分類時,利用圖數據結構,完成特定任務的標注,就可以訓練出一個圖神經網絡來完成此類任務。
3.4網絡拓撲分析
網絡的拓撲天然就是圖結構的表示,計算機網絡中的路由技術就是以圖輪為基礎的算路技術。同時網絡中每兩個節點之間也會有時延,丟包,抖動等網絡KPI信息。這些點對之間的KPI往往是動態變化的,這就影響到了實時路由決策和優化的問題。比如當前鏈路的時延或者丟包過大,路由算法就需要選擇新的路徑進行數據包傳遞。圖神經網絡在這個問題中就可以接收底層的網絡拓撲、網絡配置信息和流量矩陣信息來實時預測每一個點對,每一條流的實驗丟包抖動,這樣就可以更好的配合路由和優化算法,使能網絡的自動駕駛。
4、圖神經網絡典型訓練框架
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年必火的圖神經網絡到底是什么?》,原文作者:就挺突然。