1. 程式人生 > >DeepWalk論文精讀:(4)總結及不足

DeepWalk論文精讀:(4)總結及不足

# 模組4 ## 1 研究背景 隨著網際網路的發展,社交網路逐漸複雜化、多元化。在一個社交網路中,充斥著不同型別的使用者,使用者間產生各式各樣的互動聯絡,形成大小不一的社群。為了對社交網路進行研究分析,需要將網路中的節點(使用者)進行分類。 ## 2 解決的問題 利用**節點在圖中的區域性結構資訊**,對社交網路中的**結點**進行**分類**。由於這部分資訊常常是**隱藏**的,不體現在初始輸入$X$當中,故需要一些演算法對結點的區域性結構進行挖掘。DeepWalk最重要解決的是網路中節點的**集體分類**(Collective Classification)或**關聯分類**(Relational Classification),但若能將節點用一個“好的”向量進行表示,分類工作也會很容易進行。故DeepWalk的核心任務是,在連續向量空間中以**低維度的稠密形式**表徵網路結點,方便後續利用統計模型完成結點的分類。 如下圖例子所示,是將(a)中原本網路的各個節點對映表示為到(b)二維空間的二維座標。 ## 3 主要貢獻 ### 3.1 解決方法 DeepWalk的核心演算法包含**隨機遊走序列生成器**和**節點向量更新**兩部分。這兩部分可以結合的關鍵點在於:**資料呈現冪律分佈**。 #### 3.1.1 隨機遊走 在網路上施行隨機遊走演算法:從根節點$v_i$出發,隨機訪問一個鄰居,然後再訪問鄰居的鄰居......每一步都訪問前一步所在節點的鄰居,直到序列長度達到設定的最大值$t$。網路中任何節點均可作為根節點,施行隨機遊走演算法$\gamma$次,得到$\gamma \cdot |V|$個隨機遊走序列。隨機遊走虛擬碼如下所示: #### 3.1.2 節點向量更新 對於一個隨機遊走序列,每一個節點都可作為中心節點,根據設定的視窗大小$\omega$,選取序列裡中心節點前後各$\omega$,共$2\omega$個節點。利用**SkipGram**演算法[26, 27]按照如下優化方式進行優化: $$ minimize \space -\log \Pr(u_k|\Phi(v_j)) $$ 即最大化在$v_j$附近出現$u_k$的概率。其中,$u_k$是這$2\omega$個節點中的每一個,$\Phi(v_j) \in \mathbb{R}^d$是將節點對映到它的嵌入表示的函式,也即我們最終要得到的結果。SkipGram虛擬碼如下所示:
利用**Hierarchical Softmax**二叉樹[29, 30],將所有節點作為二叉樹的葉子節點,就可以用從根節點到葉子節點的路徑來表示每個節點。即有下式: $$ \Pr(u_k|\Phi(v_j))=\prod_{l=1}^{\lceil\log|V|\rceil}\Pr(b_l|\Phi(v_j)) $$ 可對SkipGram演算法進行加速。 #### 3.1.3 冪律分佈 之所以DeepWalk可以由隨機遊走和SkipGram結合得到,是因為作者觀察到,資料輸入服從冪律分佈,曾用於自然語言模型的SkipGram演算法可以很好地處理這一分佈。 ### 3.2 實驗及其結論 作者選用了下圖所示三個資料集:BlogCatalog, Flickr, YouTube。採用的評價方式為Macro-F1和Micro-F1。
#### 3.2.1 準確性 作者在三個資料集上分別取不同數量的帶標籤節點進行訓練,並對剩餘結點進行預測,得出結論:在多標籤分類的任務上使用DeepWalk有兩點好處—— 1. **可以適用於大規模的圖** 2. **僅需要少量有標記的樣本就擁有很高的分類準確率** #### 3.2.2 敏感性 作者固定視窗大小$\omega$=10 和 隨機遊走序列長度$t$=40,改變嵌入維度$d$、每個節點作為根節點的次數$\gamma$、訓練集比例$T_R$。得到以下結論: 1. **存在最優的維度,且最優維度的大小和$T_R$的大小有關** 2. **$\gamma$的增大可以提升模型效果,但當$\gamma$大於10後提升逐漸減小,當$\gamma$大於30後無法提升效果。** #### 3.2.3 並行化 作者增加並行任務的個數,使用非同步的隨機梯度下降(ASGD)方法更新向量,可以**線性地減少訓練時間,但不會降低準確性**,證明DeepWalk演算法適用於大規模的學習。[36, 8]
## 4 存在的不足 ### 4.1 帶權邊與度量相似度 DeepWalk只適用於無權邊,只能忽略邊的權重,然而這在網路中是十分重要的。**LINE**[100]**考慮了邊的權重**,且明確地定義了**一階相似度和二階相似度**。其中一階相似度是兩個頂點之間的自身相似(不考慮其他頂點),二階相似度是兩個節點鄰近網路結構之間的相似性,即共享相似鄰居的頂點傾向於彼此相似。如下圖的節點6和節點7,由於有邊直接相連,故有一階相似性;節點5和節點6沒有邊直接相連,但它們有公共鄰居1, 2, 3, 4,故有二階相似性。 在LINE定義了一階相似度和二階相似度之後,**GraRep**[101]考慮了三階、四階等**更高階的相似度**。 此外,DeepWalk是一種基於DFS的方法,而LINE和GrapRep是一種基於BFS的方法。 ### 4.2 空間結構相似性 > 相鄰性 前述方法都基於近鄰相似的假設,即認為只有相近的節點才比較相似。而**struc2vec**[102]認為兩個不是近鄰的節點也可能擁有很高的相似性,所以**只應考慮結點的空間結構相似性**。前述方法之所以有效是因為,現實世界中相鄰的節點往往有著比較相似的空間環境。如下圖所示的節點u和節點v並不相鄰,但他們擁有相似的空間環境,最終得到的嵌入表示也應該類似。 ### 4.3 歸納式學習 前述方法都是直推式學習,即在一個確定的網路中去學習頂點的嵌入表示,無法直接泛化到在訓練過程沒有出現過的頂點,屬於直推式(transductive)的學習。 **GraphSAGE**[103]則是一種能夠利用頂點的屬性資訊,高效產生未知頂點嵌入表示的一種**歸納式(inductive)**學習的框架。其核心思想是通過一個節點的鄰居節點,學習到一個**聚合函式**,然後對任意節點應用該聚合函式來得到該節點的嵌入表示。 ## 參考文獻 **3.1.2 節點向量更新** [26] T. Mikolov, K. Chen, G. Corrado, and J. Dean. Efficient estimation of word representations in vector space. CoRR, abs/1301.3781, 2013. [27] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean. Distributed representations of words and phrases and their compositionality. In Advances in Neural Information Processing Systems 26, pages 3111–3119. 2013. [29] A. Mnih and G. E. Hinton. A scalable hierarchical distributed language model. Advances in neural information processing systems, 21:1081–1088, 2009 [30] F. Morin and Y. Bengio. Hierarchical probabilistic neural network language model. In Proceedings of the international workshop on artificial intelligence and statistics, pages 246–252, 2005. **3.2.3 並行化** [36] B. Recht, C. Re, S. Wright, and F. Niu. Hogwild: A lock-free approach to parallelizing stochastic gradient descent. In Advances in Neural Information Processing Systems 24, pages 693–701. 2011. [8] J. Dean, G. Corrado, R. Monga, K. Chen, M. Devin, Q. Le, M. Mao, M. Ranzato, A. Senior, P. Tucker, K. Yang, and A. Ng. Large scale distributed deep networks. In P. Bartlett, F. Pereira, C. Burges, L. Bottou, and K. Weinberger, editors, Advances in Neural Information Processing Systems 25, pages 1232–1240. 2012. **4 存在的不足** [100] Tang J, Qu M, Wang M, et al. Line: Large-scale information network embedding[C]. International Conference on World Wide Web(WWW 2015), 2015: 1067-1077. [101] Cao S, Lu W, Xu Q. Grarep: Learning graph representations with global structural information[C]. ACM International Conference on Information and Knowledge Management (CIKM 2015), 2015: 891-900. [102] Ribeiro L F, Saverese P H, Figueiredo D R. struc2vec: Learning node representations from structural identity[C]. ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(SIGKDD 2017), 2017: 385-394. [103] Hamilton W L, Ying Z, Leskovec J. Inductive Representation Learning on Large Graphs[C]. Neural Information Processing Systems (NIPS 2017), 2017: 10