【GNN】圖神經網絡小結

圖神經網絡小結

簡單的圖的參數介紹: $\mathcal { G } = ( V , E , A )$node

  • V(N個)是節點集合, 只描述了存在的節點
  • E是邊集合, 只描述了存在的鏈接(邊)
  • A(NxN)是圖的鄰接矩陣, 描述了節點之間的鏈接關係, 當對應的邊eij(鏈接vi,vj的邊)存在的時候, 則對應的Aij = wij > 0, 若eij不存在, 則Aij = 0
  • D(NxN)是圖的度矩陣, 描述了節點自身鏈接的邊的數目, 是對角矩陣, $D_{ii} = ( \sum A_i)$
  • X(NxF)是節點屬性矩陣, 每一個節點對應擁有一個長爲F的屬性向量, 圖能夠用節點屬性來關聯
  • L(NxN)是圖的拉普拉斯矩陣, 歸一化的拉普拉斯矩陣是圖的一個魯棒的數學表示. $L=D-A, L_n=I_n-D^{-1/2}AD^{-1/2}$, 歸一化圖拉普拉斯矩陣具備實對稱半正定的性質, 也就是能夠進行特徵分解獲得特徵值和特徵向量.

圖神經網絡分類

圖網絡有不少結構, 這裏按照最新的綜述論文 A Comprehensive Survey on Graph Neural Networks 文中的分類方式, 主要分爲:算法

  • graph convolution networks
  • graph attention networks
  • graph auto-encoders
  • graph generative networks
  • graph spatial-temporal networks

這裏主要介紹圖卷積網絡GCN. 由於GCN在捕獲結構化依賴上扮演着中心角色.api

GCN: 由譜方法到空域方法

Inspired by the huge success of convolutional networks in the computer vision domain, a large number of methods that re-define the notation of convolutionfor graph data have emerged recently.網絡

These approaches are under the umbrella of graph convolutional networks (GCNs). The first prominent research on GCNs is presented in Bruna et al. (2013), which develops a variant of graph convolution based on spectral graph theory [20]. Since that time, there have been increasing improvements, extensions, and approximations on spectral-based graph convolutional networks [12], [14],[21], [22], [23].架構

As spectral methods usually handle the whole graph simultaneously and are difficult to parallel or scale to large graphs, spatial-based graph convolutional networks have rapidly developed recently [24], [25], [26],[27]. These methods directly perform the convolution in the graph domain by aggregating the neighbor nodes' information. Together with sampling strategies, the computation can be performed in a batch of nodes instead of the whole graph[24], [27], which has the potential to improve the efficiency.app

GCN概述

將應用於傳統數據的卷積操做, 泛化到了圖數據上面. 關鍵是學習一個函數f, 來經過集成本身和鄰居的特徵生成節點的表示. GCN在構建其餘複雜的圖神經網絡的任務上, 扮演着重要的角色. 包括auto-encoder-based models, generative models, spatial-temporal networks等.dom

對於GCN而言, 在集成鄰居的過程的時候, 使用的權重是無參數的, 而GAN(圖注意力網絡)使用了一個端到端神經網絡架構捕獲的權重, 來使得更重要的節點擁有更大的權重.(這裏更多的是表述空域的GCN)異步

對於圖卷積網絡, 實際上是在嘗試經過圖譜理論或者局部空間來定義圖卷積的方式來在圖數據上覆制CNN的成功.ide

GCN的輸出機制

使用圖結構和節點內容信息做爲輸入, GCN的輸出使用如下不一樣的機制, 能夠關注於不一樣的圖分析任務.函數

  1. 節點級輸出與節點回歸和分類任務相關. 圖卷積模塊直接給出節點潛在的表達, 多層感知機或者softmax層被用做最終的GCN層.
  2. 邊級輸出與邊分類和鏈接預測任務相關. 爲了預測邊的標記和鏈接強度, 一個附加函數將會把來自圖卷積模塊的兩個節點的潛在表達做爲輸入.
  3. 圖級輸出與圖分類任務有關. 爲了獲取一個圖級的緊湊表達, 池化模塊被用來粗化圖到子圖, 或用來加和/平均節點表達.

這裏有一個總結的表, 總結了主要方法的狀況:

img

對於圖卷積網絡, 是能夠經過半監督/全監督/無監督的方式進行端到端訓練的, 注意取決於學習任務和標籤信息的獲取.

GCN的不一樣方法

  • 譜方法經過從圖信號處理的視角引入濾波器來定義圖卷積, 這裏圖卷積操做被解釋爲移除圖信號中的噪聲
  • 空域方法將圖卷積表達爲從鄰域中集成特徵信息的過程.
  • 當GCN在節點等級上操做的時候, 圖池化模塊, 能夠超入到GCN層中, 來粗化圖到高級的子圖. 這樣一個結構被用來提取圖級表達和處理圖分類任務.

基於譜方法的GCN

初始

基於圖信號處理的知識, 圖上的卷積能夠被定義爲: $\mathbf { x } * _ { G } \mathbf { g } _ { \theta } = \mathbf { U } \mathbf { g } _ { \theta } \mathbf { U } ^ { T } \mathbf { x }$

其中$\mathbf { g } _ { \theta } = \operatorname { diag } \left( \mathbf { U } ^ { T } \mathbf { g } \right)$表示濾波器. 能夠看作是L特徵值的函數, 也就是 $g _ { \theta } ( \Lambda )$.

這裏有$\mathbf { x } \in \mathbf { R } ^ { N }$, xi表示第i個節點的值(這裏至關於節點的特徵向量長度只有1).

這個等式計算消耗大, 計算L的特徵分解對於大圖來講多是很是昂貴的.

在後續的改進中, 這裏的信號的設定被進一步擴展, 輸入信號表示爲: $\mathbf { X } ^ { k } \in \mathbf { R } ^ { N \times f _ { k - 1 } }$, 這裏$f_k-1$表示輸入通道數, $f_k$表示輸出通道數. 濾波器也整合表示爲$\mathbf { g } _ { \theta } = \Theta _ { i , j } ^ { k }$, 表示爲:

$\mathbf { X } _ { : , j } ^ { k + 1 } = \sigma \left( \sum _ { i = 1 } ^ { f _ { k - 1 } } \mathbf { U } \Theta _ { i , j } ^ { k } \mathbf { U } ^ { T } \mathbf { X } _ { \mathbf { s } , i } ^ { k } \right) \quad \left( j = 1,2 , \cdots , f _ { k } \right)$

這裏的 $\sigma$ 表示的是一個非線性轉換.

切比雪夫K階截斷: ChebNet

以後有人利用切比雪夫多項式來近似表示了濾波器, 進一步簡化了公式的計算:

$\mathbf { g } _ { \theta } = \sum _ { i = 1 } ^ { K } \theta _ { i } T _ { k } ( \tilde { \boldsymbol { \Lambda } } ) ,$ where $\tilde { \boldsymbol { \Lambda } } = 2 \Lambda / \lambda _ { \max } - \mathbf { I } _ { \mathrm { N } }$

Chebyshev polynomials are defined recursively by $T _ { k } ( x ) = 2 x T _ { k - 1 } ( x ) - T _ { k - 2 } ( x )$ with $T _ { 0 } ( x ) = 1$ and $T _ { 1 } ( x ) = x$

所以卷積操做進一步表示爲:

$\begin{aligned} \mathbf { x } * _ { G } \mathbf { g } _ { \theta } & = \mathbf { U } \left( \sum _ { i = 1 } ^ { K } \theta _ { i } T _ { k } ( \tilde { \boldsymbol { \Lambda } } ) \right) \mathbf { U } ^ { T } \mathbf { x } \ & = \sum _ { i = 1 } ^ { K } \theta _ { i } T _ { i } ( \tilde { \mathbf { L } } ) \mathbf { x } \ \text { where } \tilde { \mathbf { L } } = 2 \mathbf { L } / \lambda _ { \max } - \mathbf { I } _ { \mathrm { N } } \end{aligned}$

這個時候, 能夠看這個表達式, 這個卷積的計算只依賴於中心節點的K階鄰居.(K步之內可達的節點). 並且這樣定義的濾波器也是稀疏的.

一階ChebNet

當前面的公式中, K=1的時候, 而且使得 $\lambda_{max}=2$, 則進一步簡化爲:

$\mathbf { x } * _ { G } \mathbf { g } _ { \theta } = \theta _ { 0 } \mathbf { x } - \theta _ { 1 } \mathbf { D } ^ { - \frac { 1 } { 2 } } \mathbf { A } \mathbf { D } ^ { - \frac { 1 } { 2 } } \mathbf { x }$

爲了進一步減小參數, 以免過擬合, 這裏進行了進一步簡化, 讓兩個 $\theta$ 相反. 也就是$\theta = \theta _ { 0 } = - \theta _ { 1 }$, 這就獲得了最終簡化後的定義:

$\mathbf { x } * _ { G } \mathbf { g } _ { \theta } = \theta \left( \mathbf { I } _ { \mathbf { n } } + \mathbf { D } ^ { - \frac { 1 } { 2 } } \mathbf { A } \mathbf { D } ^ { - \frac { 1 } { 2 } } \right) \mathbf { x }$

這裏最終表示爲:

$\mathbf { X } ^ { \mathbf { k } + \mathbf { 1 } } = \tilde { \mathbf { A } } \mathbf { X } ^ { \mathbf { k } } \Theta$

where $\tilde { \mathbf { A } } = \mathbf { I } _ { \mathbf { N } } + \mathbf { D } ^ { - \frac { 1 } { 2 } } \mathbf { A } \mathbf { D } ^ { - \frac { 1 } { 2 } }$

經過一階ChebNet定義的圖卷積在空間上是局部的, 這彌補了譜方法與空域方法的差異. 輸出的每行表示每一個節點經過一個加權集成了自身和相鄰節點的信息了的線性轉換來得到的潛在表徵.

然而, 一階ChebNet主要的問題是, 在批量訓練過程當中,隨着1stChebNet層數的增長,計算代價呈指數增加. 最後一層中的每一個節點必須在之前的層中遞歸地擴展其鄰域. 一些工做已這對這些問題進行了改進.

自適應圖卷積網絡AGCN

爲了探索沒有被圖拉普拉斯矩陣指定的隱藏結構關係, 有人提出了AGCN, AGCN用一個所謂的殘差圖來擴充一個圖,這個圖是經過計算節點之間的成對距離來構造的, 儘管可以捕獲互補的關係信息, 可是它的計算複雜度爲$O(N^2)$.

譜方法小結

譜方法主要依賴於拉普拉斯矩陣的分解, 它有三種影響:

  1. 首先,對圖的任何擾動都會致使特徵基的改變。
  2. 其次,學習的過濾器是域相關的,這意味着它們不能應用於具備不一樣結構的圖
  3. 第三,特徵分解須要$O(N^3)$的計算和$O(N^2)$的內存。

對於譜方法, 一般它們都須要載入整個圖到內存中, 來應用圖卷積, 這對於處理大的圖來講, 不是頗有效率.

基於空域方法GCN

空域方法定義卷積主要基於節點的空間關係. 爲了關聯圖和圖像, 圖像的每一個像素認爲是節點. 每一個像素直接鏈接到它的相鄰像素.

因爲相鄰節點的特殊排序,可訓練權值能夠在不一樣的位置共享。相似地,對於通常圖,基於空間的圖卷積採用中心節點表示和其鄰居表示的聚合來得到該節點的新表示。爲了探索節點感覺域的深度和寬度,一般的作法是將多個圖形卷積層堆疊在一塊兒.

根據卷積層疊加方法的不一樣,空間GCN又可分爲基於遞歸(recurrent-based)的GCN和基於合成(composition-based)的空間GCN兩大類. 基於遞歸的方法使用相同的圖卷積層來更新隱藏表示,而基於合成的方法使用不一樣的圖卷積層來更新隱藏表示.

基於遞歸的空間GCN(Recurrent-based Spatial GCNs)

基於遞歸的方法主要想法是更新節點節點的隱藏狀態直到獲得一個穩定的固定點. 這是經過施加對遞歸函數的約束,或者使用門控遞歸單元結構,或者異步地和隨機地更新節點潛在表示。

圖神經網絡GNN(特指早期的一種結構)

這是圖神經網絡的早期工做, GNN遞歸更新節點的潛在表徵, 直到收斂. 換句話說,從擴散過程的角度來看,每一個節點與鄰居交換信息直到達到平衡爲止。

爲了處理異質圖(heterogeneous graph), 這類GNN的空間圖卷積被定義爲

$\mathbf { h } _ { v } ^ { t } = f \left( 1 _ { \mathbf { v } } , 1 _ { c o } [ v ] , \mathbf { h } _ { n e } ^ { t - 1 } [ v ] , \mathbf { l } _ { n e } [ v ] \right)$

這裏使用了針對節點v的標籤屬性, 邊的標籤屬性, 其鄰居在時間步t的隱藏表徵, 以及其鄰居的標籤屬性.

爲了確保收斂, 遞歸函數必須是一個約束映射, 這個會在映射以後壓縮兩點之間的距離. 若f()是一個神經網絡, 那麼一個懲罰項就會使用在參數的Jacobian矩陣上.

Jacobian矩陣是一階偏導數以必定的方式排列成的矩陣.

GNN使用Almeida-Pineda算法來訓練模型. 核心思想是經過運行傳播過程到達固定點,而後給出收斂解的後向過程.

門控圖神經網絡(GGNN)

GGNN使用門控遞歸單元(GRU)做爲遞歸函數, 來說遞歸下降爲一個固定的步數.

GGNN的空間圖卷積定義爲:

$\mathbf { h } _ { v } ^ { t } = G R U \left( \mathbf { h } _ { v } ^ { t - 1 } , \sum _ { u \in N ( v ) } \mathbf { W h } _ { u } ^ { t } \right)$

不一樣於GNN, GGNN使用基於時間的反向傳播算法(BPTT)來學習參數, 它的優點在於不用再學習約束參數來確保收斂了. 然而,BPTT訓練的缺點是它犧牲了時間和存儲的效率. 尤爲是在處理大圖的時候, GGNN會在全部節點上運行遞歸函數屢次, 須要全部節點的中間態被存儲下來.

隨機穩態嵌入SSE

爲了提高學習效率, SSE算法用來隨機地更新節點的潛在表徵, 以一種異步的方式. 下面是SSE的迭代算法.

img

如上, SSE迭代評估節點潛在表徵而且使用抽樣的批數據更新參數.

爲了確保收斂到穩態, 遞歸函數被定義爲一個歷史狀態和新狀態的加權平均.

$\mathbf { h } _ { \mathbf { v } } ^ { t } = ( 1 - \alpha ) \mathbf { h } _ { \mathbf { v } } ^ { t - 1 } + \alpha \mathbf { W } _ { \mathbf { 1 } } \sigma \left( \mathbf { W } _ { 2 } \left[ \mathbf { x } _ { \mathbf { v } } , \sum _ { u \in N ( v ) } \left[ \mathbf { h } _ { \mathbf { u } } ^ { t - 1 } , \mathbf { x } _ { \mathbf { u } } \right] \right] \right) ; (10)$

上式中, 第二項應該是新的結果, 結合第一項的歷史狀態, 能夠獲得新的真正的狀態.

雖然對鄰域信息的求和隱含地考慮了節點度,但這種求和的規模是否影響該算法的穩定性還是個問題.

基於合成的空間GCN(Composition Based Spatial GCNs)

基於合成的方法更新節點表徵, 經過堆疊多個圖卷積層.

消息傳遞神經網絡(MPNN)

MPNN包含兩個階段, 消息傳送階段(message passing phase)和讀出階段(readout phase). 消息傳送階段實際上運行T步的空間圖卷積. 圖卷積操做經過消息函數$M_t()$和一個更新函數$U_t()$來定義:

$\mathbf { h } _ { v } ^ { t } = \mathbf { U } _ { t } \left( \mathbf { h } _ { v } ^ { t - 1 } , \sum _ { w \in N ( v ) } M _ { t } \left( \mathbf { h } _ { v } ^ { t - 1 } , \mathbf { h } _ { w } ^ { t - 1 } , \mathbf { e } _ { v w } \right) \right)$

經過函數M傳遞來自舊狀態的消息獲得新的狀態, 使用U來結合新舊狀態進行更新, 獲得當前時間的真正狀態.

這裏的讀出階段其實是一個池化操做, 產生了一個整個圖的表徵, 基於每一個單獨節點的隱藏表徵. 它被定義爲:

$\hat { \mathbf { y } } = R \left( \mathbf { h } _ { v } ^ { T } | v \in G \right)$

經過函數R的輸出, 最終的表徵y被用來處理圖級預測任務. 不少的其餘工做均可以看作是使用了U,M的不一樣形式的結果.

GraphSage

引入了聚合函數的概念來定義圖的卷積, 聚合函數實質上是聚合節點的鄰域信息. 它必須對節點順序的排列具備不變性, 例如求均值、和、極大值函數等.

這樣的圖卷積操做能夠被定義爲:

$\mathbf { h } _ { v } ^ { t } = \sigma \left( \mathbf { W } ^ { t } \cdot aggregate _ { k } \left( \mathbf { h } _ { v } ^ { t - 1 } , \left{ \mathbf { h } _ { u } ^ { k - 1 } , \forall u \in \mathcal { N } ( v ) \right} \right)\right.$

GraphSage並無在全部節點上更新狀態, 而是提出了一個批學習算法, 這個提高了對於大圖的可擴展性. 其學習過程主要有三步:

  1. 首先,對節點的局部k跳鄰域進行固定大小的採樣。
  2. 其次,它經過聚合中心節點的鄰居特徵信息來得到中心節點的最終狀態。
  3. 最後,它使用中心節點的最終狀態進行預測並反向傳播錯誤。

img

對於GraphSage而言, 計算損耗隨着跳的階段的增長, 而呈指數增加. 這致使該算法不能有太深的結構, 然而, 實際測試, 跳兩步的GraphSage已經能夠是實現很高的性能了.

空域GCN的其餘變體

  • 擴散卷積神經網絡(DCNN)
    • 擴散卷積神經網絡(DCNN)提出了一種圖卷積網絡,它封裝了圖的擴散過程。
    • A hidden node representation is obtained by independently convolving inputs with power series of transition probability matrix.
    • Though covering a larger receptive field through higher orders of transition matrix, the DCNN model needs $O(N_m^2H)$ memory, causing severe problems when applying it to large graphs.
  • PATCHY-SAN
    • uses standard convolution neural network (CNN) to solve graph classification tasks. To do this, it converts graph-structured data into grid-structured data.
      • Finally, after the grid-structured data with fixed-size is formed, PATCHY-SAN employed standard CNN to learn the graph hidden representations.
      • Utilizing standard CNN in GCNs has the advantage of keeping shift-invariance, which relies on the sorting function.
    • As a result, the ranking criteria in the node selection and ordering process is of paramount importance. In PATCHY-SAN, the ranking is based on graph labellings. However, graph labellings only take graph structures into consideration, ignoring node feature information.
  • 大規模圖卷積網絡(LGCN)
    • 在後續工做中,LGCN提出了一種基於節點特徵信息的排序方法.
    • Unlike PATCHY-SAN, LGCN uses standard CNN to generate node-level outputs.
    • For each node, LGCN assembles a feature matrix of its neigborhood and sortes this feature matrix along each column. The first k rows of the sorted feature matrix are taken as the input grid-data for the target node.
    • 最後,LGCN將一維CNN應用於最終的輸入,獲得目標節點的隱藏表示.
    • 雖然在Patchy-SAN中導出圖標籤須要複雜的預處理,但在LGCN中對特徵值進行排序不須要預處理步驟,從而使其效率更高。.
    • 爲了適應大規模圖的狀況,LGCN提出了一種子圖訓練策略,將採樣的子圖放入一個小批處理中.
  • 混合模型網絡(MoNet)
    • 將標準CNN與非歐幾里得域上的卷積結構統一塊兒來.
    • 在融合鄰域特徵信息時,有幾種基於空間的方法忽略了節點與鄰域之間的相對位置,而MoNet引入了僞座標和權函數,使得節點的鄰域權重由節點與其鄰域之間的相對位置(僞座標)來肯定.
    • 在圖上例如GCN, DCNN(擴散卷積神經網絡)均可以被泛化爲一個特殊MoNet的例子.
    • However these approaches under the framework of MoNet have fixed weight functions. MoNet instead proposes a Gaussian kernel with learnable parameters to freely adjust the weight function.

空域方法小結

空域方法定義圖卷積, 經過集成來自鄰居的特徵信息. 更具不一樣的堆疊圖卷積層的方式, 主要分類兩種, 一種是基於遞歸的要得到節點的穩態的方法, 一種是基於組合的要去合併更高階的鄰域信息的方法.

在訓練時, 每一層中, 兩種方法都必須更新全部節點的隱藏狀態. 然而, 將全部的中間狀態存儲到內存中並非一個有效的策略. 爲了解決這個問題, 一些訓練策略被提出來, 包括針對組合方法的子圖訓練(GraphSage)和針對遞歸方法的隨機異步訓練(SSE)

圖池化模塊

泛化卷積神經網絡到圖結構數據的另外一個關鍵點, 那就是圖池化模塊了. 尤爲是對於圖級分類任務.

和原始CNN中的池化模塊相似, 圖池化模塊能夠容易的減小方差和經過從原始特徵數據中下采樣來減小計算複雜度.

Mean/max/sum池化是實現這一點的最原始和最有效的方法,由於在池化窗口中計算均值/最大/和值是快速的。

$\mathbf { h } _ { G } = m e a n / \max / \operatorname { sum } \left( \mathbf { h } _ { 1 } ^ { T } , \mathbf { h } _ { 2 } ^ { T } , \ldots , \mathbf { h } _ { n } ^ { T } \right)$

  • Henaff等人證實了在網絡的開始加入一個簡單的max/mean池化, 對於下降圖的維度和減輕昂貴的圖傅里葉變換操做的損耗是尤爲重要的.
  • 而Defferrard(ChebNet)等人, 進一步優化了max/min池化操做, 設計了一種有效的池化策略.
    • 使用設計的粗化操做通過粗化後,將輸入圖及其粗化版本的頂點轉化爲一棵平衡的二叉樹.
    • 在最粗糙的層次上對節點進行任意排序,而後在平衡二叉樹中將這種排序傳播到較低的層次,最終在最精細的層次上產生一個規則的排序.
    • 池化這樣的重排的1D信號比原始的效率要高得多。
  • SortPooling操做也被在架構DGCNN中提出, 也是進行了相似的重排操做, 將頂點重排到更有意義的順序. 不一樣於ChebNet, 這裏是根據頂點圖中的結構化的角色來進行的排序.
    • 這個方法未來自空間圖卷積的圖的無序頂點特徵看作一個連續的WL顏色, 而且用來對頂點排序.
    • 除了對頂點特徵進行排序外,它還經過截斷/擴展圖的特徵張量將圖的大小統一爲k. 若是n>k,則刪除最後的n-k行, 不然添加k-n零行.
    • 該方法經過求解一個具備挑戰性的底層圖結構任務,即置換不變量,加強了池化網絡以提升GCN的性能.
  • DIFFPOOL池化模塊, 能夠生成圖的層次表達, 它不只能夠與CNN相結合,並且能夠與各類(various)圖型神經網絡進行端到端的結合.
    • 與之前的全部粗化方法相比,DIFFPOOL並不簡單地將節點彙集在一個圖中,而是爲一組普遍的輸入圖的分層池節點提供了一個通用的解決方案.
    • DIFFPOOL經過使用兩個GNN對節點進行集羣來從新定義圖池模塊. 任何標準的GCN模塊都可以與DIFFPOOL相結合,不只能夠提升性能,並且能夠加快卷積運算的速度.

譜方法與空域方法的比較

做爲針對圖數據的早期卷積網絡, 譜方法已經在許多圖相關分析任務中取得了不錯的結果. 這些模型出如今已有的在圖信號處理的理論基礎上. 經過設計新的圖信號濾波器, 能夠設計新的圖卷積網絡.

做爲最先的圖形數據卷積網絡,基於譜的模型在許多與圖形相關的分析任務中取得了使人印象深入的結果. 這些模型具備很好的吸引力,由於它們具備圖形信號處理的理論基礎. 經過設計新的圖信號濾波器[23],咱們能夠從理論上設計新的圖卷積網絡。

然而,基於譜的模型有幾個缺點, 咱們從效率、通常性和靈活性三個方面來講明這一點:

  1. 在效率方面,基於譜的模型的計算代價隨着圖的大小而急劇增長,由於它們要麼須要進行特徵向量計算,要麼須要同時處理整個圖,這使得它們很難並行或擴展到大圖. 基於空間的模型具備處理大圖的潛力,由於它們經過彙集相鄰節點直接在圖域中執行卷積。計算能夠在一批節點上進行,而不是在整個圖形中進行. 當相鄰節點數目增長時,能夠發展採樣技術以提升效率.
  2. 在通用性方面,基於譜的模型假設一個固定的圖,這使得它們不能很好地推廣到新的或不一樣的圖. 另外一方面,基於空間的模型在每一個節點上局部執行圖形卷積,其中的權重能夠方便地在不一樣的位置和結構之間共享.
  3. 在靈活性方面,基於譜的模型僅限於處理無向圖. 有向圖上的Laplacian矩陣沒有明確的定義,所以將基於譜的模型應用於有向圖的惟一方法就是將有向圖轉換爲無向圖. 基於空間的模型在處理多源輸入(如邊緣特徵和邊緣方向)方面更爲靈活,由於這些輸入能夠合併到聚合函數中.

所以,空間模型近年來受到愈來愈多的關注.

將來的方向

  • 更深
    • The success of deep learning lies in deep neural architectures.
    • However, when it comes to graphs, experimental studies have shown that with the increase in the number of layers, the model performance drops dramatically.
    • According to [Deeper insights into graph convolutional networks for semi-supervised learning], this is due to the effect of graph convolutions in that it essentially pushes representations of adjacent nodes closer to each other so that, in theory, with an infinite times of convolutions, all nodes’ representations will converge to a single point.
    • This raises the question of** whether going deep is still a good strategy for learning graph-structured data**.
  • 感覺野
    • 節點的感覺域是指包括中心節點及其鄰居在內的一組節點. 節點的鄰居數服從冪律分佈. 某些節點可能只有一個鄰居,而其餘節點的鄰居可能多達數千個.
    • Though sampling strategies have been adopted, how to select a representative receptive field of a node remains to be explored.
  • 擴展性
    • 多數圖神經網絡不能適應於大圖. 主要緣由在於當多層圖卷積堆疊時, 節點的最終狀態涉及到了大量的相鄰接點的隱含狀態, 致使了反向傳播的高複雜性.
    • 雖然有幾種方法試圖經過快速採樣和子圖訓練來提升模型的效率, 可是它們的可擴展性仍然不足以處理具備大圖的深度體系結構。
  • 動態與異構
    • 目前大多數的圖神經網絡都是用靜態的同質圖(homogeneous graph)來處理的. 一方面,圖的結構被假定是固定的; 另外一方面,假設圖中的節點和邊來自單個源.
    • 然而,這兩個假設在許多狀況下是不現實的. 在社交網絡中,新的人能夠隨時進入網絡,現有的人也能夠退出網絡. 在推薦系統中,產品可能有不一樣的類型,其輸入可能有不一樣的形式,如文本或圖像. 所以,須要開發新的方法來處理動態的、異構的圖(dynamic and heterogeneous graph)結構

一些新詞

  • permutation invariant: 置換不變量
  • heterogeneous graph: 異構圖
  • homogeneous graph: 同構圖
相關文章
相關標籤/搜索