[論文閱讀筆記] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding


本文結構

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

(1) 解決問題

本篇論文是針對現有表徵演算法計算開銷比較大,不能夠很好應用到大規模網路上的問題。


(2) 主要貢獻

Contribution: 提出一種快速且可擴充套件網路表徵框架,LouvainNE,能夠為包含數百億邊的網路生成高質量的表徵向量。


(3) 演算法原理

LouvainNE的演算法思想也就是基於粗化圖的,與HARP類似,但是粗化方式不同,粗化圖的使用方式也不同。

LouvainNE演算法包含三個部分

(1)類似自頂向下的層次聚類演算法,構建層次子圖(2)為每個層次子圖中的節點生成特定節點表徵,提出兩個不同的方法來生成節點嵌入(標準嵌入和隨機嵌入方法)(3)結合各個層次子圖中節點獲得的表徵成最終節點表徵。

  • 自頂向下構建層次子圖:使用Louvain演算法生成的社群構成節點來進行劃分。(滿足一個假設,相似的資料節點應該在二叉樹上的位置更接近)如下圖所示:



    首先,使用Louvain演算法得到原始圖(對應上圖樹的根節點)的初始社區劃分S1、S2、S3,每個社群可以看成一個粗化節點(對應上圖中右半部分根節點的第一個分叉)。緊接著對S1、S2、S3分別遞迴使用Louvain再進行社區劃分,分別得到各自的兒子節點,如上圖中右邊樹所示,S1進一步劃分為社群S11和S12。以上過程對樹中每個非葉節點(粗化節點包含兩個或多個原始圖節點的為非葉節點,否則為葉節點)分別做,直到得到的兒子節點均只包含單個原始圖中的節點,自頂向下層次子圖構建完畢(每一層所有節點看成一個層次(粗化)圖)。

  • 為每個層次圖中的節點學習表示向量(同一深度的節點位於同一層圖中),提出標準嵌入方法和隨機嵌入方法。

    標準嵌入:使用其他表示學習演算法來學習,如DeepWalk、Line、Node2vec等等,通常其他表示學習演算法的輸入需要圖結構的,因此需要定義層次子圖,點由每一層節點組成,節點之間的邊由以下公式確定(ES1S2代表節點集合S1和S2之間存在的邊):

    隨機嵌入:使用標準正態分佈隨機生樹中每個節點的表示向量,這種方法不需要構建圖結構。(論文實驗中對比了標準嵌入和隨機嵌入的實驗效果,emmm,結論是相差不大,考慮到隨機嵌入效率比標準嵌入快很多,因為綜合考慮還是使用隨機嵌入的方法好。)

  • 融合各層節點表示生成節點最終表示向量,我們只要得到樹中所有葉節點的表示向量即課得到原始圖的表示向量:我們可以發現,從根節點到葉節點對應唯一路徑,聚合路徑中節點的向量表示(結合各個層的表示,從而融合區域性到全域性的結構特徵)即可得到葉節點的向量表示(即路徑上其他節點向量的線性組合)。聚合方式如下所示(越靠近根節點的節點的向量表示越重要,h為樹的深度,α為超引數(屬於[0,1],衡量當前深度的節點表示向量對葉子節點表示向量的重要性),ytv為在第t深度的路徑中節點的表示向量):

以上便是LouvainNE演算法的全部內容,通過Louvain演算法獲取社群資訊,將社群構造為粗化節點,逐級遞迴,構造層次樹,最後結合葉節點對應的路徑上所有粗化點的表示得到葉節點的表示。


(4) 參考文獻

Bhowmick A K, Meneni K, Danisch M, et al. LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding [C] // Proceedings of the 13th International Conference on Web Search and Data Mining. 2020: 43-51.