論文閱讀:Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs(2019 ACL)


基於Attention的知識圖譜關系預測

論文地址

Abstract

  關於知識庫完成的研究(也稱為關系預測)的任務越來越受關注。多項最新研究表明,基於卷積神經網絡(CNN)的模型會生成更豐富,更具表達力的特征嵌入,因此在關系預測上也能很好地發揮作用。但是這些知識圖譜的嵌入獨立地處理三元組,因此無法覆蓋和收集到三元組周圍鄰居隱含着的復雜隱藏信息。為此,作者提出了一種新穎的基於注意力的特征嵌入方法,該方法可以捕獲任何給定實體的鄰居中的實體和關系特征。

Introduction

  最新的關系預測方法主要是基於知識嵌入的模型,它們大致分為轉化模型和卷積神經網絡。轉化模型使用簡單的操作和有限的參數來學習嵌入,產生了低質量的嵌入。基於CNN的模型由於其大量的參數和復雜關系的考慮而學習了更好的表達性嵌入。但是,基於轉化和基於CNN的模型都獨立地處理每個三元組,因此無法封裝KG中給定實體附近固有存在的豐富的潛在結構信息。

Contributions

  1. 第一個使用圖注意力機制學習針對知識圖譜關系預測的嵌入表示。
  2. 擴展了圖注意機制以捕獲給定實體的多跳鄰域中的實體和關系特征。
  3. 針對各種數據集中極具挑戰性的關系預測任務評估了我們的模型。

最近,已經提出了知識圖譜嵌入的幾種變體用於關系預測。 這些方法可大致分為:
(i)組合模型(ii)翻譯模型(iii)基於CNN的模型和(iv)基於圖的模型。

Approach

BackGround

  知識圖譜可以表示為 G=(ϵ, R),其中 ϵ 和 R 分別表示實體(結點)集合和關系(邊)集合。對於三元組\((e_i, r, e_j )\)可以表示兩個實體節點之間存在邊 r。

  嵌入模型學習的目標是:實體、關系的有效表示以及打分函數,當給定一個三元組 t 作為輸入時,得分函數 f(t) 可以給出 t 是真實三元組的概率。

Graph Attention Networks (GATs)

  圖卷積網絡 (GCNs) (Kipf and Welling, 2017) 將所有鄰居實體的信息賦予同樣權重來從鄰居實體收集信息。

  為了解決GCN的缺點,(Velicˇkovic等人,2018) 引入了圖注意力網絡(GAT), 根據鄰居節點不同程度的重要性分配不同權重。GAT每一層的輸入為\(x\) = {\(\vec{x_1},\vec{x_2},...,\vec{x_N}\)}, 輸出為\(x^{'}\) = {\(\vec{x_1^{'}},\vec{x_2^{'}},...,\vec{x_N^{'}}\)},其中 \(\vec{x_i}\)\(\vec{x_i^{'}}\) 分別代表實體 \(e_i\) 的輸入和輸出嵌入,N是實體(節點)數量。如果把每一層的結構當作一個黑盒,GCN層和GAT層在這里的表現都是一樣的:輸入為知識圖譜中所有節點的嵌入,輸出的是通過聚集鄰域節點的信息進行更新后的新嵌入。其不同的僅是層內聚集信息和更新的方法。

一個簡單的GAT層可以表示為

\[e_{ij} = a(W\vec{x_i}, W\vec{x_j}) \]

\(e_{ij}\) 表示 G 中的邊 (\(e_i,e_j\)) 的注意力系數,\(W\)是一個參數化的線性變換矩陣,其作用為將輸入特征映射到更高維度的輸出特征空間,\(a\)是任意選擇的一個計算注意力系數的函數,可以為余弦距離等。

得到一個節點連接的所有邊的注意力系數后,就可以用加權平均的方法計算新嵌入,這里需要注意的是下面式子中的 \(a_{ij}\) 是將 \(e_{ij}\) 進行softmax運算得出

\[\vec{x_i^{'}} = \sigma(\sum_{j\in N_i}\alpha_{ij}W\vec{x_j}) \]

GAT中運用多頭注意力來穩定學習過程。連接k頭的多頭注意力計算過程如下式

\[\vec{x_i^{'}} = \parallel_{k=1}^K\sigma(\sum_{j\in N_i}\alpha_{ij}^kW^k\vec{x_j}) \]

其中||表示concat,\(\sigma\) 表示任意一個非線性函數,\(a_{ij}^k\) 表示由第k個注意力機制計算的邊\((e_i, e_j)\)的歸一化后的注意力系數,\(W^k\) 表示第k個注意力機制中對應的線性轉化矩陣。

使用multi-head,即做多次運算並將結果拼接,好處是可以允許模型在不同的表示子空間里學習到相關的信息,也就是增加了模型的穩定性。在最終層輸出的嵌入向量使用多頭運算結果的平均值而不是和之前一樣把結果拼接。公式如下

\[\vec{x_i^{'}} = \sigma(\frac{1}{K}\sum_{k=1}^K\sum_{j\in N_i}\alpha_{ij}^kW^k\vec{x_j}) \]

這樣做主要是為了得到較小維度的向量,以便進行后續操作如分類等。

Relations are Important

  作者認為GATs方法不適合用於知識圖譜,因為知識圖譜中實體在不同的關系下扮演着不同的角色,而GAT忽略了知識圖譜中關系的作用。為此,作者提出了一種新穎的嵌入方法,以將關系和相鄰節點的特征納入注意力機制。

  與GAT不同,模型的每一層的輸入為兩個嵌入矩陣--實體嵌入矩陣和關系嵌入矩陣。其中實體嵌入矩陣用 \(H \in R^{N_e \times T}\) 表示,其中第i行是實體 \(e_i\) 的嵌入,\(N_e\)是實體的總數,T是每個實體嵌入的特征維。 關系嵌入矩陣用 \(G \in R^{N_r \times P}\) 表示,其中 \(N_r\) 是關系的數量, P為關系嵌入的特征維數。最終該層輸出兩個更新后的嵌入矩陣 \(H^{'} \in R^{N_e \times T^{'}}\)\(G^{'} \in R^{N_r \times P^{'}}\)

獲得實體的新嵌入

  首先獲得實體 \(e_i\) 的新嵌入,需要學習與 \(e_i\) 關聯的每個三元組的表示。 我們通過對對應於特定三元組 \(t_{ij}^k = (e_i, r_k, e_j)\)的實體和關系特征向量的級聯執行線性變換來學習這些嵌入,如下式

\[\vec{c_{ijk}} = W_1[\vec{h_i}||\vec{h_j}||\vec{g_k}] \]

其中 \(\vec{c_{ijk}}\) 是三元組 \(t_{ij}^k\) 的一個向量表示。\(\vec{h_i},\vec{h_j},\vec{g_k}\) 分別為實體 \(e_i, e_j\), 關系 \(r_k\) 的嵌入表示, \(W_1\) 為線性轉化矩陣。

同GAT的思路,我們需要獲取每一個三元組的重要程度,即注意力系數 \(b_{ijk}\)。 我們先使用進行一個線性變換,再應用一個非線性的激活函數得到 \(b_{ijk}\),如下式

\[b_{ijk} = LeakyReLU(W_2c_{ijk}) \]

同理,接下來要做的是把注意力系數進行歸一化

\[a_{ijk} = softmax_{jk}(b_{ijk}) = \frac{exp(b_{ijk})}{\sum_{n\in N_i} \sum_{r\in R_{in}}exp(b_{inr})} \]

其中 \(N_i\) 表示所有與 \(e_i\) 相鄰的實體集合,\(R_{in}\) 表示連接實體 \(e_i, e_n\) 關系的集合。

得到歸一化后的注意力系數,就可以計算新的嵌入向量了,加權計算公式如下

\[\vec{h_i^{'}} = \sigma(\sum_{j\in N_i} \sum_{k\in R_{ij}} a_{ijk}\vec{c_{ijk}}) \]

同GAT,為了穩定學習過程,且獲得更多的有關鄰居節點的信息,采用多頭注意力機制。多頭注意力機制中的每一個獨立注意力機制之間,上文中的參數 \(W_1, W_2\) 不同。

\[\vec{h_i^{'}} = ||_{m=1}^M\sigma(\sum_{j\in N_i} \sum_{k\in R_{ij}} a_{ijk}^m\vec{c_{ijk}^m}) \]

同理,在最后一層的時候采用平均值而不是concat

\[\vec{h_i^{'}} = \sigma(\frac{1}{M}\sum_{m=1}^M\sum_{j\in N_i} \sum_{k\in R_{ij}} a_{ijk}^m\vec{c_{ijk}^m}) \]

獲得關系新嵌入

作者使用一個權重矩陣 \(W^R \in \mathbb{R}^{T \times T^{'}}\) 對關系嵌入矩陣 \(G\) 做線性變換得到新嵌入,其中 $ T^{'}$ 是該層輸出的關系嵌入向量的維度

\[G^{'} = GW^R \]

模型優化

作者認為在學習新的嵌入向量時,實體丟失了它們初始的嵌入信息。因此作者使用一個權重矩陣 \(W^E \in R^{T^i \times T^j}\) 對初始的實體嵌入向量 \(H^i\) 做線性變換得到轉化后的實體嵌入向量 \(H^t\), 而 \(T_i, T_j\) 分別代表初始和最終的實體嵌入向量的維數。作者將初始的實體嵌入向量與最后一個注意力層獲得的實體嵌入向量相加

\[H^{''} = W^EH^i + H^f = H^t + H^f \]

其中\(H^f \in \mathbb{R}^{N_e \times T^f}\)

圖四展示了整個模型的架構,這個圖可以說是相當形象了。

圖片名稱

模型中,作者通過定義輔助關系,將邊的定義拓展為有向路徑,輔助關系的嵌入為有向路徑中所有關系的嵌入之和,這樣對於一個n層的模型,在第m層就可以通過聚合相鄰m跳的鄰居計算出新嵌入

Training Objective

作者提出的模型借鑒了(Bordes et al,2013)的翻譯評分函數的思想,該函數學習嵌入使得對於給定的有效三元組 \(t_{ij}^k = (e_i, r_k, e_j)\), 有 \(\vec{h_i} + \vec{g_k} \thickapprox \vec{h_j}\) 。作者則提出了一個L1-范數不相似測度 \(d_{t_{ij}} = || \vec{h_i} + \vec{g_k} - \vec{h_j} ||\) ,並使用hinge loss來訓練模型

\[L(\Omega) = \sum_{t_{ij} \in S} \sum_{t_{ij}^{'} \in S} max\{ d_{t_{ij}^{'}} - d_{t_{ij}} + \gamma, 0\} \]

其中 \(\gamma\) 是一個非常小的超參數,\(S\) 是正確的三元組集合,\(S^{'}\) 是無效三元組集合。獲得 \(S^{'}\) 的方法為

\[S^{'} = \{t_{i^{'}j}^k| e_i^{'} \in \xi\backslash e_i \} \bigcup \{t_{ij^{'}}^k| e_j^{'} \in \xi\backslash e_j \} \]

Decoder

模型采用 ConvKB 作為解碼器,卷積層的目的是分析三元組各個維度上面的全局嵌入特性,並歸納出模型的轉化特性,根據多個特征映射得到的打分函數如下

\[f(t_{ij}^k) = (||_{m=1}^\Omega ReLU([\vec{h_i},\vec{g_k}, \vec{h_j}]*\omega^m))W \]

其中 \(\omega^m\) 表示第m個 filter,\(\Omega\) 表示 filter 數量,*是卷積運算符,\(W \in \mathbb{R}^{\Omega k \times 1}\) 是一個用於計算三元組最終得分的線性轉化矩陣。使用 soft-margin loss

\[\mathcal{L} = \sum_{t_{ij}^k \in \{ S \bigcup S^{'}\}} log(1 + exp(l_{t_{ij}^k}f(t_{ij}^k))) + \frac{\lambda}{2}||W||_2^2 \]

其中當 \(t_{ij}^k \in S\) 時,\(l_{t_{ij}^k} = 1\); 當 \(t_{ij}^k \in S^{'}\) 時, \(l_{t_{ij}^k} = -1\)

Experiments and Results

Dataset

圖片名稱

Training Protocol

通過將三元組的頭部或尾部實體替換為無效實體,得到兩個無效的三元組集合,從兩個集合中隨機抽取了相等數量的無效三元組,以確保在檢測頭部和尾部實體時的魯棒性。TransE 生成的實體和關系嵌入(Bordes等,2013; Nguyen等,2018)用於初始化嵌入。

作者采用兩步訓練過程。首先訓練編碼器,即訓練廣義GAT來編碼圖中實體和關系的信息,編碼器的目的是得到更好、表達程度更高的嵌入。然后訓練解碼器,如ConvKB模型來進行關系預測任務。傳統的 GAT 模型僅根據1-hop鄰居的信息對節點特征進行更新,而本文的泛化GAT 則運用多跳鄰居對節點特征進行更新。並通過進入輔助關系來聚集稀疏圖中鄰居的更多信息。作者采用Adam優化器,學習率設置為0.001。最后一層得到的實體和關系的嵌入向量維數設置為200。

Evaluation Protocol

給定一個有效三元組,用其他所有實體對有效三元組中的頭實體或尾實體進行替換,產生一個(N-1)三元組集合,其中 1 為被替換之前的有效三元組,N 表示經過替換后產生的三元組數量。移除所有經過替換產生的有效三元組,僅保留替換產生的無效三元組,與最初的有效三元組組成一個三元組集合。對該集合中的所有三元組進行打分,並根據分數進行排序。用平均倒數排名(MRR),平均排名(MR)以及 Hits@N(N = 1, 3, 10) 指標來對模型進行評估。

Results and Analysis

圖片名稱
表2和表3展示了在所有數據集上的結果,表明了模型的優越性

Ablation Study

圖片名稱
分析了當模型移除了路徑的信息(-PG)和移除關系的信息(-Relation)時 MR值的變化。可看出關系信息至關重要。

Conclusion and Future Work

本文貢獻:

  1. 提出一個新型的關系預測方法
  2. 推廣和拓展了圖注意力機制

未來工作方向

  1. 擴展現有方法,使其可以更好地處理層次圖。
  2. 拓展現有方法,在圖注意力模型中捕獲實體(如主題)之間的高階關系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM