图神经网络(二)GCN的性质(2)GCN能够对图数据进行端对端学习
圖神經網絡(二)GCN的性質(2)GCN能夠對圖數據進行端對端學習
?近幾年,隨著深度學習的發展,端對端學習變得越來越重要,人們普遍認為,深度學習的成功離不開端對端學習的作用機制。端對端學習實現了一種自動化地從數據中進行高效學習的機制。然而,端對端學習的這種高度自動化的特性的達成,往往離不開背后大量的針對特定類型數據的學習任務的適配工作,,這種適配體現在當下十分流行的各種網絡層或層塊結構(block)的設計上,比如我們熟知的Conv2D層對于圖像數據學習、LSTM層對于序列數據的學習、Global Pooling層對于全局信息的提取等。這些層的計算過程必須最大限度地按照我們期望的方式去適配數據的內在規律模式。大量的實踐經驗告訴我們,深度學習能夠在某個場景任務中取得極其優秀的效果,很大程度上得益于這類網絡層或者由該網絡層所構建的網絡層塊的定制化設計[4]。
?因此,如果我們要實現對于圖數據的端對端學習,學習系統必須能夠適配圖數據的內在模式。
?屬性圖是一種最廣泛的圖數據表現形式。在屬性圖里面,每個節點都有自己的屬性。如圖2-4中的a圖所示,在某個社交網絡的場景中,用戶節點存在性別和年齡等屬性,這些屬性對用戶身份的刻畫是十分重要的。同時,我們可以看到圖中有兩個入度很高的節點,在很大程度上,這類節點表示的是社交網絡里面的大V用戶。圖2-4中的b圖所示為乙醇和甲醚的分子式和分子結構,雖然二者的分子式均為C2H6O\text{C}_2 \text{H}_6 \text{O}C2?H6?O,但是由于分子結構不同,二者具有不同的理化性質。
?總結上面兩個例子,我們可以發現,圖數據中包含著兩部分信息:屬性信息與結構信息。屬性信息描述了圖中對象的固有性質;結構信息描述了對象之間的關聯性質,這種由關聯所產生的的結構不僅對圖數據中節點的刻畫具有很大的幫助作用,而且對該全圖的刻畫也起著關鍵作用。一個優秀的針對圖數據的學習系統,必須能夠做到對屬性信息和結構信息進行端對端學習。
?下面我們來看看GCN的設計是怎么去適配圖數據的內在規律的。為了更形象地闡述GCN對于圖數據的端對端學習能力,我們將之前提到的兩類非常典型的圖數據學習方式——基于手工特征與基于隨機游走的方法進行對比。一般來說,圖數據中樞性信息的處理是比較簡單的,按照屬性的類型進行相應的編碼設計,然后將其拼接成一個表示節點屬性的特征向量就可以了,但是結構信息蘊含在節點之間的關系中,是比較難處理的。我們所對比的兩個方法的核心是在如何處理圖的結構信息上,如圖2-5、圖2-6所示。
?圖2-5所示的方法是基于手工特征的方法,該方法對于圖數據的處理方式非常依賴與人工干預,具體來說,就是將圖中節點的結構信息以一些圖的統計特征進行替代,常見的如節點的度、節點的中心度、節點的PageRank值等,然后將這個代表節點結構信息的特征向量與代表節點屬性信息的特征向量拼接在一起,送到下游進行任務的學習。這種方法的最大問題在于,表示結構信息的特征向量需要人為定義,因此很難確定這些統計特征是否對學習后面的任務有效。
?圖2-6所示的方法是基于隨機游走的方法,隨機游走[1]是網絡表示學習中最具代表性的方法之一,其基本思想是將圖中節點所滿足的關系與結構的性質映射到一個新的向量空間去,比如再圖上距離更近的兩個節點,在新的向量空間上的距離也更近。通過這樣的優化目標將圖里面的數據,轉化成向量空間里面的數據,這樣處理起來就會更加方便。接下來,該方法和基于手工特征的方法的思路一樣,將代表節點結構信息的特征向量與代表節點屬性信息的特征向量進行拼接,然后進行下游的任務學習。所不同的是,其節點的結構信息是通過隨機游走類方法進行學習的,并不依賴認為定義,因此相比之下會更加高效。
?圖2-7是基于GCN的方法,從圖中可以看到,GCN對于圖數據的學習方式比較符合端對端的要求:一端是數據,另一端是任務。
?GCN對于屬性信息和結構信息的學習體現在其核心計算公式上:L~symXW\tilde{L}_\text{sym} XWL~sym?XW,這一計算過程可以被拆分成兩步:
?第1步:XWXWXW是對屬性信息的仿射變換,學習了屬性特征之間的交互模式;
?第2步:L~sym(XW)\tilde{L}_\text{sym} (XW)L~sym?(XW)從空域角度來看是聚合鄰居節點的過程,代表了對節點局部結構信息的編碼。
?為了更進一步說明GCN對于圖中的結構信息的學習能力,我們來看一個經典的圖論問題——圖的同構問題(graph isomorphism problem),即給定兩個圖,判斷這兩個圖是否完全等價。
?從圖2-8中我們可以發現,即使看上去并不相似的兩個圖,也有可能是完全等價的。從同構圖的定義中我們可以看到,要想解決這個問題,需要考量的是算法對圖結構信息的分辨能力。一個經典的解法就是Weisfeiler-Lehman算法[2],Weisfeiler-Lehman算法是一個迭代式的算法,其算法流程如下所示:
?對于圖上任意一個節點viv_ivi?:
?1.獲取鄰居節點vj∈N(vi)v_j∈N(v_i)vj?∈N(vi?)的標簽hjh_jhj?;
?2.更新viv_ivi?的標簽hi←hash(∑vjhj)h_i←\text{hash}(∑_{v_j}h_j )hi?←hash(∑vj??hj?),其中hash(?)\text{hash}(\cdot)hash(?)是一個單射函數(一對一映射)。
?我們可以看到,上述過程與節點層面的GCN計算過程基本一致:迭代式地聚合鄰居節點的特征,從而更新當前節點的特征。從這個角度來看,GCN近似于一種帶參的、支持自動微分的Weisfeiler-Lehman算法。在論文[3]中介紹了一種GCN的衍生模型——Graph Isomorphism Network(GCN),實驗證明,其在判斷圖同構的問題上,能力近乎等價于Weisfeiler-Lehman算法。
?在GCN模型中,通過堆疊圖卷積層,上述屬性信息的編碼學習與結構信息的編碼學習被不斷地交替進行,如是完成對圖數據中更加復雜的模式學習。GCN相較于上述兩種方法,有如下兩點優勢:
?(1)GCN對表示學習和任務學習一起進行端對端的優化,在前述兩種方法中,節點的特征向量一旦被拼接起來就會被固化下來,下游任務學習中產生的監督信號并不能有效指導圖數據的表示學習,這可能會使節點的特征表示對于下游的任務不是很高效的。相反,GCN對于圖數據的建模并沒有切分成兩步來完成,對于節點的表示學習與下游的任務學習被放到一個模型里面進行端對端學習,整個模型的監督信號同時指導著任務層(如分類層)和GCN層的參數更新,節點的特征表示與下游任務之間具有更好的適應性。
?(2)GCN對結構信息與屬性信息的學習是同時進行的,并沒有進行分拆和解構。通常來說,屬性信息與結構信息具有很好地互補關系,對于一些結構稀疏的圖來說,屬性信息的補充可以很好地提高模型對節點表示學習的質量,另外,結構信息蘊含著屬性信息中所沒有的知識,對節點的刻畫具有十分重要的作用。GCN將結構信息與屬性信息放進一個網絡層里面同時進行學習,使二者能夠協同式地去影響最終節點的表示。
?總的來說,GCN模型將學習過程直接架構與圖數據智商,為圖數據的學習提供了一套端對端的框架,對相關的任務學習具有更好的適應性。
參考文獻
[1] Perozzi B, Al-Rfou R, Skiena S. Deepwalk: Online learning of social representations[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. 2014: 701-710.
[2] Weisfeiler B, Leman A. The reduction of a graph to canonical form and the algebra which appears therein[J]. NTI, Series, 1968, 2(9): 12-16.
[3] Xu K, Hu W, Leskovec J, et al. How powerful are graph neural networks?[J]. arXiv preprint arXiv:1810.00826, 2018.
[4] 劉忠雨, 李彥霖, 周洋.《深入淺出圖神經網絡: GNN原理解析》.機械工業出版社.
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的图神经网络(二)GCN的性质(2)GCN能够对图数据进行端对端学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS全球购物App排行榜出炉 阿里速卖
- 下一篇: 4599元!佳能EOS R50发布:32