知深行遠:關於圖神經網絡層數加深的探索

2021-01-18 深度學習自然語言處理

作者 | 賀華瑞

簡介什麼是GNN?

圖 (Graph) 由結點和連邊組成,我們把應用於圖上的神經網絡算法稱為圖神經網絡 (Graph Neural Network, 簡稱GNN)。受啟發於卷積神經網絡 (Convolutional Neural Network, 簡稱CNN) 和圖嵌入算法,GNN以圖作為輸入,根據「相鄰的結點具有相似性」這一假設,對圖中結點採用聚合其周圍結點信息作為自身的表徵的方式,將圖中結點映射為連續向量空間中的向量,使得結構上相近的結點在嵌入空間中有相似的向量表示。

圖表示學習 [18]為什麼需要GNN?

對於圖像、視頻、音頻等數據,經典的神經網絡 (如CNN和RNN) 已經能夠較好地處理,並且目前也已經取得了不錯的效果,為什麼我們還會需要GNN呢?究其原因,以上提到的數據類型屬於「排列整齊」的歐幾裡得結構數據 (Euclidean Structure Data),可以清晰地將它們表示為網格 (grid) 類型,對于格中任一點,總能很容易可以找出其鄰居結點,就在旁邊,不偏不倚。而現實生活中,除了以上提到的「規整」的網格結構數據外,還有社交網絡、化合物結構圖、生物基因蛋白以及知識圖譜等非歐幾裡得結構數據 (Non-Euclidean Structure Data)。LeCun 等人 [1] 總結常見非歐幾裡得結構數據有流形數據 (manifolds) 和圖數據 (graphs) 兩種,對這些數據中的某一點,很難定義出其鄰居結點來,或者不同結點的鄰居結點數量是不盡相同的。

manifold [19]graphGNN的訓練流程及應用

在非歐幾裡得結構數據上,CNN和RNN等經典深度學習模型已不再適用,而GNN就是處理圖數據的一種新範式。給定一張由結點和連邊組成的圖作為輸入,GNN的訓練流程通常分三步走:(1)消息傳遞(message passing);(2)鄰域聚合(neighborhood aggregation);(3)狀態更新(representation update)。具體的公式在此不予詳述,感興趣的讀者可參看論文 [2]。經多輪迭代訓練後,GNN會為圖中各結點學習到穩定的向量表示,對這些向量做簡單處理,即可便捷地應用於不同的下遊任務。

那麼具體地,GNN可應用於哪些場景呢?有人製作了如下圖所示的GNN應用樹,GNN的應用範圍有多寬廣,由此可見一斑。

GNN應用樹 [20]

舉例來說,國際著名的圖片社交平臺 Pinterest,就是GNN最成功的應用之一。用戶可以收藏平臺中的任何圖片,並根據自己的喜好將圖片放到不同的收藏夾中。鑑於每張圖可能會被不同用戶放入不同的收藏夾中,以每張圖片和每個收藏夾為結點,其中的連邊表示圖片被放入某個收藏夾,據此我們得到了一個由約30億結點和200億連邊組成的圖片-收藏夾二部圖(bipartite graph,也就是說連邊的兩端不可能同時是圖片或同時是收藏夾)。

GNN在Pinterest中的應用 [18]

得到這樣的圖數據後,Pinterest 後臺做的事就是利用GNN鄰域聚合的方式(認為屬於同一個收藏夾的圖片是「鄰居」),為每張圖片生成一個向量 [3],使得含義相似的圖片在向量空間中的距離相近,從而當用戶點擊一張感興趣的圖片時,後臺可以迅速搜索向量空間中與該圖最相近的圖片,並向用戶推薦,藉此滿足用戶需求,也提高了網站的點擊率。注意整個過程中 Pinterest 並不需要對圖片進行視覺上的訓練與學習,從而大大減少了模型計算量與響應時間,甚至取得了比採用視覺模型更優越的推薦效果。

為什麼需要深層的GNN?

通過前文較為輕鬆的入門介紹,我們對GNN已經有了大致的了解,接下來我們將繼續探討GNN的一些深層次機理。其實要說GNN是「深度」學習模型是有一些牽強的,因為在一般的結點/圖分類、連結預測等任務中,GCN [4]、GAT [5]、GIN [6] 等經典的GNN模型及其變體在2~4層即可達到很好的性能表現,且在繼續直接堆疊網絡層數時發現性能下降的現象。根據 ResNet [7]、DenseNet [8] 等深層化神經網絡模型在計算機視覺領域的成功,很自然地,我們想問GNN是否也有往深層化方向發展的需求呢?

近年來,許多學者研究了這一主題,在我看來,至少在以下兩種場景中,我們是需要深層GNN的:「少標籤半監督結點分類」「少特徵半監督結點分類」。具體地,前者對應有小樣本文本分類問題,以每篇文章為結點,若文章之間有引用,則認為結點之間有邊相連,不同於一般的基於GNN的文本分類任務,輸入的圖中只有少量文本有類別標籤。此時,為提高分類準確率,不得不加深模型的網絡層數,這是因為各結點狀態更新時一般只聚合一跳鄰居信息,那麼網絡層數即反映結點的向量表示融合了幾跳內的鄰居信息,當標籤很少時,結點在淺層聚合過程中可能無法獲取有效的標籤信息,從而對分類性能造成不利影響。而第二種場景對應有推薦系統中的冷啟動問題,面對缺少歷史行為數據的新用戶,如何為其進行個性化推薦?系統只憑藉該類用戶的少量註冊信息(即與少量點擊商品的連邊)往往很難做出精準推薦,此時也需要利用深層GNN對該用戶的潛在消費興趣進行建模。

綜上兩種情景,GNN的網絡層數某種程度上表徵了各結點最終向量表示的信息來源範圍,正所謂「欲窮千裡目,更上一層樓」,網絡層數增加後,鄰域聚合的感受野也相應擴大,「知之深則行愈達」,理論上能更好地應對上述兩種任務。

深層化GNN的難點在哪裡?

既然GNN層數加深理想情況下會有增益,那麼我們為什麼還不立即行動呢?前面提到過,GCN [4]、GAT [5]、GIN [6] 等經典的GNN模型在網絡層數超過2~4層時發生性能下降的現象,GNN加深的難點在哪裡呢?近年來,學者們已經接連發現加深GNN面臨三大障礙:過擬合 (over-fitting)、梯度消失 (gradient vanishing) 和過平滑 (over-smoothing)。前兩個障礙在深度學習領域已是司空見慣,在此不做贅述,我們主要分析一下 over-smoothing 的原因。Over-smoothing 由論文 [9] 首先發現,並在論文 [10] 中被進一步分析闡明,顧名思義, over-smoothing  即是在GNN多層網絡訓練中,隨著層數加大,圖中結點的向量表示趨向於相等的現象。具體來說,可以從兩個角度加以理解,首先是結點的角度,GNN結點的鄰域聚合被證明其實是 Laplacian smooth 的一種特殊形式,迭代地進行 Laplacian smooth 自然導致結點層面的  over-smoothing ;其次是特徵的角度,根據壓縮映射原理(參考之前的文章【基礎訓練】壓縮映射原理及其應用),迭代訓練層數的增加也會導致各結點向量表示的特徵維度層面的 over-smoothing 。

深層化GNN的研究脈絡及未來方向

在掌握了深層化GNN面臨的幾大障礙後,以下將介紹目前主流的解決思路。對已有的文章進行梳理總結,我們知道現在大概存在兩種加深GNN的研究思路:

它山之石可以攻玉,日光之下並無新事,從故紙堆中我們可以幾乎可以找到一切想要的答案。既然GNN本就與CNN有剪不斷理還亂的關聯,我們很自然地會想到從CNN中遷移已有的研究成果,事實上這也確實奏效。如 JKNet [11] 在ResNet [7] 啟發下引入強弱自適應的殘差連接 ;DeepGCN [12] 從ResNet [7]、DenseNet [8] 以及 dilated CNN [13] 中汲取靈感,在各網絡層間引入residual/dense connections,並採用dilated convolutions直接擴張聚合感受野;DropEdge [11] 則是受 Dropout 啟發,針對圖學習場景做了一些改進;NodeNorm [12] 則是從 BatchNorm [13] 一系列工作中獲取思路。"頭痛醫頭,腳痛醫腳",有仰望星空的懷舊派,就有腳踏實地的現實主義。有學者針對上文三大難點逐個攻破,採用 SGC [14] 克服過擬合和梯度消失,隨後 Pairnorm [10] 被提出用於克服 over-smoothing 問題。Pairnorm [10] 的思想相當直接,即在目標函數中強制使相鄰結點的向量表示儘量相近,非相鄰結點的向量表示儘量相異。

上述兩種思路皆為GNN深層化邁出了前進的一大步,做出了卓有成效的貢獻,那麼未來的深化GNN還有哪些可能的研究方向呢?我認為還有以下兩個可能的思路:

面向下遊任務對圖數據做稀疏化處理,使得深層GNN不傳播幹擾信息,從而有效減緩深層化的幾個障礙;GNN並不總是越深越好,模型應考慮數據集的特性,根據圖的局部稠密性做自適應深度調節。總結

本文簡介了GNN及其應用,梳理概括了加深GNN層數的三大難點以及相應的研究思路與學術工作,並對深層化GNN未來可能的發展方向提出了暢想。GNN作為新興模型,還有很多可供推敲之處,深層化不過是其冰山一角。毋庸置疑的是,對於GNN,還有更多瑰麗的景色在深處等待我們去發掘。

[1] Bronstein M M, Bruna J, LeCun Y, et al. Geometric deep learning: going beyond euclidean data[J]. IEEE Signal Processing Magazine, 2017, 34(4): 18-42.

[2] Ying Z, Bourgeois D, You J, et al. Gnnexplainer: Generating explanations for graph neural networks[C]//Advances in neural information processing systems. 2019: 9244-9255.

[3] Ying R, He R, Chen K, et al. Graph convolutional neural networks for web-scale recommender systems[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 974-983.

[4] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.

[5] Veličković P, Cucurull G, Casanova A, et al. Graph attention networks[J]. arXiv preprint arXiv:1710.10903, 2017.

[6] Xu K, Hu W, Leskovec J, et al. How powerful are graph neural networks?[J]. arXiv preprint arXiv:1810.00826, 2018.

[7] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.

[8] Huang G, Liu Z, Van Der Maaten L, et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4700-4708.

[9] Li Q, Han Z, Wu X M. Deeper insights into graph convolutional networks for semi-supervised learning[J]. arXiv preprint arXiv:1801.07606, 2018.

[10] Zhao L, Akoglu L. Pairnorm: Tackling oversmoothing in gnns[J]. arXiv preprint arXiv:1909.12223, 2019.

[11] Xu K, Li C, Tian Y, et al. Representation learning on graphs with jumping knowledge networks[J]. arXiv preprint arXiv:1806.03536, 2018.

[12] Li G, Muller M, Thabet A, et al. Deepgcns: Can gcns go as deep as cnns?[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 9267-9276.

[13] Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions[J]. arXiv preprint arXiv:1511.07122, 2015.

[14] Rong Y, Huang W, Xu T, et al. Dropedge: Towards deep graph convolutional networks on node classification[C]//International Conference on Learning Representations. 2019.

[15] Zhou K, Dong Y, Lee W S, et al. Effective training strategies for deep graph neural networks[J]. arXiv preprint arXiv:2006.07107, 2020.

[16] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.

[17] Wu F, Zhang T, Souza Jr A H, et al. Simplifying graph convolutional networks[J]. arXiv preprint arXiv:1902.07153, 2019.

[18] http://web.stanford.edu/class/cs224w/

[19] https://www.wikiwand.com/zh/%E5%8D%A1%E6%8B%89%E6%AF%94%E2%80%93%E4%B8%98%E6%B5%81%E5%BD%A2

[20] https://mp.weixin.qq.com/s/1RUdmTr4bHjm6XYVdVRv5A

作者簡介:賀華瑞,2020年畢業於西安電子科技大學,獲得工學學士學位。現於中國科學技術大學電子工程與信息科學系的 MIRA Lab 實驗室攻讀研究生,師從王傑教授。研究興趣包括知識表示與知識推理。

相關焦點

  • 圖神經網絡越深,表現就一定越好嗎?
    然而,日前帝國理工學院教授Michael Bronstein 發出了靈魂拷問:圖神經網絡的深度,真的會帶來優勢嗎?「深度圖神經網絡」是否被誤用了?或者說,我們是否應該重新審視以前認為「圖神經網絡越深,效果就會越好」的思路,說不定「深度」反而對基於圖的深度學習不利呢?眾所周知,深度圖神經網絡的訓練過程非常艱難。
  • 代碼詳解:基於Python建立任意層數的深度神經網絡 - 讀芯術
    圖片來源:pexels.com/@divinetechygir在這篇指南中,我們將建立起一個任意層數的深度神經網絡。這個神經網絡可以應用於二元分類的監督學習問題。圖1 神經網絡構造的例子(符號說明:上標[l]表示與第l層;上標(i)表示第i個例子;下標i表示矢量第i項)單層神經網絡圖2 單層神經網絡示例神經元模型是先計算一個線性函數(z=Wx+b),接著再計算一個激活函數。一般來說,神經元模型的輸出值是a=g(Wx+b),其中g是激活函數(sigmoid,tanh, ReLU, …)。
  • 深度學習之卷積神經網絡經典模型
    雖然層數只有7層,這在如今龐大的神經網絡中可是說是非常少的了,但是包含了卷積層,池化層,全連接層,可謂麻雀雖小五臟俱全了。為了方便,我們把卷積層稱為C層,下採樣層叫做下採樣層。首先,輸入層輸入原始圖像,原始圖像被處理成32×32個像素點的值。然後,後面的隱層計在卷積和子抽樣之間交替進行。C1層是卷積層,包含了六個特徵圖。每個映射也就是28x28個神經元。
  • 中科院計算所沈華偉:圖神經網絡表達能力的回顧和前沿
    沈華偉老師還對近幾年圖神經網絡表達能力的相關研究進行了梳理,他說:「GNN出現的早期,大家對它表達能力的認識是基於其在半監督學習,尤其是節點分類任務上的優秀表現,一些應用向的研究也只是對圖神經網絡表達能力經驗上的證明」。基於這個認知,在介紹完圖神經網絡的基本知識之後,沈華偉老師對圖神經網絡的表達能力給予了理論上的介紹。
  • 中科院計算所沈華偉:圖神經網絡表達能力的回顧和前沿
    在報告中,沈華偉老師提到:這幾年,雖然圖神經網絡在其他領域大量應用,但「內核」仍然停滯不前,目前設計新圖神經網絡(GNN)的兩種常用方式都在面臨理論上的瓶頸。沈華偉老師還對近幾年圖神經網絡表達能力的相關研究進行了梳理,他說:「GNN出現的早期,大家對它表達能力的認識是基於其在半監督學習,尤其是節點分類任務上的優秀表現,一些應用向的研究也只是對圖神經網絡表達能力經驗上的證明」。基於這個認知,在介紹完圖神經網絡的基本知識之後,沈華偉老師對圖神經網絡的表達能力給予了理論上的介紹。
  • 人工智慧系列(六) 深度學習中的神經網絡
    為了讓我們可以通過微調神經網絡的參數來擬合函數關係,實踐家們給出了一種更實用的人工神經元:sigmoid神經元。Sigmoid神經元與感知器的結構是一模一樣的,唯一不同的是output不再是一個分段函數,而變成了一個sigmoid連續函數。如下圖所示,它相當於把感知機的分段函數給用一個圓滑的曲線連續化了。
  • 為什麼深度模型在 CV 領域好使,但用在圖網絡上就這麼難呢?
    可以看出隨著網絡層級加深,GCN-res 效果急劇變差。PairNorm 相對穩定,但降低了性能。NodeNorm 效果最佳,但它的最佳效果是在兩層圖網絡時取得的。這個實驗告訴我們,要將深度圖網絡帶來的提升和訓練它所需要的技巧分開討論是很難的。 為什麼深度模型在 CV 領域這麼好使,但用在圖網絡上就這麼難呢?
  • 人工智慧神經網絡你知道是什麼嗎
    直到人工神經網絡技術的出現,才讓機器擁有了「真智能」。 為什麼說之前的方法都是假智能呢?因為我們人類能清清楚楚地知道它們內部的分析過程,它們只是一個大型的複雜的程序而已;而人工神經網絡則不同,它的內部是一個黑盒子,就像我們人類的大腦一樣,我們不知道它內部的分析過程,我們不知道它是如何識別出人臉的,也不知道它是如何打敗圍棋世界冠軍的。
  • 如何得出神經網絡需要多少隱藏層、每層需要多少神經元?
    人工神經網絡(ANN)初學者常常提出這些問題。如果需要解決的問題很複雜,這些問題的答案可能也會比較複雜。希望讀完這篇文章後,你至少可以知道如何回答這些問題。在計算機科學中,借鑑了生物神經網絡的ANN用一組網絡層表示。這些網絡層可以分為三類:輸入層、隱藏層、輸出層。輸入層和輸出層的層數、大小是最容易確定的。每個網絡都有一個輸入層,一個輸出層。
  • [獨家]25張圖讓你讀懂神經網絡架構
    原標題:[獨家]25張圖讓你讀懂神經網絡架構 由於新的神經網絡架構無時無刻不在湧現,想要記錄所有的神經網絡是很困難的事情。要把所有這些縮略語指代的網絡(DCIGN,IiLSTM,DCGAN等)都弄清,一開始估計還無從下手。
  • 一份完全解讀:是什麼使神經網絡變成圖神經網絡?
    本文將就「為什麼圖有用」、「為什麼很難在圖上定義卷積」、「是什麼使神經網絡成為了圖神經網絡」這些問題進行討論。首先,讓我們簡單回顧一下什麼是圖?圖 G 是由有向或無向邊連接的一組節點(頂點)。節點和邊通常是由專家依據知識經驗或是對問題的直覺進行設置的。
  • Nature通訊:判別神經網絡間的個體差異——計算神經科學新工具
    > 將圖中判別每個物體的神經網絡看成一類,再將不同層的神經網絡間的相關性差異距離用設色熱圖展示,可以看到最神經網絡的第一層,判別不同物體的神經網絡並沒有什麼區別。 而隨著網絡層數的增加,對角線上的小正方形漸漸變淺,說明判別不同物體的神經網絡出現差異,這進一步說明了和待判別對象相關抽象表徵會在神經網絡的較高層次出現。如圖5所示。
  • BP神經網絡
    神經網絡的訓練過程,由特定的算法構成,提供了理想的學習樣本,訓練後,輸入和輸出足夠數量的例子,知道達到收斂。直至使神經網絡的輸出和理想輸出之間的誤差達到極小的狀態。就可以將經過訓練的模型用於解決相同類型的問題了。人工神經網絡各層結構之間的關係是非線性的映射。非線性等的分類問題也可以通過神經網絡來解決。人工神經網絡有著優秀的自學習能力,可以任意精度逼近我們所設定的非線性函數關係。
  • 人工智慧、機器學習、神經網絡和深度學習之間是什麼樣的關係?
    圖 1人工智慧產業發展歷程  講的有點遠了,回到今天的主題,人工智慧,機器學習,神經網絡  神經網絡(NeuralNetwork)簡單說就是機器學習眾多算法中的一類,設計的時候就是模仿人腦的處理方式,希望其可以按人類大腦的邏輯運行(儘管目前來說對人腦的研究仍不夠透徹)。神經網絡已經有很多年的歷史,但現在基本很少聽到了。飲鹿網(innov100)產業研究員認為神經網絡可以簡單的分為單層,雙層,以及多層網絡。
  • 對人工神經網絡「開刀」,利用神經科學消融法檢測人工神經網絡
    當談及人工神經網絡,黑箱問題總會引起熱議,人們對黑箱問題的評價褒貶不一。有人認為黑盒是神經網絡的優勢,這代表神經網絡的自主學習性,代表其自動學習以及自動完善的特性。圖|Lillian, Meyes & Meisen來自 RWTH Aachen(亞琛工業大學)機械工程學院下信息管理研究所的研究人員們在解決黑箱問題上提出了自己的見解,他們探索了神經科學技術的相關應用,以確定人工神經網絡中信息是如何結構化的。
  • 如何讓圖卷積網絡變深?騰訊AI Lab聯合清華提出DropEdge
    這些模型分類效果往往隨著深度加深而變差(即使使用殘差連接),這與用於圖片分類的卷積網絡動輒超過幾十層的現象很不一致。圖卷積神經網絡變深之後難以訓練的現象嚴重製約了其表達能力。所以,如何有效的訓練超深圖卷積網絡是圖學習研究的一個重大挑戰。這項工作由騰訊 AI Lab 與清華大學合作完成。
  • 理清神經網絡中的數學知識
    導讀:首先我想在這裡聲明的是,本篇文章針對的是一些已經具備一定神經網絡知識的人。意在幫助大家梳理神經網絡中涉及的數學知識,以及理解其物理含義。希望大家讀過之後,可以使大家對於神經網絡有更多角度的理解,幫助大家推導以及理解其中的數學公式。
  • 極驗發布全國首個專注於圖神經網絡的書籍,《深入淺出圖神經網絡...
    圖神經網絡是當前 AI 領域最為火爆的研究熱點之一,學術界與工業界各大公司紛紛投入大量資源研究。它在因果推理上擁有巨大潛力,有望解決深度學習無法處理的關係推理、可解釋性等一系列問題,而這些問題被業界認為是能夠推動 AI 出現實質性進展的關鍵。
  • 神經網絡預測編碼器的設計及應用
    如圖1所示,該BP網絡具有一個輸入層,兩個隱含層(也稱中間層)和一個輸出層組成,各層之間實行全連接。BP神經網絡的隱含層通常具有多個,其傳輸函數常常採用sigmoid函數,而輸入輸出層則採用線性傳輸函數。
  • 【乾貨】圖神經網絡的十大學習資源分享
    【乾貨】圖神經網絡的十大學習資源分享英語原文:Top 10 Learning Resources for Graph Neural Networks翻譯:雷鋒字幕組(聽風1996)圖神經網絡(GNNs)是深度學習的一個相對較新的領域,從最近開始越來越流行