論文閱讀 DynGEM: Deep Embedding Method for Dynamic Graphs
2 DynGEM: Deep Embedding Method for Dynamic Graphs
link:https://arxiv.org/abs/1805.11273v1
Abstract
首先這個嵌入是基於deep autoencoder的
該論文提出了三個主要優勢:
(1)隨著時間的推移,該方法嵌入是穩定的
(2)能處理不斷增長的動態圖
(3)它比在動態圖的每個快照上使用靜態嵌入方法具有更好的執行時間
Conclusion
DynGEM使用動態擴充套件的深度自動編碼器來捕獲高度非線性的圖節點的一階和二階近似值。此外,模型利用以前時間步驟的資訊,通過在每個時間步驟逐漸學習嵌入來加速訓練過程。我們的實驗證明了我們的技術在時間上的穩定性,並證明我們的方法在所有評估任務上保持了競爭力,例如圖形重建、連結預測和視覺化。
Figure and table
圖1 DynGEM的結構
表2 使用的資料集及其引數
表3:圖重構的效果對比(MAP:Mean Average Precision)
表4:連線預測的效果對比
表5:\(embedding\)穩定係數\(K_s(F)\)對比
圖2 社群穩定性圖例
表6,7 執行時的效率對比
Introduction
介紹嵌入的優點,列舉了幾個靜態嵌入的方法:
SVD,拉普拉斯矩陣或高階鄰接矩陣分解,隨機遊走等
提了一下SDNE這個方法,它利用深度自動編碼器處理非線性,以生成更精確的嵌入。
接著傳統異能,基本上每一篇論文都這樣說:上面的工作都是基於靜態圖的,但是生活中都是動態圖。有一些關於動態圖的研究,但都是基於快照機制的,將會導致大量的計算和儲存開銷。
下一段作者提了幾個挑戰(就是把摘要中的幾個自己的優點又說了一遍,《論paper的寫作藝術》):
穩定性:靜態方法生成的嵌入是不穩定的,也就是說,在連續的時間步中嵌入的圖可能會有很大的不同,即使這些圖變化不大
不斷增長的圖:隨著動態圖的時間增長,可以在圖中引入新節點,並建立到現有節點的新連結。所有現有的方法都假設在學習圖嵌入時有固定數量的節點,因此無法處理不斷增長的圖。
可擴充套件性:獨立學習每個快照的嵌入會導致快照數量的執行時間呈線性。由於學習單個嵌入在計算上已經很昂貴,這種簡單的方法無法擴充套件到具有許多快照的動態網路。
說明自己工作和其他人的區別:其他工作有嘗試加入正則化來使得快照之間平滑過渡的,這種方法不適用於連續時間步長可能顯著不同的動態圖,因此無法用於異常檢測等應用。《Deep coevolutionary network:
Embedding user and item features for recommendation》學習動態圖的嵌入,但是他們關注的是專門用於使用者-物品的二部圖
接著引出自己的方法DynGEM,說自己的方法是基於deep-autoenconder的方法,每次更新\(t\)時刻的嵌入都是從\(t-1\)時刻進行增量構建的,而不是從頭開始訓練一個嵌入。這種方法不僅確保了嵌入在時間上的穩定性,而且還導致了有效的訓練,因為在第一個時間步之後的所有嵌入只需要很少的迭代就可以收斂。為了處理節點數量不斷增加的動態圖,該模型使用自己探索出的演算法——PropSize,逐步增大神經網路的大小,以動態確定每個快照所需的隱藏單元數。除了提出的模型,我們還引入了動態圖嵌入的嚴格穩定性度量。(這個度量指標好像很關鍵)
Method
*2 Definitions and Preliminaries
這裡介紹了一些圖基本概念,節點v對映為embedding的定義
接著是動態圖\({\cal G}\)的定義
作者認為\({\cal G}\)是一系列快照的集合,即\({\cal G}=\{G_1,...,G_T\}\),其中\(G_t=(V_t,E_t)\),\(T\)為快照的數量。對於增長圖的操作,考慮為新節點加入動態圖並建立到現有節點的連結,即\(V_t⊆ V_{t+1}\)。對於刪除圖的操作,考慮被刪除圖的節點依舊為圖的一部分,只是該節點與剩下點的權值為0。作者認為,假設\(E_t\)和$E_{t+1} $之間沒有關係。
擴充套件於動態圖的概念,定義了動態圖的嵌入,給定一個動態圖\({\cal G}=\{G_1,···,G_T\}\),一個動態圖的嵌入定義為為一組對映的時序集合\({\cal F} = \{ f_1, ··· , f_T \}\),即\(f_t\)是\(G_t\)的圖嵌入對映
重點來了:作者認為一個好的動態圖對映應該是穩定的(“穩定”這個詞,作者已經提及很多次了並且都在各種顯眼的位置,這篇論文對於作者來說穩定就是最大賣點)。直觀地說,一個穩定的動態嵌入是這樣一種嵌入:如果基礎圖的變化不大,則連續嵌入只會有少量的差異,即如果\(G_{t+1}\)與\(G_t\)相差不大,則嵌入輸出\(Y_{t+1}=f_{t+1}(G_{t+1})\)和\(Y_t=f_t(G_t)\)也只會有少量的變化。
更具體的說,設\(S_t(\tilde{V})\)為節點集\(\tilde{V}⊆ V_t\)的誘導子圖的加權鄰接矩陣,\(F_t(\tilde{V})∈ \Bbb {R}^{|\tilde{V}|×d}\)作為在時間\(t\)下的快照節點集\(\tilde{V}⊆ V_t\)的所有的節點嵌入,作者定義絕對穩定性為:
\[\cal {S}_{\it{abs}}(\cal {F};\it{t})= \frac{||F_{t+1}(V_t)− F_t(V_t)||_F}{||S_{t+1}(V_t)− S_t(V_t)||_F} \]換句話說,任何嵌入\(\cal {F}\)的絕對穩定性是嵌入之間的差值與鄰接矩陣之間的差值之比。由於穩定性的定義取決於所涉及矩陣的大小,我們定義了另一種稱為相對穩定性的度量,它對鄰接矩陣和嵌入矩陣的大小是不變的:
進一步定義了穩定常數
\[\cal {K}_S (F) = \it{\max_{τ,τ^\prime}}|\cal {S_{rel}}(\it{F ;τ} )− \cal{S_{rel}}\it {(F ;τ^\prime)}| \]作者認為如果動態嵌入\(\cal {F}\)是穩定的,則它要有一個小的穩定常數。顯然,\(\cal {K}_S (F)\)越小,嵌入\(\cal {F}\)就越穩定。在實驗中,使用穩定性常數作為度量,將DynGEM演算法的穩定性與其他基線進行比較。
3 DynGEM: Dynamic Graph Embedding Model
DynGEM:基於deep-autoencoder架構。
deep-autoencode架構圖
可以看見就是一個 \(input\ x_i \to encode \to embedding \ y_i \to decode \to reconstructed \ \hat{x_i}\)
的結構,最後用\(x_i\)和\(\hat{x_i}\)做\(loss\)
3.1 Handling growing graphs
作者在這裡提出了一種PropSize的演算法,
PropSize:
連續的兩層\((l_k, l_{k+1})\)之間(不包括\(bottle\)層)的維度需要滿足
\[size(l_{k+1})≥ρ × size(l_k), \]其中$ 0 <ρ < 1\(,是一個超引數,如果上述條件不滿足,則應該增加\)l_{k+1}\(的維度,但對於\)bottle\(來說,\)bottle\(的維度是恆定的,若\)bottle$和上一層不滿足這個關係,則需要在兩者之間新增更多層(大小滿足上式),直至整個架構滿足不等式。
在確定層的數量和每層中隱藏單元的數量後,採用Net2WiderNet和Net2DeeperNet方法來擴充套件深度自動編碼器。
Net2WiderNet:允許我們加寬層,即向現有神經網路層新增更多隱藏單元,同時大致保留該層計算的函式。
Net2DeeperNet:過使新的中間層緊密複製身份對映,在兩個現有層之間插入一個新層。層可以用ReLU啟用,但不能用sigmoid啟用。
3.2 Loss function and training
架構中的相關術語和符號含義如下表
模型損失如下:
\[L_{net} = L_{glob} +αL_{loc} +ν_1L_1 +ν_2L_2, \]其中\(α\)、\(ν_1\)和\(ν_2\)是超引數,用於加權求和各項損失
$L_{loc} =\sum_{i,j}^{n} {s_{ij}}||y_i− y_j||_2^2 $:對應於圖的區域性結構的一階近似
\(L_{glob} =\sum_{i=1}^{n} ||(\hat{x}_i− x_i)\bigodot b_i||_2^2=||(\hat{X}− X)\bigodot B||_F^2\):對應於圖的全域性結構的二階近似
其中\(b_i\)為懲罰項,\(b_i\)是一個向量,當\(s_{ij}=0\)時(即\(i,j\)之間沒有邊時),\(b_{ij}=1\),反之\(b_{ij}=\beta > 1\)。作者認為觀測到的邊上的錯誤decode懲罰應該比未觀測到的邊上的錯誤decode大。
\(L_1,L_2\)皆為正則化項
$L_1 =\sum_{k=1}{K}(||W{(k)}||_1+||\hat{W}^{(k)}||_1) $
$L_2 =\sum_{k=1}{K}(||W{(k)}||_F2+||\hat{W}{(k)}||_F^2) $
3.3 Stability by reusing previous step embedding
演算法如上,第一次訓練時 ,autoencoder的權重隨機產生,後面的每一次訓練,都使用上一次的權重進行。
3.4 Techniques for scalability
介紹了一下使用的啟用函式和優化器,SCD,ReLU,nesterov等
Experiment
4 Experiments
4.1 Datasets
四個資料集
資料集的具體引數如下
4.2 Algorithms and Evaluation Metrics
選取了幾個baseline:
接著介紹了自己模型初始化的結構和選取的超引數等,
首先對ENRON資料集的嵌入維度選擇是20,其他資料集是100
模型初始都是兩層,ENRON的每層網路神經節點數量為[100, 80],其他為[500,300]
其餘超引數如下
該實驗做了圖形重建、連結預測、嵌入穩定性和異常檢測方面的效能測試。對於前兩項任務,即圖形重建和連結預測,使用平均精度(MAP)作為度量。為了評估動態嵌入的穩定性,我們使用第2節中定義的穩定常數\(\cal {K}_S (F)\)。
實驗環境如下
5 Results and Analysis
相關圖表已在開頭的Figure and table展示
5.1 Graph Reconstruction
圖重構效能見表3,照例sota,除了在HEP-TH上
5.2 Link Prediction
連結預測見表4,照例sota
5.3 Stability of Embedding Methods
穩定性指標見表5,照例sota
5.4 Visualization
見圖2,證明了自己演算法的穩定性。改變了社群的節點的DynGEM嵌入準確地跟蹤原社群結構,而不會干擾其他節點的嵌入。在子圖(b)中,有0.3的點都被改變了社群,在時間步結束後,回到了自己應該在的社群,並且三個社群的位置依舊非常穩定
5.5 Application to Anomaly Detection
該模型定義了一個\(∆_t=||F_{t-1}(V_{t-1})-F_{t}(V_t)||_F\)來代表嵌入在連續時間下的變化,如果這個變化大於某個值就認為有異常事件發生,效果圖如下
其在45周,55周,94周的主要峰值分別對應事件:傑弗裡·斯基林於2001年2月接任執行長;羅夫於2001年6月剝離了能源股,聯邦調查局於2002年1月開始對執行長辭職和犯罪調查。
圖3顯示了在第94周左右嵌入視覺化效果。在第93周和第101周可以觀察到分散的嵌入,這兩幅圖對應這期間員工之間的溝通程度較低。相反,在第94周,溝通程度顯著增加(通過高度緊湊的嵌入表示)。
5.6 Effect of Layer Expansion
說了一下PropSize這個演算法的有效性,作者說如果不使用該演算法, DynGEM表現會明顯下降。對於SDNE和SDNEalign,作者在每個時間步選擇最佳模型。如果使用PropSize可以避免這種需求,並自動為後續時間步選擇一個良好的神經網路大小。
5.7 Scalability
執行效率見表6和7,照例吊打
Summary
這篇文章最大的賣點就是生成穩定嵌入,作者在文中已經不止一次提到穩定這個詞,甚至還構造了一個評估穩定性的係數\(\cal {K}_S (F)\),作者利用上次的輸出作為這次的輸入這樣的想法,保證每一次的嵌入就是在上一次嵌入的上下浮動,從而達到穩定性。這篇文章讓我感到了寫作的藝術(雷軍在mix3釋出時對比相機效能的金句:肯定是我們好,因為我們不好我們不會挑出來)