[論文閱讀筆記] Adversarial Mutual Information Learning for Network Embedding

沁澤發表於2021-06-12

[論文閱讀筆記] Adversarial Mutual Information Learning for Network Embedding


本文結構

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

(1) 解決問題

現有的基於GAN的方法大多都是先假設服從一個高斯分佈,然後再來學習節點嵌入(匹配節點嵌入向量服從這個假設的先驗分佈)。
這可能存在兩個問題:

  • 一個問題是(由於真實資料是有很多噪聲的,所以會為GAN模型學習的分佈帶來很多噪聲)很難從節點向量表示中區分出噪聲節點,因為所有節點都是服從高斯分佈的,很容易受到噪聲節點的影響?也就是噪聲容易影響學習的分佈,學習的分佈對噪聲不穩定?
  • 第二個問題是,這種思想沒有充分利用GAN的本質優勢,作者認為GAN的優勢在於其對抗學習的機制而不是學習節點向量表示本身(現有的利用GAN方法來做網路嵌入的方式大多目標是後者,為了學習更好的節點向量)。

所以本文的主要思路就是要在表示機制中融入對抗機制,而不是僅僅為了使得嵌入向量的分佈要服從先驗分佈這個目的。基於以上基本思路,本文提出了一個結合自編碼器的對抗學習方法用來實現網路嵌入,把對抗學習用在表示(對映)機制上。


(2) 主要貢獻

Contribution:個人感覺這篇論文的主要貢獻是把對抗學習這個機制運用在對映機制上而不是運用在表示向量本身,基於這個基本思路,提出了一個結合自編碼器的對抗學習方法用來實現網路嵌入,利用對抗訓練的機制來進一步優化編碼器所學習得到的節點嵌入向量。


(3) 演算法原理

模型的主要思路: 下圖為論文所提出的AMIL模型的總體框架。AMIL的框架,包括三個部分,如下圖所示。一個自編碼器,一個負樣本生成器和一個互資訊判別器,整體是一個對抗過程。整體來說,自編碼器部分利用網路拓撲聚合節點屬性到節點表示中,解碼器使用節點嵌入重構網路拓撲。負樣本生成器部分這是一個生成對抗網路,包含一個生成器和屬性判別器,是用來生成節點的fake屬性向量的。互資訊判別器識別編碼器的對映機制生成的正樣本和負樣本生成器生成的負樣本。

在AMIL模型中(編碼器和生成器都要訓練)。編碼器部分包含兩個目標,一個是傳統的自編碼器的重構損失,還有一個是互資訊判別器的對抗訓練目標。也就是說編碼器部分根據解碼器的反饋(帶有結構資訊)以及互資訊判別器D的反饋(帶有屬性資訊)兩部分來更新自己的引數。這個負樣本生成器也同樣包括兩個目標:一個是與自身的屬性判別器的對抗目標,還有一個是和互資訊判別器D的對抗訓練目標。也就是說生成器也根據互資訊判別器反饋(帶有結構資訊或者說負樣本生成器只是對節點屬性的建模?自己的猜測)和屬性判別器(帶有屬性資訊)反饋兩個部分來更新自己的引數。以上這個對抗過程不斷訓練,直到收斂,就可以獲得包含結構和屬性的節點嵌入向量表示了,理論上可以是編碼器的輸出也可以是生成器的輸出。但是生成器部分畢竟是最小化和真實節點屬性向量的差異,可能沒有包含拓撲結構的資訊,所以感覺取編碼器的輸出作為最終向量可能會更好。

下面分別介紹以上AMIL框架三個部分的具體細節。

(1) 自編碼器:

自編碼器的編碼器部分論文中採用兩層的GCN來搭建,輸入鄰接矩陣A和屬性矩陣X,GCN通過鄰接矩陣A反應的圖拓撲結構來聚合節點屬性從而學習節點表示,每層GCN聚合一跳節點,兩層可以聚合兩跳節點。解碼器部分簡單重構網路拓撲,利用編碼器得到的嵌入向量內積的sigmoid來重構鄰接矩陣,採用交叉熵函式來計算重構損失,具體公式詳見原始論文。

(2) 負樣本生成器:

負樣本生成器部分是一個普通的生成對抗網路(GAN),包含一個生成器和一個判別器。生成器採用三層全連線層的神經網路實現(判別器也是),以一個高斯噪聲作為輸入,生成節點的fake屬性向量,以欺騙判別器。判別器部分目標是去識別真屬性和假屬性向量。通過迭代訓練,生成器生成的節點屬性會更加接近真實。GAN具體目標函式詳見原始論文。

(3) 互資訊判別器:

前面說到模型的核心在於應用對抗學習策略在表示機制上而非表示向量本身,目標是為了學習一個更加有效的嵌入機制。這個核心思路的具體體現就在互資訊判別器這一部分。互資訊可以表示兩個變數之間的依賴關係,越大則兩個變數互相依賴(理解為相似?)程度越大。利用這一點,作者使用輸入向量和輸出向量的互資訊來定量表示一個嵌入機制(將輸入向量對映到輸出向量)的質量,互資訊越大表示嵌入質量越好。互資訊可以用一些不同的方式定義,但是為了簡便和學習效率,作者簡單將輸入向量和輸出向量的拼接定義為互資訊的近似。

既然這是一個判別器那麼就需要定義正樣本和負樣本。對於互資訊判別器的正樣本和負樣本定義,我們將編碼器生成的節點表示Z和屬性資訊X的互資訊作為正樣本(就是編碼器的輸入和輸出嘛)。並且把生成器的輸入(噪聲高斯分佈Z’)和輸出(假屬性向量X’)的互資訊作為負樣本。然後互資訊判別器的目標就是去區分這對樣本了,對正樣本輸出1,對負樣本輸出0。互資訊判別器的損失詳見原始論文。

結合以上三個部分來看AMIL整體框架結構圖,其實整個AMIL框架就是一個包含兩個競爭對手(指的是對映機制GAN和自編碼器)的全域性的對抗學習過程,該模型聯合訓練一個編碼器和一個生成器。 AMIL總的目標函式詳見原始論文,並且最終使用基於梯度的優化方法來做優化。


(4) 實驗結果

  • 節點分類

  • 節點聚類

  • 引數實驗

  • Citeseer 資料集的視覺化結果


(5) 參考文獻

He D, Zhai L, Li Z, et al. Adversarial Mutual Information Learning for Network Embedding[C]//Proceedings of IJCAI. 2020: 3321-3327.


相關文章