TIE: A Framework for Embedding-based Incremental Temporal Knowledge Graph Completion 增量時序知識圖譜補全論文解讀

頎周發表於2022-12-13

  論文網址:https://dl.acm.org/doi/10.1145/3404835.3462961

  Arxiv:https://arxiv.org/abs/2104.08419

  論文提出一種用增量學習思想做時序知識圖譜補全(Temporal Knowledge Graph Completion, TKGC)的學習框架——Time-aware Incremental Embedding (TIE)。看框架名是提出了一種學習知識圖嵌入的方法。增量學習是為了緩解模型在學習新增資料時產生的對過去所學的災難性遺忘問題。

  時序知識圖譜(Temporal Knowledge Graph, TKG)可以看這篇簡單瞭解。知識圖譜(Knowledge Graph, KG)的事實表示為頭實體、關係、尾實體 三元組$(h,r,t)$。TKG額外增加了時間戳,將事實表示為頭實體、關係、尾實體、時間戳 四元組 $(s,r,o,t)$,從而能考慮時序動態。時間戳通常以年為計,如$(Obama, visit, China, 2014)$。TKG快照(snapshot)是指某個時間步下的TKG,它的包含的事實具有相同的時間戳。那麼跨越一個個快照來推理缺失事實的任務,就稱為TKGC。

引出

  論文主要考慮過去的TKGC(Temporal KG Completion)模型學習模式的三個問題:

  1、之前的方法並沒有顯式地將TKGC構造為一種增量學習問題——使模型能夠適應訓練資料的變化並能有效保留之前所學。它們將TKGC任務簡單構造成KGC任務,僅僅在新的KG快照上對模型進行微調,導致災難性遺忘。這點我不能苟同,既然在新的時間步下,過去的資料相對於當前已經無意義了。我就算把之前所學全都忘了,從新隨機初始化模型在整個新快照上訓練也行啊。我感覺作者想表達:不能有效利用之前時間步已經學到的與當前時間步相同的資訊,導致過去訓練的浪費。

  2、以前的評價指標只能對整體的連結預測質量進行評估,例如Hits@10和MRR,而忽略了TKG的動態方面,缺少能評估模型對已刪除事實的遺忘程度的指標。比如對於查詢 (?, presidentOf, USA, 2021) ,我們希望模型對 Biden 的排名高於 Trump。

  3、過去的方法在訓練時使用了所有時間步中出現過的實體,不符合現實中實體從無到有的過程。

  根據以上分析,本文做法如下:

  1、將增量學習思想引入TKGC,提出incremental TKGC任務,並構建了TIE訓練框架。

  2、提出新的評估標準Deleted Facts Hits@10 (DF) 和 Reciprocal Rank Difference Measure (RRD)。

  3、提出框架每次僅使用下一步快照更新的事實,而不是整個知識圖進行訓練,即增量學習。論文展示了它的訓練效率(十倍於之前的微調模型),並且有與之前的訓練方式相似的效能。

問題的定義和框架

問題定義

  TKG被定義為KG的快照的集合,即$\mathcal{G}=\{G^1,G^2,...,G^T\}$,$T$表示TKG的總時間步數。每個KG快照被表示為$G^t=\{E^t,R^t,D^t\}$。其中$E^t$,$R^t$和$D^t$分別表示該快照的實體集合、關係集合以及事實集合。事實由頭實體、關係、尾實體、時間戳 四元組$(s,r,o,t)$表示。假設$\bar{D}^t$為$t$時序下的真實事實四元組集合,我們已知$D^t$,則未知事實表示為$D_{test}^t=\bar{D}^t \backslash D^t$。對於$(s,r,o,t)\in D_{test}^t$以及查詢$(s,r,?,t)$,TKGC的目標就是使$o$的預測排名靠前。  

編碼器解碼器框架

  論文提出的TIE框架分為為編碼器和解碼器兩個部分。

  編碼器:編碼器將實體和關係編碼為$d$維的嵌入向量。論文字身並不提出新的嵌入向量的表示方法,它用兩個之前提出的時序知識圖嵌入方法來對TIE框架進行測試,DE和HyTE(解讀)。為了引入時序資訊,DE利用訓練引數直接將其融入嵌入向量的一部分,HyTE則將關係表示投影到與時序相關的超平面。論文只列舉了DE的計算方式,式 (1) 。

  解碼器:解碼器就是某個事實的真實性的打分函式,文中直接用非時序KGC的打分方法,如式(2)所示。論文分別用ComplEx和TransE作為DE和HyTE的解碼器。

評價指標

  標準TKGC評價指標就是用Hits@k等,在某個KG快照上進行,如論文式 (3)。

  而增量TKGC的評價指標需要評估兩個方面:

  1、Current and Historical Average Measure:也就是計算從$1$到$t$的所有時間步增量學習後的標準測試結果的平均。

  2、Intransigence Measure:評估模型對已刪除事實的識別能力。提出Deleted Facts Hits@10 (DF) 和 Reciprocal Rank Difference (RRD)。

  DF如式(4)所示。評估模型是否將過去存在,而在當前$t$時間步已刪除的事實排名靠前,指標越小越好。但是我感覺這個式子不對,首先,式子沒排除$o'=o$的情況,而$(s,r,o)$不一定在$t$之前不存在。其次,即使$o'\neq o$,$(s,r,o')$在$t$時間步也不一定不存在,因為可能會有實體一對多的情況。另外,我對DF這個指標本身的意義也有質疑。即使式子表達正確,為什麼一定要把已刪除的事實的排在$k$之外呢?排名一定存在前$k$個,如果已刪除的事實排在$k$之後,除了正確事實之外,排在$k$以內的就剩下從未出現過的事實,難道把已刪除的事實排在從未出現過的事實之後會使模型效能更好嗎?也就是說:沒必要。

  RRD如式(5)所示。比較正確事實的預測排名和被刪除事實的預測排名的倒數,由於正確事實應該相對於已刪除事實排名靠前,指標越大越好。表示式感覺和DF有同樣的問題。

TIE架構

總體結構

  圖1展示了TIE的訓練架構。依據不同的訓練目標定義了5個損失。根據圖1以及後面的定義,我們可以將訓練資料流概括如下:

  首先將訓練資料的事實四元組按時序分為三類:重放緩衝區(Replay Buffer)$B^t$、舊事實(Old Facts)$D^{t-1}$、新事實(New Facts)$D^t$。其中新事實$D^t$就是當前$t$時間步的快照的事實集合,舊事實$D^{t-1}$是$t$前一步快照的事實集合。重放緩衝區$B^t$則是$t$步之前最近$\tau$個快照的所有事實的集合:

$B^t=\bigcup\limits_{i=\max{(1,1-\tau})}^{t-1}D^i$

  然後從$B^t$、$D^{t-1}\backslash D^t$和$D^{t}\backslash D^{t-1}$中分別抽取重放事實$P^t$、刪除事實$N^t$和新增事實$D^t_{add}$來計算損失。其中$N^t$的抽樣在圖1中的表達和式(15)相沖突,式(15)是在$B^t \backslash D^{t-1}$中抽取。抽取事實的實體和關係透過編碼器得到嵌入,再輸入解碼器對事實進行打分,並計算相應的損失。

  下面小節就是按順序介紹圖中的5個損失:$L_{RKD},L_{RCE},L_{TR},L_{del},L_{CE}$。其中的一些關鍵技術包括:

  1、利用增量學習的兩個常用方法——experience replay和Temporal regularization techniques,來解決Fine-Tune的災難性遺忘。

  2、使用在最近快照中刪除的事實作為訓練的負樣本來解決之前TKGC方法的intransigence問題,也就是過去的模型不能將隨時間失效的知識拋棄。

  3、只用每個時間步新增的事實來對模型進行訓練,極大提升了訓練效率。

經驗重放(Experience Replay)

  經驗重放實際上就是抽取過去的資料繼續參與訓練,防止模型災難性遺忘。論文考慮如何從重放緩衝區$B^t$中抽取重放事實$P^t$,並構建它們參與訓練的方式。

重放事實的抽樣策略

  一種簡單直接的抽樣策略是均勻抽樣。文中提出了一種依賴於事實成分出現頻率和時序距離的抽樣方式。

  對於事實出現頻率,論文首先定義了7個正規表示式來讓事實進行匹配:

$P =\{(s,r,o),(s,*,o),(s,r,*),(*,r,o),(*,r,*),(s,*,*),(*,*,o)\}$

  其中$*$代表任意匹配。然後定義所謂歷史模式頻率(Historical Pattern Frequency, HPF)和當下模式頻率(Current Pattern Frequency, CPF)來表示某個事實在$P$的某個匹配模式下分別在$B^t$和$D^t$中的出現次數,如論文式(6)和式(7)所示。則定義某個事實$(s,r,o)$的頻率依賴機率(frequency-dependent probability)$fp(s,r,o)$為文中式(8):

$\displaystyle fp(s,r,o)=\sum\limits_{p\in P}\lambda_p\left[\log(h_p^t+1)+\gamma\tau\log(c_p^t+1)\right]$

  $\lambda$是一些平衡數值的權重,$\tau$是$B^t$的視窗大小,加對數是為了防止某些匹配數量過大。式子實際上就是表達了與這個事實有相同成分的所有事實($B^t$和$D^t$中)的數量。

  對於某個事實$(s,r,o,t')$的時序距離,論文表示為

$tp(t')=\exp(\frac{t'-t}{\sigma})$

  $\sigma$是控制引數。則$(s,r,o,t')$被抽中的機率(未歸一化)就被定義為

$ fp(s,r,o)tp(t')$

  以上表示,事實所在時序與當前時序越接近,且其包含的成分(實體、關係)出現頻率越高,該事實被抽中的機率越大。論文還提了一嘴相反的定義$\frac{tp(t')}{fp(s,r,o)}$,在後面的實驗中看到,其實和前者差別也不大╮(╯▽╰)╭。抽樣策略演算法如文中Algorithm 1所示。

學習策略

  用以上策略抽取重放事實$P^t$後,就是考慮如何用這些事實參與訓練。論文提出兩個損失,重放交叉熵損失$L_{RCE}$和重放知識精煉損失$L_{RKD}$。

  對於$L_{RKD}$,論文將重放事實作為正例,使其打分最大化,並替換其實體生成相應的反例,使反例打分最小化。對於某個重放事實$(s,r,o,t')\in P^t$,替換的實體集合定義如下:

 $D^-_{s,r,t'}=\{o'|o'\in E^{t'}_{known},(s,r,o',t')\notin D^{t'}\}$

  其中$E^{t'}_{known}$表示到$t'$時間步為止觀察到的所有實體的集合。於是這個實體相關的損失被定義為文中式(10),然後將$P^t$中所有實體相關的損失進行求和,如式(12)所示,就定義了所謂的$L_{RKD}$。

  對於$L_{RCE}$,論文考慮到在$t$時間步對重放事實$P^t$的打分與前一時間步的打分應該變化不大。在訓練$t$步之前,先儲存在$t-1$步訓練完成的模型在$P^t$上的損失分佈。然後用KL散度來限制當前時間步對重放事實的過度訓練,如式(11)所示,即$L_{RCE}$。

時序正則化

  每當進入一個新的時間步$t$,TIE都使用前一時間步訓練後的引數作為當前時間步的初始化訓練引數,包括實體和關係的嵌入。如果出現新的實體或關係,其嵌入引數會進行隨機初始化,如式(13)所示。

  所謂時序正則化(Temporal Regularization),就是為了限制TIE對從之前時間步繼承下來的引數的過度訓練,防止災難性遺忘。式(14)定義了相關損失$L_{TR}$。

學習已刪除事實

  $t$時間步的已刪除事實定義為式(15),前面說過,定義與圖1表示的不一樣。相關損失$L_{del}$定義為式(16),也就是最小化已刪除事實的打分。

學習新增事實

  TKG中每個時間步的事實總數以及新增事實數如圖2所示。直接使用新時間步的所有事實進行訓練的計算量很大,所以文中只用相對於前一步的新增事實進行訓練,也就是增量學習的特點。相關損失$L_{CE}$定義在式(17)和式(18),也就是最大化新增事實的打分,並最小化其反例的打分(前面定義了$q^t_{s,r,o,t}$)。

最終損失

  最終損失就是以上5個損失相加,論文式(19),實驗時論文直接把所有$\alpha$權重都設定為1。

實驗

  論文用YAGO11k和Wikidata12k進行實驗,分別是YAGO和Wikidata的子集。使用的評價指標看論文6.2.2。實驗結果看錶1-4。

表1

  表1進行了對比實驗,比較5種不同的訓練策略的效能。不同訓練策略說明如下:

訓練策略 FT TR TIE FB FB_Future
說明 僅用$D^t_{add}$進行微調,即損失只有$L_{CE}$ FT的基礎上+時序正則化,即$L_{CE}+L_{TR}$ TIE框架,即5個損失都用 用$B^t$和$D^t$的所有資料進行微調 用$1$到$T$時序的所有資料進行訓練

  可以看出TIE相對於用整個知識圖譜,訓練速度提升很大,並且有比較好的效能。DF和RRD這兩個指標,對於知識圖預測的有效性來說,感覺意義不大,就不說了。

表2

  表2對經驗重放的事實抽樣策略進行了對比:

  None:不用經驗重放

  Uniform:均勻抽樣

  Freq:抽樣機率為$fp(s,r,o)tp(t')$

  Inv_Freq:抽樣機率為$\frac{tp(t')}{fp(s,r,o)}$

  可以看出經驗重放對效能有提升作用,但是不同的重放策略對效能看來影響不大。

表3

  消融實驗驗證刪除事實損失$L_{del}$的有效性。可以看出這個損失對知識圖譜補全的總體效能(C@10和A@10)是有害的。儘管能提升DF@10和RRD指標,但是這有什麼意義呢?為了讓已刪除事實預測排名靠後,那麼除了正確事實之外,排名擠到前頭的就會是從未出現過的更錯誤的事實。感覺直接比較Hits@1我覺得更直接和有效。

表4

  最後,分別使用微調(FT)和時序正則化(TR),對增量TKGC(Add)和原始TKGC(All)進行了對比。Add是隻使用新增事實$D^t_{add}$進行訓練,All是使用當前時間步的所有事實$D^t$進行訓練。可以看出,當使用時序正則化時,二者效能差異不大,而增量學習使訓練資料量急劇減少,提升了訓練效率。

總結

  個人總結:論文提出了一個TKGC的增量學習框架,其表示學習主要透過定義5個損失函式來實現。另外還提出兩個評價指標DF和RRD,來評估模型對已刪除事實的識別能力。然而,如論文表3所示,損失$L_{del}$對TKGC的總體效能(C@10和A@10)有害。我個人認為,與其讓已刪除事實排名靠後,不如直接就讓真實事實排在第一,直接比較Hits@1更直接一些。因此我認為提出的這兩個評價指標沒有什麼意義,並且損失$L_{del}$可以去掉。最後,論文說這是首次將增量學習引入TKGC。增量學習的確在不損害較多效能的前提下很大程度地加快了TKGC的訓練,這是TIE的優勢之處。

 

相關文章