很好的翻譯:http://www.elecfans.com/rengongzhineng/603772.html 才發現自己翻譯的太渣了,還花了很長時間,嗚嗚~全當練習英語了
In the last couple of years, a number of papers re-visited this problem of generalizing neural networks to work on arbitrarily structured graphs (結構化圖)
(Bruna et al., ICLR 2014; Henaff et al., 2015; Duvenaud et al., NIPS 2015; Li et al., ICLR 2016; Defferrard et al., NIPS 2016; Kipf & Welling, ICLR 2017),
some of them now achieving very promising results in domains that have previously been dominated by, e.g., kernel-based methods, graph-based regularization techniques and others.
Outline
- Short introduction to neural network models on graphs
- Spectral graph convolutions and Graph Convolutional Networks (GCNs)
- Demo: Graph embeddings with a simple 1st-order GCN model 使用簡單的一階GCN模型進行圖形嵌入
- GCNs as differentiable generalization of the Weisfeiler-Lehman algorithm GCN是Weisfeiler-Lehman算法的可微分推廣
If you're already familiar with GCNs and related methods, you might want to jump directly to Embedding the karate club network.
Recent literature相關文獻
Some recent papers introduce problem-specific specialized architectures (e.g. Duvenaud et al., NIPS 2015; Li et al., ICLR 2016; Jain et al., CVPR 2016),
others make use of graph convolutions known from spectral graph theory1 (Bruna et al., ICLR 2014; Henaff et al., 2015) to define parameterized filters(參數濾波器) that are used in a multi-layer neural network model多層神經網絡模型,類似於我們所知道和喜愛的“經典”CNN。
More recent work focuses on bridging the gap between fast heuristics and the slow2,更原則性的譜方法。Defferrard et al. (NIPS 2016) approximate smooth filters in the spectral domain using Chebyshev shpolynomials with free parameters that are learned in a neural network-like model. They achieve convincing results on regular domains (like MNIST), closely approaching those of a simple 2D CNN model.Defferrard等人。 (NIPS 2016)使用Chebyshev shpolynomials切比雪夫多項式在譜域中近似平滑濾波器,其中自由參數是在神經網絡模型中學習的。它們在常規域(如MNIST)上取得令人信服的結果,與簡單的2D CNN模型非常接近。
In Kipf & Welling (ICLR 2017)采用了一種類似的方法,從光譜圖卷積的框架開始,yet introduce simplifications (we will get to those later in the post) that in many cases allow both for significantly faster training times and higher predictive accuracy, reaching state-of-the-art classification results on a number of benchmark graph datasets.然后引入簡化(我們將在后面的文章中介紹),在許多情況下允許兩者顯着加快訓練時間 更高的預測准確性,在許多基准圖數據集上達到最先進的分類結果。
一般化CNN、RNN這樣的神經網絡並且將它們應用在圖結構數據上是一個很有挑戰性的工作。最近有一些論文提出了針對特定問題的專用架構(比如,Duvenaud等, NIPS 2015; Li et等, ICLR 2016; Jain等, CVPR 2016),還有一些論文運用基於譜圖理論的圖卷積來定義參數化的濾波器(filter)(Bruna等, ICLR 2014; Henaff等, 2015),並將它們應用在我們熟知的經典多層CNN網絡中。
另外最近更多的工作重點是結合速度快的啟發式算法和速度慢但更合理的譜方法。Defferrard等人 (NIPS 2016)使用帶有自由參數的Chebyshev多項式在譜域中近似得到平滑的濾波器,其中參數可以通過一個類似神經網絡的模型學習。他們在常用的數據集(MNIST)得到了令人信服的結果,和簡單的2維CNN模型的結果非常接近。
在這篇(Kipf & Welling等,ICLR 2017)文章中,我們使用了一個相似的方法並且也是從譜圖卷積的框架出發,並引入了一種簡化方式(稍后介紹)既能明顯加快訓練時間又能得到更高的預測精度,在一些基准的圖數據集上,達到了最好的效果。
GCNs Part I: Definitions
目前,大多數圖形神經網絡模型具有一些共同的通用架構。 我將這些模型稱為圖形卷積網絡(GCN); 卷積,因為濾波器參數通常在圖中的所有位置(或其子集,如 in Duvenaud et al., NIPS 2015)共享。
對於這些模型,目標是學習圖G=(V,E)(V頂點 E邊)上的信號/特征函數,該函數作為輸入:
1.每個節點i的特征描述為xi;用N×D維特征矩陣X概括(N:節點數,D:輸入特征數)
2.矩陣形式的圖結構的代表性描述,通常以鄰接矩陣A(或其某些功能)的形式( aij=0為不相鄰,aij=1為相鄰)
並產生一個節點級輸出Z(N×F維特征矩陣),其中F是每個節點的輸出特征數)。 圖形級輸出可以通過引入某種形式的池化操作來建模(參見,e.g. Duvenaud et al., NIPS 2015)。
然后可以將每個神經網絡層寫為非線性函數
(或圖表級輸出的z),L是層數。 然后,具體模型的區別僅在於如何選擇 f(⋅,⋅)和參數化。
GCNs Part II: A simple example
作為一個例子,讓我們考慮以下非常簡單的分層傳播規則形式:
W(l)是第l個神經網絡層的權重矩陣,σ(⋅)是一個像ReLU一樣的非線性激活函數。盡管它很簡單,但這個模型已經非常強大(我們馬上就會談到它)。
但首先,讓我們解決這個簡單模型的兩個局限性:
1.與 A 相乘意味着,對每個節點都是將所有相鄰節點的特征向量的加和而不包括節點本身(除非圖中存在自循環)。我們可以通過在圖中強制執行自我循環來「解決」這個問題——只需要將恆等矩陣添加到 A 上。
2.第二個局限性主要是 A 通常不是歸一化的,因此與 A 相乘將完全改變特征向量的分布范圍(我們可以通過查看 A 的特征值來理解)。歸一化 A 使得所有行總和為 1,即 D^-1 A,其中 D 是對角節點度矩陣,這樣即可避免這個問題。歸一化后,乘以 D^-1 A 相當於取相鄰節點特征的平均值。在實際應用中可使用對稱歸一化,如 D^-1/2 A D^-1/2(不僅僅是相鄰節點的平均),模型動態會變得更有趣。結合這兩個技巧,我們基本上獲得了Kipf & Welling (ICLR 2017)文章中介紹的傳播規則:
結合這兩個技巧,我們基本上得出了在Kipf & Welling (ICLR 2017)中引入的傳播規則:
式中 A =A+I,I 是單位矩陣,D 是 A 的對角節點度矩陣。
在下一節中,我們將仔細研究這種類型的模型如何在一個非常簡單的示例圖上運行:Zachary's karate club network Zachary的空手道俱樂部網絡(make sure to check out the Wikipedia article!))。
GCNs Part III: Embedding the karate club network 嵌入空手道俱樂部網絡
空手道俱樂部圖表,顏色表示通過基於模塊化的聚類獲得的 communities社區(Brandes et al., 2008).
讓我們來看看我們的簡單GCN模型(參見上一節或Kipf & Welling, ICLR 2017)如何在著名的圖形數據集上工作:Zachary的空手道俱樂部網絡(見上圖)。
Zachary空手道俱樂部是一個小型的社交網絡,在這里,俱樂部管理員和教練之間會發生沖突。任務是預測,當沖突發生時,俱樂部成員會站在哪一邊。俱樂部社交網絡圖表示如下:
每個節點表示俱樂部的每個成員,成員之間的連接表示他們在俱樂部外進行的交互。管理員用是節點A,教練是節點I。
我們采用隨機初始化權重的3層GCN。 現在,在訓練權重之前,我們只需將圖的adjacency matrix鄰接矩陣A和X = I(即單位矩陣,因為我們沒有任何節點特征)插入到模型中。 3層GCN現在前向傳播期間執行三個傳播步驟,並有效地卷積每個節點(圖的節點)的3階鄰域(所有節點最多3“跳”)。值得注意的是,該模型為這些節點生成了一個與圖的共同體結構非常相似的嵌入(見下圖)。到目前為止,我們已經完全隨機地初始化了權重,並且還沒有做任何訓練。
用於空手道俱樂部網絡中節點的GCN嵌入(隨機權重)。
這似乎有點令人驚訝。最近一篇名為 DeepWalk 的模型((Perozzi et al., KDD 2014))表明,他們可以在復雜的無監督訓練過程中得到相似的嵌入。那我們怎么可能僅僅使用未經訓練的簡單 GCN 模型,就得到
這樣的嵌入呢?
我們可以通過將 GCN 模型視為圖論中著名的 Weisfeiler-Lehman 算法的廣義可微版本,並從中得到一些啟發。Weisfeiler-Lehman 算法是一維的,其工作原理如下 :
對所有的節點 vi∈G 求解鄰近節點 {vj} 的特征 {hvj}
通過 hvi←hash(Σj hvj) 更新節點特征,該式中 hash(理想情況下)是一個單射散列函數
重復 k 步或直到函數收斂。
在實際應用中,Weisfeiler-Lehman 算法可以為大多數圖賦予一組獨特的特征。這意味着每個節點都被分配了一個獨一無二的特征,該特征描述了該節點在圖中的作用。但這對於像網格、鏈等高度規則的圖是不適用的。對大多數不規則的圖而言,特征分配可用於檢查圖的同構(即從節點排列,看兩個圖是否相同)。
回到我們圖卷積的層傳播規則(以向量形式表示):
式中,j 表示 vi 的相鄰節點。cij 是使用我們的 GCN 模型中的對稱歸一化鄰接矩陣 D-1/2 A D-1/2 生成的邊 (v_i,v_j) 的歸一化常數。
我們可以將該傳播規則解釋為在原始的 Weisfeiler-Lehman 算法中使用的 hash 函數的可微和參數化(對 W(l))變體。如果我們現在選擇一個適當的、非線性的的矩陣,並且初始化其隨機權重,使它是正交的,(或者使用 Glorot & Bengio, AISTATS 2010 提出的初始化)那么這個更新規則在實際應用中會變得穩定(這也歸功於歸一化中的 c_ij 的使用)。我們得出了很有見地的結論,即我們得到了一個很有意義的平滑嵌入,其中可以用距離遠近表示局部圖結構的相似性/不相似性!
GCNs Part IV: Semi-supervised learning 半監督學習
由於我們模型中的所有內容都是可微分且參數化的,因此可以添加一些標簽,使用這些標簽訓練模型並觀察嵌入如何反應。我們可以使用Kipf & Welling (ICLR 2017).文章中介紹的 GCN 的半監督學習算法。我們只需對每類/共同體(下面視頻中突出顯示的節點)的一個節點進行標記,然后開始進行幾次迭代訓練:
用 GCNs 進行半監督分類:對每類僅僅標記一個標簽,(突出顯示標記節點)進行 300 次迭代訓練得到隱空間的動態。
使用GCN進行半監督分類:潛在的空間動態,300次訓練迭代,每類有一個標簽。 被標記的節點突出顯示。
請注意,該模型會直接生成一個二維的即時可視化的隱空間。我們觀察到,三層 GCN 模型試圖線性分離這些(只有一個標簽實例的)類。這一結果是引人注目的,因為模型並沒有接收節點的任何特征描述。與此同時,模型還可以提供初始的節點特征,因此在大量數據集上都可以得到當前最佳的分類結果,而這也正是我們在文章中描述的實驗所得到的結果。
結論
有關這個領域的研究才剛剛起步。在過去的幾個月中,該領域已經獲得了振奮人心的發展,但是迄今為止,我們可能只是抓住了這些模型的表象。而神經網絡如何在圖論上針對特定類型的問題進行研究,如在定向圖或關系圖上進行學習,以及如何使用學習的圖嵌入來完成下一步的任務等問題,還有待進一步探索。本文涉及的內容絕非詳盡無遺的,而我希望在不久的將來會有更多有趣的應用和擴展。