本文記錄今天看的兩篇還是用神經網絡來做 KGE 的模型 ParamE 和 InteractE。
6.18 周五,想先說些題外話,本來今天學習效率再高一點的話可能能把第一篇論文的筆記寫完,但是一到下午,感覺學習的動力就不如上午足了。忙的時候總想着有一大段安靜的不被打擾的時光,而一旦獨處很久,又會不由自主地陷入無意識走神的狀態而不自知。尤其是在看論文的時候,眼睛面對着論文,思緒卻已經飛走了,對福昕閱讀器上的黑白文字已經完全免疫,目光呆滯,失去思考的主動力。下午三點,我覺察到自己即將進入這樣的狀態,於是出去走了一圈,外面風很大、也很曬,但這樣與陽光的接觸能使一直在陰暗的空調大樓吹空調的我感覺到自己在活着。端午看過了《學習的人》這部紀錄片之后,我開始下意識鍛煉自己的主動思考的能力。囿於環境,我沒辦法通過經常討論和講的形式來學習,於是只好記筆記,寫筆記的過程比只看論文有用得多。看到博客上一千多的閱讀量和記錄的論文列表,還是有小小的成就感的。這些積累也將會是我開題的素材。這個月還有十幾天,馬上就要開題了,我卻在這里不緊不慢地寫論文筆記…… 這周末一定要把開題報告初稿寫出來,否則真的就是在玩火orz……
6.21 周一,開題報告還是一個字都沒動 orz,周末也沒有閑着,但不知道干了什么…… 今天把四篇筆記寫完,然后想一下怎么開題吧。人有多大膽,報告拖多晚。
ParamE
paper: ParamE: Regarding Neural Network Parameters as Relation Embeddings for Knowledge Graph Completion
簡介: 本文是中科院自動化所發表在 AAAI 2020 上的工作。文章提出了 ParamE,將神經網絡的參數視為關系的 embedding,頭尾實體分別是網絡的輸入和輸出。這個模型的本質就是對不同的關系訓練了不同參數的網絡,並沒有特別新奇,只是這種解釋的說法令人耳目一新。
模型
文章提出的問題是,用於KGE 的神經網絡的非線性擬合能力雖然很強大,但是忽略了知識表示的很重要的翻譯特性。這兩點在 KGE 中都很重要。為了兼顧這兩點,文章提出了將網絡參數視為關系 embedding 的方法,實體在特征空間,關系在參數空間,符合兩者應當在不同空間的要求。具體提出了三種網絡結構用於 KGE:ParamE-MLP、Param-CNN 和 Param-Gate。這是一個通用的框架,可以應用到多種具體的網絡結構上。

上圖是 ConvE 與 ParamE 的對比。一些像 ConvE 的神經網絡模型將頭實體和關系的 embedding 輸入到網絡中,網絡的輸出為尾實體 embedding。而在 ParamE 中,關系的 embedding 作為一種參數,將輸入的頭實體轉化為輸出。
ParamE-MLP
多層感知機就是前饋神經網絡,這里使用了三層:

關系就是參數的集合:\({W_0,W_1,W_2,b_0,b_1,b_2}\)。
三元組的評分函數為:頭實體經過關系的翻譯,與尾實體做內積:

Param-CNN
這里使用兩層卷積:

關系的 embedding 就是 \({\varOmega_0,\varOmega_1}\),打分函數與 Param-MLP 相同,都是先經過線性投影再求內積。
Param-Gate

門結構的核心是讓信息有選擇地通過,在這里,\((1-y_1)\) 是門,決定 \(y_2\) 的信息有多少被允許通過。打分函數同前兩種。
模型架構及訓練

盡管上述三種模型的網絡結構不同,但它們的核心思想都是一樣的,因此 ParamE 的打分函數可以被抽象為:

算出的結果要再過一個 sigmoid 函數,得到實體集中每個實體的得分:

實驗
在 FB15k-237 和 WN18RR 上進行了鏈接預測實驗。
選用的 baseline 及數據集統計如下:


鏈接預測結果:

用 ParamE-Gate 測試了每個關系上的鏈接預測結果:


代碼
文章沒有給出代碼。
小結: 本文提出了一種用神經網絡做 KGE 的新思路,將神經網絡參數視為關系的 embedding,並在三種 NN 上進行了實踐。idea 並沒有太大新意,本質就是
一種關系的三元組用同一個網絡,對不同關系下的三元組訓練了不同的網絡。文章勝在了這種解釋上。后續工作可做的有很多,可以將 ParamE 拓展到更多的網絡結構上。
InteractE
paper: InteractE: Improving Convolution-based Knowledge Graph Embeddings by Increasing Feature Interactions
簡介: 本文是哥倫比亞大學印度研究所的學者發表在 AAAI 2020 上的工作,主要關注交互。文章提出了 InteractE,通過特征置換、新的 reshape 操作和循環卷積三種做法捕捉到實體和關系的 embedding 間更多的交互。這篇文章跟中國人的大多數行文思路不太一樣,章節分得比較散,一共有 10 章,在會議論文中還是比較少見的。
本文是針對 ConvE 做的改進,指出 ConvE 捕捉 interaction 的能力比較欠缺,因此本文關注如何增加實體和關系的 embedding 間的交互。InteractE 主要有三點關鍵貢獻:特征置換、新的 reshape 操作,和循環卷積。
定義
reshaping 函數
reshaping 函數將頭尾實體的 embedding 轉換為一個矩陣。文章提出了三種 reshape 方式:stack、alternate 和 chequer。

stack 方式是將兩個 embedding 分為兩行,然后堆疊起來。
alternate 是堆疊 \(\tau\) 行,然后循環交替,圖中示例是 \(\tau=1\) 的情況。
chequer 是每個元素交叉排列。
“交互”的定義
一個交互被定義為一個元組 \((x,y,M_k)\)。如果 x 和 y 分別是頭實體和關系 embedding 的元素,那么稱之為異質交互,否則為同質交互。
模型
模型整體架構圖如下:

特征置換

這一步沒有看明白是怎么置換的(時間緊,沒有時間細看了。。。)
checkered reshaping
選用三種方式中的 checker 方式進行 reshape。
循環卷積
循環卷積比普通卷積進一步增強了交互。

這一步也沒看太明白,大意應當是:普通卷積的 padding 用 0,循環卷積用的自身的元素。
介紹完模型后還有一章是理論分析,提出了一些命題,沒有細細關注。附錄中還有一堆對於命題的證明,也沒來得及看。
實驗
實驗部分分了兩章,一章用於介紹實驗設置,另一章進行結果分析展示。結果展示的形式也讓人耳目一新,首先提出四個問題,然后針對這四個問題的四個方面分小節進行結果分析。在三個數據集(FB15k-237、WN18RR 和 YAGO3-10)上進行了鏈接預測實驗。
模型效果比較

reshape 和循環卷積的作用

特征置換的作用

不同類型上的模型效果

代碼
文中說公開了源碼,但我並沒有找到代碼的鏈接。
小結: 本文重點關注 embedding 特征的交互,通過特征置換、checkered reshaping 和 循環卷積增加特征交互。論文中有很多地方沒來得及完全看明白,有時間的應當再細看一遍。