在李群上的嵌入模型——TorusE


引入

嵌入模型是將知識圖譜映射到向量空間的模型。正如在TransE中所提到的,用已知的三元組實體關系來構造映射,再用該映射預測未知的三元組實體關系。

自從TransE被提出以來,相繼衍生了不同的變種,如TransH,TransR,TransG,pTransE。另外還有基於雙線性的模型RESCAL,DistMult,HolE,ComplEx,和基於李群的TorusE。

回顧TransE及其缺陷

在TransE的模型訓練算法中,有三條基本原則。第一,h+r=t。第二,負抽樣得到損失三元組。第三,在計算實體距離之前,對所有的實體和關系向量都進行了歸一化(正則化)。這是由於向量空間可以無限擴張導致的,為了使其有界才使用了歸一化,也就是在每一步計算之前將向量大小都規范到1。然而,這種規范化雖然避免了向量空間的無限擴張,但導致了新的矛盾產生。

首先從平面直觀的向量和出發,在等腰三角形ΔABC中,有向量公式AB+BC=AC。假設此時||AB||=||BC||=1,且||AC||≠1,那么經過規范化后,||AB'||=||BC'||=||AC'||=1,在三個向量的方向不發生改變的條件下,三角形的三條邊是無法閉合的。此時AB+BC≠AC,不滿足第一條基本原則,即h+r=t。產生了矛盾。

其次,從向量空間的維度來看,當向量的長度被規定為某個確定的數值后,這些向量所形成的空間實際上被降維了。如在二維平面中,窮盡從原點出發的所有向量,得到的是一個圓;在三維空間中,窮盡從原點出發的所有向量,得到的是一個球面;同理適用於高維空間。當對所有n維實體向量歸一化后,實際上將實體嵌入到了n-1維的向量空間中,它是n維空間的surface。若n=2,當關系也被歸一化后,則可能出現以下情況:

 

 實體被映射到圓上,但已知的三元組(A,r,A'),(B,r,B'),(C,r,C')卻不能很好地在圖中被表示出來。這樣的嵌入效果只能勉強朝 h+r ≈ t 方向努力,也會為訓練帶來阻礙。

TorusE的提出&圓環面

TorusE就是根據TransE的局限性改進得到的,基本原則沿用了前兩條。對於第三條原則,TorusE的解決方式是將映射空間由普通向量空間換成李群。

在TransE的嵌入模型中,向量空間需要滿足的條件有:可微流形(局部具有歐幾里得性質的空間,可以使用梯度下降法);空間中的+,-運算可微,是可交換群;可定義性,即能夠定義距離函數。TorusE則在這基礎之上增加了空間緊致性的條件,從而不再需要歸一化。實際上,TransE中的向量空間就是一種可交換李群,但不緊致,因此用緊致的可交換李群作為嵌入空間。

李群定義:有限維光滑流形,運算的加法和逆運算都是光滑的映射,即可微、可解析的。

圓環面是一種緊致的可交換李群,呈輪胎狀,如下圖:

圓環面定義:一個n維圓環面Tn是一個商空間。Tn = Rn/~ = { [x] | x屬於Rn }={ {y屬於Rn | y~x} |x屬於Rn },其中~為等價關系。且此處的y~x等價關系表示y-x屬於Zn(整數空間),[x]=x+N表示x所在的等價類。

商空間定義:Rn/~為Rn關於~的商集。要求Rn上的ri的~等價關系類,則把Rn上所有元素關於ri(i=1,2,…)的全部等價類(一個等價類為一個集合)作為元素形成的集合。也就是集合的集合。

為了更好地理解商集和等價類,首先定義一個等價關系。等價關系需要滿足自反性,傳遞性和對稱性。假設等價關系為“朋友關系”,設為~。對於某個社區中的人A,所有與他有朋友關系的人A1,A2,A3…等的集合是A的一個等價類A_set。同理,在該社區中與B有朋友關系的B1,B2,B3…等人形成的集合是B的一個等價類B_set。顯然Ai與Bj有可能是同一個人。若將該社區作為實空間,那么該實空間在~等價關系上的商空間為{A_set, B_set, …}。

商空間映射的例子: (1)∏:→ [x]  從某個 x 映射到該 x 的等價類,從實空間到商空間;(2)若g為微分同胚映射,有 g:[x] → e2πix 表示從商空間映射到復數空間,gg-1均無窮可微;(3)μ([x],[y]) = [x]+[y] 等價於 [x+y] ,因為對於任意N1,N2使得 [x] = x+N1 和 [y] = y+N2,都能找到 N3 使得 [x+y] = x+y+N3

商空間中等價類距離函數的定義:

了解了商空間和等價類的概念后,就可以定義在圓環面上的距離函數了。顯然,在原空間的某一個向量被映射到圓環面(商空間)上時變成了多個向量(向量的集合)。要度量原空間中兩個向量在商空間等價類的距離,則考慮集合之間的距離表示。兩個集合之間的距離等於分別從兩個集合中隨機取出一個向量后,這兩個向量之間距離的最小值。也就是 d(S1,S2) = min d(x,y), x屬於S1, y屬於S2

根據不同的空間映射方式,兩個等價類之間的距離有多種不同的表示方法。定義了以下三種距離函數,其中,(x',y')屬於[x]×[y] 表示x'屬於[x]且y'屬於[y]。

(1)dL1([x],[y]) = min(x',y')屬於[x]×[y  || x'-y' ||1 ,度量商空間中等價類的距離,利用集合距離的表示方法映射到實空間Rn計算,使用L1范數。

(2)dL2([x],[y]) = min(x',y')屬於[x]×[y|| x'-y' ||2 ,同理,使用L2范數。

(3)del2([x],[y]) = || g([x]) - g([y]) ||2 = || e2πix - e2πiy ||2 ,映射到復數空間中,使用L2范數計算。

TorusE模型

通過將嵌入空間定義在圓環面上,TorusE克服了TransE的局限性。模型設計如下。

TorusE所使用的距離函數f由上文定義的距離函數d構造,對應有三種:

(1)fL1(h,r,t) = 2dL1( [h]+[r], [t] )

(2)fL2(h,r,t) = ( 2dL2( [h]+[r], [t] ) )2

(3)feL2(h,r,t) = ( deL2( [h]+[r], [t] ) / 2 )2

訓練時對基本原則 h+r=t 也變成了 [h]+[r]=[t]。

損失函數為:

其中fd是上述三種距離函數中的一種。除了歸一化操作和損失函數的定義,算法的其他步驟與TransE一致。

計算技巧

觀察基礎距離函數d的定義,例:dL1([x],[y]) = min(x',y')屬於[x]×[y|| x'-y' ||1

在真正運算時,並非窮盡[x]×[y]中所有的x'y'。充分利用等價關系的表達一致性,所有的x'y'都可以被表示為x'=x+N1y'=y+N2,其中N1N2為向量。求min(x'-y'),即選取最佳的N1N2。但是要如何選取呢?由於x'y'都是n維向量,則可以分開考慮元素xiyi。選取某個N1N2,也就是為每一對xiyi選取合適的ni。也就是說,只要使得每個(xi-yi)取得最小值即可。由於ni為整數,因此最小值必然在[0,1)之間。

舉個例子,對於一維的xy,若x=0.5,y=3.8,那么[x]和[y]的最小距離應為多少?首先[x] = {…,-0.5,1.5,2.5,…},[y] = {…,2.8,3.8,4.8,…}。顯然,有多種選取方法使得[x]和[y]的距離最小,如2.5和2.8,1.5和1.8等。這個時候可以發現,等價類中元素的整數部分對於求距離沒有任何作用,因此只需考慮小數部分即可。從而計算方式變為,x取整為0.5,y取整為0.8,從而距離為0.3。

如前所述,對於n維向量,則每一維都需要進行求取小數部分的操作。基於L1范數的距離函數的計算式可以表示為:

 

 其中π表示取整函數:

  

從而簡化了計算。

 

 

————原文《TorusE: Knowledge Graph Embedding on a Lie Group

 


免責聲明!

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



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