論文名稱:Adversarial Network Embedding
這篇文章指出現有的一些網路表示學習方法具有這樣的缺點:沒有給學習的表示施加約束,導致學到的網路表示不具有魯棒性。因此本文提出用GAN來學習網路表示,提取網路的隱藏特徵,並且最主要的目標是學習到穩定(stable)、魯棒(robust)的表示。
本文提出的一種framework為Adversarial Network Embedding(ANE),主要由兩個方面構成:structure preserving component和adversarial learning component。前者用來提取網路的結構特徵,後者用來學習穩定魯棒的表示。
Introduction
現有的NE方法像DeepWalk、LINE、node2vec是利用網路中特有的結構特性,比如局部鄰居、一二階相似性、全局結構相似性或者其他高階相似性。將這些特性考慮進NE中,的確可以做出比傳統方法好的效果。
但是這些方法共同的問題就是沒有額外的約束,使得學出來的表示並不具備穩定和魯棒的特點,對雜訊敏感的表示當然不是好的表示。一種解決方案就是:denoising autoencoder(DAE);另一種解決方案則是現在比較火的GAN,GAN在結構化學習有很好的效果,同樣能夠處理雜訊問題。
於是本文提出了ANE,它由兩個部分組成:
- structure preserving component反映網路的結構特徵。這部分本文還提出了一個DeepWalk的變種,用參數化的模型來取代DeepWalk所做的工作。
- adversarial learning component學習穩定魯棒的表示。這部分由兩個網路構成,一個是Generator,一個是Discriminator,也是GAN的兩大組成成分。
Related Work
這部分提到了兩個相關:網路嵌入的方法和GAN
網路嵌入目前的工作可以分為三類:
- 概率方法,代表有DeepWalk、LINE、node2vec等等,之前提過不做贅述。
- 矩陣分解,代表有GraRep,之前也提過不做贅述。
- 自編碼器,代表有SDNE。自編碼器將高維特徵映射到低維特徵,本質上就是一種降維的方法,與網路嵌入要做的事一樣。
GAN常常由兩個部分構成:
- Generator(G):從某個初始分佈生成一堆數據,實際模擬的是某個分佈。
- Discriminator(D):盡量將G生成的數據與真實數據分開。
兩者合起來要做的事情實際上是,讓G模擬的分佈與真實的分佈逐漸逼近。
ANE
首先明確整體的目標:學習出穩定魯棒的表示。
預處理一下,先算出一個矩陣X後面備用。