【論文解讀 ICLR 2020 | DropEdge】TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION

論文題目:DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION

論文來源:ICLR 2020

論文鏈接:https://openreview.net/forum?id=Hkx1qkrKPr

代碼鏈接:https://github.com/DropEdge/DropEdge

關鍵詞:GNN的加深,過擬合,過平滑,DropEdge



1 摘要

本文解決的是圖神經網絡無法加深的問題,提出DropEdge機制加深GNN,用於節點分類任務。

圖神經網絡無法加深主要有兩個原因:過擬合(over-fitting)和過平滑(over-smoothing)。

本文提出了DropEdge機制,在模型訓練時隨機刪減掉原始圖中的邊,來緩解這兩個問題。

此外,作者還從理論上證明了DropEdge既可以降低過平滑的收斂速度,又可以減少由過平滑引起的信息損失。並且DropEdge可以用於許多GNN模型以增強其性能,例如JKNet、GCN、ResGCN、GraphSAGE。

實驗結果顯示DropEdge可以提升多個淺層和深層GCN模型的性能。


2 引言

GCNs的思想是:聚合節點鄰居的信息及其自身的信息,進行消息傳遞,以獲取到節點的高階特徵,生成節點的表示。GCNs已經成爲圖表示學習的重要方法,但是這些模型通常都是淺層的,限制了模型的表示能力。

最近,基於卷積神經網絡裏面的經驗,有一些對圖卷積網絡做深的模型修改嘗試。但是這些工作並沒有真正去分析爲什麼圖卷積網絡很難做深以及去解釋模型修改在圖卷積網絡裏面是有效的。

本文的動機就是分析阻礙GCN加深的因素,並且提出方法來解決這些問題。導致GCN無法加深主要有過擬合(over-fitting)和過平滑(over-smoothing)兩個原因。

(1)過擬合指的是使用複雜的模型去擬合少量數據時會造成泛化能力變差,是深度學習模型中常見的問題。

(2)過平滑是圖神經網絡中特有的問題,由於GCN的思想是聚合鄰居節點和節點自身的信息來學習節點的表示,所以隨着網絡層數的加深,節點的表示有趨同性,節點表示的可區分性會變差。也就是說隨着層數的不斷加深,所有節點的表示最終會收斂到一個固定點,得到的節點表示就和輸入特徵無關了,而且還會導致梯度消失。

圖1中虛線部分是原始的 4 層和 8 層 GCN 在 Cora 數據集上的訓練曲線(這裏爲了更好展示過擬合和過平滑,取消了 GCN 層中的 bias),可以看到,在 GCN-4 上,驗證集 (Validation Set) 的損失函數在訓練經過一定輪數後反向增長。這個增長是優於過擬合。而在 GCN-8 上,訓練集 (Training Set) 上的損失函數則根本沒有下降,這是因爲過平滑的存在,導致 GCN-8 上訓練失效。

本文提出的DropEdge方法可以緩解這兩個問題,主要思想是:在每次訓練時,隨機刪除掉原始圖中固定比例的邊。在GCN訓練過程中應用DropEdge有許多好處:

(1)DropEdge可以看成是數據增強技術。在訓練過程中對原始圖中的邊進行不同的隨機刪除,也就增強了輸入數據的隨機性和多樣性,可以緩解過擬合的問題。

(2)DropEdge還可以看成是一個消息傳遞減速器(message passing reducer)。GCNs中,鄰接節點間的消息傳遞是通過連邊實現的,隨機刪除掉一些邊就可以讓節點連接更加稀疏,在一定程度上避免了GCN層數加深引起的過平滑問題。

作者還在理論上證明了DropEdge既可以降低過平滑的收斂速度,又可以減少由過平滑引起的信息損失


定義

  • 圖爲G=(V,E)\mathcal{G}=(\mathbb{V}, \mathcal{E})

  • 節點特徵定義爲X={x1,...,xN}RN×C\mathbf{X}={\{x_1, ..., x_N}\}\in \mathbb{R}^{N\times C}

  • 鄰接矩陣定義爲ARN×N\mathbf{A}\in \mathbb{R}^{N\times N}

  • 節點度定義爲d={d1,...,dN}\mathbf{d}={\{d_1, ..., d_N}\}did_i爲和節點ii相連的邊的權重和。D\mathbf{D}爲度對角矩陣。

GCN

GCN的前向傳播定義爲:

  • H(l+1)={h1(l+1),...,hN(l+1)}\mathbf{H}^{(l+1)}={\{h^{(l+1)}_1, ..., h^{(l+1)}_N}\}是第ll層的隱層向量

  • A^=D^1/2(A+I)D^1/2\hat{\mathbf{A}}=\hat{\mathbf{D}}^{-1/2}(\mathbf{A}+\mathbf{I})\hat{\mathbf{D}}^{-1/2}

  • D^\hat{\mathbf{D}}A+I\mathbf{A}+\mathbf{I}對應的度矩陣

  • W(l)RCl×Cl1\mathbf{W}^{(l)}\in \mathbb{R}^{C_l\times C_{l-1}}是第ll層的卷積核矩陣,ClC_l是第ll層的隱藏層單元數


3 DropEdge

3.1 METHODOLOGY

每次訓練時,DropEdge機制會隨機刪除掉原始圖中固定比例的邊。(只在訓練集上使用,在測試集和驗證集上不使用DropEdge機制)也就是說隨機選取鄰接矩陣A\mathbf{A}VpVp個非零的元素,將其置零。其中,VV是原始圖中的總邊數,pp是刪除率。刪除後得到鄰接矩陣Adrop\mathbf{A}_{drop}

然後對Adrop\mathbf{A}_{drop}進行re-normalization得到A^drop\hat{\mathbf{A}}_{drop},替換式(1)中的A^\hat{\mathbf{A}}


3.1.1 阻止過擬合

DropEdge對圖中的連接帶來了擾動,它對輸入數據產生了不同的隨機變形,可以看成是數據增強

GCNs的核心思想是對每個節點的鄰居特徵進行加權求和(權重和邊有關),實現對鄰居信息的聚合。從這一角度出發,可以看出DropEdge在GNN訓練時使用的是隨機的鄰居子集進行聚合,而沒有使用所有的鄰居

DropEdge刪邊率爲pp,對鄰居聚合的期望是由pp改變的。在對權重進行歸一化後就不會再使用pp。因此,DropEdge沒有改變鄰居聚合的期望,是用於GNN訓練的無偏的數據增強方法,可以有效防止GNN訓練時的過擬合問題。類似於經典的圖像數據增強方法:rotation, cropping, flapping。


3.1.2 Layer-Wise DropEdge

上述的DropEdge是所有層共享同一個鄰接矩陣。我們也可以在每層上進行DropEdge,在第ll層得到鄰接矩陣A^drop(l)\hat{\mathbf{A}}^{(l)}_{drop}這樣的話可以爲原始數據帶來更多的隨機性。實驗中將layer-wise DropEdge和原始的DropEdge進行了對比。

DropEdge還有助於緩解深層GNN帶來的過平滑問題,接下來將進行介紹。但是後面的推導假設所有的圖卷積層共享相同的鄰接矩陣,對layer-wise DropEdge的探討作爲未來的研究工作。


3.2 阻止過平滑

過平滑指的是隨着網絡的不斷加深,節點的表示最終會收斂到一個固定點。這種不必要的收斂使得深度GCNs的輸出只和圖的拓撲結構有關,獨立於輸入的節點特性,這會損害GCNs的表示能力。

Oono和Suzuki [1]同時考慮了非線性(例如ReLu函數)和卷積核,他們將過平滑看成是收斂到一個子空間,而不是收斂到一個固定點。本文使用的是這些學者提出的子空間的概念。


相關定義

(1)子空間(subspace)

M:={ECCRM×C}\mathcal{M}:={\{EC|C\in \mathbb{R}^{M\times C}}\}是空間RM×C\mathbb{R}^{M\times C}中的MM維的子空間(NN是節點數,CC是節點特徵的維度)。其中ERN×ME\in \mathbb{R}^{N\times M}是正交矩陣,ETE=IM,MNE^TE=I_M, M\leq N

(2)ϵsmoothing\epsilon-smoothing

給定獨立於輸入特徵的子空間M\mathcal{M},若第ll層的隱層矩陣H(l)\mathbf{H}^{(l)}中的所有向量的距離不超過ϵ(ϵ>0)\epsilon(\epsilon>0),則稱GCN中的節點特徵發生了ϵsmoothing\epsilon-smoothing現象。

其中,dM()d_{\mathcal{M}}(\cdot)是計算輸入矩陣和子空間M\mathcal{M}間的距離。

(3)the ϵsmoothing\epsilon-smoothing layer

給定子空間M\mathcal{M}ϵ\epsilon,我們將滿足式(3)的GCN層的最小值稱爲the ϵsmoothing\epsilon-smoothing layer。即,l(M,ϵ):=minl{dM(H(l))<ϵ}l^*(\mathcal{M}, \epsilon):=min_l{\{d_{\mathcal{M}}(\mathbf{H}^{(l)})<\epsilon}\}。(l(M,ϵ)l^*(\mathcal{M}, \epsilon)是層數)

基於the ϵsmoothing\epsilon-smoothing layer進行分析是很難的,因此我們將ll^*上界定義爲了the relaxed ϵsmoothing\epsilon-smoothing layer。

(4)the relaxed ϵsmoothing\epsilon-smoothing layer

給定子空間M\mathcal{M}ϵ\epsilon,我們將l^(M,ϵ)=log(ϵ/dM(X))logsλ\hat{l}(\mathcal{M}, \epsilon)=\lceil \frac{log(\epsilon/d_{\mathcal{M}}(\mathbf{X}))}{log s\lambda} \rceil稱爲the relaxed ϵsmoothing\epsilon-smoothing layer。其中,ss是所有層卷積核奇異值的最小上界λ\lambdaA^\hat{\mathbf{A}}第二大特徵值。有l^l\hat{l}\geq l^*


根據Oono & Suzuki 的結論,足夠深的GCN在一些條件下,對於任意小的ϵ\epsilon值,都會有ϵsmoothing\epsilon-smoothing問題。他們只是提出了深度GCN中勳在ϵsmoothing\epsilon-smoothing,但是沒有提出對應的解決方法。

作者從兩個角度解釋了DropEdge有助於緩解ϵsmoothing\epsilon-smoothing問題:

(1)通過減少節點間的連接,DropEdge可以降低過平滑的收斂速度,也就是說使用DropEdge可以讓the relaxed ϵsmoothing\epsilon-smoothing layer的值增加(也就是層數增加);

(2)原始空間和收斂子空間的維度之差(例如 NMN-M)衡量了信息的損失量,這個差越大說明信息損失越嚴重。DropEdge可以增加子空間的維度,也就具有減少信息損失的能力。


總結如下:

定理 1:定義原始圖爲G\mathcal{G},經過DropEdge刪邊後的圖爲G\mathcal{G}^{'}。給定一個小值ϵ\epsilon,假定G\mathcal{G}G\mathcal{G}^{'}關於子空間M\mathcal{M}M\mathcal{M}^{'}會遇到ϵsmoothing\epsilon-smoothing問題。然後,下面不等式的任意一個在刪除足夠多的邊後仍然成立。

在這裏插入圖片描述
定理1的證明基於Oono & Suzuki[1]的推導和隨機遊走理論中的mixing time,具體見論文附錄。定理1表明DropEdge要麼降低了過擬合的收斂速度,要麼緩解了過平滑帶來的信息損失。因此,DropEdge使得我們可以有效地訓練深層的GCNs。


3.3 討論

比較DropEdge和其他相關概念的不同,包括Dropout、DropNode和Graph Sparsification。

(1)DropEdge vs. Dropout

Dropout是對特徵向量中的某些維度隨機置零,可以緩解過擬合,但是不能緩解過平滑,因爲它沒有改變鄰接矩陣

DropEdge可以看成Dropout向圖數據的推廣,將刪除特徵維度變換成刪除邊,有助於緩解過擬合和過平滑問題。

實際上兩者是互補關係,實驗中對兩者進行了比較。

(2)DropEdge vs. DropNode

作者將基於節點採樣的方法稱爲DropNode(GraphSAGE, FastGCN, AS-GCN中均有使用)。DropNode的思想是採樣子圖用於mini-batch訓練,和刪除的節點相連的邊也被刪除了,因此它可以看成是刪除邊的特殊形式。

然而,DropNode中刪除的邊是面向節點(node-oriented)的且無向的。DropEdge是面向邊(edge-oriented)的,它可以在訓練時保留所有節點的特徵,更具靈活性。

而且,現有的DropNode的方法通常是低效的,GraphSAGE的layer size是指數級增長的,AS-GCN每層都需要進行採樣。DropEdge在加深層數時不會增加layer size,也不需要遞歸地採樣,DropEdge對所有邊的採樣是並行的。

(3)DropEdge vs. Graph-Sparsification

圖稀疏性的目標是去除掉不必要的邊,以對圖進行壓縮,同時儘可能地保留原始輸入圖中的信息。

DropEdge在每次訓練時會隨機刪除輸入圖中的一些邊,而圖稀疏性的方法需要複雜的優化過程來決定刪除掉哪些邊


4 實驗

1、數據集

(1)對papers的研究領域進行分類:Cora、Citeseer、Pubmed(transductive)

(2)預測社交網絡中的帖子屬於哪個社區:Reddit(inductive)

2、對比方法

GCN; ResGCN; JKNet; INcepGCN; GraphSAGE

3、實驗結果

(1)在多個GCN方法中使用DropEdge,看性能是否有提升

(2)和SOTAs對比

(3)緩解過平滑

計算當前層輸出和上一層輸出的歐氏距離,來衡量過平滑的程度。距離越小說明過平滑現象越嚴重。

圖3 a可以看出,隨着層數的加深,過平滑現象越來越嚴重。但是使用DropEdge(p=0.8p=0.8)時過平滑的收斂速度明顯減緩了。

圖3 b顯示,在訓練之後,沒有使用DropEdge的GCN第5層和第6層輸出的差別爲0,而使用了DropEdge的GCN隨着層數的加深,不同層之間的差別並沒有減爲0。

(4)和Dropout的兼容性

在4層的GCN上進行消融實驗。驗證集上的損失如圖4 a所示,結果表明若同時使用Dropout和DropEdge有助於GCN的訓練。

(5)Layer-Wise的DropEdge

圖4 b所示,layer-wise的DropEdge比原始的DropEdge在訓練時的損失更小,兩者在驗證集上表現差不多。這表明layer-wise的DropEdge有助於訓練的進行。但是爲了避免過擬合的風險,以及減小計算複雜度,作者傾向於使用原始的DropEdge而不是layer-wise的DropEdge。


5 總結

本文的工作非常有意義,在解決圖卷積網絡不能加深的問題上邁出了重要的一步。DropEdge和Dropout有異曲同工之妙,思路簡單,但是非常有效。

本文提出DropEdge機制,有助於圖卷積網絡的加深,以用於節點分類任務。具體操作是在每次訓練時隨機刪除圖中固定比例的一些邊。DropEdge增加了輸入數據的多樣性,從而緩解了過擬合問題;還減少了圖卷積時信息的傳遞,從而緩解了過平滑問題。

在多個數據集上進行實驗,證明了在已有的GCN模型上使用DropEdge,可以提升原有模型的性能。

參考文獻

[1] Kenta Oono and Taiji Suzuki. On asymptotic behaviors of graph cnns from dynamical systems perspective. arXiv preprint arXiv:1905.10947, 2019.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章