本文探討了圖神經網路 GNN 與 Weisfeiler-Leman 演算法的聯絡,指出 GNN 在圖同構 graph isomorphism 任務上和 Weisfeiler-Leman 演算法具有同樣的能力,同時二者也存在著同樣的缺陷,基於此,本文提出了一種新的GNN變體: higher-order GNN,並在相關任務上驗證了該方法的優越性。
Weisfeiler-Leman Algorithm and Graph Neural Networks
Weisfeiler-Leman Algorithm 是用來確定兩個圖是否是同構的,其基本思路是通過迭代式地聚合鄰居節點的資訊來判斷當前中心節點的獨立性Identity,從而更新整張圖的編碼表達 code reprsentation。有一個式子來表示更新公式:
把(1)去掉具體的例子可以參考我們之前講的 《Graph learning》| 圖傳播演算法(下),這裡由於每輪迭代都是聚合一階鄰居節點,所以作者特稱這個演算法為 1-WL。
我們再來看一看 GCN 的核心更新公式:
相信對於這個式子很熟悉,我們就不做變數說明了。在GraphSage演算法中,上式被抽象成:
比較上式和1-WL,我們可以發現如下幾點:
1、兩個方法都是在聚合鄰居節點;
2、存在一套特定的GNN模型,其效果完全等價於1-WL;
3、在圖的同構問題上,GNN和1-WL的能力是一樣的,誰也超不過誰;
4、1-WL演算法的侷限性被研究的很清晰,因此在GNN有著同樣的問題。
在 On the power of color refinement 一文的研究中指出 1-WL演算法對圖的一些基本性質難以分辨,如迴圈圖、三角計數等,特別是三角計數問題是研究社交網路的一個關鍵因素。
k-dimensional Graph Neural Networks
為了解決上述問題,作者借鑑1-WL到k-WL的擴充,將GNN擴充到k-GNN,稱之為 higher-order GNN。具體地:
其中s 表示由k個節點組成的subgraph,u 是這個這個子圖s的鄰居子圖,其中鄰居子圖的定義如下:
也就是一個k個節點組成的subgraph,其鄰居子圖必須和其有且僅有 k-1個公共節點。有了這樣的思路之後,我們在建模一些 graph level 的任務時,就可以考慮更多的 high order 資訊聚合,如下圖所示:
實驗
本文的改進主要是針對GNN在 graph level上的任務,因此我們就來看看這方面的效果吧。這裡,作者使用了QM9資料集,這是一個分子結構資料集,任務是通過分子的結構來確定其12項物理化學指標。實驗效果如下:
可以看到本文的方法在每一項指標的預測上均有效果提升。
參考連結
專案連結:
https://github.com/chrsmrrs/k-gnn
論文連結:
https://arxiv.org/abs/1810.02244