探索圖神經網絡的網絡架構和訓練方法


摘要:本文我們將主要介紹各種典型的圖神經網絡的網絡架構和訓練方法。

本文我們將主要介紹各種典型的圖神經網絡的網絡架構和訓練方法。文章《A Comprehensive Survey on Graph Neural Networks》[1]提供了一個全面的圖神經網絡(GNNs) 概述,並且將最新的圖神經網絡分為四類,即遞歸圖神經網絡(RecGNNs)、卷積圖神經網絡(ConvGNNs)、圖自動編碼器(GAEs)和時空圖神經網絡(STGNNs)。在圖神經網的實際應用中,卷積圖神經網絡的使用最為廣泛,因此,本文將重點介紹ConvGNNs一類網絡模型,如上圖GNN Roadmap所示。

1. 歐式空間卷積

在講卷積圖神經網絡(非歐空間做卷積)之前,我們先來回顧下卷積神經網絡(歐式空間做卷積)的過程。有一張如下圖所示的6*6的image,我們在做卷積的時候,通常會使用一個固定大小的卷積核,比如3*3,然后根據設置的步長滑動整張6*6的image,在每一次滑動之處與原圖相應位置做內積。如下圖為卷積核滑動兩次之后的結果。

但是對於非歐空間的圖結構,我們無法找到一個固定大小的卷積核去滑動整個圖區域,如下圖所示。

這時我們就要針對圖的特殊結構,借助歐式空間的卷積方法和圖結構特征,提出兩種卷積圖神經網絡的卷積方案:

方案一:

參考CNN的思想,對每個節點的鄰居進行某種方式的加權求和,即Spatial-based convolution。

方案二:

參考傳統的信號處理的方法,對原始信號進行處理,引入濾波器來定義圖卷積,圖卷積運算被解釋為從圖信號中去除噪聲,即Spectral-based convolution。

 

本篇我們將主要介紹基於空間的卷積圖神經網絡方法和對應的典型的網絡架構。

2. Spatial-based Convolution

在講基於空間的卷積圖神經網絡方法之前,我們先引入兩個術語:

lAggregate:

lReadout:

把所有節點的狀態特征集合起來代表整個圖的狀態特征(下右圖)。即采用某種sum或者average的方式將所有nodes的feature抽象成一個hidden state,並以此代表整張圖的feature。

2.1圖神經網絡(Neural Network for Graphs,NN4G)[2]

NN4G在圖神經網絡領域算是比較早(2009)的提出的卷積圖神經網絡模型,其通過直接將節點的鄰域信息相加來進行圖卷積,表達式如下:

而readout層則通過對每一層的所有節點信息的取平均,即下圖中所有紫色節點 ,從而獲得每一層圖的representation,並對每一層的信息通過求和平均的方式進行整個圖的representation更新,即:

對於NN4G,其具體的計算過程可以用下面這幅圖概括。NN4G也是卷積圖神經網絡的代表性結構,后續的卷積圖神經網絡都是或多或少的在NN4G的基礎上做一些簡單的修改(Aggregate)而獲得。所以理解NN4G的運算流程對於理解基於空間的卷積圖神經網絡至關重要。

2.2擴散卷積神經網絡(Diffusion Convolutional Neural Network, DCNN)[3]

2.3混合模型(Mixture Model Networks, MoNET)[4]

通過上述模型,我們可以發現,當計算某個節點在某一層的hidden state的時候,對於該節點的所有鄰居上述算法都是一視同仁。但是實際情況可能是任何兩個節點之間的關系是有區別的。比如在一副社交關系圖譜中,某個個體和其所連接的所有個體親密關系通常不會相同。這就需要一種新的aggregate方式來解決。

MoNET同樣是定義了一種新的Aggregate的方式,在Aggregate階段不是簡單的對鄰居節點feature的平均求和,而是通過加權的方式,權重的計算則是通過衡量節點之間的度的距離方式,即:

當然這里只是提出了一種權重的計算方式,實際實現中可以選擇不同的權重實現方式。其中

表示節x 的度,圖中的w則是特征變換(比如NN),經過NN對節點feature進行編碼,最后對某一節點的鄰居節點特征加權求和。

2.4圖采樣聚合模型(Graph Sample and aggregate, GraphSAGE)[5]

GraphSAGE主要是通過對鄰居節點采樣的方法對節點信息進行更新,即圖中的Step 1,然后再對這些采樣的節點信息進行某種方式的聚合,主要有Mean\Pooling\LSTM三種aggregate的方法,即圖中的Step 2,Step 3則是利用聚合信息進行當前節點label或者鄰居節點的預測,預測的方式有兩種,一種是無監督學習方式。無監督學習基於圖的損失函數希望臨近的頂點具有相似的向量表示(公式的前半部分),同時讓分離的頂點的表示盡可能區分(公式的后半部分),損失函數如下:

2.5圖注意神經網絡(Graph Attention Networks, GAT)[6]

注意力機制已經在傳統神經網絡CNN和RNN中有了成功的實踐,並且使用attention后模型的性能在特定任務上都有不少的提升。GAT是將attention機制實現在卷積圖神經網絡之中。這里的attention就是一種用來計算節點與鄰居之間權重的方式,最后通過加權求和的方式更新節點的feature,節點間權重的計算公式如下:

下圖就是GAT模型的圖卷積層的更新過程,其中 e(energy)就是attention的權重。

3. 總結

本篇博文主要介紹了Spatial-based Convolution(基於空間的卷積圖神經網絡),以NN4G為基礎,分別介紹了DCNN,MONET,GrapgSAGE,GAT等卷積圖神經網絡結構以及其實現的方式。對於想要在圖神經網絡進行實踐的同學,可以先學習一些開源的圖神經網絡框架。目前完成度較好的圖神經網絡框架主要是基於PyTorch和MXNet的DGL (Deep Graph Library)和PyG (PyTorch Geometric)。

參考文獻

[1] ] Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019.[2] A. Micheli, "Neural Network for Graphs: A Contextual Constructive Approach," in IEEE Transactions on Neural Networks, vol. 20, no. 3, pp. 498-511, March 2009, doi: 10.1109/TNN.2008.2010350.[3] https://arxiv.org/abs/1511.02136[4] https://arxiv.org/pdf/1611.08402.pdf[5] https://arxiv.org/pdf/1706.02216.pdf[6] https://arxiv.org/pdf/1710.10903.pdf[7]https://mp.weixin.qq.com/s?__biz=MzkwNDE5MDY5Mg==&mid=2247486844&idx=1&sn=6ae21b181c208aa67bcd597572e0d840&chksm=c08b82f7f7fc0be178ac3b11d9df15280d74149c5246a7de641e927d13190afe7ce1f9d603e9&scene=21#wechat_redirect[8]. http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/GNN.pdf

本文分享自華為雲社區《深入淺出圖神經網絡應用場景》,原文作者:就挺突然。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM