[論文閱讀筆記] Unsupervised Attributed Network Embedding via Cross Fusion

沁澤發表於2021-06-06

[論文閱讀筆記] Unsupervised Attributed Network Embedding via Cross Fusion


本文結構

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

(1) 解決問題

現在常常用來處理屬性網路表徵的方式有兩種:(1)在網路結構上傳播屬性(2)通過自編碼器架構。

這兩種常用的屬性網路表徵方法有各自的侷限性和優點:(1)基於傳播的方法依賴於網路中現有的邊來傳播資訊,因此往往偏向於建模網路結構資訊而非節點屬性資訊,從而更加擅長於處理結構資訊(可以通過多層疊加考慮距離更遠的鄰居資訊,但是因此也存在過平滑問題)。(2)基於自編碼器的方法比較擅長於處理屬性資訊,但是在網路結構上往往忽略了除了直接鄰居之外更遠的鄰居(即存在欠平滑問題)。

本篇論文設計了交叉融合層,在結合雙方優點的同時來解決這些侷限性。


(2) 主要貢獻

Contribution:提出了一個帶有交叉融合層的多檢視框架來學習屬性網路嵌入(融合了基於傳播的方法和基於自編碼器的方法各自的優點,並且解決各自的侷限性


(3) 演算法原理

模型的主要思路: 下圖為論文所提出的 CFANE 模型的總體框架。首先,節點屬性和結構被分為兩個檢視分別處理(避免了結構資訊覆蓋了屬性資訊)。其次,通過堆疊多個交叉融合層(CFANE的核心)有效地融合和交換兩個檢視資訊以結合兩種主流方法的優點。然後,通過新增一個檢視加權層計算每個節點之於兩個檢視的權重,從而整合結構表示向量和屬性表示向量生成最終節點表示向量。最後,通過優化一個多目標重構函式使得節點表示向量同時保留網路結構和節點屬性資訊。

交叉融合層: 交叉融合層以網路結構和屬性作為輸入,總體框架和步驟如下圖所示。

每個節點在每個交叉融合層都有兩個表示向量(結構表示向量和屬性表示向量),下標1和下標2分別表示結構向量和屬性向量,上標表示第幾層(交叉融合層)。

交叉融合層在做什麼事呢?

第一步(即 Figure 3 中的 Ego-network Partition & Aggregation 藍框),為網路中的每個節點生成其對應的自我中心網路(ego-network:由該節點以及其鄰居還有鄰居之間的邊構造的子圖),並且進行子網路的社群劃分和近鄰向量的聚合生成中心節點向量。那麼如何進行子圖的社群劃分呢?由於節點對應的 ego-network 一般比較小,本文直接將子圖中不同的連通分支(除去中心節點本身)作為一個社群。得到子圖社群劃分結果之後,如何進行節點近鄰聚合呢?首先,對於中心節點的每個社群(假設有 tu 個),採用平均聚合的方式(如GCN)聚合其中的節點得到中心節點的 tu 個表示向量,如下公式(3)所示(計算給定節點u的第j個社群的平均聚合結果)。其次,對節點u的 tu 個表示向量在進行一次加權聚合得到節點u表示向量,如下公式(4)所示,各個社群的權重係數採用注意力機制確定,如下公式(5)所示。(GCN的聚合相當於把所有鄰居節點看成是一個社群,而GAT的聚合相當於把每個鄰居節點都看成是一個社群了,而本文所採用的聚合方法可以看成是GAT和GCN聚合方式的一種平衡

第二步(即 Figure 3 中的 Feature Exchange 藍框),進行結構檢視和屬性檢視之間的資訊交換。除了編碼鄰居的異質性之外(第一步的近鄰聚合所做的事),CFANE 還要解決在沿著網路結構傳播關鍵資訊的同時維持節點屬性的可區分特徵,不至於使得節點屬性被網路結構資訊覆蓋這個關鍵問題。為了達到以上的目標,CFANE 給屬性和結構各自分配一個檢視,兩個檢視是互補而非對應,因此還要考慮如何交換兩個檢視的資訊(使用自注意力機制)自注意機制有兩個優點(1)自注意可以學習兩個檢視的重要性,不會使得一個檢視覆蓋另一個檢視。(2)自注意力可以為每個檢視都輸出一個向量,以便於交叉融合層可以自然的堆疊。交叉融合層第二步的具體做法如下:(1)首先,通過對映矩陣分別變換兩個檢視的特徵,作用是逐層減少嵌入向量的維度,如公式(6)所示,f即為對應降維後的中間向量。(2)其次,與標準的自注意力機制一致,為每個節點向量(結構和屬性)計算對應的查詢向量q和關鍵向量k,如公式(7)所示。(3)接著,通過公式(8)融合結構檢視向量和屬性檢視向量(各檢視對應資訊的權重由自注意力機制計算得到),分別計算下一交叉融合層的節點結構表示向量和屬性表示向量(u為啟用函式,採用LeakyReLU作為啟用函式,新增層間的非線性關係)。

第三步(即 Figure 3 中的 View Weightingu部分),在所有交叉融合層結束之後,結合兩個檢視的輸出向量(結構和屬性)成一個統一的表示向量。考慮到對於某些節點來說,網路結構檢視可能是更重要的,而對於某些其他節點來說屬性檢視可能是更重要的,因此有必要對各個結構向量和屬性向量進行加權(檢視權重層所做的事),如公式(9)所示,權重係數由公式(10)確定。

多目標重構函式的設計: 設計多目標重構函式在表示向量學習過程中儲存網路結構和屬性。對於網路結構,採用Skip-Gram模型的目標函式,如公式(11)所示。對於節點屬性,直接採用重構函式,如公式(12)所示。最終,總的目標函式如公式(13)所示。


(4) 實驗結果

  • 節點分類

  • 節點聚類

  • 引數實驗

  • BlogCatalog 資料集的視覺化結果


(5) 參考文獻

Pan G, Yao Y, Tong H, et al. Unsupervised Attributed Network Embedding via Cross Fusion[C]//Proceedings of the 14th ACM International Conference on Web Search and Data Mining. 2021: 797-805.


相關文章