如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

AIBigbull2050發表於2020-04-11
2020-04-07 14:17:08

機器之心釋出

機器之心編輯部

近年來,圖神經網路的研究異常火爆,被各大頂會錄取的文章數量爆炸式增長。然而,目前大部分圖卷積網路,尤其是面向節點分類的網路,都是淺層網路。這些模型分類效果往往隨著深度加深而變差(即使使用殘差連線),這與用於圖片分類的卷積網路動輒超過幾十層的現象很不一致。圖卷積神經網路變深之後難以訓練的現象嚴重製約了其表達能力。所以,如何有效的訓練超深圖卷積網路是圖學習研究的一個重大挑戰。這項工作由騰訊 AI Lab 與清華大學合作完成。


如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


騰訊 AI Lab 和清華大學的這項研究表明,圖神經網路無法做深由兩個原因造成:過擬合 (Overfitting) 和過平滑(Oversmoothing)。為了解決這兩個問題,文章提出了一種簡潔但非常有效的方法:隨機刪邊技術,DropEdge,極大提升了超深圖卷積網路的訓練效率和節點分類效果。值得注意的是,文章投稿到 openreview 的時候就引來了眾多研究同行的關注。文章正式被接收後,圖靈獎獲得者 Yoshua Bengio 的團隊成員 Petar Veličković(注意力圖網路 GAT 的發明者)在 openreview 平臺上也給與了關注與好評。

  • 論文地址:https://openreview.net/forum?id=Hkx1qkrKPr
  • 程式碼地址:https://github.com/DropEdge/DropEdge


引言
圖神經網路(GNN)在近年取得了長足的發展。非常多的圖神經網路的模型,例如圖卷積神經網路(GCN),圖注意力網路(GAT)等,在各種圖學習的應用上都取得了非常不錯的結果。 但是,現在大部分的圖卷積網路結構,其實都是淺層的(兩層)。這種淺層網路極大的限制了圖卷積網路的表達能力。最近,基於卷積神經網路裡面的經驗,有一些對圖卷積網路做深的模型修改嘗試。但是這些工作並沒有真正去分析為什麼圖卷積網路很難做深以及去解釋模型修改在圖卷積網路裡面是有效的。
這篇論文希望能夠對圖卷積網路不能做深這一問題得到一個完善的理論分析;並且基於理論的結果,尋找到可以解決深度圖卷積網路訓練的問題:過擬合 (Overfitting) 和過平滑(Oversmmothing)。在這裡,過擬合指的是使用複雜模型去擬合少量資料的時候造成的泛化能力變差的情況。過擬合的現象在深度學習模型中是廣泛存在的。
而過平滑則是指在圖神經網路訊息傳遞過程中,所有節點的輸入特徵會收斂到一個和輸入無關的子空間的過程。這一過程會導致輸入 GCN 的特徵失效並造成梯度消失。過平滑是 GCN 模型特有的問題,它造成了深層圖神經網路的訓練困難。
下圖的虛線部分是原始的 4 層和 8 層 GCN 在 Cora 資料集上的訓練曲線(這裡為了更好展示過擬合和過平滑,取消了 GCN 層中的 bias),可以看到,在 GCN-4 上,驗證集 (Validation Set) 的損失函式在訓練經過一定輪數後反向增長。這個增長是優於過擬合。而在 GCN-8 上,訓練集 (Training Set) 上的損失函式則根本沒有下降,這是因為過平滑的存在,導致 GCN-8 上訓練失效。

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


文章定義了一個 subspace 和-smoothing 的概念去刻畫過平滑這一現象。具體地,

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


其中為一個 GCN 層。是正則化後的鄰接矩陣,為當前層引數。通過將過平滑的收斂目標定義為一個子空間而非一個固定點,-smoothing 可以刻畫包含非線性啟用函式和引數矩陣的 GCN。
DropEdge
本質上,減緩過平滑的影響就是要去增加-smoothing layer 的層數,以及減少收斂到子空間

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

的資訊損失。基於此,文章設計了一種非常簡單但是有效的方法 DropEdge。在每輪訓練的時候,DropEdge 會隨機去掉輸入的圖上的邊,即會將鄰接矩陣

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

的非零元素置 0,

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

是刪邊概率。如果用

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

表示 DropEdge 後的鄰接矩陣,則

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

是被去掉的邊的鄰接矩陣。在得到

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

後,對其進行正則化得到

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

代替

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

進行計算。
基於 relaxed -smoothing layer 的定義,文章證明了經過 DropEdge 後的鄰接矩陣

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge

在進行 GCN 計算中可以減弱過平滑對模型的影響,即:

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


這種隨機刪邊技術,可以看作是 Dropout 在圖結構上的推廣:Dropout 是通過丟掉特定的特徵來實現模型內部的 Ensemble,而 DropEdge 則是通過丟掉邊來實現 GNN 的 Ensemble,所以 DropEdge 也有防止 Overfitting 的作用。有趣的是,這種防止 Overfitting 的作用可以和 Dropout 一起使用來防止模型過擬合。同時,DropEdge 作為一個前處理的步驟,可以和任意 GNN 方法結合,具有非常強的普適性。
從圖 1 可以看出,在加了 DropEdge 後,GCN-4 在驗證集的損失函式不再升高,而 GCN-8 可以成功進行訓練,得到下降的損失函式。這驗證了 DropEdge 可以在防止過擬合和過平滑兩個方面提升深層 GNN 的訓練效率和模型效果。
為了進一步驗證這一簡單方法的有效性,文章在不同模型,不同層數,不同資料集上進行了大量的實驗,可以看到不同模型新增 DropEdge 可以顯著提升節點分類任務的效果:

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


同時,在四個資料集上,新增 DropEdge 後均可以超過現有的 STOA 模型,值得注意的是,大部分的結果都是在大於等於 4 層圖神經網路上得到的。

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


另外,下表也展示了 Dropout 和 DropEdge 在減弱過擬合上的協同效果:

如何讓圖卷積網路變深?騰訊AI Lab聯合清華提出DropEdge


總而言之,這篇文章提出了一個新穎且有效的方法 DropEdge 來提高深度圖卷積網路訓練效率和在節點分類任務上的效能。DropEdge 具有很好的通用性可以很方便地應用到已有的圖卷積網路的架構中。更重要的是,文章給出了圖卷積網路訓練過程中遇到的過平滑現象詳細嚴謹的理論描述,這為未來研究人員進行深度圖神經網路的研究提供了非常重要的指導意義。


https://www.toutiao.com/i6812839545877299715/




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2685484/,如需轉載,請註明出處,否則將追究法律責任。

相關文章