BiGI
ABSTRACT
二部圖的嵌入表示近來引起了人們的大量關注。但是之前的大多數方法采用基於隨機游走或基於重構的目標,這些方法對於學習局部圖結構通常很有效。
文章提出:二部圖的全局性質,包括同質節點的社區結構和異質節點的長期依賴關系,都沒有得到很好的保留。因此文章提出二部圖嵌入表示,稱為BiGI,通過引入一個新的local-global infomax目標,來捕捉全局屬性。BiGI首先生成一個全局表示,該表示由兩個原型表示組成。然后,BiGI通過子圖級別的注意力機制將采樣的邊encode成局部表示。通過最大化局部表示和全局表示的mutual information,使得二部圖中的節點具有全局相關性。
文章在不同的基准數據集上進行實驗,目標為top-K和鏈接預測任務。
INTRODUCTION
最近在圖嵌入表示取得了很大的進展,雖然很多工作在同構和異構圖都能很好的工作,但是他們都不是為二部圖量身定做的。因此學習二部圖的嵌入表示是次優的。
為了解決這個問題,有許多專門的研究,大致分為兩類:基於隨機游走和基於重啟方法。
-
基於隨機游走:依賴於隨機行走的啟發式算法來生成不同的節點序列。
-
基於重啟:通過預測滑動窗口內的上下文節點來學習節點表示。基於重啟的方法與協同過濾密切相關。它們試圖通過學習不同的編碼器來重建鄰接矩陣,特別的,一些工作訓練圖神經網絡,通過遞歸的聚集鄰域節點的特征來學習節點表示。
-
舉個例子
這是用戶-電影二部圖的示例,橙色陰影區域代表了一個基本的社區結構,這三部電影可能擁有相似的流派。藍色虛線代表了Lily和《Ice Age》之間的長期依附關系。然而,很難從局部圖結構中很好的學習這些全局性質。
為了識別二部圖的全局性質,提出了新的基於互信息最大化的二部圖嵌入算法BiGI。具體來說,BiGI首先引入一個全局表示,該表示由兩個原型表示組成,每個原型表示通過聚合相應的同構節點來生成。然后,BiGI通過所提出的子圖級別的注意力機制將采樣邊encode成局部表示。在此基礎上,提出了一個新的局部-全局informax目標,以最大化局部和全局表示之間的互信息。這樣,Informax目標可以通過最大化每個節點與其同類原型之間的MI來保持同類節點的社區結構,同時這也捕捉了異構節點的遠程依賴關系。
RELARED WORK
2.1 Bipartite Graph Embedding
同構圖和異構圖嵌入表示通常用於二部圖的建模;
用於同構圖的方法:DeepWalk、LINE、Node2vec、VGAE;
用於異構圖的方法:Metapath2vec,DMGI;
但這些不是為二部圖量身定做的,因此二部圖的結構特征很難被保留。IGE、PinSage、BiNE、FOBE是專門為二部圖設計的。但它們主要集中在如何潛在空間中對局部圖結構進行建模。
矩陣補全和協同過濾與二部圖的建模密切相關。有很多DNNs的方法來解決推薦任務。例如:GC-MC、NGCF。但是他們仍然忽視了二部圖的全局性質。
2.2 Mutual Information Maximization
最大化輸入和潛在嵌入空間的MI為無監督學習提供了一個理想的范例。然而在高維連續設置中估計MI是比較困難的。MINE推到了MI的下界,並通過訓練鑒別器來區分來自兩個隨機變量的聯合分布或者其邊緣的乘積的樣本。DIM將結構信息引入到輸入中,並采用不同的Infomax目標。
DGI是第一個將infomax目標應用於同質圖的工作。基於DIM,InfoGraph試圖通過最大化圖級表示和子結構表示之間的MI來學習無監督的圖表示。
DMGI將DGI擴展到異構圖,將原始圖形拆分成多個同構圖形,並采用DGI中的Infomax目標對拆分圖形進行建模。因此,DMGI仍然把重點放在學習同類節點的相關性上;
GMI提出了一種直接測量輸入同質圖和節點嵌入之間的MI的新方法。
與上述相比,文章中結合兩種類型的結點信息來生成局部和全局表示,提出一種新的更適合於二部圖的Infomax
BACKGROUND
G=(U,V,E)是一個二部圖,U和V是兩個不相交的節點集,\(E\subseteq U\times V\)表示邊集,\(A \in \{0,1\}^{|U|\times |V|}\)是二進制鄰接矩陣,其中每個元素\(A_{i,j}\)描述節點\(u_{i}\in U\)和\(v_j \in V\)有交互。給定一個二部圖G=(U,V,E)和它的鄰接矩陣,二部圖嵌入表示的目標是映射G中的節點為d維的向量。\(u_i\)和\(v_j\)分別表示\(u_i\)和\(v_j\)的嵌入表示向量;
PROPOSED MODEL
BiGI首先設計一個基本的二部圖編碼器來生成初始節點表示。然后,將這些節點表示作為框架的輸入,演示了如何構造全局表示、局部表示和局部-全局infomax目標;最后給出詳細的模型分析;
4.1 Bipartite Graph Encoder
與同構圖不同的是,二部圖的每個節點都與相鄰節點的類型不同。因此通過聚合一跳鄰居的特征來直接更新節點嵌入式不適合的。為了解決這樣的問題,文章的encode嘗試從每一層的兩跳鄰居(two-hop neighbors)那里學習嵌入的每個節點。解釋如下圖:
\(u_i^{k-1}\)和\(v_n^{k-1}\)的學習過程在\(k-th\)層有兩個操作。以\(u_i^{k-1}\)為例,圖中的a和b,首先通過一個具有非線性變幻的均值運算生成臨時鄰域表示\(\hat{v}_j^k\),公式如下:
\(\delta\)表示LeakyReLU激活函數,\(\hat{W}_v^k\)是一個權重矩陣,\(N_{(v_j)}\)是\(v_j\)的一跳鄰域。與其他常用的圖卷積不同的是,\(v_j^{k-1}\)並不納入計算。因此,\(\hat{v}_j^k\)可以看成一種u-type(用戶類型)節點的嵌入表示。之后使用同構圖卷積來獲得\(u_i^k\),公式如下:
其中,\(\bar{W}_u^k\)和\(W_u^k\)是兩個權重矩陣,\([\cdot | \cdot]\)是一種concatenation(連接操作)。
更新\(v_n^{k-1}\)也采用類似的步驟,圖中的c和d說明了從\(v_n^{k-1}\)到\(v_n^k\)的學習過程,公式如下:
其中\(\hat{W}_u^k,\bar{W}_v^k,W_v^k\)是權重矩陣,同時Dropout應用於編碼器的每一層,以regularize模型參數。
4.2 Local-Global Infomax
此部分先介紹全局表示和局部表示的計算,然后介紹論文提出的局部-全局infomax目標來捕捉二部圖的全局性質。
4.2.1 Global Representation全局表示
全局表示是二部圖的整體表示,它通過一個簡單合成函數(COM)生成的,這個簡單合成函數結合了兩個原型表示。具體地說,對於每種節點類型,引入一個原型表示來聚合所有同構節點信息。模型的insight和經典的few-show學習,它將生成每個類的原型表示。在文章中采用對所有同類節點信息進行平均的操作來獲得相應的原型表示,公式如下:
其中\(u_i,v_i\)是encoder的輸出,g是全局表示(由兩個原型表示:\(p_u\)和\(p_v\)組成),\(\sigma()\)采用Sigmoid函數,以此來實現COM函數
4.2.2 Local Representation
局部表示的每個輸入都是二部圖的一條邊,(u,v)。進一步,用一個h-hop封閉子圖,來描述(u,v)的周圍環境。下面給出h-hop封閉子圖的具體定義:
- H-hop Enclosing Subgraph(H-hop封閉子圖),給定一個二部圖G=(U,V,E),兩個節點\(u\in U\)和\(v\in V\),(u,v)的h-hop封閉子圖\(G_{u,v}^h\)由G的兩個節點集的並(\(G^h(u) \cup G^h(v)\))。其中
dis是一個距離函數。由於二部圖的特殊結果,h嚴格設定為奇數。
對於一個特定的邊\((u,v)\in E\)和相應的h-hop封閉子圖\(G_{(u,v)^h}\)(簡單起見,省略了u和v的下標),使用注意力機制來計算局部表示。給定節點u和\(v_j\in G^h(u)\),關系權重\(\alpha_{u,i}\)表示如下:
其中T表示轉置,\(W_a\)和\(W_a^{'}\)是兩個共享的可訓練矩陣。類似,節點v和節點\(u_i\in G^h(v)\)被定義如下:
局部輸入\(g_{(u,v)}^h\)的最終表示如下:
局部注意力表示還使用了相同的合成函數,結合了不同局部環境。這不僅突出了\((u,v)\)的中心作用,而且通過子圖級別的注意力機制自適應地將不同的重要性分配給相鄰節點。
4.2.3 Infomax Objective
在獲得局部和全局表示后,local-global infomax objective被重新描述為噪聲對比損失,其中正樣本來自聯合分布,負樣本來自邊的乘積。需要使用corruption函數C來生成負樣本,並且BiGI使用破壞圖結構A來定義C。切換參數\(S_{i,j}\)是拿來確定是否破壞鄰接矩陣\(A_{i,j}\),上述操作執行如下:
其中\(\beta\)是損失率,\(\oplus\)表示異或運算,\(\tilde{G}\)是損壞圖,\(\tilde{E}\)是相應的損壞邊的集合,具體損失函數定義為:
其中,\(\mathcal{D}\)通過雙線性映射函數對局部-全局表示進行評分:
其中\(W_b\)是一個權重矩陣,二元交叉熵損失能夠最大化\(g_{(u,v)_i}^h\)和\(g\)的MI。
4.3 Model Training
訓練損失\(L\)包括兩個部分:
其中\(\lambda\)是諧波因數,\(L_r\)是一個margin-based排序損失,公式如下:
其中,\(\phi\)是排序函數,是一個兩層MLP,\([x]_+\)表示x的正數部分,\(\gamma\)是邊距,\(E_{(u,v)}^{'}\)是一個負樣本節點對的集合,定義如下:
\(E_{(u,v)}^{'}\)由來自同一節點集合的隨機節點替換頭部或者尾部的交互來完成。BiGI是一個端到端的模型,使用了Adam來優化模型。整體架構如下圖:
4.4 Model Analysis
4.4.1 Time Complexity
BiGI學習初始節點表示和計算總損耗,使用共享encoder來學習\(G\)和\(\tilde{G}\)的節點表示,來避免參數overhead。BiGI的計算復雜度近似為\(O(k(|E|+|\tilde{E}|)d^2)\),其中k是層數,d是embedding size。
4.4.2 Relation with DGI
模型與DGI密切相關,因為它們都在圖上使用局部-全局的infomax objective。然而,存在着一些設計差異:
1)BiGI專注於二部圖的建模,將兩種節點類型的信息集成到局部和全局表示中。相比之下,DGI是為同構節點嵌入而設計的;
2)DGI試圖最大化節點和圖級別表示之間的MI,而BiGI實際上最大化子圖級別和圖級別表示之間的MI。子圖級別表示能夠有效地保持采樣邊的豐富交互行為;
3)encoder的選擇不同。鑒於二部圖的結構特點,文章設計了一種新的basic encoder來學習初始節點表示。
EXPERIMENTS
5.1 Datasets
使用了四個基准數據集:DBLP,MovieLens-100K(ML-100K),MovieLens-10M(ML-10M),Wikipedia。其中DBLP,ML-100K和ML-10M用於top-K的推薦,Wikipedia用於連接預測。將用戶-項目交互轉換為隱式數據。統計數據如下表,可以看出ML-10M比其他數據集大很多,它是用於測試模型是否可以部署到大規模的二部圖上。
5.1.1 Data Preprocessing
- DBLP和ML-10M中,使用60%的數據用於訓練,其余用於測試。
- 對於ML-100K,使用與IGMC相同的數據集划分
- 將Wikipedia數據划分為兩個,Wiki(5:5)和Wiki(4:6),即數據集的訓練/測試比為5:5和4:6
5.2 Experimental Setting
5.2.1 Evaluation Metrics
在top-K推薦中,對於每個用戶,首先過濾用戶在訓練過程中接觸過的項目,然后,對剩余的項目進行排序,並使用一下評估指標對排名結果進行評估:F1, NDCG(Normalized Discounted Cumulative Gain), MAP(Mean Average Precision), MRR(Mean Reciprocal Gain)。
在連接預測(序列預測),有兩個常用的指標:AUC-ROC和AUC-PR
5.2.2 Compared Baselines
和以下幾種類型的基准模型進行比較:
- Homogeneous graph embedding: DeepWalk, LINE,Node2vec,VAGE
- Heterogeneous graph embedding: Metapath2vec,DMGI
- Bipartite graph embedding: PinSage, BiNE
- Matrix completion: GC-MC, IGMC
- Collaborative filtering: NeuMF, NGCF
5.2.3 Implementation Details
為了比較的公平,節點的編信息沒有被使用。embedding size固定為128,learning rate是0.001,迭代輪數為100到收斂。在有效性和效率之間取得平衡,按照IGMC的建議,使用1-hop封閉子圖。encoder的深度k為2,模型中的\(\gamma\)為0.3,圖的損壞比率\(\beta\)在\(\{1e-6,1e-5,1e-4,1e-3,1e-2,1e-1\}\)中進行選取,諧波因數\(\lambda\)從0.1至0.9進行選取,步長為0.2
5.3 Top-K Recommendation
下表展示了在DBLP,ML-100K,ML-10M上,比較的方法的性能,最好的結果用*標記,次優的結果加上了下划線;
可以觀察到:
1)對於所有metric,BiGI取得了最好的性能,證明了二部圖全局性質的高效;
2)二部圖的結構特征建模是很重要的,同構和異構圖忽略了這些特性,以至於效果不如BiGI和其他二部圖嵌入模型;
3)DMGI也最大化了局部-全局表示之間的MI,但是性能較差,因此BiGI的核心工作:設計一個合適的infomax objective;
5.4 Link Prediction
對於序列預測,在給定節點對\((u_i,v_j)\),將對應的嵌入表示\(u_i\)和\(v_j\)輸入Logistics回歸分類器,這個分類器是基於二部圖的交互邊來訓練的。下表展示了結果,結果表示BiGI取得了最好的結果。證明了二部圖的全局性質有利於節點表示的學習,特別是,捕獲異構節點的遠程依賴關系,這有助於下游任務;
5.5 Discussions of Model Variants
文章研究了不同局部表示的效果以及所提出的Infomax objective的可擴展性。下表提供了這些變體模型的結果和所提出的encoder的消融實驗研究
- BiGI(node)使用每個節點的嵌入表示作為局部表示;
- BiGI(pair)簡單地將節點對(u,v)的表示進行連接作為局部表示;
- BiGI(w/o att)通過均值運算來計算子圖的表示,而不是使用注意力機制;
- BiGI(VGAE),BiGI(NGCF),BiGI(PinSage)分別采用VGAE、NGCF和PinSage作為encoder。
這些變體模型都保持着相同的Infomax objective
從表中可以得出以下結論:
1)所提出的encoder取得了很不錯的效果,同時BiGI的改進效果也是很顯著的;
2)通過比較不同的局部表示,發現合適的局部表示是BiGI的關鍵,子圖級別的注意力機制是一個很好的選擇;
3)與VGAE、NGCF和PinSage相比,BiGI(VGAE),BiGI (NGCF)和BiGI(PinSage)的改進效果很不錯。這表明,所提出的Infomax objective可以無縫地集成到其他編碼器中,一次捕獲二部圖的全局性質;
5.6 Parameter Sensitivity
損失率\(\beta\)和諧波因數\(\lambda\)是兩個超參數。如下圖所示,當\(\beta =1e-5\),\(\lambda =0.3\)時,BiGI達到了最佳結果。因此較小的\(\beta\)和\(\lambda\)是合理的。同時模型具有較好的魯棒性,即使\(\beta\)和\(\lambda\)最差的效果也比其他基准模型更好;
5.7 Analysis of the Global Properties
此部分研究BiGI相比其它模型能夠更好地捕獲二部圖的全局表示,進行了兩個實驗:
- 第一個實驗:對ML-100K上的用戶和項目進行聚類分析,首先保存用戶和項目的所有標示,然后通過KMeans算法進行聚類,結果如下圖所示,與其他圖嵌入表示相比,BiGI在不用聚類數的情況下都取得了最好結果,這表明,BiGI能夠更好地捕獲用戶和項目的社區結構
- 第二個實驗:建模BiGI能否學習到異構節點的遠程依賴關系。從DBLP的測試數據集中隨機抽取15個節點對\(\{(u_i,v_j)\}\),用BiGI和其他幾種基准方法進行預測。根據\(u_i\)和\(v_j\)之間的距離,這些節點對可以分為三組。這里的距離可以分為3、5、7。實驗結果如圖,可以看出:
1)當目標節點對的距離相對較短時候,例如3,所有的基准模型和BiGI都能都學習到節點對之間的潛在交互;
2)隨着距離增加,\(u_i\)和\(v_j\)之間的關系逐漸減弱。與soat baselines相比,BiGI仍然保持優異的效果。這證明了BiGI能夠學習到異構節點\(u_i\)和\(v_j\)的遠程依賴關系;
CONCLUSION
文章提出的二部圖嵌入算法BiGI能夠更好地學習初始節點表示,然后通過聚合不同的同構節點信息生成兩個原型表示,並以此構造全局表示。
將子圖級別的注意力機制融入到局部表示中。
通過最大化局部表示和全局表示之間的MI,BiGI能夠有效地識別二部圖的全局屬性。