知識圖譜結構化地儲存著大量現實世界中的事實。其中,每個事實都以三元組 (

s

r

o

) 的方式進行描述,其中

s

o

分別表示頭實體和尾實體,

r

表示它們之間的關係。例如,三元組 (

Tim Berners-Lee

country

United Kingdom

) 描述了

Tim Berners-Lee

的國籍為

United Kingdom

這一事實。

通常情況下,單個知識圖譜很難滿足各類應用所需的全部知識。因此,知識圖譜領域的學者們提出了兩類相關任務:

實體對齊 (entity alignment),其透過發現不同知識圖譜中指稱真實世界相同物件的實體的方式,將兩個知識圖譜連結起來,從而得到一個規模更大、資訊更豐富的聯合知識圖譜。

知識圖譜補全 (knowledge graph completion),其主要目的在於利用單個知識圖譜中的已知資訊,透過推理和預測的方式補全該知識圖譜所缺失的三元組,譬如預測 (

Tim Berners-Lee

employer

, ?) 或 (?,

employer

W3C

) 中的 ?。

目前大多數知識圖譜嵌入方法都假設相似的實體會擁有相近的關係,因此這些方法更關注知識圖譜中的三元組,即一階鄰居關係。但是,基於三元組的學習方式存在兩個侷限性:一是表達能力低,這是因為這種方式只能從一階鄰居的視角來學習實體的嵌入表示,而知識圖譜中存在著大量擁有類似一階關係的實體,比如有相同的國籍、出生地等。二是語義資訊傳遞效率低,這是因為這些方法只能依靠周圍的一階鄰居傳遞語義資訊,而一個實體嵌入所能包含的資訊是有限的,這意味著並不能將所有的鄰居資訊完整地傳遞到周圍。

相較於三元組,路徑能夠提供更長、更具區分性的實體間依賴關係,一條知識圖譜路徑可以用如下方式表示:

United Kingdom

country

−,

Tim Berners-Lee

employer

W3C

值得注意的是,目前已有的基於路徑的知識圖譜嵌入方法大多隻採用由關係元素組成的路徑,而不考慮路徑中的實體。並且,由於它們是利用路徑輔助三元組訓練,因此往往需要窮解路徑空間來尋找符合條件的路徑,因此大多隻考慮由兩個三元組組成的路徑。

模型

迴圈神經網路 (recurrent neural networks, RNNs) 只使用少量的引數就能處理任意長度的序列,而知識圖譜路徑恰好是有序的,因此可以利用 RNNs 來建模知識圖譜路徑:

\mathbf{h}_t=\tanh(\mathbf{W}_h \mathbf{h}_{t-1}+\mathbf{W}_x \mathbf{X}_t+\mathbf{b})

其中,

\mathbf{W}_h, \mathbf{W}_x

均為

d\times d

的權重矩陣,

\mathbf{b}

為偏置向量。顯然,該迴圈神經網路中的引數只有

\mathbf{W}_h, \mathbf{W}_x, \mathbf{b}

三項,但能夠建模任意長度的知識圖譜路徑。

值得注意的是,RNNs 無法識別出知識圖譜路徑中的三元組結構,包括:

路徑中“實體-關係-實體-關係”交錯的鏈式結構;

當預測一個關係的尾實體時,其頭實體更加重要,比如推測

employer

->

W3C

時,

Tim Berners-Lee

是相對更重要的元素。

而迴圈跳躍網路 (recurrent skipping networks, RSNs) 透過利用一種跳躍機制建立一條捷徑,在當前輸入為實體嵌入時,利用該捷徑跳過多個連線層,直接參與到預測對應的尾實體的過程中:

\mathbf{h}

其中,

\mathbf{h}

為迴圈跳躍網路在時刻

t

的輸出隱態,

\mathbf{h}_t

為對應的傳統迴圈神經網路的輸出隱態。

\mathbf{S}_1, \mathbf{S}_2

為權重矩陣,它們的引數在不同時刻是共享的。本文采用了帶權相加的方式進行跳躍操作,但其他方法,例如拼接等,也能夠使用。封面圖展示了迴圈跳躍網路處理一個長度為 5 的知識圖譜路徑的例子。

理論分析

實際上,迴圈跳躍網路中的跳躍機制引入了一種全新的三元殘差學習。令

F(\mathbf{x})

表示原始的網路對映函式,其中

\mathbf{x}

代表網路的輸入,並用

H(\mathbf{x})

表示理想的網路對映。傳統殘差網路認為,相比於直接最佳化網路使

F(\mathbf{x})

去擬合

H(\mathbf{x})

,以一種差殘的方法去最佳化

F(\mathbf{x})

,使其學習

H(\mathbf{x})-\mathbf{x}

更為容易。例如,當理想的網路對映為

H(\mathbf{x})=\mathbf{x}

時,透過多層複雜的神經網路來學習這個恆等對映將十分困難。相反,學習殘差部分 (即 0 函式) 則十分簡單。

迴圈跳躍網路更關注於“淺層”網路的擬合,而非訓練層數很深的網路。這是因為,迴圈跳躍網路中的跳躍機制並非將位置靠前的輸入儘可能地傳遞到深層網路中,而是關注如何建模知識圖譜路徑中的每個三元組。具體來講,給定一條知識圖譜路徑

(\ldots,\mathbf{x}_{t-1},\mathbf{x}_t,\mathbf{x}_{t+1},\ldots)

,其中

(\mathbf{x}_{t-1},\mathbf{x}_t,\mathbf{x}_{t+1})

構成一個三元組。該跳躍機制直接引入了三元組中對應的頭實體作為減數,因此迴圈跳躍網路所採用的殘差學習是三元的。具體如下:

\mathbf{h}_t := H(\mathbf{h}_{t-1},\mathbf{x}_t)-\mathbf{x}_{t-1},\quad x_t\in\mathcal{R}

當預測目標為

employer\rightarrow W3C

時,令

F([·], employer) := W3C

可能很難,因為上下文

[·]

包含了所有之前元素的資訊。而令

F([·], employer) := W3C − Tim\ Berners\textrm{-}Lee

卻讓網路的最佳化變得簡單,因為對於推測一個關係的尾實體來講,頭實體起著更加重要的作用。

基於 RSNs 的知識圖譜嵌入框架

本文還提出了一個端到端的知識圖譜嵌入框架。目前大多數方法都只關注於單個知識圖譜嵌入任務,比如知識圖譜補全或實體對齊。ConvE、RotatE 在知識圖譜補全任務上有著領先水平的效能,但在實體對齊任務上卻失去了優勢。本文所提出的框架能夠同時在兩種不同的任務上取得優秀的表現。

如下圖所示,該框架首先使用有偏隨機遊走方法取樣出一組具有深度和跨知識圖譜偏好的路徑,接著利用 RSNs 進行建模。根據每一步預測目標的不同,採用基於型別的噪音對比估計方法評估模型損失。

學習開發知識圖譜中的長期關係依賴

實驗與分析

實體對齊

實驗結果如表中所示,RSNs 在所有資料集上均有明顯的優勢,尤其是在兩個跨知識圖譜資料集 DBP-WD 和 DBP-YG。透過對比框架中採用有偏 / 無偏隨機遊走取樣方法,可以看出使用有偏隨機取樣的方法具有更好的效能,尤其是在 Hits@10 上。

學習開發知識圖譜中的長期關係依賴

知識圖譜補全

透過將三元組視為長度為 3 的路徑,可以將 RSNs 應用於知識圖譜補全任務中。但值得注意的是,兩者的目標不完全一致,RSNs 學習的是更長的路徑而非三元組,但仍取得具有競爭力的結果。

學習開發知識圖譜中的長期關係依賴

與其他替代網路的對比

還驗證了 RSNs 中跳躍機制的有效性,其中 RRNs 為直接結合 RNNs 與殘差學習的一種方法。從結果可以看出 RSNs 顯著提升了模型的收斂速度與效能,而僅僅加入殘差網路到 RNNs 並不能有效提升效能。

學習開發知識圖譜中的長期關係依賴

論文:

Lingbing Guo, Zequn Sun, Wei Hu*。 Learning to exploit long-term relational dependencies in knowledge graphs。 In: ICML, 2505-2514, 2019。

程式碼:

https://

github。com/nju-websoft/

RSN