论文浅尝 | 用可微的逻辑规则学习完成知识库推理
Citation:Fan Yang,Zhilin Yang, William W. Cohen. Differentiable Learning of Logical Rules for Knowledge Base Reasoning. ICLR 2017.
動機
本文提出了一個可微的基于知識庫的邏輯規則學習模型。現在有很多人工智能和機器學習的工作在研究如何學習一階邏輯規則,規則示例如下圖:
形式化本文關心的邏輯規則如下:
每一個規則由多個約束條件組合而成,并且被賦予一個置信度 α,其中query(Y,X) 表示一個三元組,query 表示一個關系。
不同于基于 embedding 的知識庫推理,規則應該是實體無關的,規則可以應用于任何新添加到知識庫中的實體,但在知識庫 embedding 方法里,新添加到知識庫中的實體由于沒有對應的表示,無法就這些實體進行相關的推理。
不同于以往的基于搜索和隨機游走的規則學習方法,本文的目標是提出一個可微的一階謂詞邏輯規則學習模型,可用基于梯度的方法進行優化求解。
本文提出的NeuralP模型主要收到 TensorLog 的啟發。TensorLog 可視為一個可微的推理機。知識庫中的每個實體用一個 one-hot 向量表示,每個關系 r 定義為一個矩陣算子 M_r,M_r 為一個稀疏的毗連矩陣,維度為 n_e×n_e, 其中 n_e 表示實體的個數。每一條邏輯規則的右邊部分被表示為以下形式:
所以總結本文關心的優化問題如下:
V_x? 和 V_y 分別為一個由規則推理得到的三元組。在上式的優化問題中,算法需要學習的部分分為兩個:一個是規則的結構,即一個規則是由哪些條件組合而成的;另一個是規則的置信度。由于每一條規則的置信度都是依賴于具體的規則形式,而規則結構的組成也是一個離散化的過程,因此上式整體是不可微的。因此作者對前面的式子做了以下更改:
主要交換了連乘和累加的計算順序,對預一個關系的相關的規則,為每個關系在每個步驟都學習了一個權重,即上式的 a_l^k。其中 T 為超參,表示規則的長度。由于上式固定了每個規則的長度都為 T,這顯然是不合適的。為了能夠學習到變長的規則,Neural LP中設計了記憶向量 u_t,表示每個步驟輸出的答案--每個實體作為答案的概率分布,還設計了兩個注意力向量:一個為記憶注意力向量 b_t ——表示在步驟 t 時對于之前每個步驟的注意力;一個為算子注意力向量 a_t ——表示在步驟 t 時對于每個關系算子的注意力。每個步驟的輸出由下面三個式子生成:
其中 a_t 和 b_t 基于一個 RNN 生成,具體如下:
其中隱層變量 h_t 由一個LSTM生成。
本文還設計了一個根據訓練結果解析規則的算法如下:
實驗:
本文的實驗相當豐富,主要包括
(1)? 兩個標準數據集上的統計關系學習相關的實驗
(2)? 在1616的網格上的路徑尋找的實驗
(3)? 知識庫補全實驗
為了證明Neural LP的歸納推理的能力,本文還特別設計了一個實驗,在訓練數據集中去掉所有涉及測試集中包含的實體的三元組,然后訓練并預測,得到結果如下:
這個實驗有效地證明了Neural LP的歸納推理的能力。
(4)? 知識庫問答的實驗
總結
本文提出了一個可微的規則學習模型,并強調了知識庫中的規則應該是實體無關的,非常值得借鑒。有興趣的讀者可以閱讀一下原文。
?
論文筆記整理:張文,浙江大學博士在讀,研究方向知識圖譜的分布式表示與推理。
?
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
轉載須知:轉載需注明來源“OpenKG.CN”、作者及原文鏈接。如需修改標題,請注明原標題。
?
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | 用可微的逻辑规则学习完成知识库推理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The command ‘/bin/sh
- 下一篇: 图解Transformer-一篇文章看懂