[論文閱讀筆記] 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.