關注公衆號跟蹤最新內容:阿澤的學習筆記。
今天學習的是阿姆斯特丹大學 Michael Schlichtkrull 大佬和 Thomas N. Kipf 大佬於 2017 年合作的一篇論文《Modeling Relational Data with Graph Convolutional Networks》,目前引用超 400 次,雖然這篇文章只是發到了 C 類會議,但論文中提出的 R-GCN 無疑開創了使用 GCN 框架去建模關係網絡的先河。(只發到 C 可能是因爲 R-GCN 表現不太好)
這篇論文主要有兩大貢獻:
- 證明了 GCN 可以應用於關係網絡中,特別是鏈接預測和實體分類中;
- 引入權值共享和係數約束的方法使得 R-GCN 可以應用於關係衆多的網絡中。
1.Introduction
存儲知識的知識庫常用於多種應用,包括問答、信息檢索等。但即使是最大的知識庫(如Yago、Wiki等)也存在很多缺失信息,這種不完整性會影響到下游應用。而預測知識庫中的缺失信息是統計關係學習(statistical relational learning,以下簡稱 SRL)的主要內容。
假設知識庫主要以三元組的形式(主語、謂語、賓語)進行存儲。比如說,Mikhail 在 Vaganova 學院上學,我們把 Mikhail 和 Vaganova 學院稱爲實體,受教育稱爲關係,每個實體會有自己的類型,這樣便構成一張知識網絡:
這篇論文主要考慮兩個任務,包括鏈接預測和實體分類。在這種情況下,可以對很多缺失信息進行補全,比如說:知道 Mikhail 在 Vaganova 學院受過教育,我們便可以知道他居住在俄羅斯(RUS),並且有自己的 label (如圖中紅色部分)。
根據這種想法,作者設計了一個編碼器模型,並將其應用於這兩個任務中,簡單來說:
- 對於實體分類來說,將在編碼器後面接一個 softmax 分類器用於預測節點的標籤;
- 對於鏈路預測來說,可以後面接一個解碼器,將分類器視爲自編碼器,從而完成節點的預測。
2.R-GCN
2.1 RGCN
首先,目前的 GCN 可以視爲一個簡單可微的消息傳遞框架的特殊情況:
其中, 表示隱藏層 l 的節點 ; 表示消息傳入; 表示激活函數。
寫的具體一點的話 就是那個經典的 GCN。基於這個模型作者定了一個簡單的前向傳播模型:
其中, 表示節點 i 在關係 r 下的鄰居節點的集合; 是一個標準化常量,可以實現指定也可以學習得到。
從上面這個公式中我們可以得到以下幾點信息:
- R-GCN 的每層節點特徵都是由上一層節點特徵和節點的關係(邊)得到;
- R-GCN 對節點的鄰居節點特徵和自身特徵進行加權求和得到新的特徵;
- R-GCN 爲了保留節點自身的信息,會考慮自環。
與 GCN 不同的地方在於 R-GCN 會考慮邊的類型和方向。
在實踐中,利用稀疏矩陣乘法可以有效地實現前向傳播,同時爲了避免了對鄰域的顯式求和,可以將多層堆疊起來,以便跨多個關係步驟實現依賴關係。
R-GCN 模型中單節點更新的計算圖如圖下所示,其中紅色節點爲將被更新的節點,藍色節點爲鄰居節點:
2.2 Regularization
爲了出現過擬合的問題,作者考慮了兩種正則化方法:
一種是基函數分解(basis decomposition)
其實也就是 和係數 的線形組合。
另一種是塊分解(block diagonal decomposition)
爲一塊對角矩陣,$Q_{br}^l\in \mathbb{R}{(d{l+1}/B) \times d^{l}/B} $ 。
基函數分解可以看作是不同關係類型之間權重共享的一種方式;而塊分解可以看作是對每個關係類型的權值矩陣的稀疏約束,其核心在於潛在的特徵可以被分解成一組變量,這些變量在組內的耦合比在組間的耦合更緊密。
兩種分解都減少了網絡的參數數量。同時,參數化也可以緩解對稀有關係的過度擬合,因爲稀有關係和常見關係之間共享參數更新。
2.3 Entity Classification
對於實體分類來說,只使用了堆疊的 R-GCN 並在最後一層疊加了一個 Softmax 層用於分類,並考慮交叉熵損失函數:
其中,y 爲有標籤的節點的集合; 表示輸出層有標籤的第 i 個節點的第 k 個實體的預測值; 表示節點本身的標籤。
實體分類的架構如下圖所示:
2.4 Link Prediction
知識庫通常是一個有向有標籤的圖 ,V 表示節點,E 表示邊,R 爲關係。通常 E 是不完整,我們的目標就是預測缺失的邊。
鏈接預測其實是預測一個三元組(subject,relation,object),作者通過一個打分函數 來判斷 是否符合要求。
作者考慮使用 DistMult 分解作爲評分函數,每個關係 r 都和一個對角矩陣有關:
考慮負採樣的訓練方式:對於觀測樣本,考慮 個負樣本,並利用交叉熵損失進行優化:
鏈接預測模型的架構圖如下所示:
3.Experiments
簡單看一下實驗。
首先是實體分類的準確性:
其次是鏈接預測的準確性:
在數據集 FB15k-237 數據集上的表現:
考慮 MRR 評分標準,不同度下的模型表現:
4.Conclusion
總結:R-GCN 構建了一個編碼器,並通過接入不同的層完成不同的建模問題,如接入 Softmax 層進行實體分類,接入解碼器進行鏈接預測,並在相應數據集中取得了不錯的成績。
5.Reference
- 《Modeling Relational Data with Graph Convolutional Networks》
- 《Github: relational-gcn》
- 《eswc2018_kipf_convolutional_networks》
關注公衆號跟蹤最新內容:阿澤的學習筆記。