論文信息
論文標題:LINE: Large-scale Information Network Embedding
論文作者:Jian Tang, Meng Qu , Mingzhe Wang, Ming Zhang, Jun Yan, Qiaozhu Mei
論文來源:2015, WWW
論文地址:download
論文代碼:download
1 Introduction
本文提出一種同時考慮局部和全局信息的框架,同時適用於無向圖、有向圖。
舉例:朋友關系網絡
Figure 1 給出了一個說明性的例子。由於頂點 6 和 7 之間的邊的權重很大,即 6 和 7 的一階(first-order)接近,因此在嵌入空間中應緊密表示。另一方面,雖然頂點 5 和頂 6 之間沒有聯系,但它們共享許多共同的鄰居,即它們具有很高的二階接近性,因此也應相互緊密地表示。
總結:考慮直接關系和相同局部結構。
2 Definition
Definition 2 . (First-order Proximity) The first-order proximity in a network is the local pairwise proximity between two vertices. For each pair of vertices linked by an edge $(u, v)$ , the weight on that edge, $w_{u v}$ , indicates the firstorder proximity between $u $ and $v$ . If no edge is observed between $u$ and $v$ , their first-order proximity is $0$ .
如 Figure 1 ,6 和 7 之間存在直連邊,且邊權較大,則認為兩者相似且 1 階相似度較高,而 5 和 6 之間不存在直連邊,則兩者間 1 階相似度為 0。
現實世界中,直接相連的邊比較缺乏(缺個棒槌),所以可以考慮局部結構,因此引入了二階接近度。
Definition 3. (Second-order Proximity) The secondorder proximity between a pair of vertices $(u, v)$ in a network is the similarity between their neighborhood network structures. Mathematically, let $p_{u}=\left(w_{u, 1}, \ldots, w_{u,|V|}\right)$ denote the first-order proximity of $u$ with all the other vertices, then the second-order proximity between $u$ and $v$ is determined by the similarity between $p_{u}$ and $p_{v}$ . If no vertex is linked from/to both $u$ and $v$ , the second-order proximity between $u$ and $v$ is $0$ .
如 Figure 1 ,雖然 5 和 6 之間不存在直連邊,但是他們有很多相同的鄰居頂點 $(1,2,3,4)$,這其實也可以表明5和6是相似的,而 $2$ 階相似度就是用來描述這種關系的。
3 Method
3.1 LINE with First-order Proximity
每條無向邊 $(i、j)$,頂點 $v_i$ 和 $v_j$ 之間的聯合概率如下:
${\large p_{1}\left(v_{i}, v_{j}\right)=\frac{1}{1+\exp \left(-\vec{u}_{i}^{T} \cdot \vec{u}_{j}\right)}} $
其中 $\vec{u}_{i} \in R^{d}$ 為頂點 $v_i$ 的低維向量表示。
頂點 $v_i$ 和 $v_j$ 之間經驗概率為
$\hat{p}_{1}(i, j)=\frac{w_{i j}}{W} $
其中 $W=\sum_{(i, j) \in E} w_{i j}$ 。
優化目標如下:
$O_{1}=d\left(\hat{p}_{1}(\cdot, \cdot), p_{1}(\cdot, \cdot)\right)$
其中 $d(·,·)$ 為兩個分布之間的距離,本文選擇 KL 散度衡量分布之間的距離。
忽略 KL 散度中的常數項后有:
$O_{1}=-\sum_{(i, j) \in E} w_{i j} \log p_{1}\left(v_{i}, v_{j}\right)$
注意:一階接近度只適用於無向圖,而不適用於有向圖。
3.2 LINE with Second-order Proximity
局部結構可以認為是頂點的上下文(Context),並常假設上下文相似的節點,其節點也相似,二階接近度的出發點也是如此。
引入兩個向量 $ \vec{u}_{i}$ 和 $\vec{u}_{i}^{\prime} $,其中 $ \vec{u}_{i}$ 代表 $v_i$ 的表示,而 $\vec{u}_{i}^{\prime} $ 代表 $v_i$ “上下文” 的表示。對於每個有向邊 $(i、j)$,將頂點 $v_i$ 生成 “上下文” $v_j$ 的概率定義為:
${\large p_{2}\left(v_{j} \mid v_{i}\right)=\frac{\exp \left(\vec{u}_{j}^{T} \cdot \vec{u}_{i}\right)}{\sum_{k=1}^{|V|} \exp \left(\vec{u}_{k}^{\prime T} \cdot \vec{u}_{i}\right)}} $
其中,$|V|$ 是“上下文”的數量。
二階接近度的經驗分布 $\hat{p}_{2}\left(\cdot \mid v_{i}\right)$:
$\hat{p}_{2}\left(v_{j} \mid v_{i}\right)=\frac{w_{i j}}{d_{i}}$
其中,$d_i$ 是頂點 $i$ 的出度,即 $d_{i}=\sum _{k \in N(i)} w_{i k}$ ,$N(i)$ 是 $v_i$ 的鄰居集合。
同理,二階接近度最小化以下目標函數:
$O_{2}=\sum \limits _{i \in V} \lambda_{i} d\left(\hat{p}_{2}\left(\cdot \mid v_{i}\right), p_{2}\left(\cdot \mid v_{i}\right)\right)$
為簡單,設置 $λ_i=d_i$ 並省略一些常數,有:
$O_{2}=-\sum \limits _{(i, j) \in E} w_{i j} \log p_{2}\left(v_{j} \mid v_{i}\right)$
注意:二階接近度適用於無向圖,也適用於有向圖。
3.3 Model Optimization
由於優化 $O_2$ 的計算代價很高(需要對整個頂點集處理),為解決這個問題,本文提出負采樣策略優化目標函數:
$\log \sigma\left(\vec{u}_{j}^{T} \cdot \vec{u}_{i}\right)+\sum \limits _{i=1}^{K} E_{v_{n} \sim P_{n}(v)}\left[\log \sigma\left(-\vec{u}_{n}^{\prime T} \cdot \vec{u}_{i}\right)\right]$
其中,
-
- $σ(x)=1/(1+exp(−x))$ 為 Sigmoid 函數;
- $K$ 是負邊的個數;
- $P_{n}(v) \propto d_{v}^{3 / 4}$ ;
采用異步隨機梯度算法(ASGD)進行優化。在每一步中,ASGD算法對一批邊進行采樣,然后更新模型參數。如果對一條邊 $(i、j)$ 進行采樣,則采用頂點 $i$ 的嵌入向量 $\vec{u}_{i}$ 的梯度將計算為:
$\frac{\partial O_{2}}{\partial \vec{u}_{i}}=w_{i j} \cdot \frac{\partial \log p_{2}\left(v_{j} \mid v_{i}\right)}{\partial \vec{u}_{i}}$
請注意,梯度將乘以邊的權重。當邊的權值具有高方差時,這就會成為問題。
例如,在一個單詞共發生網絡中,一些單詞同時出現很多次,而有些單詞只同時出現幾次。在這樣的網絡中,梯度的尺度會發散,很難找到一個好的學習率。如果根據權值小的邊選擇較大的學習率,權值大的邊上的梯度會爆炸,而如果根據權值大的邊選擇學習率,梯度會太小。
3.4 Optimization via Edge Sampling
上述權值問題對於圖中邊權重相同時(0 或 1)不存在問題。
一種簡單的解決方法是將權重為 $w$ 的邊展開為 $w$ 個 二元邊(0、1),然后根據其權重作為采樣概率進行采樣,但是帶來的問題是內存消耗大。
另一種做法是:令 $W = (w_1, w_2, ... , w_{|E|}) $ 表示邊的權重。 首先計算權重總和 $w_{sum} = = \sum_{i=1}^{|E|}w_{i}$ ,然后采樣 $[0, w_{sum}]$ 范圍內的隨機值,查看隨機值屬於哪個區間 $[\sum_{j=0}^{i-1}w_{j}, \sum_{j=0}^{i}w_{j})$ 。 這個 方法需要 $O(|E|) $ 時間來抽取樣本,當邊數 $|E| $ 很大這是昂貴的。
本文是采用別名表進行采樣,從別名表中采樣一條邊需要恆定的時間 $O(1) $ ,而使用負采樣的優化需要 $O(d(K+1))$ 時間,其中 $K$ 為負樣本的數量。因此,總體上,每個步驟都需要 $O(dK)$ 時間。
在實踐中,我們發現用於優化的步驟數通常與邊數 $O(|E|)$ 成正比。因此,LINE 的總體時間復雜度為 $O(dK|E|)$ ,它與邊數 $|E|$ 呈線性關系,而不依賴於頂點數 $|V|$ 。邊緣采樣處理提高了隨機梯度下降的有效性,而不降低了效率。
3.5 Discussion
- Low degree vertices:如何准確地嵌入小度的頂點。
由於這種節點的鄰居數量非常少,很難准確地推斷出其表示,特別是基於二階接近的方法,它嚴重依賴於 “上下文” 的數量。一個直觀的解決方案是通過添加更高階的鄰居來擴展這些頂點的鄰居,比如鄰居的鄰居。在本文中,我們只考慮向每個頂點添加二階鄰居,即鄰居的鄰居。頂點 $i$ 與其二階鄰域 $j$ 之間的權重被測量為
$w_{i j}=\sum \limits _{k \in N(i)} w_{i k} \frac{w_{k j}}{d_{k}}$
實際上,只添加一個頂點集 ${j}$,它們具有最大的頂點子集。
- New vertices:如何找到新到達的頂點的表示。
對於一個新的頂點 $i$,如果它與現有頂點的邊連接關系已知,可以得到現有頂點上的經驗分布 $\hat{p}_{1}\left(\cdot, v_{i}\right)$ 和 $\hat{p}_{2}\left(\cdot \mid v_{i}\right)$。根據目標函數 $O_1$ 或者 $O_2$,得到新頂點的嵌入。一種簡單的方法是最小化以下目標函數之一
$-\sum \limits _{j \in N(i)} w_{j i} \log p_{1}\left(v_{j}, v_{i}\right), \text { or }-\sum \limits_{j \in N(i)} w_{j i} \log p_{2}\left(v_{j} \mid v_{i}\right)$
通過更新新頂點的嵌入和保持現有頂點的嵌入。如果沒有觀察到新頂點和現有頂點之間的連接,我們必須求助於其他信息,如頂點的文本信息,並將其留給我們未來的工作。
4 Experiments
數據集
文檔分類
多標簽分類
可視化
5 Conclusion
LINE模型具有精心設計的客觀功能,保留了一階和二階接近度,相互互補。並提出了一種有效和有效的邊緣抽樣方法進行模型推理;解決了加權邊緣隨機梯度下降的限制,而不影響效率。此外,除一階和二階之外更高的相似度也是LINE模型算法在未來能夠更加拓寬的方面。異構網絡的嵌入,也是研究的方向之一。
修改歷史
2021-11-18 創建文章
2022-06-07 修訂文章