論文:Modeling Relational Data with Graph Convolutional Networks 使用圖卷積網(wǎng)絡(luò)對關(guān)系數(shù)據(jù)進行建模
論文鏈接:https://arxiv.org/abs/1703.06103
Github鏈接:https://github.com/tkipf/relational-gcn
此論文引入了關(guān)系圖卷積網(wǎng)絡(luò)(R-GCNs),并在兩個標準知識庫上應(yīng)用R-GCNs梢莽,完成了兩個任務(wù)——
- 鏈接預(yù)測
- 實體分類
那么是應(yīng)用這個網(wǎng)絡(luò)并解決它的呢明吩?我們可以把知識庫想象成一個有向有標簽的多圖饭宾,我個人理解就是有向帶權(quán)圖晤锥。
我們上面提到的兩個任務(wù)新博,其實可以看成兩個解決問題時的situations吼渡,在這種情況下蛤肌,many丟失的信息都may存在于鄰域結(jié)構(gòu)編碼的圖中业簿。我們來For instance瘤礁,
- 知道Steven在VTU上學接受教育。
那么就表示Steven應(yīng)該帶有一個標簽person, 而且三人組(Steven HD, lived in, China)就must屬于知識圖梅尤。
So柜思,我們需要為關(guān)系圖中的實體開發(fā)一個編碼器模型,從而可以應(yīng)用于兩個situations巷燥。
對于鏈路預(yù)測任務(wù)赡盘,可以看成是一個自編碼器,這個自編碼器包括2個part缰揪。
- 編碼器:一個生成實體的陨享,隱含特征,表示的R-GCN
- 解碼器:一個,利用這些表示抛姑,來預(yù)測標記邊赞厕,的張量因子分解模型。
其實解碼器可以rely on任何類型的因子分解(也就是任何評分函數(shù))定硝,但是論文中使用的方法是DisMult皿桑。
一、論文的亮點
1.1 展示了GCN框架可以應(yīng)用于關(guān)系數(shù)據(jù)建模喷斋,i.e.鏈接預(yù)測和實體分類任務(wù)唁毒。
1.2 引入了參數(shù)共享和實現(xiàn)稀疏約束的技術(shù),技術(shù)實現(xiàn)的目的是將其apply到具有大量關(guān)系的多圖星爪。
1.3 為了improve模型的性能浆西,以DisMult為例,使用一個在關(guān)系圖中執(zhí)行多步信息傳播的編碼器模型來加強因子分解模型顽腾。
二近零、Neural relational modeling
2.1 模型中符號的定義
2.2 關(guān)系圖卷積網(wǎng)絡(luò)R-GCN
R-GCN是GCN在大規(guī)模關(guān)系數(shù)據(jù)上的一種擴展,這個GCN是在局部鄰居信息進行聚合的GCN抄肖。這些方法我們可以理解為一個簡單可微的消息傳遞模型的一個special example久信。
上述(1)的轉(zhuǎn)換模型在局部有結(jié)構(gòu)的鄰居中聚集,編碼特征是非常有效的漓摩。
同時裙士,在圖分類、基于圖的半監(jiān)督節(jié)點分類等任務(wù)中管毙,可以大幅度地提高其性能腿椎。
基于此,論文定義了一個簡單的傳播模型夭咬,這個model可以用來計算在一個關(guān)系多圖中的節(jié)點或?qū)嶓w的前向更新啃炸。
2.3 R-GCN和GCN不同的地方
論文中,和GCN不同的是卓舵,文中引入了一個relation-specific的轉(zhuǎn)換南用,也就是依賴于邊的類型和方向。
除了采取簡單的線性消息轉(zhuǎn)換外掏湾,還可以選擇多層神經(jīng)網(wǎng)絡(luò)裹虫,它的靈活性更高,但是計算效率很低忘巧。
上圖中恒界,需要注意的幾點:
- 對每個節(jié)點引入了一個特殊的關(guān)系類型:自連接,self-loop
- 深藍色的方塊表示來自于鄰居節(jié)點激活的特征(D維向量)
- in 和 out 表示兩種類型的邊
- each節(jié)點的更新可以用整個圖中的共享參數(shù)并行計算砚嘴。
2.4 Regularization 正則化or規(guī)則化
論文中新定義的傳播模型(公式2)十酣,當它應(yīng)用于多關(guān)系數(shù)據(jù)的一個問題時涩拙,圖中關(guān)系的數(shù)量隨著參數(shù)的增長而增長,從而會導致overfit的問題耸采。
為了解決overfit的問題兴泥,我們需要引入2個獨立的方法對R-GCN層進行規(guī)則化——
- 基函數(shù)分解
- 塊對角分解
這兩種分解方法都可以減少關(guān)系比較多的數(shù)據(jù),i.e.虾宇,知識庫搓彻,在train中需要learning的參數(shù)。從而減少overfit的問題嘱朽。
2.4.1 basis decomposition 基函數(shù)分解
2.4.2 block-diagonal decomposition 塊對角分解
論文中旭贬,對所有的R-GCN模型都采取下面的形式:
- 按傳播模型(公式2)堆疊L層;
- 輸入層中的每個節(jié)點搪泳,如果沒有其他的特征稀轨,就選擇一個one-hot向量作為輸入特征。
- 對于塊分解岸军,用一個簡單的線性變換把上句的one-hot向量映射到一個稠密的表示奋刽。
三、鏈接預(yù)測
看到了鏈接預(yù)測艰赞,我們首先要問佣谐,
- 預(yù)測的是什么?根據(jù)什么預(yù)測的方妖?為了做什么任務(wù)狭魂?
預(yù)測的是新的元組(subject, relation, object)
根據(jù)什么預(yù)測的,暫時還不知道党觅。
任務(wù)是為可能的邊(s, r, o)分配一個分數(shù)f(s, r, o)趁蕊,從而確定這些邊屬于邊集的可能性。
當然仔役,做這個任務(wù),還需要一個大殺器——圖形自動編碼器是己,
- 這個玩意兒是用什么組成的又兵?
一個實體編碼器+評分函數(shù)(解碼器)
這個圖形自動編碼器的作用,就是把每個實體映射到一個真值向量上卒废。
接下來沛厨,解碼器會根據(jù)節(jié)點表示重建圖的邊。
也就是說摔认,編碼器對三元組(subject, relation, object)進行評分逆皮。
文中使用的方法是——使用一個R-GCN編碼器,通過計算節(jié)點來表示参袱。
論文中的實驗电谣,進行評分的就是選擇了一個評分函數(shù)秽梅,評分函數(shù)就是DisMult,每個關(guān)系r都跟一個對角矩陣R有關(guān):