1. 程式人生 > 其它 >論文閱讀 DyREP:Learning Representations Over Dynamic Graphs

論文閱讀 DyREP:Learning Representations Over Dynamic Graphs

5 DyREP:Learning Representations Over Dynamic Graphs

link:https://scholar.google.com/scholar_url?url=https://par.nsf.gov/servlets/purl/10099025&hl=zh-CN&sa=X&ei=kIF4YrmVJ-OM6rQPxfOKUA&scisig=AAGBfm3I4EpwNkRLc5xhuaLEs47V0XWOzA&oi=scholarr

Abstract

摘要對動態圖的嵌入提出了兩個問題

1 如何在圖上優雅地建模動態過程?

2 如何利用這種模型有效地將不斷變化的圖資訊編碼為嵌入?

他們提出了了一個模型DyRep,該模型將表示學習作為一個潛在的中間過程,連線兩個觀察到的過程:網路的動態(實現為拓撲演化)和網路上的動態(實現為節點之間的活動)

(原文:dynamics of the network (realized as topological evolution) and dynamics on the network (realized as activities between nodes))

具體地說,本文提出了一個雙時間尺度的深時序點過程模型(a two-time scale deep temporal point process model),該模型捕獲了觀測過程的交錯動態。該模型由一個時序注意力嵌入網路進一步引數化,該網路將時間演化的結構資訊編碼為節點表示,進而驅動被觀測動態圖的非線性演化。

說人話就是作者開了兩個注意力模型 一個模型觀測圖級別的時序變化 一個模型觀測節點和邊級別的時序變化,兩個合起來做嵌入

Conclusion

本文提出了一種新的動態圖建模框架,通過將嵌入作為潛在的中介過程,連線拓撲演化和節點互動的動態過程,有效地學習節點表示。

結尾提到該模型不支援網路收縮,原因有二:1很難獲得具有細粒度刪除時間戳的資料。2時序點過程模型需要更復雜的技術來支援刪除。

Figure and table

圖1:演算法嵌入的總覽圖。包含節點增加 邊增加 互動的操作序列以及模型的嵌入流程

表1:各種演算法的性質對照表(可以看到本文的注意力機制是基於時序點過程處理的)

圖2:各模型在社交演化資料集和github資料集上的鏈路預測新效果。HITS@10效果放到了附錄E中

圖3:事件時間預測表現

圖4:訓練後的embedding視覺化

圖5:區域性嵌入傳播

Introduction

摘要裡的兩個問題作者又提了一遍

1 如何在圖上優雅地建模動態過程?

原來的工作將動態圖的演變看做是單個時間維度的變化,而這篇論文提出大多數真實世界的圖至少表現出兩種不同的動態過程,它們在不同的時間尺度上演化

(1)拓撲演化:節點和邊的數量預計會隨著時間的推移而增長(或收縮),從而導致圖中的結構變化;

(2)節點互動:與節點之間的活動有關,這些活動可能在結構上連線,也可能在結構上不連線。

對這些非線性演化的動態過程之間的交叉依賴,進行建模是推進動態圖形式化模型的關鍵下一步。

2 如何利用這樣的模型來學習能夠有效捕獲隨時間變化的圖形資訊的動態節點表示?

現有的技術下可分類為兩種方法

(1)DTDG:該方法將圖上的演化過程看做若干個靜態圖的快照(比如DynGEM)。這些方法傾向於保留(編碼)非常有限的結構資訊,並在非常粗糙的級別捕獲時間資訊,這會導致快照之間的資訊丟失,並且缺乏捕獲細粒度時間動態的能力。這種方法的另一個問題是如何選擇適當的聚合粒度。

(2)CTDG:連續時間方法,將圖上的演化過程的粒度選擇精細化。雖然現有方法已證明在特定環境下非常有效,但它們要麼以解耦的方式建模簡單的結構和複雜的時間特性,要麼使用簡單的時間模型(Continuous-Time Dynamic Network Embeddings)。但是,有幾個地方表現出結構特性的高度非線性演化與複雜的時間動力學相耦合,有效地建模和學習捕捉此類複雜系統各種動力學特性的資訊表示仍然是一個開放的問題。

如Natural algorithms and influence systems所述,有效學習此類動力系統的一個重要要求是能夠在不同尺度上表達動力過程。所以本文提出,任何動態圖都必須最小程度地表示為兩個在不同時間尺度上演化的基本過程的結果:關聯過程(網路的動態),它帶來圖結構的變化,並導致節點之間的資訊傳遞;通訊過程(網路上的動態),與節點之間(不一定連線)的活動有關,從而導致節點之間的臨時資訊傳遞。然後, 假設學習節點表示的目標是建模一個潛在的中介過程,該過程將上述兩個觀察到的過程連線起來,從而學習到的表示驅動這兩個過程的複雜時間動態,這些過程隨後導致節點表示的非線性演化。

此外,在圖中傳播的資訊受節點與其鄰域的連結和關聯歷史的時間動態控制。例如,在社交網路中,當一個節點的鄰域增長時,它會改變該節點的表示,進而影響她的社互動動(連結→ 嵌入→ 訊息傳遞)。類似地,當節點的互動行為發生變化時,它會影響其鄰居和她自己的表示,而這反過來又會由於連結的新增或刪除(訊息傳遞→嵌入→連結)而改變其連線的結構和強度。 將這種現象稱為“通過中介的進化”,並在圖1中以圖形方式加以說明。

本文提出了一個新的動態圖表示學習框架DyRep,通過上面表達的潛在中介過程來模擬兩個觀察過程的交錯演化,並隨著時間的推移有效地學習更豐富的節點表示。隨著時間的推移,框架以連結和訊息傳遞的形式接收動態圖資訊,並在節點表示出現在這些事件中時更新它們。建立了一個雙時間尺度的深時點過程方法來捕捉兩個觀測過程的連續時間細粒度時間動態。用一個深度歸納表示網路進一步引數化時間點過程的條件強度函式,該網路學習函式來計算節點表示。最後, 通過設計一種新的時間注意機制來耦合框架的結構和時間成分,該機制使用學習的強度函式在鄰域節點上誘導時間注意。這使得 能夠捕捉到隨著時間推移控制節點表示的高度交錯和非線性動態。 為框架的端到端培訓設計了一個高效的無監督培訓程式。

Method

2 BACKGROUND AND PRELIMINARIES

2.2 TEMPORAL POINT PROCESSES

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

這篇專欄裡有具體解釋(我也看的一知半解的 淦)

2.3 NOTATIONS AND DYNAMIC GRAPH SETTING

\(\mathcal{G}_{t}=\left(\mathcal{V}_{t}, \mathcal{E}_{t}\right)\)是在\(t\)時刻\(\mathcal{G}\)的快照,\(\mathcal{V}_t\)是節點集,\(\mathcal{E}_t\)是邊集。

事件觀察:通訊和關聯過程都是以圖\(\mathcal{G}\)上節點之間在時間視窗\([t_0,T]\)上觀察到的以二元事件的形式實現的,並按時間排序。 對時間\(t\)的任何型別的事件使用以下規範元組表示,形式為\(e=(u,v,t,k)\),其中\(u,v\)是事件中涉及的兩個節點。\(t\)代表事件發生的時間。\(K∈ \{0,1\}\) 使用\(k=0\)表示拓撲演化過程(關聯)中的事件,\(k=1\)表示節點互動過程(通訊)中的事件。圖中的邊僅通過拓撲事件出現,而互動事件不會對其產生影響。所以\(k\)表示1:與生成拓撲(網路動態)的過程相關的範疇,2:互動事件(網路上的動態)這兩點的抽象。然後, 將視窗\([0,T]\)中按時間排序的\(P\)個觀測事件的完整集合表示為\(O=\{(u,v,t,k)_P\}^P_{p=1}\)。此處 $t_p ∈ \mathbb{R}^+, 0 ≤ t_p ≤ T $

節點表示:\(\mathbf{z}^{v} \in \mathbb{R}^{d}\)代表節點\(v\)\(d\)維表示,隨著時間的推移而演變,將其限定為時間的函式:\(\mathbf{z}^v(t)\)在時間\(t\)涉及\(v\)的事件之後更新的節點\(v\)表示。 使用\(\mathbf{z}^{v}(\bar{t})\)來表示t之前最近更新的節點v嵌入

動態圖設定:\(\mathcal{G}_{t_0}=\left(\mathcal{V}_{t_0}, \mathcal{E}_{t_0}\right)\)作為圖在t0時刻的初始快照。Gt0可能為空,也可能包含初始結構(關聯邊緣),但它不會有任何通訊歷史記錄。框架將圖形的演化視為一個事件流\(\mathcal{O}\),因此任何新節點都將被視為此類事件的一部分。這將在資料可用的節點上引發自然排序。由於 的方法是歸納的,所以 從不學習特定於節點的表示,而是學習計算節點表示的函式。在這項工作中,只支援網路的增長,也就是說,本文只對節點和結構邊的新增進行建模,並將刪除作為未來的工作。此外,對於模型的一般描述, 將假設圖中的邊沒有型別,節點沒有屬性。

3 PROPOSED METHOD: DYREP

該模型從兩個層面(節點和邊級別,圖級別)觀察圖上的事件發生。比如在兩個節點之間觀察到事件時(訊息傳遞即通訊事件、邊增加即互動事件),資訊從一個節點流向另一個節點,並相應地影響節點的表示。雖然通訊事件(或互動事件)僅在兩個節點之間傳播區域性資訊,但關聯事件會改變拓撲結構,從而具有更大的全域性影響。通過對觀察到的區域性事件進行編碼,從而進一步瞭解這些事件的區域性動態。

3.1 MODELING TWO-TIME SCALE OBSERVED GRAPH DYNAMICS

動態圖上的觀測包含兩個交錯複雜過程的時間點模式,分別以通訊事件和關聯事件的形式出現。在任何時間t,這些過程中的任何一個事件的發生取決於圖的最新狀態,即,兩個節點將根據其最新表示參與任何事件。給定一個觀測到的事件\(p=(u,v,t,k)\), 使用條件強度函式\(λ_k^{u,v}(t)\)來定義時間點過程的連續時間深度模型,該函式對時間\(t\)時節點\(u\)\(v\)之間事件\(p\)的發生進行建模:

\[\lambda_{k}^{u, v}(t)=f_{k}\left(g_{k}^{u, v}(\bar{t})\right) \]

其中

\(\bar{t}\)表示當前事件之前的時間點

$ g_k(\bar{t})\(計算兩個節點\)\mathbf{z}^{u}(\bar{t}) \text { , } \mathbf{z}^{v}(\bar{t})$拼接後的嵌入表示

\[g_{k}^{u, v}(\bar{t})=\boldsymbol{\omega}_{k}^{T} \cdot\left[\mathbf{z}^{u}(\bar{t}) ; \mathbf{z}^{v}(\bar{t})\right] \]

其中\([;]\)表示拼接操作,\(\omega_{k} \in \mathbb{R}^{2 d}\)表示可學習的引數矩陣

如前所述,與溝通和關聯過程相對應的動力學在不同的時間尺度上演化。為了說明這一點, 使用動態引數\(ψ_k\)引數化的softplus函式的修改版本來捕捉這種時間尺度依賴性

\[f_{k}(x)=\psi_{k} \log \left(1+\exp \left(x / \psi_{k}\right)\right) \]

其中\(x=g(\bar{t})\)\(ψ_k(> 0)\)是可學習的時間尺度引數(該引數為標量),作為訓練的一部分。\(ψ_k\)對應於相應過程產生的事件速率。

3.2LEARNING LATENT MEDIATION PROCESS VIA TEMPORALLY ATTENTIVE REPRESENTATION NETWORK

前面在3.1節中介紹瞭如何計算節點表示,在事件發生後,需要更新兩個參與節點的表示,以根據以下方法捕捉觀察到的事件的影響:

區域性嵌入傳播:當事件中涉及兩個節點構建路徑或者訊息傳遞時,該次事件對鄰居的影響。在附錄A中解釋了這個元件的工作,具體見圖5,在節點\(u\)\(v\)之間觀察到一個事件,\(k\)可以是0或1(即該事件可以是邊構建或者訊息傳遞)。\(\mathbf{h}_{\text {struct }}\)被計算來更新事件中涉及的每個節點。對於節點u,更新將來自\(\mathbf{h}_{\text {struct }}^{v}\)(綠色箭頭),對於節點\(v\),更新將來自\(\mathbf{h}_{\text {struct }}^{u}\)(紅色箭頭)。

請注意,所有嵌入都是動態演化的,因此每個事件後的資訊流都是不同的,並以複雜的方式演化。通過這種機制,資訊從節點u的鄰居傳遞到節點v,從節點v的鄰居傳遞到節點u。(1) 互動事件導致臨時路徑——此類事件可能發生在未連線的節點之間。在這種情況下,該流只會發生一次,但不會使\(u\)\(v\)彼此相鄰(例如,在會議上會面)。(2)拓撲事件導致永久路徑——在這種情況下,\(u\)\(v\)成為彼此的鄰居,因此將有助於結構特性的發展(例如,成為學術朋友)。每側藍色箭頭數量的差異分別表示每個節點對節點u和節點v的重要性不同。(我感覺要引入注意力了)

整體嵌入更新過程:作為起始點,鄰居僅包括由初始邊連線的節點。基於一次觀察事件來說,通過下面的\(\mathbf{z}^{v}\left(t_{p}\right)\)式子來更新事件包含的兩個節點的嵌入。對於節點\(u\),等式第一項(Localized Embedding Propagation部分)\(\mathbf{h}_{\text {struct }}\)通過節點\(v\)從節點\(v\)的鄰居\(N_v\)傳遞訊息到節點\(u\)(可以將\(v\)視為從其鄰居傳遞到\(u\)的訊息傳遞者)。該資訊用於更新節點u的嵌入。然而, 假設節點\(v\)不會將等量的資訊從其鄰居轉發到節點u。相反,節點v會根據其與鄰居的通訊和關聯歷史(與每個鄰居的重要性有關)接收其要轉發的資訊。這需要計算節點\(v\)與其相鄰節點之間的結構邊上的注意力係數。對於任何邊緣, 都希望該係數取決於兩個節點之間的事件速率(從而模擬現實世界中的現象,即一個人從與他互動更多的人那裡獲得更多資訊)。因此, 用時間點過程引數\(\mathcal{S}_{u,v}\)來引數化 的注意力模組。演算法1概述了計算該引數值的過程。演算法1闡述了計算過程,將會在3.2.1中說明。

自傳播:自傳播可以看做是單個節點動態更新的最小元件。節點在嵌入空間中不是隨機更新,而是對於先前位置進行更新(即節點的嵌入由上一次的嵌入基礎上更新)。

外部驅動:在時間間隔內(例如,在涉及該節點的兩個全域性事件之間),一些外力可能會平滑地更新節點的當前特徵。更新事件中涉及的每個節點。該資訊用於更新節點\(u\)的嵌入。然而, 假設節點\(v\)不會將等量的資訊從其鄰居轉發到節點\(u\)。相反,節點\(v\)會根據其與鄰居的通訊和關聯歷史(與每個鄰居的重要性有關)接收其要轉發的資訊。這需要計算節點v與其相鄰節點之間的結構邊上的注意係數。對於任何邊緣, 都希望該係數取決於兩個節點之間的事件速率(從而模擬現實世界中的現象,即一個人從與他互動更多的人那裡獲得更多資訊)。因此, 用時間點過程引數\(\mathcal{S}_{uv}\)來引數化 的注意力模組。演算法1概述了計算該引數值的過程。
為了在 的設定中實現上述過程, 首先描述一個示例設定:考慮節點u和v在時間t參與任何型別的事件。\(\mathcal{N}_u,\mathcal{N}_v\)表示節點\(u,v\)的鄰居,在這裡討論兩個關鍵點

1)節點\(u\)充當將資訊從\(\mathcal{N}_u\)傳遞到節點\(v\)的橋樑,因此\(v\)通過\(u\)以聚合形式接收資訊。

2)當u的每個鄰居將其資訊傳遞給v時,節點u中繼的資訊由一個聚合函式控制,該聚合函式由u與其鄰居的通訊和關聯歷史引數化。

所以具體而言,對於節點\(v\)的第\(p\)個事件, 將\(z^v\)表示為

\[\mathbf{z}^{v}\left(t_{p}\right)=\sigma(\underbrace{\mathbf{W}^{\text {struct }} \mathbf{h}_{\text {struct }}^{u}\left(\overline{t_{p}}\right)}_{\text {Localized Embedding Propagation }}+\underbrace{\mathbf{W}^{r e c} \mathbf{z}^{v}\left(\bar{t}_{p}^{v}\right)}_{\text {Self-Propagation }}+\underbrace{\mathbf{W}^{t}\left(t_{p}-\bar{t}_{p}^{v}\right)}_{\text {Exogenous Drive }}) \]

其中:

\(\mathbf{h}_{\text {struct }}^{u} \in \mathbb{R}^{d}\)是從\(u\)的鄰居經過聚合函式後得到的輸出表示向量

\(\mathbf{z}^{v}\left(\overline{t_{p}^{v}}\right)\in \mathbb{R}^{d}\)是從先前的節點表示得到的當前狀況

\(t_p\)是當前事件的時間點

\(\bar{t_p}\)表示當前事件之前的時間點(\(\bar{t_p}\)無限接近與\(t_p\),但是不到\(t_p\)

\(\bar{t_p^v}\)表示節點\(v\)上一個事件的時間點

\(\mathbf{z}^{v}\left(\bar{t}_{p}^{v}=0\right)\)可以使用來自資料集的輸入節點特徵或根據設定的隨機向量來初始化節點\(v\)的初始表示

對於可訓練矩陣\(\mathbf{W}^{\text {struct }}, \mathbf{W}^{r e c} \in \mathbb{R}^{d \times d} \text { and } \mathbf{W}^{t} \in \mathbb{R}^{d}\)

所以等式裡的每一項都輸出一個向量\(v \in \mathbb{R}^{d}\)然後求和作為節點嵌入更新

讀到這裡可以看見v節點的表示zv由上面三個部分(自傳播,外部驅動,區域性嵌入傳播)構成,通俗的說這三個部分分別對應三個部分:從鄰居的訊息聚合+自己上一次的嵌入+時間間隔資訊

*3.2.1 TEMPORALLY ATTENTIVE AGGREGATION

這節介紹了對鄰居傳遞的訊息做注意力的加權求和。

最近提出的注意機制在處理可變大小的輸入方面取得了巨大的成功,將注意力集中在輸入中最相關的部分,以便做出決策。然而,現有的方法認為注意力是一個靜態量。在動態圖中,改變節點之間的鄰域結構和互動活動會隨著時間的推移,使每個鄰居對節點的重要性發生變化,從而使注意力本身成為一個時間上不斷變化的量。此外,該數量取決於通過演化表示的相鄰節點的關聯和通訊的時間歷史。

最後,本文提出了一種新的基於時間點過程的注意機制,該機制利用時間資訊計算節點間結構邊緣的注意係數。然後使用這些係數計算嵌入傳播所需的聚合量(\(\mathbf{h}_{\text {struct }}\))。

其中

\(A(t) \in \mathbb{R}^{n \times n}\)是圖\(G_t\)\(t\)時刻的鄰接矩陣,

\(\mathcal{S}(t) \in \mathbb{R}^{n \times n}\)是一個隨機矩陣,捕捉時間t時兩個頂點之間的強度

\(\mathcal{N}_{u}(t)=\left\{i: \mathbf{A}_{i u}(t)=1\right\}\)節點\(u\)在時間\(t\)的一跳鄰居

為了形式化地捕捉不同鄰域影響的差異,此處提出了一種新的基於條件強度的注意層,它使用矩陣S來誘導共享注意機制來計算鄰域上的注意係數。

具體地說, 對給定的節點\(u\)執行區域性注意,並計算與節點\(u\)的1跳鄰居\(i\)相關的係數\(q_{u i}(t)=\frac{\exp \left(\mathcal{S}_{u i}(\bar{t})\right)}{\sum_{i^{\prime} \in \mathcal{N}_{u}(t)} \exp \left(\mathcal{S}_{u i^{\prime}}(t)\right)}\),接著注意力權重就會用來計算節點u的資訊聚合,式子如下

\[\mathbf{h}_{\text {struct }}^{u}(\bar{t})=\max \left(\left\{\sigma\left(q_{u i}(t) \cdot \mathbf{h}^{i}(\bar{t})\right), \forall i \in \mathcal{N}_{u}(\bar{t})\right\}\right)\\ \mathbf{h}^{i}(\bar{t})=\mathbf{W}^{h} \mathbf{z}^{i}(\bar{t})+\mathbf{b}^{h} \text { and } \mathbf{W}^{h} \in \mathbb{R}^{d \times d} \text { , } \mathbf{b}^{h} \in \mathbb{R}^{d} \]

\(\mathbf{z}^{i}(\bar{t}) \in \mathbb{R}^{d}\)是節點i的最新嵌入。max運算子的使用受一般點集學習的啟發(Qi等人,2017年)。通過在元素方面應用最大池化運算元,該模型有效地捕捉了鄰域的不同方面。作者發現max的表現稍好一些,因為它考慮到了鄰里關係的時間方面,如果使用平均值,鄰里關係將被攤銷(也就是有可能會抹除掉節點的結構資訊,雖然在這裡我感覺max也會)。

和圖注意力網路的聯絡 本文提出的時間注意層與最近提出的圖形注意網路(GAT)和門控注意網路(GaAN)(Zhang et al.,2018)的動機相同,重點是是在鄰居之間應用非均勻注意。GAT和GaAN在靜態圖形設定方面都取得了顯著的成功。GAT通過採用鄰域上的多頭非均勻注意來提高GraphSage,而GaAN通過在多頭注意公式中對不同的頭應用不同的權重來提高GAT。

重點:該文模型的關鍵創新之處在於,通過基於時間量\(\mathcal{S}\)的點過程對注意機制進行引數化,該時間量\(\mathcal{S}\)在不斷演化,並驅動每個鄰居對給定節點的影響。此外,與靜態方法不同, 使用這些注意係數作為聚合器函式的輸入,用於計算鄰域的時間結構效應。最後,靜態方法通過捕獲多個表示空間來使用多頭注意來穩定學習,但這是 這一層的固有屬性,因為表示和事件強度隨著時間的推移而更新,因此新事件有助於捕獲多個表示空間。(點過程的注意力由於以往的事件和表示而改變,所以可以捕獲多個表示空間?)

\(\mathcal{S}\)的構建和更新(上面程式碼的解釋): 構造一個隨機矩陣\(S\)(在前面的部分中用於引數化注意)來捕獲複雜的時間資訊。在\(t=t_0\), 利用\(\mathbf{A}(t_0)\)構建\(\mathcal{S}(t_0)\)。具體來說,對於給定的節點v,初始化相應行向量的元素\(\mathcal{S}_v(t_0)\)

for(node u : N[v])
{
    if(u == v || A[u][u] == 0)
    {
        s[v][u] = 0;
    }
    else
    {
        s[v][u] = 1/(N[v].size())
    }
}

在時間\(t>t_0\)觀察到事件\(\mathcal{O}=(u,v,t,k)\)後,根據\(k\)的觀察對\(\mathbf{A}\)\(\mathcal{S}\)進行更新。具體來說,只會針對關\(\mathbf{A}\)聯事件(\(k=0\),結構變化)進行更新。請注意,是結構時間注意\(\mathcal{S}\)的引數,這意味著時間注意僅應用於節點的結構鄰居。因此,\(\mathcal{S}\)值僅在兩種情況下更新:

a)當前事件是已經具有結構邊緣(\(\mathbf{A}_{uv}(t)=1\)\(k=1\))的節點之間的互動;

b)當前事件是關聯事件(\(k=0\))。

給定節點\(u\)的一個鄰域,b代表每個邊緣的基礎注意,這是基於鄰域大小的注意理(也就是\(\mathcal{S}_{v u}\left(t_{0}\right)=\frac{1}{\left|\mathcal{N}_{v}\left(t_{0}\right)\right|}\))。每當發生涉及u的事件時,這種注意力會以以下方式發生變化:對於案例(a),使用事件的強度更新相應S條目的注意值。對於案例(b),重複與(a)相同的步驟,但也會隨著鄰域大小的增加,調整與其他鄰域的邊緣的背景注意(由\(b-b'\)更新、\(b\)\(b’\)為新舊基礎注意係數)。

4 EFFICIENT LEARNING PROCEDURE

當前模型的完整引數為\(\boldsymbol{\Omega}=\left\{\mathbf{W}^{\text {struct }}, \mathbf{W}^{r e c}, \mathbf{W}^{t}, \mathbf{W}^{h}, \mathbf{b}^{h}\right. , \left.\left\{\boldsymbol{\omega}_{k}\right\}_{k=0,1},\left\{\psi_{k}\right\}_{k=0,1}\right\}\),對於觀察到的時間集合\(\mathcal{O}\), 通過最小化負對數似然來學習這些引數(loss function)

\[\mathcal{L}=-\sum_{p=1}^{P} \log \left(\lambda_{p}(t)\right)+\int_{0}^{T} \Lambda(\tau) d \tau \\ \]

其中

\(\lambda_{p}(t)=\lambda_{k_{p}}^{u_{p}, v_{p}}(t)\)表示時間t的事件強度

\(\Lambda(\tau)=\sum_{u=1}^{n} \sum_{v=1}^{n} \sum_{k \in\{0,1\}} \lambda_{k}^{u, v}(\tau)\)表示未發生事件的總生存概率

在附錄H中的演算法2採用了蒙特卡羅技巧的簡單變體來計算對數似然方程的生存項。以減少時間複雜度。

具體如下:

演算法2是計算對數似然方程生存項的蒙特卡羅技巧的簡單變體。具體來說,在每個小批量中, 對非事件進行取樣,而不是考慮所有非事件對(可能是數百萬)。設\(m\)為最小批量,\(N\)為樣本數。然後,演算法2的複雜度將為\(O(2mkN)\),其中係數2說明了每個事件中兩個節點發生的更新,這表明了事件數量的線性可伸縮性。

整體訓練程式採用了(Know-evolve: Deep temporal reasoning for dynamic knowledge graphs)的方法,其中時間反向傳播(BPTT)訓練是在全域性序列上進行的,從而在避免梯度相關問題的同時,保持序列間事件之間的依賴性。實施細節見附錄G。

Experiment

5 EXPERIMENTS

5.1 DATASETS

Social Evolution Dataset
節點: 83,

初始連結: 376,

最終連結:791,

交流次數: 2016339 ,

聚類係數: 0.548

Github Dataset

節點: 12328,

初始連結: 70640,

最終連結: 166565,

交流次數: 604649

聚類係數: 0.087.

5.2 TASKS AND METRICS

通過連結預測和事件時間預測

動態連結預測 當圖形中的任意兩個節點的互動事件發生率增加時,它們更有可能參與進一步的互動,最終這些互動可能會導致它們之間形成結構性聯絡。類似地,結構連線的形成可能會增加新連線節點之間相互作用的可能性。為了理解本文的模型捕捉到這些現象的能力,提出了這樣的問題:在給定節點\(v\),時間\(t\),事件型別\(k\)的情況下,哪個節點\(u\)最有可能和\(v\)有連結?

可以計算時間t時此類時間的條件密度\(f_{k}^{u, v}(t)=\lambda_{k}^{u, v}(t) \cdot \exp \left(\int_{\bar{t}}^{t} \lambda(s) d s\right)\)

對於給定的測試記錄\((u、v、t、k)\), 用圖中的其他實體替換v,並如上所述計算密度。然後, 按照密度的降序排列所有實體,然後計算Mean Average Rank (MAR) 和HITS(@10)

事件時間預測 這是一個相對新穎的應用,其目的是計算下一個特定型別事件(拓撲演化或者節點互動)可能發生的時間點。給定一對節點\((u,v)\)和時間t處的事件型別k, 使用上述密度公式計算時間t處的條件密度。然後,事件的下一個時間點可以計算為\(\hat{t}=\int_{t}^{\infty} t f_{k}^{u, v}(t)dt\),其中積分沒有解析形式,因此使用蒙特卡羅技巧估計它。對於給定的測試記錄\((u、v、t、k)\), 計算下一次通訊事件可能發生的時間,並根據真實情況報告平均絕對誤差(MAE)。

5.3 BASELINES

動態鏈路預測:Know-Evolve,DynGem ,DynTrd,GraphSage,Node2Vec

事件時間預測:Know Evolve,Multi-dimensional Hawkes Process

5.4 EVALUATION SCHEME

我們根據時間將測試集劃分為n(=6)個時隙,並報告每個時隙的效能,從而提供不同方法的綜合時間評估。

這節說明了對於不明確建模時間的動態基線(DynGem、DynTrd、GraphSage)和靜態基線(Node2Vec),採用了一種滑動視窗訓練方法和熱啟動方法,在初始訓練集上學習,並測試第一個時隙。然後,我們從訓練集的第一個時隙中新增資料,從訓練集的起始位置刪除等量的資料,並使用前一訓練的嵌入重新訓練模型。

5.5 EXPERIMENTAL RESULTS

通訊事件預測效能 我們首先考慮預測節點之間可能有或可能沒有永久邊緣(關聯)的通訊事件的任務。圖2(a-b)顯示了相應的結果。

社交演化資料集

sota

Github資料集 所有方法在排名尺度上的總體效能都很低。如前所述,Github資料集非常稀疏,聚類係數非常低,這使得它成為一個具有挑戰性的資料集。可以預期的是,對於大量沒有通訊歷史的節點,大多數方法都會顯示出類似的效能,但當有一些歷史可用時,本文的方法優於所有其他方法。

關聯事件預測效能

sota

時間預測效能

sota

定性表現:和graphsage比較嵌入,通過視覺化可以看見DyRep嵌入具有更大的辨別力,因為它可以有效地捕捉到與實驗證據一致的、隨時間推移而變化的獨特結構特徵。

Summary

本文動態考慮了注意力函式,和DYSAT區別的是,本文用了時序點過程關注事件的發生來做注意力機制。而DYSAT使用的是自注意力的QKV矩陣,關注的是節點在時間步下的嵌入。目前讀下來難度最大的一篇,也是最長的一篇 整體長度是其他論文的兩倍。