ConvE:Convolutional 2D Knowledge Graph Embeddings
論文:Convolutional 2D Knowledge Graph Embeddings
1 介紹
1.1 提出原因
之前提出的模型如disMult,Trans系列模型,成為淺層模型,雖然比較簡單,參數(shù)較少、訓練模型速度較快,但是這些模型相比于深的模型,更少能夠抓到復雜的信息。因此,提出模型ConvE模型,利用卷積的方式進行知識圖譜補全,能夠適用于更加復雜的圖。
在淺層模型中增加特征數(shù)量的唯一方法,就是增加embedding的維度,但是隨之而來存在一個問題,不能擴展到更大的知識圖譜,因為嵌入?yún)?shù)的總數(shù)與圖中實體和關系的數(shù)量成正比。此外,以往的多層知識圖嵌入體系結(jié)構(gòu)都是全連接的,容易出現(xiàn)過擬合問題。
1.2ConvE優(yōu)勢
ConvE采取卷積的形式,由于高度優(yōu)化的GPU實現(xiàn),它的參數(shù)效率和計算速度快。由于其的普遍使用,在訓練多層卷積網(wǎng)絡時,已經(jīng)建立了魯棒方法來控制過擬合。在本文中,我們引入了ConvE模型,該模型使用二維卷積在嵌入上預測知識圖中的缺失環(huán)節(jié)。ConvE是用于鏈接預測的最簡單的多層卷積體系結(jié)構(gòu):它由單個卷積層、嵌入維數(shù)的投影層和內(nèi)積層定義。相比于GCN框架僅限于無向圖,而知識圖自然是有向的,并且可能受到限制的內(nèi)存需求的影響。
1.3 貢獻
- 介紹了一個簡單的,有競爭力的2D卷積鏈路預測模型,ConvE。
- 開發(fā)一個1-N的評分程序,加速三倍的訓練和300倍的評估。
- 系統(tǒng)地研究了在常用的鏈接預測數(shù)據(jù)集中報告的逆關系測試集泄漏,在必要時引入數(shù)據(jù)集的魯棒版本,使其無法用簡單的基于規(guī)則的模型來解決。
2 模型
2.1 1D vs 2D Convolutions
1D Convolutions
([a a a] ; [b b b]) = [a a a b b b]
若采用filter, 其 size k = 3, 結(jié)果為維度 1 × 4 1\times4 1×4
2D Convolutions
( [ a a a a a a ] ; [ b b b b b b ] ) = [ a a a a a a b b b b b b ] \begin{pmatrix} \begin{bmatrix} a & a & a \\ a& a & a\\ \end{bmatrix}; \begin{bmatrix} b&b&b\\ b&b&b\\ \end{bmatrix} \end{pmatrix}= \begin{bmatrix} a&a&a\\ a&a&a\\ b&b&b\\ b&b&b\\ \end{bmatrix} ([aa?aa?aa?];[bb?bb?bb?]?)=?????aabb?aabb?aabb??????
若采用filter, 其 size k = 3 × 3 \times3 ×3, 結(jié)果為維度 2 × 1 2\times1 2×1
二維卷積運算能夠模擬a和b之間更多的交互作用(與m, n, k成比例的動作)。因此,與一維卷積相比,二維卷積能夠提取兩個嵌入之間更多的特征交互作用
2.2 模型圖
模型講解:
- 頭實體和關系的one-hot編碼進行embedding,維度為k
- 將頭實體和關系的embeding 進行reshape,并拼接
- 進行卷積操作
- 全連接操作,映射維度為k
- 將全連接的結(jié)果乘以所有embedding結(jié)果,即實現(xiàn)1-N的評分方法,也就是說結(jié)果乘所有實體。
2.3 評分函數(shù)
其中 r r ∈ R k , e  ̄ s , r  ̄ r 分 別 代 表 e s , r r , 2 D 進 行 r e s h a p e 結(jié) 果 。 e s , r r ∈ R k , e  ̄ s , r  ̄ r ∈ R k w × k h , 其 中 k = k w × k h \mathbf r_{r}\in \mathbb R _{k}, \overline \mathit e_{s},\overline \mathit r_{r}分別代表e_{s}, r_{r},2D進行reshape結(jié)果。e_{s}, r_{r}\in\mathbb R_{k},\overline \mathit e_{s},\overline \mathit r_{r}\in \mathbb R^{k_{w}\times k_{h}},其中k=k_{w}\times k_{h} rr?∈Rk?,es?,rr?分別代表es?,rr?,2D進行reshape結(jié)果。es?,rr?∈Rk?,es?,rr?∈Rkw?×kh?,其中k=kw?×kh?
2.4 損失函數(shù)
2.5 正則化
我們通過在幾個階段使用drop out來規(guī)范我們的模型,防止過擬合。 特別地,我們在嵌入、卷積后的feature map以及全連通層后的hidden units上使用了dropout。此外,我們BatchNorm進行歸一化,在卷積輸入之前,卷積輸入之后,
feature map之后進行BatchNorm歸一化。
3 代碼
論文原作代碼使用一個框架難以理解,找到替代的一個代碼。
參考代碼:點我
模型代碼
總結(jié)
以上是生活随笔為你收集整理的ConvE:Convolutional 2D Knowledge Graph Embeddings的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux mysql 僵尸进程_Lin
- 下一篇: ROS导航【01】: move_base