天天看點

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

論文題目:Modeling Relational Data with Graph Convolutional Networks

論文來源:ESWC 2018

論文連結:https://arxiv.org/abs/1703.06103

代碼連結:https://github.com/tkipf/relational-gcn

關鍵詞:知識圖譜,GCN,基函數分解,塊對角分解

文章目錄

  • 1 引言
  • 2 神經關系模組化
    • 2.1 Relational Graph Convolutional Networks
    • 2.2 Regularization
  • 3 實體分類
  • 4 連結預測
  • 5 實驗

提出關系圖卷積網絡(R-GCNs),用于兩個知識庫的補全任務:連結預測、實體分類(恢複丢失的實體屬性)。

1 引言

知識圖譜中存儲了大量的知識,可用于問答系統、資訊檢索等下遊任務。但是許多知識圖譜都是不完備的,例如DBPedia、Wikidata、Yago,有許多資訊的缺失,這會影響其在下遊任務中的應用。預測知識庫中缺失的資訊是統計關系學習(SRL)的主要研究内容。

考慮兩個基本的SRL任務:連結預測(恢複缺失的三元組)、實體分類(為實體配置設定類型或類别屬性)。

許多缺失的資訊都是隐含在通過鄰居結構編碼的圖中。作者從這一思想出發,設計了一個編碼器,編碼關系網絡中的實體,并應用于這兩個任務中。

實體分類模型:對圖上的每個節點使用softmax分類器,R-GCN得到的節點表示作為分類器的輸入。這個模型以及R-GCN的參數都是通過優化交叉熵損失學習得到的。

連結預測模型:可視為由一個encoder和一個decoder組成的自編碼器。

1)encoder:R-GCN為實體生成隐層的特征表示;

2)decoder:張量的分解模型,利用encoder生成的表示預測邊的label。

按理說decoder可以使用任何一種形式的分解/打分函數,作者使用了最簡單并最有效的分解方法:DistMult。

貢獻

(1)第一個将GCN用于模組化關系型資料的工作,尤其是針對連結預測和實體分類任務。

(2)在R-GCN中使用了參數共享和稀疏限制,應用于有大量關系的多個圖。

(3)實驗證明,以DistMult為例,使用一個在關系圖中執行多步資訊傳播的encoder模型來豐富矩陣分解的模型,可以顯著提高其性能。

2 神經關系模組化

定義有向的且有标簽的多個圖為 G = ( V , E , R ) G=(\mathcal{V}, \mathcal{E}, \mathcal{R}) G=(V,E,R),節點為 v i ∈ V v_i\in \mathcal{V} vi​∈V,有标簽的邊為 ( v i , r , v j ) ∈ E , r ∈ R (v_i,r,v_j)\in \mathcal{E}, r\in \mathcal{R} (vi​,r,vj​)∈E,r∈R。

2.1 Relational Graph Convolutional Networks

模型的動機是使用圖中局部的鄰居資訊,将GCN擴充到大規模的關系型資料中。可以了解成是一個簡單可微的消息傳遞架構:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

其中 M i \mathcal{M}_i Mi​表示節點 v i v_i vi​的傳入消息集合,通常為入度的邊緣集。 g m ( ⋅ , ⋅ ) g_m(\cdot, \cdot) gm​(⋅,⋅)可以是類似神經網絡的函數,也可以是簡單的線性轉換。

這種方式可以有效地聚合編碼局部鄰域結構的特征,并且在圖分類和基于圖的半監督學習等任務中表現出了很好的效果。

受上述架構的啟發,作者定義了如下的消息傳播模型:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

其中 N i r \mathcal{N}^r_i Nir​表示與節點 i i i有 r r r類型連邊的鄰居節點。 c i , r c_{i,r} ci,r​是針對特定問題的歸一化常數,可以學習得到也可以預先設定(例如 c i , r = ∣ N i r ∣ c_{i,r}=|\mathcal{N}^r_i| ci,r​=∣Nir​∣)。

使用 W h j Wh_j Whj​這種線性的轉換形式的優點:(1)不需要儲存中間過程的基于邊的表示資訊,節省了存儲空間;(2)可進行向量化的運算。

和正規的GCN不同的是,作者引入的是relation-specific的轉換,依賴于邊的類型以及邊的方向。為了保證第 l l l層的節點表示資訊可以傳遞給第 l + 1 l+1 l+1層的節點,作者為每個節點都添加了一個特殊類型的關系——自連接配接。

式(2)對所有節點進行并行計算,就可以實作神經網絡層的更新,堆疊多層可以捕獲多步之間的關系依賴。将這個圖編碼模型就是R-GCN。圖1描述了使用R-GCN模型對圖中一個節點的更新過程。

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

2.2 Regularization

式(2)應用于多關系型資料面臨的主要問題就是:随着圖中關系數量的增長,參數的數量迅速增長。這很容易導緻過拟合。

有兩種方法可以解決參數量過大的問題:

  • 在權重矩陣間共享參數
  • 在權重矩陣中進行稀疏限制

針對這兩種政策,作者引入了兩種方法,用于R-GCN層權重的正則化:基函數分解(basis-decomposition) 和 塊對角分解(block-diagonal-decomposition)。

(1)基函數分解

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

W r ( l ) W^{(l)}_r Wr(l)​定義為基變換 V b ( l ) ∈ R d ( l + 1 ) × d ( l ) V^{(l)}_b\in \mathbb{R}^{d^{(l+1)}\times d^{(l)}} Vb(l)​∈Rd(l+1)×d(l)的線性組合, a r b ( l ) a^{(l)}_{rb} arb(l)​是系數,隻有系數依賴于關系 r r r。

(2)塊對角分解

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

W r ( l ) W^{(l)}_r Wr(l)​求得後是塊對角矩陣:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

塊對角分解就是(DistMult)解碼器中使用的對角稀疏限制的推廣。

基函數分解是實作不同關系類型間權重共享的一種形式;塊分解可看成是對每種關系的權重矩陣的稀疏限制。

塊分解的結構認為潛在的特征可以被分成多組變量,組内的聯系比組間的更加緊密。

對于高度多關系類型的資料(例如 知識庫),這兩種分解的方式都減少了參數。

R-GCN模型的流程如下:像式(2)定義的那樣,堆疊 L L L層,目前層的輸出為下一層的輸入。若沒有給定節點的特征,則為每個節點賦予唯一的one-hot向量,作為第一層的輸入。對于塊分解,通過一層線性變換将one-hot向量映射成稠密的表示。

本文隻考慮節點無特征的方法,當然GCN類型的方法可以結合預定義的特征向量。

3 實體分類

堆疊多層R-GCN層,最後一層的輸出後再過一個softmax函數。忽略未标注的節點,對所有已标注的節點最小化如下的交叉熵損失:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

其中 Y \mathcal{Y} Y是有标簽的節點集合, h i k ( L ) h^{(L)}_{ik} hik(L)​是第 i i i個已标注的節點在第 k k k個位置的輸出, t i k t_{ik} tik​表示對應的ground truth标簽。如圖1b所示。

4 連結預測

知識庫由有向的有标簽的圖 G = ( V , E , R ) G=(\mathcal{V}, \mathcal{E}, \mathcal{R}) G=(V,E,R)組成。通常邊的集合不是完全給定的,隻給定了不完整的邊集合 E ^ \mathcal{\hat{E}} E^。連結預測的目标就是給定可能的邊 ( s , r , o ) (s, r, o) (s,r,o),計算打分函數 f ( s , r , o ) f(s, r, o) f(s,r,o),判斷邊屬于$ \mathcal{E}$的可能性。

為了解決這一問題,引入如圖1 c所示的自編碼器模型,由實體編碼器和打分函數(decoder)組成。

編碼器将每個實體 v i v_i vi​映射成實值向量 e i ∈ R d e_i\in \mathbb{R^d} ei​∈Rd。

解碼器根據編碼器得到的節點表示資訊,重構圖中的邊。具體而言,解碼器使用打分函數為三元組 ( s u b j e c t , r e l a t i o n , o b j e c t ) (subject, relation, object) (subject,relation,object)打分,判斷這個三元組對應的邊在圖中是否存在。現有的連結預測的方法幾乎都采用了這種方式。

本文的方法和先前方法的主要差別在于對編碼器的依賴。先前的方法大多對每個節點 v i v_i vi​使用單一的、實值的向量 e i e_i ei​,直接在訓練過程中優化。本文的方法是使用帶有 e i = h i ( L ) e_i=h^{(L)}_i ei​=hi(L)​的R-GCN編碼器計算表示。

實驗中,使用DistMult分解作為打分函數。其中,每個關系 r r r都和一個對角矩陣 R r ∈ R d × d R_r\in \mathbb{R^{d\times d}} Rr​∈Rd×d相關聯,對三元組 ( s , r , o ) (s, r, o) (s,r,o)的評分計算如下:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

訓練時使用負采樣技術,随機替換正樣本的subject或object,生成 w w w個負樣本。使用交叉熵損失,讓模型對正樣本的打分值比負樣本高:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

其中, T \mathcal{T} T是正樣本和負樣本的三元組集合, l l l是logistic sigmoid函數, y y y是正負樣本的訓示函數。

5 實驗

資料集:

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

實驗任務:連結預測、實體分類

實驗結果:

(1)實體分類

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

(2)連結預測

【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗
【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks1 引言2 神經關系模組化3 實體分類4 連結預測5 實驗

繼續閱讀