[論文閱讀筆記] metapath2vec: Scalable Representation Learning for Heterogeneous Networks

[論文閱讀筆記] metapath2vec: Scalable Representation Learning for Heterogeneous Networks


本文結構

  1. 解決問題
  2. 主要貢獻
  3. 演算法原理
  4. 參考文獻

(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.