論文閱讀 Inductive Representation Learning on Temporal Graphs

落悠發表於2022-07-11

12 Inductive Representation Learning on Temporal Graphs

link:https://arxiv.org/abs/2002.07962

本文提出了時間圖注意(TGAT)層,以有效地聚合時間-拓撲鄰域特徵,並學習時間-特徵之間的相互作用。對於TGAT,本文采用自注意機制作為構建模組,並基於調和分析中的經典Bochner定理(又是沒見過的定理QAQ)發展了一種新的函式時間編碼技術。

Conclusion

本文提出了一種新穎的時間感知圖注意網路,用於時間圖上的歸納表示學習。採用自我注意機制來處理連續時間,提出了一種理論基礎上的函式時間編碼。未來作者往自注意力機制的可解釋性和模型的視覺化進行工作

Figure and table

image-20220704202610151

圖1 時序圖幾個複雜情況的視覺化。A) 時序圖和其快照生成過程,可以看見在快照中的靜態圖只能反映時序資訊的一部分 B) 時間圖投影到獨立於時間的二維平面時的最終狀態。除了時間資訊缺失之外,還會出現多邊情況。C) 在預測t3時刻節點A和C之間的鏈路時,訊息傳遞路徑應受時間約束。實線給出了適當的方向,虛線違反了時間限制。

image-20220704204057331

圖2 對於節點\(v_0\)在時間\(t\)時刻時,第\(l\)層的TGAT層架構,其中\(k=3\)為多頭注意力的引數,表示頭數

image-20220704204331544

表1 用於預測訓練資料中,觀察到節點的未來邊緣的直接學習(Transductive learning)任務結果。

image-20220704204830327

表2 預測未觀察節點未來邊的歸納學習任務結果。

image-20220704204915550

圖3 消融實驗中節點分類任務的結果。

image-20220704205013635

表3 動態節點分類任務結果,其中指標為AUC。

image-20220704205059871

圖4 注意力權重分析。本文采用本地散點平滑估計(Locally Estimated Scatterplot Smoothing,LOESS)進行視覺化。

image-20220704205304035

表4 三個資料集的資料統計。由於本文對一部分未觀察到的節點進行取樣,因此這裡報告的邊統計資料的百分比是近似的。

image-20220704205821601

圖5 Reddit資料集的時序邊數分佈,以及訓練-驗證-測試分別的圖。

image-20220704210114415

圖6 額外的消融實驗,(a)鏈路預測任務的均勻時間加權抽樣和逆時間加權抽樣的比較,(b)比較三種不同的學習方法的函式時間編碼,實現鏈路預測任務。

image-20220704210433460

圖7 Industrial 資料集的敏感性分析。(a) 節點嵌入維度對正確率的影響(b) 時間嵌入維度對正確率的影響(C)自注意力頭數對平均精度的影響

Introduction

學習時態圖上的表示極其具有挑戰性,直到最近才提出了幾種解決方案(CTDNE.;Deep dynamic network embedding for link prediction;Dyngem;Representation learning over dynamic graphs)。可以從三個方面總結這些挑戰。

首先,對時間動態模型進行建模時,節點嵌入不應僅僅是拓撲結構和節點特徵的投影,而應是連續時間的函式。因此,除了通常的向量空間外,時間表示學習還需要在一些函式空間中進行操作。*

其次,圖的拓撲結構不再是靜態的,因為節點和邊會隨著時間的推移而變化,提出了鄰域聚合方法的時間約束。*

第三,節點特徵和拓撲結構具有時序特徵。例如,很久以前發生的節點互動可能對當前拓撲結構和節點嵌入的影響較小。此外,一些節點可能具有允許它們與其他節點進行更定期或反覆的互動的特性。我們在圖1中提供了視覺化的示意圖。*

在真實的應用程式中,時間圖上的表示學習模型應該能夠在需要時以歸納的方式快速生成嵌入。GraphSAGE 和圖注意網路(GAT) 能夠根據不可見節點的特徵歸納生成嵌入,然而,它們沒有考慮時間因素。大多數時間圖嵌入方法只能處理轉導任務(如何理解 inductive learning 與 transductive learning? https://www.zhihu.com/question/68275921),它們需要重新訓練或梯度計算來推斷不可見節點的嵌入或新時間點的節點嵌入。在這項工作中,目標是開發一種架構來歸納學習時間圖的表示,這樣時間感知嵌入(對於不可見和觀察的節點)可以通過單個網路前向傳遞獲得。我們方法的關鍵是將自我注意機制和一種新的函式時間編碼技術結合起來,該技術源自經典調和分析中的Bochner 's定理。

在時間圖上適應自注意歸納表示學習的動機是識別和捕獲時間鄰域資訊的相關片段。在聚合節點特徵時,圖卷積網路和GAT都隱式或顯式地為相鄰節點分配不同的權值(資訊的加權求和)。自注意機制最初是為了識別自然語言處理中輸入序列的相關部分而設計的。作為一種離散事件序列學習方法,自注意的輸出嵌入為輸入序列的每個嵌入加權求和。自我注意具有平行計算和可解釋性等優點 。由於它只通過位置編碼捕獲順序資訊,所以不能處理時間特徵。因此,本文考慮用時間的向量表示來替代位置編碼。由於時間是一個連續變數,從時域到向量空間的對映必須是函式式的。本文從諧波分析中獲得見解,並提出了一種時間編碼方法,這與自我注意機制相容。然後,通過函式時間編碼和節點特徵以及圖拓撲結構之間的相互作用對時間訊號進行建模。

為了評估我們的方法,我們將觀察節點上的未來連結預測視為轉導學習任務,而將未觀察節點上的未來連結預測視為歸納學習任務。

Method

提一下在related work裡的自注意力機制: https://zhuanlan.zhihu.com/p/265108616(Attention注意力機制與self-attention自注意力機制)

自我注意機制通常有兩個組成部分:嵌入層和注意力層。嵌入層以一個有序的實體序列作為輸入。自注意使用的是位置編碼,即每個位置\(k\)都配備一個固定的或學習的向量\(\mathbf{p}_{k}\),所有序列都共享這個向量\(\mathbf{p}_{k}\)。對於實體序列\(\mathbf{e} = (e_1,…, e_l)\),嵌入層以實體嵌入(\(\bf{z} \in \mathbb{R}^d\))及其位置編碼的加和拼接為輸入:

\[\begin{aligned} 加和:\mathbf{Z}_{\mathbf{e}}=\left[\mathbf{z}_{e_{1}}+\mathbf{p}_{1}, \ldots, \mathbf{z}_{e_{1}}+\mathbf{p}_{l}\right]^{\top} \in \mathbb{R}^{l \times d},\\\text {拼接} \quad \mathbf{Z}_{\mathbf{e}}=\left[\mathbf{z}_{e_{1}}\left\|\mathbf{p}_{1}, \ldots, \mathbf{z}_{e_{1}}\right\| \mathbf{p}_{l}\right]^{\top} \in \mathbb{R}^{l \times\left(d+d_{\mathrm{pos}}\right)} \end{aligned}(1) \]

其中\(||\)是拼接操作, \(d_{pos}\)是位置編碼的維度

自我注意層可以使用縮放的點積注意來構建,定義為:

\[\operatorname{Attn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\operatorname{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^{\top}}{\sqrt{d}}\right) \mathbf{V}(2) \]

其中,\(\mathbf{Q}\)代表'queries',\(\mathbf{K}\)代表'key',\(\mathbf{V}\)代表'value'

計算如下

\[\mathbf{Q}=\mathbf{Z}_{\mathbf{e}} \mathbf{W}_{Q}, \quad \mathbf{K}=\mathbf{Z}_{\mathbf{e}} \mathbf{W}_{K}, \quad \mathbf{V}=\mathbf{Z}_{\mathbf{e}} \mathbf{W}_{V} \]

其中\(\mathbf{W}_{Q},\mathbf{W}_{K},\mathbf{W}_{V}\)分別是得到\(\mathbf{Q}, \mathbf{K}, \mathbf{V}\)的投影矩陣。點積注意力是對V中的實體的“value”進行加權求和,其中權重是由實體“查詢鍵”對的互動給出的。點積注意力下實體序列的隱表示為\(h_{\mathbf{e}}=\operatorname{Attn}(\mathbf{Q}, \mathbf{K}, \mathbf{V})\)

3 TEMPORAL GRAPH ATTENTION NETWORK ARCHITECTURE

3.1 FUNCTIONAL TIME ENCODING

在這一節,目標是為了將時間通過某種對映,將時間從時域對映到數域(用嵌入向量表示)\(\Phi: T \rightarrow \mathbb{R}^{d_{T}}\),以用來代替位置嵌入(等式1中的位置編碼)做自注意力權重計算。一般來說,我們假設時間域可以用從原點開始的區間\(T\)表示:\(T = [0, t_{max}]\),其中\(t_{max}\)由觀測資料確定。對於等式(2)中的內積自注意,通常“鍵”矩陣和“查詢”矩陣(K, Q)由(1)中定義的Ze的恆等式或線性投影給出,這就使得在進行計算時,在時間(位置)編碼只包含內積計算。考慮兩個時間點\(t_1、t_2\)和它們的函式編碼\(\left\langle\Phi\left(t_{1}\right), \Phi\left(t_{2}\right)\right\rangle\)之間的內積,通常,相對的時間跨度,而不是絕對的時間價值,揭示了關鍵的時間資訊。因此,更感興趣的是\(|t_2−t_1|\)的時間跨度相關的學習模式,理想情況下應該用\(\left\langle\Phi\left(t_{1}\right), \Phi\left(t_{2}\right)\right\rangle\)與自注意力結合。

所以定義時間核寫作

\[\mathcal{K}: T \times T \rightarrow \mathbb{R} \text { with } \\ \begin{aligned} \mathcal{K}\left(t_{1}, t_{2}\right):=\left\langle\Phi\left(t_{1}\right), \Phi\left(t_{2}\right)\right\rangle \text {and} \ \mathcal{K}\left(t_{1}, t_{2}\right)=\psi\left(t_{1}-t_{2}\right), \forall t_{1}, t_{2} \in T ,\psi:\left[-t_{\max }, t_{\max }\right] \rightarrow \mathbb{R} \end{aligned} \]

通過時間核\(\mathcal{K}\)的將時間的內積\(T \times T\)對映到實數域\(\mathbb{R}\)。時間核是平移不變的,對於常數\(c\)\(\mathcal{K}\left(t_{1}+c, t_{2}+c\right)=\psi\left(t_{1}-t_{2}\right)=\mathcal{K}\left(t_{1}, t_{2}\right)\),一般來說,函式學習是非常複雜的,因為它執行在無限維空間上,但現在把這個問題轉化為學習\(Φ\)表示的時間核K。儘管如此,為了進行高效的基於梯度的優化,仍然需要為\(Φ\)找出一個顯式的引數化。經典調和分析理論——Bochner理論解決了這個問題。

由於時間核K是正半定連續的,因為它是通過Gram矩陣(n維歐式空間中任意個向量的內積所組成的矩陣,具體形式見https://blog.csdn.net/lilong117194/article/details/78202637)定義的,對映\(Φ\)是連續的。因此,上面定義的核K滿足Bochner定理的假設:

定理1 (Bochner定理):在\(\mathbb{R}^d\)上的連續平移不變核函式\(\cal{K}(x, y) = \psi (x−y)\)是正定的,當且僅當\(\mathbb{R}\)上存在一個非負測度,使得$\psi $是該測度的傅立葉變換。

\[\mathcal{K}\left(t_{1}, t_{2}\right)=\psi\left(t_{1}, t_{2}\right)=\int_{\mathbb{R}} e^{i \omega\left(t_{1}-t_{2}\right)} p(\omega) d \omega=\mathbb{E}_{\omega}\left[\xi_{\omega}\left(t_{1}\right) \xi_{\omega}\left(t_{2}\right)^{*}\right](3) \]

其中\(\xi_{\omega}(t)=e^{i \omega t}\)。由於核K和概率測度\(p(ω)\)是實數,由尤拉公式\(e^{i \theta}=\cos (\theta)+i \sin (\theta)\),我們提取(3)的實部,得到:

\[\mathcal{K}\left(t_{1}, t_{2}\right)=\mathbb{E}_{\omega}\left[\cos \left(\omega\left(t_{1}-t_{2}\right)\right)\right]=\mathbb{E}_{\omega}\left[\cos \left(\omega t_{1}\right) \cos \left(\omega t_{2}\right)+\sin \left(\omega t_{1}\right) \sin \left(\omega t_{2}\right)\right](4) \]

上述公式表明用蒙特卡洛積分逼近期望,即

\[\mathcal{K}\left(t_{1}, t_{2}\right) \approx \frac{1}{d} \sum_{i=1}^{d} \cos \left(\omega_{i} t_{1}\right) \cos \left(\omega_{i} t_{2}\right)+\sin \left(\omega_{i} t_{1}\right) \sin \left(\omega_{i} t_{2}\right)\\\omega_{1}, \ldots, \omega_{d} \stackrel{\text { i.i.d }}{\sim} p(\omega) \]

因此,我們提出\(\mathbb{R}^d\)的有限維函式對映為

\[t \mapsto \Phi_{d}(t):=\sqrt{\frac{1}{d}}\left[\cos \left(\omega_{1} t\right), \sin \left(\omega_{1} t\right), \ldots, \cos \left(\omega_{d} t\right), \sin \left(\omega_{d} t\right)\right](5) \]

易得\(\left\langle\Phi_{d}\left(t_{1}\right), \Phi_{d}\left(t_{2}\right)\right\rangle \approx \mathcal{K}\left(t_{1}, t_{2}\right)\)(兩向量的點積),本文證明了\(\left\langle\Phi_{d}\left(t_{1}\right), \Phi_{d}\left(t_{2}\right)\right\rangle\)\(\mathcal{K}\left(t_{1}, t_{2}\right)\)的隨機一致收斂(在附錄),並表明它只需要一定數量的樣本就可以實現合適的估計,在下面的claim1中宣告:

宣告1: 設\(p(ω)\)為核函式K的Bochner定理中對應的概率測度。假設使用樣本\(\{ω_i\}^d_{i=1}\)構建了特徵圖\(Φ\),那麼我們只需要\(d=\Omega\left(\frac{1}{\epsilon^{2}} \log \frac{\sigma_{p}^{2} t_{\max }}{\epsilon}\right)\)個樣本就可以得到

\[\sup _{t_{1}, t_{2} \in T}\left|\Phi_{d}\left(t_{1}\right)^{\prime} \Phi_{d}\left(t_{2}\right)-\mathcal{K}\left(t_{1}, t_{2}\right)\right|<\epsilon \text { with any probability for } \forall \epsilon>0 \]

其中\(σ^2_p\)是關於\(p(ω)\)的二階動量

通過Bochner定理,將核學習問題轉化為分佈學習問題,即定理1中\(p(ω)\)的估計。一個直接的解決方案是應用重引數化(reparameterization),使用隨機變數與已知的邊緣分佈,如變分自編碼器。然而,重引數化通常侷限於某些分佈,如“local-scale”。例如,當\(p(ω)\)是多模態時,很難通過直接重引數化重建底層分佈。另一種方法是使用逆累積分佈函式(CDF)變換。Rezende & Mohamed提出使用引數化的標準化流,即一系列可逆變換函式,來近似任意複雜的CDF,並從中取樣。Dinh等人(2016)進一步考慮疊加雙目標變換,稱為仿射耦合層,以實現更有效的CDF估計。上述方法學習了基於流的網路引數化的逆CDF函式\(F^{−1}_ θ(.)\),並從相應的分佈中抽取樣本。另一方面,如果考慮一種非引數化的方法來估計分佈,那麼學習\(F^{−1}_ θ(.)\)並從中獲得\(d\)個樣本,相當於直接優化(4)中的$ {ω_1, . . . , ω_d}$作為自由模型引數。在實踐中,發現這兩種方法具有高度可比的效能(參見附錄)。因此,將重點放在非引數方法上,因為它的引數效率更高,訓練速度更快(因為訓練過程中不需要取樣)。

(上面這段從宣告1開始簡直是讀天書 完全看不懂_(: 」∠)_,等腦子清醒一點再補課吧,幾個名詞:重引數化,逆累積分佈函式(CDF)變換,標準化流,mark一下先)

上述功能時間編碼與自我注意完全相容,可以替代(1)中的位置編碼,其引數作為整個模型的一部分共同優化。

3.2 TEMPORAL GRAPH ATTENTION LAYER

\(v_i\)\(\mathbf{x}_i \in \mathbb{R}^{d_0}\)表示節點\(i\)及其原始節點特徵。所提出的TGAT架構僅依賴於時間圖注意層(TGAT層)。與GraphSAGE和GAT類似,TGAT層可以被認為是一個區域性聚合運算子,將其隱藏表示(或特徵)以及時間戳作為輸入,輸出是目標節點在任何時間點\(T\)的時間表示。在層表示\(l^{th}\)節點\(i\)在時間\(t\)的隱藏表示輸出為\(\tilde{\mathbf{h}}_{i}^{(l)}(t)\)

與GAT類似,本文用了mask自我注意來處理結構資訊。對於在時間\(t\)的節點\(v_0\),其鄰居節點寫作\(\mathcal{N}\left(v_{0} ; t\right)=\left\{v_{1}, \ldots, v_{N}\right\}\),所有的互動都在\(v_0\)和鄰居\(v_i \in \mathcal{N}\left(v_{0} ; t\right)\)之間進行,併發生在\(t_i\)時刻(第一個時刻記為t1)。TGAT層的輸入是鄰居的嵌入\(\mathbf{Z} = \left\{\tilde{\mathbf{h}}_{1}^{(l-1)}\left(t_{1}\right), \ldots, \tilde{\mathbf{h}}_{N}^{(l-1)}\left(t_{N}\right)\right\}\)和目標節點帶時間點的嵌入,\((\tilde{\mathbf{h}}_{0}^{(l-1)}\left(t\right),t)\)。當\(l = 1\)時,即對於第一層,輸入只是原始的節點特徵。經過該層後,在時刻t的目標節點v0的時間感知(time-aware)嵌入表示為\(\tilde{\mathbf{h}}_{0}^{(l)}\left(t\right)\),將其作為輸出。由於時間核的平移不變假設,我們可以使用\(\{t-t_1,...,t-t_j\}\)代替互動時間,因為\(|t_i-t_j|=|(t-t_i)-(t-t_j)|\),並且在本文只關心時間跨度。

根據原始的自我注意機制,首先得到實體-時間特徵矩陣為

\[\mathbf{Z}(t)=\left[\tilde{\mathbf{h}}_{0}^{(l-1)}(t)\left\|\Phi_{d_{T}}(0), \tilde{\mathbf{h}}_{1}^{(l-1)}\left(t_{1}\right)\right\| \Phi_{d_{T}}\left(t-t_{1}\right), \ldots, \tilde{\mathbf{h}}_{N}^{(l-1)}\left(t_{N}\right) \| \Phi_{d_{T}}\left(t-t_{N}\right)\right]^{\top}(6) \]

時間特徵可以拼接或者加和,並將其前項傳播給三個不同的線性對映,以獲得“query”、“key”和“value”:

\[\mathbf{q}(t)=[\mathbf{Z}(t)]_{0} \mathbf{W}_{Q}, \mathbf{K}(t)=[\mathbf{Z}(t)]_{1: N} \mathbf{W}_{K}, \mathbf{V}(t)=[\mathbf{Z}(t)]_{1: N} \mathbf{W}_{V} \]

其中\(\mathbf{W}_{Q}, \mathbf{W}_{K}, \mathbf{W}_{V} \in \mathbb{R}^{\left(d+d_{T}\right) \times d_{h}}\)是權重矩陣,用於捕獲時間編碼和節點特徵之間的相互作用。等式2中softmax函式輸出的注意權值\(\{ α_i \}^N_{i=1}\)\(\{ α_i \} = \exp \left(\mathbf{q}^{\top} \mathbf{K}_{i}\right) /\left(\sum_{q} \exp \left(\mathbf{q}^{\top} \mathbf{K}_{q}\right)\right)\)給出。所有節點的\(v_{i} \in \mathcal{N}\left(v_{0} ; t\right)\)隱藏表示形式由\(\alpha_i\mathbf{V}_i\)給定,然後我們將上述點積自注意力輸出的行求和作為隱藏鄰居表示,

\[\mathbf{h}(t)=\operatorname{Attn}(\mathbf{q}(t), \mathbf{K}(t), \mathbf{V}(t)) \in \mathbb{R}^{d_{h}} \]

為了將鄰域表示與目標節點特徵相結合,將採用與GraphSAGE相同的做法,將鄰居表示與目標節點的特徵向量\(\mathbf{z}_0\)拼接起來。然後,我們將其傳遞給前饋神經網路,以捕獲特徵之間的非線性互動

\[\begin{array}{l} \tilde{\mathbf{h}}_{0}^{(l)}(t)=\operatorname{FFN}\left(\mathbf{h}(t) \| \mathbf{x}_{0}\right) \equiv \operatorname{ReLU}\left(\left[\mathbf{h}(t) \| \mathbf{x}_{0}\right] \mathbf{W}_{0}^{(l)}+\mathbf{b}_{0}^{(l)}\right) \mathbf{W}_{1}^{(l)}+\mathbf{b}_{1}^{(l)} \\ \mathbf{W}_{0}^{(l)} \in \mathbb{R}^{\left(d_{h}+d_{0}\right) \times d_{f}}, \mathbf{W}_{1}^{(l)} \in \mathbb{R}^{d_{f} \times d}, \mathbf{b}_{0}^{(l)} \in \mathbb{R}^{d_{f}}, \mathbf{b}_{1}^{(l)} \in \mathbb{R}^{d} \end{array} \]

其中\(\tilde{\mathbf{h}}_{0}^{(l)}(t) \in \mathbb{R}^{d}\),是表示目標節點在時刻\(t\)時的時間感知節點嵌入的最終輸出。因此,TGAT層可以使用Semi-supervised classification with graph convolutional networks中提出的半監督學習框架實現節點分類任務,以及使用Representation learning on graphs: Methods and applications總結的編碼器-解碼器框架實現鏈路預測任務。

transformer裡說明使用多頭注意力可以提高GAT訓練的表現,並使訓練穩定。本文提出的TGAT層可以很容易地擴充套件到多頭設定。則k個不同頭數的點積自我注意輸出為\(\mathbf{h}^{(i)} \equiv \operatorname{Attn}^{(i)}(\mathbf{q}(t), \mathbf{K}(t), \mathbf{V}(t)), i=1, \ldots, k\)。我們首先將k個鄰居表示拼接成一個組合向量,然後執行相同的步驟:

\[\tilde{\mathbf{h}}_{0}^{(l)}(t)=\operatorname{FFN}\left(\mathbf{h}^{(1)}(t)\|\ldots\| \mathbf{h}^{(k)}(t) \| \mathbf{x}_{0}\right) \]

就像GraphSAGE一樣,單個TGAT層聚合區域性的單跳鄰域,通過疊加L個TGAT層,聚合擴充套件到L跳。與GAT相似,輸出方法不限制鄰居的大小。

3.3 EXTENSION TO INCORPORATE EDGE FEATURES

TGAT層可以自然地擴充套件,以訊息傳遞方式處理邊特徵。Dynamic edge-conditioned filters in convolutional neural networks on graphs和Dynamic graph cnn for learning on point clouds.修改經典的譜圖卷積網路,以納入邊特徵。Relational inductive biases, deep learning, and graph networks提出一般的圖神經網路框架,其中邊特徵能夠處理。對於時間圖,本文看做每個動態邊與一個特徵向量相關聯,即\(v_i\)\(v_j\)在時間\(t\)的相互作用產生了特徵向量\(\mathbf{x}_{i,j}(t)\)。為了在TGAT聚合過程中傳播邊緣特徵,我們只需將(6)中的\(\mathbf{Z}(t)\)擴充套件為:

\[\mathbf{Z}(t)=\left[\ldots, \tilde{\mathbf{h}}_{i}^{(l-1)}\left(t_{i}\right)\left\|\mathbf{x}_{0, i}\left(t_{i}\right)\right\| \Phi_{d_{T}}\left(t-t_{i}\right), \ldots\right](7) \]

同樣 可以拼接或者相加,使邊資訊傳播到目標節點的隱藏表示,然後傳遞到下一層(如果存在)。其餘結構與第3.2節相同。

3.4 TEMPORAL SUB-GRAPH BATCHING

堆疊L層TGAT相當於在L-hop鄰居上聚合資訊。對於分批訓練中構造的每個L-hop子圖,所有訊息傳遞方向必須與觀察到的時間順序對應。在時間圖中,兩個節點可以在不同的時間點有多個互動。是否允許包含目標節點的環應該具體分析。從鄰居取樣,或稱為鄰居dropout,可以加快和穩定模型訓練。對於時間圖,dropout可以通過逆時間跨度(inverse timespan)來平均或加權計算,這樣,更近期的互動有更高的概率被抽樣。

1 直接學習時間的函式表示,而不是將時間圖裁剪成快照序列或構造時間約束隨機遊動。

2 與基於rnn的模型相比,TGAT層的計算效率更高,因為mask自注意力操作是可並行的。

3 TGAT的推斷完全是歸納的。

4 具有平均池化的GraphSAGE (Hamilton et al., 2017a)可以被解釋為所提出方法的一種特殊情況,其中時間鄰域以相等的注意係數聚集。GAT就像TGAT的時間不可知論版本,但對自注意力有不同的表述。

Experiment

4 EXPERIMENT AND RESULTS

4.1 DATASETS

Reddit dataset

Wikipedia dataset

Industrial dataset.

4.2 TRANSDUCTIVE AND INDUCTIVE LEARNING TASKS

Transductive task通過在訓練中觀察到的節點嵌入,來做連結預測任務和節點分類 見表1。

Inductive task在訓練中未觀察到某些節點嵌入,然後普來做連結預測任務和節點分類 見表2。

在評價指標方面,在鏈路預測任務中,首先對正鄰接抽取等量的負節點對,然後計算平均精度(AP)和分類精度。在下游節點分類任務中,由於資料集中的標籤不平衡,採用ROC曲線下面積( AUC)。

4.3 BASELINES

Transductive task:GAE,VAGE,DeepWalk,Node2vec,CTDNE,GAT,GAT+T,GraphSAGE,GraphSAGE+T

Inductive task :GAT,GAT+T,GraphSAGE,GraphSAGE+T

4.4 EXPERIMENT SETUP

使用鏈路預測損失函式訓練L層TGAT網路:

\[\ell=\sum_{\left(v_{i}, v_{j}, t_{i j}\right) \in \mathcal{E}}-\log \left(\sigma\left(-\tilde{\mathbf{h}}_{i}^{l}\left(t_{i j}\right)^{\top} \tilde{\mathbf{h}}_{j}^{l}\left(t_{i j}\right)\right)\right)-Q \cdot \mathbb{E}_{v_{q} \sim P_{n}(v)} \log \left(\sigma\left(\tilde{\mathbf{h}}_{i}^{l}\left(t_{i j}\right)^{\top} \tilde{\mathbf{h}}_{q}^{l}\left(t_{i j}\right)\right)\right)(8) \]

其中求和是在\(t_{ij}\)時刻\(v_i\)\(v_j\)上相互作用的觀察邊上的

\(σ(.)\)是sigmoid函式

\(Q\)是負取樣的數量

\(P_{n}(v)\)是節點空間上的負取樣分佈。在超引數調優方面,為了簡單,將節點嵌入維數和時間編碼維數固定為原始特徵維數,然後根據驗證資料集的鏈路預測AP得分,從\({1,2,3}\)中選擇TGAT層數,從\({1,2,3,4,5}\)中選擇注意頭數。TGAT在聚合時沒有限制鄰域大小,但是為了加快訓練速度,特別是在使用多跳聚合時,我們使用均勻抽樣的鄰居dropout(在{0.1, 0.3, 0.5}中選擇)。在訓練過程中,使用0.0001作為Reddit和Wikipedia資料集的學習率,0.001作為工業資料集的學習率,並使用Glorot初始化和Adam SGD優化器。

4.5 RESULTS

具體sota見表1,2,3和圖3

4.6 ATTENTION ANALYSIS

首先,在本節中分析了注意力權重和時間的關係,圖4(a)展示了隨時間間隔變化越大,權重越低,也就是說注意力機制更在乎近期發生的互動。

其次,圖4(b)分析了隨著時間的推移,拓撲結構如何影響注意力權重。具體來說,通過找出模型對重複出現次數不同的相鄰節點的關注權值,發現注意力重點關注重複出現節點的拓撲結構。

得到結果最近的和重複的行為通常會對使用者未來的興趣產生更大的影響。

Summary

後面的注意力部分還好,前面的時間編碼部分真的是讀天書,讀一句就要搜一下里面名詞啥意思,然後看百科看部落格半個小時又沒了(主要一大半還看不懂QAQ),自己的基礎還是太薄弱了,怎麼才能成為數學大佬啊淦,說回論文,前面講時間編碼的思路個人覺得很不錯,儘量脫離了DTDG的快照帶來的離散缺點,不需要時間平滑做後續處理,學到了。

相關文章