[論文閱讀筆記] Adversarial Learning on Heterogeneous Information Networks
本文結構
- 解決問題
- 主要貢獻
- 演算法原理
- 參考文獻
(1) 解決問題
現有的異構網路(HIN)嵌入方法本質上可以歸結為兩個步驟(1)正樣本生成和負樣本生成(2)在這些樣本上訓練模型優化目標函式以得到更合適的節點嵌入。目前主流的異構網路嵌入方法存在以下幾個問題:
-
Problem 1: 首先,這些演算法一般從原始網路中隨機選擇節點與中心節點組合生成正樣本或者負樣本,即,他們的樣本生成是任意的並且只限於原始網路中存在的節點。更進一步,現有的GAN設計的生成器沒辦法生成最具有代表性的假節點,因為這些最具有代表性的假節點甚至沒有出現在原始網路中。
-
Problem 2: 其次,這些方法主要聚焦於捕獲HIN中的語義資訊,而沒有考慮網路中節點的潛在分佈,從而在稀疏和存在噪聲的真實異構網路中缺乏魯棒性。
-
Problem 3: 最後,一些異構嵌入方法依賴於合適的元路徑來捕獲特定的語義資訊,元路徑的設計要求領域知識,代價昂貴。
-
Problem 4: 現有基於GAN的方法都是應用在同構絡上的,而且生成器需要學習網路中節點的有限離散分佈。因此,他們通常需要去計算一個繁瑣的Softmax函式,最終再利用近似技術(如負取樣、圖softmax)來降低開銷。
利用GAN框架解決以上Problems: GAN利用一種博弈的思想來訓練判別器模型和生成器模型,生成器模型學習一種潛在的分佈,這使得模型對稀疏或噪聲資料更加魯棒,也提供了更好的樣本(解決Problem 2)。與先前利用GAN在同質網路上學習圖節點嵌入的工作GraphGAN相比,HeGAN能夠網路中豐富的異構資訊,並且HeGAN的生成器能夠直接從一個連續分佈中取樣潛在節點,不侷限於取樣原始網路中存在的節點作為假節點,而且可以生成原始網路中不存在的節點的嵌入向量作為假節點,且不需要繁瑣的Softmax函式計算(解決Problem 1和Problem 4)。由於HeGAN框架中並沒有使用metapath(元路徑),不存在Problem 3。
(2) 主要貢獻
Contribution 1:是第一個用生成對抗網路(GAN)來做異構網路嵌入的工作。(即將GAN擴充到異構網路中來)
Contribution 2:基於傳統GAN,提出一個新穎的框架HeGAN, 不僅利用關係感知型判別器來捕獲異構網路中豐富的語義資訊,而且設計了一個有效且高效的生成器。
(3) 演算法原理
先簡單介紹一下一般的GAN,其對抗學習可以看成一個最小最大博弈過程,其目標函式如下公式所示:
通俗理解上述公式,生成器G試圖用預定義的分佈PZ生成儘可能接近真實資料的假樣本,其中θG表示生成器的引數。相反,判別器D試圖去辨別真實網路取樣的真樣本和生成器生成的假樣本,給真樣本賦予高概率輸出(接近1),給假樣本賦予接近0的概率輸出。θD為判別器的引數。
接下來介紹一下論文所提演算法HeGAN的總體框架:
如上圖所示,(b-1)是現有HIN嵌入方法的一般做法,從原始網路中取樣正樣本和負樣本來訓練模型優化損失。(b-2)是本篇論文的主要工作,即利用生成器生成假樣本配合從原始網路中的真樣本來訓練模型優化損失。(c)是HeGAN模型的總體框架,主要包括判別器和生成器兩個部分,其過程如下: 判別器接受來自真實網路的真樣本和接受生成器生成的原始網路中不存在的假樣本作為輸入,預測樣本中兩節點存在關係r的概率,並且返回梯度來優化生成器的引數和判別器自身的引數。講人話就是說,更好地判別器促使生成器也產生更好的假樣本,兩本相互制衡也相互促進,這個過程不斷重複,直到達到一個平衡。
現在分別介紹HeGAN判別器和生成器的設計思路和設計細節。
- 設計思路(更進一步明確本文所要解決的兩個問題):
- 現有的利用GAN的嵌入方法只是根據與中心節點在圖結構上是否有連結來判別一個節點是真的還是假的。例如上圖(a)中,給定中心節點p2,a2和a4和p2有連結,那麼a2和a4就是真節點,然而我們可以注意到,a2和a4與p2的關係又是不同的,例如,a2寫了p2,a4只是看了p2,這種關係強度明顯是不同的,原始GAN並沒有考慮到這層關係,不能區分關係的強度(即異構網路中的語義不能保留下來)。更進一步說,給定論文p2以及關係型別(如說、寫、被寫等),HeGAN的判別器能夠分離a2和a4,生成器也會產生一個更加接近a2的假樣本,因為a2對於p2來說更加重要。
- 現有的研究的有效性和高效性都受到樣本生成的限制。它們通常使用某種形式的Softmax對原始網路中的所有節點進行節點分佈建模。對於有效性,他們的假樣本可能侷限於取樣原始網路中有的節點,而實際上,最具代表性的假樣本可能位於現有節點對應的嵌入向量之間,並不是現有節點。例如給定p2,他們只能從原始網路中節點選擇假樣本,例如a1和a3。然而a1和a3可能並不與真實樣本a2足夠相似。為了更好地生成樣本 ,我們引入了一個廣義的生成器,這個生成器可以產生一個潛在節點,例如圖1(c)中的a',這個點不存在於原始圖中。如,a'可以是a1和a3的平均,並且與真實樣本a2更相似。在效率方面,之前演算法採用Softmax函式生成節點分佈計算成本較高,必須採用負取樣和圖Softmax等近似方法。而與之對比,我們的生成器可以在不使用softmax的情況下直接生成假節點。
- 設計細節(HeGAN中的判別器和生成器):
-
(關係感知型)判別器:首先明確判別器目標是在給定關係下,區分HIN中的真節點和假節點。因此HeGAN的判別器評估了節點對u和v存在關係r的概率。u和r分別是給定的節點和關係,ev是取樣節點的嵌入(可以是假節點)。本質上,判別器最終輸出一個概率,即給定關係r和節點u,節點u與取樣節點v具有關係r的概率。如下公式所示(當<u,v,r>是正樣本時,概率應該很高,如果是負樣本則概率應該很低)。判別器輸出設計如下(Mr為可學習的關係矩陣,每個關係r對應一個矩陣,表示的意思應該是節點對u,v在關係r上相似的權重,詳情請看設計原理1中所舉的例子):
因此,判別器的引數θD包括,由判別器所學習的所有節點向量組成的嵌入矩陣e和所有關係對應矩陣Mr組成的三維張量。
每個三元組<u,v,r>表示一個樣本,其歸屬於以下三種情況之一(受CGAN的啟發,每種情況都是判別器損失函式的一部分)。-
case 1:節點u,v在給定關係r下是相連的。這樣一種三元組<u,v,r>是真樣本(這個真樣本三元組是在原圖中取樣得到的),判別器對於輸入的正樣本輸出概率要儘可能大,可以用以下損失函式來建模,如下公式所示(D越大損失越小)。
-
case 2:節點u、v在關係r下沒有連線。這樣子的三元組<u,v,r>對於判別器來說為假樣本(這個假樣本三元組是利用原圖中取樣的正樣本得到的,如對於取樣的真樣本<u,v,r>,把他的關係r換成r'就得到假樣本了,並且r'≠r),對於輸入的假樣本,判別器輸出概率要低,值要越小,定義這部分損失如下公式所示(D越小損失越小)。
-
case 3:由關係感知生成器生成假節點作為假樣本。也就是說,給定原始網路中的節點u,利用生成器生成假節點v。也就是對於原始圖中的真樣本<u,v,r>,利用生成器模擬真實節點v生成假節點v'的嵌入(從生成器學習的節點分佈(區別於判別器θD)中提取),得到假樣本<u,v',r>。之後,判別器目標在於識別這種三元組為假樣本,損失函式如下公式所示。(判別器輸出概率越低越好,這邊設計有點怪,case 2和case 3的樣本完全一個可以認為是負樣本,一個可以認為是正樣本,判別器輸出的概率偏向卻都是類似的,假設判別器只區分真樣本和假樣本的話,case 1對應的是真樣本,case 2和case 3對應的都是假樣本,這倒是沒啥毛病!!!)
(注意,判別器在對抗過程中只優化自己的引數θD,假節點嵌入ev'是生成器的優化目標)最終判別器的總的損失函式由以上三部分再加上一個正則項組成,如下所示:
-
-
(關係感知型)生成器:同樣地,首先明確生成器的目標是模擬真實樣本來生成假樣本。即給定節點u和關係r,生成器的目標是生成一個在關係r下可能連線到節點u的假節點v'。因此,HeGAN的生成器利用特定關係r對應的關係矩陣Mr來從一個潛在的連續分佈中生成假樣本的節點嵌入,即利用以下公式所示的高斯分佈:
即每個節點對於每個關係都對應一個高斯分佈,高斯分佈的均值為euMr,方差為σ2I。直觀理解,均值代表一個假節點v與u在關係r下連線的連線概率,並且方差表示這個連線潛在的偏差。那麼怎麼生成假樣本呢? 一個最直接的辦法就是直接從這個高斯分佈中生成樣本,並且作者融合了多層感知器MLP到生成器中來增強假樣本的表示。因此,生成器設計如下公式所示:
euG為從對應高斯分佈中生成節點向量。因此生成器的引數θG包括節點嵌入矩陣,關係矩陣以及多層感知器MLP的引數(權值矩陣和閾值矩陣)。
如前所述,生成器希望通過生成接近真實的假樣本來欺騙判別器,從而使判別器給他們高分,即,生成器的目標就是要生成假樣本使得判別器判高分,也就是判別器輸出D()要大。因此,最終模型最小化以下目標函式來優化生成器的引數θG(D越大,生成器損失越小)。
-
目標函式優化方法:採用迭代優化策略,在每次迭代中,交替訓練生成器和判別器。首先,固定θG並且生成假樣本來優化θD,從而優化判別器的效能。其次,固定θD,優化θG以產生質量更好的假樣本。重複以上過程進行多次迭代,直到模型收斂即可。
(4) 參考文獻
Hu B, Fang Y, Shi C. Adversarial learning on heterogeneous information networks[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019: 120-129.