【論文解讀 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks

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

論文來源:ESWC 2018

論文鏈接:https://arxiv.org/abs/1703.06103

代碼鏈接:https://github.com/tkipf/relational-gcn

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



提出關係圖卷積網絡(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}),節點爲viVv_i\in \mathcal{V},有標籤的邊爲(vi,r,vj)E,rR(v_i,r,v_j)\in \mathcal{E}, r\in \mathcal{R}

2.1 Relational Graph Convolutional Networks

模型的動機是使用圖中局部的鄰居信息,將GCN擴展到大規模的關係型數據中。可以理解成是一個簡單可微的消息傳遞框架:

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

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

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

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

使用WhjWh_j這種線性的轉換形式的優點:(1)不需要儲存中間過程的基於邊的表示信息,節省了存儲空間;(2)可進行向量化的運算。

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

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


2.2 Regularization

式(2)應用於多關係型數據面臨的主要問題就是:隨着圖中關係數量的增長,參數的數量迅速增長。這很容易導致過擬合。

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

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

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

(1)基函數分解

Wr(l)W^{(l)}_r定義爲基變換Vb(l)Rd(l+1)×d(l)V^{(l)}_b\in \mathbb{R}^{d^{(l+1)}\times d^{(l)}}的線性組合,arb(l)a^{(l)}_{rb}是係數,只有係數依賴於關係rr

(2)塊對角分解

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

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

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

塊分解的結構認爲潛在的特徵可以被分成多組變量,組內的聯繫比組間的更加緊密。

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


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

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


3 實體分類

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

其中Y\mathcal{Y}是有標籤的節點集合,hik(L)h^{(L)}_{ik}是第ii個已標註的節點在第kk個位置的輸出,tikt_{ik}表示對應的ground truth標籤。如圖1b所示。


4 鏈接預測

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

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

編碼器將每個實體viv_i映射成實值向量eiRde_i\in \mathbb{R^d}

解碼器根據編碼器得到的節點表示信息,重構圖中的邊。具體而言,解碼器使用打分函數爲三元組(subject,relation,object)(subject, relation, object)打分,判斷這個三元組對應的邊在圖中是否存在。現有的鏈接預測的方法幾乎都採用了這種方式。

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

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

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

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


5 實驗

數據集

實驗任務:鏈接預測、實體分類

實驗結果

(1)實體分類

(2)鏈接預測

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