[論文閱讀筆記] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
本文結構
- 解決問題
- 主要貢獻
- 演算法原理
- 參考文獻
(1) 解決問題
解決異構網路上的節點嵌入問題。 論文中指出了異構網路嵌入的兩個關鍵問題:
- 在異構網路中,如何定義和建模節點鄰域的概念?
- 如何優化嵌入模型,使得其能夠有效的保留多種型別的節點和邊的結構和語義資訊。
(2) 主要貢獻
Contribution 1: 定義了異構網路表示學習的問題,總結了異構網路嵌入所帶來的挑戰。
Contribution 2: 提出兩個快速且有效的框架,metapath2vec和metapath2vec++,能夠保留異構網路中的結構和語義聯絡。
Contribution 3: 證明了所提的兩個模型能夠挖掘到異構網路中不同型別節點的語義聯絡(現有方法無法識別的)。
(3) 演算法原理
以下以一個學術網路為例:
1. metapath2vec 模型
主要框架(類似於DeepWalk):基於元路徑的隨機遊走 + 異構Skip-Gram。
-
異構 Skip-Gram
和一般的Skip-Gram模型類似,,異構Skip-Gram的網路結構如上圖所示,其目標是最大化節點和其異構上下文鄰居的共現概率。目標函式如下,和一般的Skip-Gram模型的主要區別在於中間那個求和符號,分別對節點與其異構鄰居的關係進行建模。
細節不再過多介紹,可以參考DeepWalk。
-
基於元路徑的隨機遊走
元路徑簡單來說是節點型別的序列,用於表達不同節點型別之間或者相同節點型別之間的某種聯絡,比如 “APVPA”就是一個元路徑,表達的是兩個作者在某個期刊或者會議上都發表了論文,(A是作者節點型別,P是論文節點型別,V是期刊或者會議節點型別)。一般來說,元路徑是事先由先驗知識給定的。而基於元路徑的隨機遊走指的是 “下一跳節點的節點型別由當前節點型別和元路徑模式確定,按照元路徑的指導選擇相應的節點型別進行跳轉,如果有多個相同節點型別的鄰居,則隨機選擇一個。” 元路徑通常設計成一種對稱的方式,即他的第一個節點型別和最後一個節點型別要一致,如“APVPA”,這可以重複迴圈使用指導隨機遊走。基於元路徑的隨機遊走策略能夠捕獲不同節點型別之間的聯絡,並且確保不同型別節點的語義聯絡可以合理的融合到skip-gram模型中。
2. metapath2vec++ 模型
metapath2vec的異構Skip-Gram根據節點型別區分了節點的不同上下文節點,從而再嵌入過程中重構他的鄰域,然而,他在softmax層中忽略了節點的型別資訊。換句話說,給定節點v,為了推斷其鄰域中特定型別的上下文節點,metapath2vec實際上允許所有型別的節點作為其負樣本。基於上述問題,作者進一步提出metapath2vec++框架,metapath2vec++框架與metapath2vec框架基本一致,只是softmax函式不再由網路中所有節點來做歸一化,而只是取與中心節點同型別的網路中所有節點的來做歸一化。用了這個策略之後,skip-gram的輸出從一個多項式分佈變成了同型別概率的多個多項式分佈了,其網路結構如下圖所示。
(4) 參考文獻
Dong Y, Chawla N V, Swami A. metapath2vec: Scalable representation learning for heterogeneous networks[A]. Proceedings of the 23rd ACM SIGKDD international conference on knowledge discovery and data mining[C]. 2017: 135–144.