論文解讀(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》

希望每天漲粉發表於2021-12-08

論文題目:《GraRep: Learning Graph Representations with Global Structural Information》
發表時間:  CIKM
論文作者:  Shaosheng Cao; Wei Lu;  Qiongkai Xu
論文地址:  Download
Github:      Go


Abstract

  在本文中,我們提出了一種新的學習加權圖頂點表示的GraRep模型。該模型學習低維向量來表示出現在圖中的頂點,與現有的工作不同,它將圖的全域性結構資訊整合到學習過程中。


1. Introduction

  先引入 NE 的概念,然後介紹一下  DeepWalk ,但是作者丟擲了一個問題,雖然  DeepWalk  確實有效果,但是為什麼這麼定義損失函式就可以得出效果呢?損失函式的可解釋性並沒有在  DeepWalk  論文中被談及。

  文中提到  skip-gram  模型其實就是用來量化兩個節點的  $k$  階關係(k-step relationship),所謂  $k$  階關係就是兩個頂點可以通過  $k$  步相連的關係。skip-gram  實際上是將節點之間的這種關係投影到一個平凡子空間(common subspace)中。而本文則是將k階關係投影到獨立的子空間(distict subspace)中。簡單來說就是,skip-gram  模型將網路節點表示成向量後,節點的  $1$  到  $k$  階關係全都綜合反映到這個向量中。而GraRep則選擇將  $1$  到  $k$  總共  $k$ 種關係分開,分別形成  $k$ 個向量,每個向量表示一種關係。

  另一種方法 LINE,則是根本無法獲取到  $k>2$  的節點關係。作者認為節點之間的  $k$  階關係對把握網路的全域性特徵非常重要,越高階的關係(也就是 $k$  越大)被考慮進來,得到的網路表示結果會越好。

  本文的大致思路是通過矩陣分解的(matrix factorization)方法分別學習網路節點的  $k$  階關係表示,然後將  $k$  個表示結合起來作為最終的表示結果。

  總結一下貢獻:

    • 提出學習圖節點潛在向量表達的模型,能夠捕獲全域性結構資訊
    • 從概率觀點對  DeepWalk  中同一取樣的理解
    • 分析了負抽樣相關的  Skip-Gram  模型的不足。

2. RELATED WORK

2.1 Linear Sequence Representation Methods

  由 streams of words 組成的 Natural language corpora 可以看作是特殊的圖結構,即  linear chains。目前,學習單詞表徵的方法有兩種主要方法:neural embedding methods 和  matrix factorization based approaches 。

  Neural embedding methods 採用 a fixed slide window 去捕捉當前單詞的上下文詞,例子:  skip-gram。

   雖然這些方法可能在某些任務上產生良好的效能,但由於它們使用單獨的 local context windows ,而不是 global co-occurrence counts,因此它們在某些情況很差地捕獲有用的資訊。另一方面,矩陣分解的方法可以很好的利用  global statistics。

2.2 Graph Representation Approaches

  經典的降維方法:

    multidimensional scaling (MDS)、IsoMap 、LLE 、and Laplacian Eigenmaps 。

  舉例描述最近的一些 Graph Representation Approaches 。

3. Grarep model

3.1 Graphs and Their Representations

  Definition 1. (Graph) A graph is defined as $G=(V, E)$. $V=\left\{v_{1}, v_{2}, \ldots, v_{n}\right\}$ is the set of vertices with each $V$ indicating one object while $E=\left\{e_{i, j}\right\}$ is the set of edges with each $E$ indicating the relationship between two vertices. A path is a sequence of edges which connect a sequence of vertices.

  Some definitions:

    • $S$:adjacency matrix 。對於無權圖:$S_{i, j}=1$ if and only if there exists an edge from $v_{i}$ to $v_{j}$, and $S_{i, j}=0$ otherwise。對於帶權圖:$S_{i, j}$ is a real number called the weight of the edge $e_{i, j}$ 。
    • $D$:diagonal matrix。

        $D_{i j}= \begin{cases}\sum_{p} S_{i p}, & \text { if } i=j \\ 0, & \text { if } i \neq j\end{cases}$

  定義從一個頂點  $v_i$  到  $v_j$  另一個頂點的轉換概率,定義以下  (1-step) probability transition matrix :

     $A=D^{-1} S$

  該公式可以參考《鄰接矩陣、度矩陣》

  Definition 2. (Graph Representations with Global Structural Information) Given a graph $G$, the task of Learning Graph Representations with Global Structural Information aims to learn a global representation matrix $W \in \mathbb{R}^{|V| \times d}$ for the complete graph, whose $i$-th row $W_{i}$ is a $d$-dimensional vector representing the vertex $v_{i}$ in the graph $G$ where the global structural information of the graph can be captured in such vectors.

  在本文中,全域性結構資訊有兩個功能:

    1. the capture of long distance relationship between two different vertices
    2. the consideration of distinct connections in terms of different transitional steps.

  為了驗證這一點,Figure 1 給出了一些說明性的例子,說明了 k-step (對於 k=1、2、3、4 )關係資訊的重要性,這些資訊需要在頂點 A1 A2 之間捕獲。

        

  論文解讀(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》
   Here, (a) and (e) show the importance of capturing the simple 1-step information between the two vertices which are directly connected to each other, where one has a stronger relation and the other has a weaker relation.

  In (b) and (f), 2-step information is shown, where in (b) both vertices share many common neighbors, and in (f) only one neighbor is shared between them. Clearly, 2- step information is important in capturing how strong the connection between the two vertices is – the more common neighbors they share, the stronger the relation between them is.

  In (c) and (g), the importance of 3-step information is illustrated. Specifically, in (g), despite the strong relation between  A1 and B, the relation between A1 and A2 can be weakened due to the two weaker edges connecting B and C, as well as C and A2. In contrast, in (c), the relation between A1 and A2 remains strong because of the large number of common neighbors between B and A2 which strengthened  their relation. Clearly such 3-step information is essential to be captured when learning a good graph representation with global structural information.

  Similarly, the 4-step information can also be crucial in revealing the global structural properties of the graph, as illustrated in (d) and (h). Here, in (d), the relation between A1 and A2 is clearly strong, while in (h) the two vertices are unrelated since there does not exist a path from one vertex to the other. In the absence of 4-step relational information, such important distinctions can not be properly captured.
上圖解釋 

  總結:一階鄰居帶來的資訊很重要,k-step 之間的鄰居資訊受到中間鄰居之間的影響。

  現在思考是否考慮對不同的 k-step 進行區別對待?當然。

      

  我們認為,在學習圖表示時,區別對待不同的  k-step  資訊是必要的。我們在 Figure 2 的 (a) 中提供了一個簡單的圖。讓我們重點學習圖中  A  頂點的表示。我們可以看到, A  在學習其表示時接收到兩種型別的資訊:來自  B  的 1-step 資訊,以及來自所有  C  頂點的  2-step  資訊。我們注意到,如果我們不區分這兩種不同型別的資訊,我們可以構建一個替代圖,如 Figure 2 中的(b)所示,其中  a  接收的資訊與 (a) 完全相同,但具有完全不同的結構。

3.2 Loss Function On Graph

  現在考慮從頂點  $w$  到頂點 $c$  ,設從頂點  $w$  到頂點 $c$ 的概率轉移為 $p_{k}(c \mid w)$。我們已經知道  $1-step$  是什麼,為了計算 $k-step$ ,我們引入了下面的  k-step probability transition matrix:

    $A^{k}=\underbrace{A \cdots A}_{k}$

   我們可以觀察到,$A_{i, j}^{k}$  恰好是指從頂點 $i$  到頂點  $j$  的轉移概率,其中轉移恰好由  $k$ 步組成。這將直接導致:

    $p_{k}(c \mid w)=A_{w, c}^{k}$

  其中,  $A_{w, c}^{k}$  是矩陣  $ A^{k}  $  的第  $w$  行和第  $c$  列中的元素。.

  那麼優化目標就是:對於任意的一個  $(w,c)$  的組合,最大化這個組合所代表的路徑在圖中的概率,最小化除了這個組合外在圖中的概率。換句話說,對於所有的  $(w,c)$   組合對,如果   $(w,c)$  所代表的路徑在圖中,那麼增大它的概率;如果  $(w,c)$   所代表的路徑不在圖中,那麼減小它的概率。

  本文使用了 NCE 損失函式來反應這種特性,損失函式的定義是:

    $L_{k}=\sum \limits _{w \in V} L_{k}(w)$

  其中 

    $L_{k}(w)=\left(\sum \limits _{c \in V} p_{k}(c \mid w) \log \sigma(\vec{w} \cdot \vec{c})\right)+\lambda \mathbb{E}_{c^{\prime} \sim p_{k}(V)}\left[\log \sigma\left(-\vec{w} \cdot \vec{c}^{\prime}\right)\right]  \quad \quad \quad  (1)$ 

    $\sigma(x)=\left(1+e^{-x}\right)^{-1}$ ;

    $\lambda$ 是一個表示負樣本數量的超引數;

    $p_{k}(V) $ 是圖中頂點上的分佈;

    $\mathbb{E}_{c^{\prime} \sim p_{k}(V)}[\cdot]$ 是當  $c^{\prime}$  遵循  $p_{k}(V) $  分佈時的期望值;

       $c^{\prime}$ 是通過  negative sampling  獲得的;

  對於  $(1) $ 式:

    • 前項中的 $\sigma(\vec{w} \cdot \vec{c})$ 理解為 Graph 中節點對 $(w,c)$ 共同出現的概率,要最大化這個值。
    • 後項中的 $\sigma(-\vec{w} \cdot \vec{c})$  理解為 對於任意選取的節點  $c^{\prime}$  所形成的  $(w,c^{\prime})$  要最小化其出現的概率,最小化其出現概率就是最大化  $\sigma(-\vec{w} \cdot \vec{c})$  。

  對於 $(1) $  式後項negative sampling 部分中的 $\mathbb{E}_{c^{\prime} \sim p_{k}(V)}\left[\log \sigma\left(-\vec{w} \cdot \overrightarrow{c^{\prime}}\right)\right]$

    $=p_{k}(c) \cdot \log \sigma(-\vec{w} \cdot \vec{c})+\sum \limits _{c^{\prime} \in V \backslash\{c\}} p_{k}\left(c^{\prime}\right) \cdot \log \sigma\left(-\vec{w} \cdot \overrightarrow{c^{\prime}}\right)   \quad \quad \quad  (2)$

  對於  $(2) $ 式:

    • $p_{k}(V)$  是網路中節點的概率分佈。negative sampling 部分實際上就是節點  $c^{\prime}$  服從  $p_{k}(V)$  分佈時 $(w,c)$ 不出現的期望。對於隨機取樣的一個節點  $c^{\prime}$  ,如果正好選到了正確的節點  $c$,那麼對應的就是  $(2) $  中前項;如果沒有選到  $c$ ,那麼對應的就是  $(2) $  中後項。因此對於一個特定的  $(w,c)$ 組合對來說,損失函式表達如下:

      $L_{k}(w, c)=p_{k}(c \mid w) \cdot \log \sigma(\vec{w} \cdot \vec{c})+\lambda \cdot p_{k}(c) \cdot \log \sigma(-\vec{w} \cdot \vec{c})\quad \quad \quad  (3)$

  文中提到:隨著  $k$  的增長,$w$  經過  $k$  步到達  $c$  的概率會逐漸收斂到一個固定值。  

  計算  $p_{k}(c)$ :任一節點經過  $k$  步到達節點  $c$  的概率,因此等於所有  $k$  步可以到達  $c$  的路徑的概率加和。

    $p_{k}(c)=\sum \limits _{w^{\prime}} q\left(w^{\prime}\right) ,  \quad p_{k}\left(c \mid w^{\prime}\right)=\frac{1}{N} \sum \limits_{w^{\prime}} A_{w^{\prime}, c}^{k}$

   其中:

    $q^{\prime}(\omega)=\frac{1}{N}, \quad p_{k}(c \mid \omega^{\prime})=A_{\omega^{\prime}, c}^{k}$

    $N$ 是圖  $G$ 中的頂點數。

    $q(w^{\prime})$ 為選擇  $w^{\prime}$  作為路徑中的第一個頂點的概率,這裡假設為均勻分佈。

  將  $p_{k}(c \mid w), \quad p_{k}(c)$  代入 $(3)$  式得到:

     $L_{k}(w, c)=A_{w, c}^{k} \cdot \log \sigma(\vec{w} \cdot \vec{c})+\frac{\lambda}{N} \sum \limits _{w^{\prime}} A_{w^{\prime}, c}^{k} \cdot \log \sigma(-\vec{w} \cdot \vec{c})\quad \quad \quad  (4)$

  我們令  $e=\vec{w} \cdot \vec{c}$  ,對   $L_{k}(w) $  求偏導,並令   $\frac{\partial L_{k}}{\partial e}=0$  

  推導過程如下:

    令   $x=\vec{w} \cdot \vec{c}$,   $A_{w^{\prime}, c}^{k}=A$,   $\frac{\lambda}{N} \sum_{w^{\prime}} A_{w^{\prime}, c}^{k}=B$ 

    那麼 $L_{k}=A \log \sigma(x)+B \log \sigma(-x)$

      $\frac{\partial L_{k}}{\partial x}=A \cdot \frac{\sigma^{\prime}(x)}{\sigma(x)}+B \frac{-\sigma^{\prime}(-x)}{\sigma(-x)}=A \frac{\sigma(x)(1-\sigma(x))}{\sigma(x)}-B \cdot \frac{\sigma(-x)(1-\sigma(-x))}{\sigma(-x)}$

      $\begin{aligned}&=A \cdot(1-\sigma(x))-B(1-\sigma(-x)) \\&=A\left(1-\frac{1}{1+e^{-x}}\right)-B\left(1-\frac{1}{1+e^{x}}\right) \\&=A \cdot \frac{e^{-x}}{1+e^{-x}}-B \frac{e^{x}}{1+e^{x}} \\&=A \frac{1}{e^{x}+1}-B \frac{e^{x}}{1+e^{x}}=0 . \\&e^{x} =\frac{A}{B} ,\quad x=\log \frac{A}{B}=\log \frac{ A_{w^{\prime} , c}^{k}}{\sum \limits _{w^{\prime}} A_{w^{\prime} , c}^{k}}-\log \frac{\lambda}{N}\end{aligned}$

  最終得到:

    $\vec{w} \cdot \vec{c}=\log \left(\frac{A_{w, c}^{k}}{\sum \limits _{w^{\prime}} A_{w^{\prime}, c}^{k}}\right)-\log (\beta)$

  其中  $\beta = \frac{\lambda}{N} $。

  這得出結論,我們基本上需要將矩陣 $Y$ 分解成兩個矩陣  $ W$  和  $C$  ,其中  $W$  的每一行和  $C$  的每一行分別由頂點  $w$  和  $c$  的向量表示組成,$Y$  的條目為:

  之前的工作是為了找到這樣一個矩陣  $Y$  ,它編碼了網路中所有節點相互之間的關係,但是這個矩陣的維數很高($|V| \times |V| $),不能直接用來作為網路的表示。因此要用矩陣分解的方法對  $Y$  進行分解,分解後形成的  $W、C$  矩陣維數要遠遠小於  $Y$  的維度,其中  $W$  的每一行和  $C$  的每一行分別由頂點  $w$  和  $c$  的向量表示組成,而這個  $W$  矩陣就是網路節點的表示,$C$  矩陣就是上下文節點的表示(不關心這個矩陣):

    $Y_{i, j}^{k}=W_{i}^{k} \cdot C_{j}^{k}=\log \left(\frac{A_{i, j}^{k}}{\sum \limits _{t} A_{t, j}^{k}}\right)-\log (\beta)$

3.3 Optimization with Matrix Factorization

  為了降低誤差,將矩陣  $Y$  中負值全被替換為  $0$ ,形成一個新的矩陣  $X$ :

    $X_{i, j}^{k}=\max \left(Y_{i, j}^{k}, 0\right)$

   這裡採用  $SVD$  分解,矩陣  $X$   被分解為:

    $X^{k}=U^{k} \Sigma^{k}\left(V^{k}\right)^{T}$

  其中  $U$  和  $V$  是正交矩陣,$Σ$  是由奇異值的有序列表組成的對角矩陣。

  接下來用SVD方法將矩陣  $X$  分解成:

    $X^{k}=U^{k} \Sigma^{k}\left(V^{k}\right)^{T}$

  因為最終的網路表示要求是  $d$  維的,那麼進一步將  $X$  分解為:

    $X^{k} \approx X_{d}^{k}=U_{d}^{k} \Sigma_{d}^{k}\left(V_{d}^{k}\right)^{T}$

  其中:$\Sigma_{d}^{k}$  是由 top  d  奇異值組成 的,而且 $U_{d}^{k}$  和   $V_{d}^{k}$  分別是  $U^{k}$  和  $ V^{k}$ 前  $d$  列組成。

  最後得到:

    $X^{k} \approx X_{d}^{k}=W^{k} C^{k}$

  其中:

    $W^{k}=U_{d}^{k}\left(\Sigma_{d}^{k}\right)^{\frac{1}{2}}, \quad C^{k}=\left(\Sigma_{d}^{k}\right)^{\frac{1}{2}} V_{d}^{k T}$

4. Algorithm

  Step 1. Get  $k-step$ transition probability matrix  $A_k$  for each  $k = 1, 2, . . . , K$.

  Step 2. Get each  $k-step$  representation

  Step 3. Concatenate all  $k-step$  representations

        

CONCLUSIONS

  除了公式多,其他沒啥...............那天心情好了補完。

  更多內容可以參考

  https://zhuanlan.zhihu.com/p/46446600

  https://blog.csdn.net/weixin_40675092/article/details/118225889

『總結不易,加個關注唄!』 

 

相關文章