动态社区网络前沿研究
動態社區網絡前沿研究
轉載:http://wemedia.ifeng.com/88113194/wemedia.shtml
導語
目前,大部分相關工作都是基于靜態網絡的嵌入,即沒有考慮到網絡隨時間的演化。而真實網絡的連邊和節點以及節點特征都是動態的。
所以,基于動態網絡、在網絡嵌入中考慮時序信息更加符合實際,也會使得嵌入獲得更加豐富的信息。
QQ、微信中的用戶以及他們的好友關系會組成一張巨大的社交網絡,該網絡中包含的信息在好友推薦、社群發掘和用戶畫像等任務中有重要作用。
而網絡表征學習( NRL)或者網絡嵌入(NE)是分析這類網絡、挖掘其中信息的重要方法。NRL/NE的核心是將網絡中的節點、連邊或者社團嵌入到低維空間中,從而轉化為結構化的數據,以支持下游其他任務,例如節點分類、鏈路預測和社區發現。
網絡表征學習(Network Representation Learning, NRL)或者網絡嵌入(Network Embedding, NE)是非常重要的網絡分析方法。其核心在于將網絡這種非結構化的數據嵌入到低維空間中,用低維向量來表征網絡中的節點和連邊,或者整個網絡。
現實世界大多是動態網絡(Dynamic Networks),其連邊、節點都是隨著時間不斷變化的。例如社交網絡中新用戶的加入、新好友關系的產生,會導致網絡中出現新的節點和連邊。這些時序信息是動態網絡的重要部分,是網絡的演化機制和其上動力學的體現。
但是現有的大多數嵌入方法只能處理靜態網絡(Static Network),無法編碼網絡的時序信息。
近期,越來越多的學者注意到了這個問題,并提出了自己的動態網絡嵌入方案,本文對該方法近期的論文進行簡單介紹,盡量為大家呈現動態網絡嵌入的最新進展。更全的列表見參考文獻。
一、什么是網絡嵌入
讀者很有可能不清楚什么是NRL/NE,故在此做一簡單介紹。
傳統的機器學習大多處理的是以特征向量所表示的結構化樣本,而網絡(graph)是非結構化的數據。所以,要想用豐富的機器學習模型來挖掘網絡中的信息,第一步就是將網絡嵌入到向量空間中。
圖1 將網絡(graph)在各種尺度上嵌入到二維中
如圖1所示,網絡在不同尺度上被嵌入到低維向量空間(此處為2維),從而化為結構化的數據,并盡可能的保留了原有的信息。靜態網絡嵌入算法就是在這種不變的拓撲結構上將網絡映射到低維空間。
那將靜態網絡嵌入算法直接用到動態網絡上有什么不足呢?
網絡雖然變化很小,但是必須重新訓練模型
兩次嵌入的向量不穩定,變化較大
不能捕獲網絡演化的時序信息
…
所以,要解決上述問題,提高網絡的嵌入效果和效率,必須在動態網絡的基礎上開發嵌入模型。
二、動態網絡的表示
要考慮動態網絡嵌入問題,必須清楚定義什么是靜態網絡和動態網絡。
靜態網絡的表示和圖論中的表示方法一致:
,其中V表示定點集合,E 表示連邊集合。
網絡的拓撲結構可以用鄰接矩陣
表示。
若每個節點具有自己的FFF維屬性向量aia_{i}ai?,則網絡的屬性矩陣表示為
。
網絡整體便可表示為
G={V,E,A}
而動態網絡的表示方法在不同的動態網絡嵌入模型中定義不同,具體可分為以下兩類:
2.1 Snapshot
這類表示方法在時序上對動態網絡等間隔取快照(Snapshot),從而得到網絡演化的離散序列,定義為:
其中
表示動態網絡在 t 時刻的快照。這種表示方法相當于將動態網絡拆解成單個靜態網絡的序列。
圖2 網絡演化過程中的兩個快照
2.2 Continuous Time Network
對時序上的網絡等間隔取快照是比較粗糙的方法,不能捕捉所取間隔時間內網絡的變化。更加細致的表示方法是記錄網絡中所有變化:
定義一個動態網絡
,其中
是所有定點的集合,
記錄了定點出現的時間。
表示網絡中的時序連邊(temporal edges),也就是將每個連邊都打上多個時間戳,表示連邊在該時刻發生變化。
每一條邊
都被賦予了一個特定的時間戳
。另外,還可以定義網絡的屬性矩陣
,記錄每個點的屬性在不同時刻的值。
圖3 一種連續時間動態網絡的表示,每條邊有一個或者多個時間戳
三、動態網絡的嵌入算法
動態網絡的嵌入算法可以根據上面對動態網絡的不同定義而分類。
對于上述兩類,有文獻分別稱為collaboration networks和telephonecall networks,前者指網絡拓撲結構隨時間變化的動力學,后者表示網絡上節點之間直接相互影響的動力學。為保持表述一致,下文仍采用本文的分類名稱。
另一方面,幾乎所有的動態嵌入算法都是從傳統的靜態嵌入模型修改而來,所以按照其基本的方法論,可以將動態網絡嵌入算法分為:基于特征值分解的嵌入、基于Skip-Gram的嵌入、基于自編碼器的嵌入和基于圖卷積的嵌入。下面將按照這幾種類型來介紹最新的動態網絡嵌入算法。
3.1 基于矩陣特征值分解
對復雜網絡的鄰接矩陣DDD和屬性矩陣AAA進行特征值分解,從而得到每個節點的嵌入表示,是一類古老傳統但有效的嵌入方法。從矩陣的角度看,網絡動態演變等價于原矩陣不斷發生變化
和
。而此類嵌入算法正是利用這些變化量,根據矩陣的攝動理論來更新網路的嵌入。
DANE
Li等人[1]在2017年提出的DANE模型就基于以上思路。首先,該模型將動態網絡表示成Snapshots,并考慮網絡的鄰接矩陣和屬性矩陣都會隨時間變化的情況。而ttt時刻的動態網絡嵌入是根據矩陣的變化量,在t?1t-1t?1時刻的嵌入基礎上進行更新。對于t=1t=1t=1時刻,該模型提出一種結合矩陣DDD和AAA的嵌入算法作為熱啟動。其中,嵌入特征值和特征向量的更新公式如下:
而整個模型可以圖示如下:
圖4 DANE模型
DHPE
該論文由清華Cui老師[2]組發表在TKDE18,和DANE屬于同期的工作,故思路也較為接近,也是講動態網絡表示成Snapshots。
本文基本基于他們組16年的文章Asymmetric Transitivity Preserving Graph Embedding,將其擴展到動態網絡的處理上。
論文基于廣義SVD分解(GSVD)和矩陣攝動理論(matrix perturbation),在保留高階相似性的同時,動態更新動態網絡的節點表示。
該論文額出發點在于:在保留網絡高階相似性的同時,當網絡結構在下一時刻發生變化時候(增加/刪除節點/邊),如何快速有效的增量更新下一時刻節點的表示。
論文通過把Katz相似性轉化為一般化的SVD分解,建模網絡的高階相似性,然后基于矩陣攝動理論動態更新網絡下一時刻的節點表示。
其中,嵌入特征值和特征向量的更新公式如下:
其他
還有17年清華Zhang等人[3]提出的TIMERS模型也屬于矩陣分解的范疇,有興趣的讀者可以細度論文。
3.2 基于類Skip-Gram模型
14年Word2Vec的大熱,使得Skip-Gram模型聲名鵲起,而很多靜態網絡嵌入算法也是基于此模型,例如經典的Node2Vec和LINE。下面幾項工作就是在該類工作上的動態拓展。
DNE
北京大學Du等人[4]在其15年LINE模型的基礎上,提出了可分解的目標函數,使其能分別學習每個節點的嵌入,擴展出動態網絡嵌入框架DNE。
還提出了更新節點的選擇機制,大大的提高了嵌入更新的效率。DNE將網絡表示成Snapshots,在每一時刻額嵌入能達到和LINE在該時刻重新訓練一樣的效果,并且效率更高。
另外,由于每次只對部分節點進行少量更新,所以不同時刻的嵌入相比重新訓練的模型具有很強的穩定性。
對于節點多標簽分類任務,該工作在多個實際網絡上都表現優異。
CTDNE
該工作由Nguyen等人[5]發表于I3W 2018,思路非常簡單,擴展性較強。
針對靜態網絡的嵌入通常是通過隨機游走來得到訓練語料,然后將語料交給Skip-Gram等模型得出網絡的嵌入。但是上述的隨機游走沒有考慮到連邊出現的時間順序。例如,一條消息在網絡中傳播是有向的,但是無約束的隨機游走可能得到反向的語料。
對于這點,該論文將動態網絡表示成Continuous Time的形式,每條邊具有多個時間戳,表示相應變化發生的時間。在此基礎上,約束每次隨機游走必須符合連邊發生的時間順序,從而將網絡的時序信息捕獲到隨機游走的序列之中。
理論上,具有時序的隨機游走序列集合是非時序的序列集合的子集。按照信息論的觀點,時序信息的加入較少了嵌入的不確定性,也使得其在傳統任務上的表現優于DeepWalk和Node2Vec等算法。
其他
基于類Skip-Gram模型的動態網絡嵌入工作還有北航Zuo等人18年提出的HTNE模型[6]和Yu等人18年提出的NetWalk模型[7]。
前者通過節點的鄰居形成序列(neighborhood formation sequence)建模節點的演變過程,然后利用霍克斯過程(Hawkes process)捕獲歷史鄰居對當前鄰居形成序列的影響。具體的細節,感興趣的讀者可以參考論文。
3.3 基于自編碼器
以SDNE為代表的,基于自編碼器的網絡嵌入模型,因為其非監督的性質和較好的效果,一直被人們所青睞。將這類嵌入模型擴展到動態網絡也是一件很直接的事情。南加州大學的Goyal今年便在此基礎上前后做了兩項工作。
DynGEM
Goyal在18年初發表了DynGEM模型[7],該模型基礎是SDNE嵌入算法,同時也是將動態網絡表示成Snapshots。DynGEM的想法也非常簡單:為了保留上一時刻的嵌入信息,并為下一時刻所用,可以讓下一時刻的嵌入模型直接繼承上一時刻訓練好的模型參數,如下圖:
圖5 t-1 時刻的模型參數用于初始化 t 時刻的模型參數
還有一點需要注意,網絡的節點數目和連邊多少對嵌入模型的架構有影響。所以文中利用啟發式信息來根據新網絡結構調整SDNE的整體架構,使其能適用于新網絡。
dyngraph2vec
Goyal在18年下半年又發表了一篇動態網絡嵌入的工作[8]dyngraph2vec( 是不是發現取名字也是技術活: )
這篇新工作diss了上一篇,說明了DynGEM框架和其他動態嵌入算法只考慮前一步的信息,而忽略了更加豐富的歷史信息。
基于此,本文在對 t+l 時刻網絡做嵌入時,會輸入 t,t+1,t+2,…,t+l-1 時刻和 t+l 時刻的網絡結構信息
。文中給出了3個模型來嵌入這些豐富的歷史信息:
圖6 dyngraph2vec中的三個嵌入模型
簡單來說,本文是將時序的網絡序列當做一段語料(將某時刻的網絡結構類比于句中的單詞),然后用RNN來編碼歷史信息。整體的嵌入框架仍舊是enc-dec的自編碼器。
雖然想法是好,期望將盡可能多的歷史信息用來嵌入當前時刻的網絡,但是上述模型的算法復雜度比較大,不適合大網絡的嵌入。
3.4 基于圖卷積模型
圖卷積(Graph Convolutional networks)是近年非?;馃岬木W絡嵌入模型,GCN,GAT,GNN和GraphSAGE都可以歸到這一類別中。其核心思想在于利用節點(連邊)鄰居的信息來更新自己,通過迭代來擴大信息收集范圍。
截止筆者寫作本文(18/11/12),暫時沒有看見很多基于圖卷積的動態網絡嵌入算法。只有一篇佐治亞理工學院Trivedi等人正在ICLR2019雙盲審階段的工作DyRep[10]。下面就對這篇文章做簡要介紹。
DyRep
這篇文章考慮了網絡上的兩種動態過程:Association Process和Communication Process。前者代表了網絡拓撲結構的變化,后者表示了網絡上動力學的變化。而文中定義了“事件”來統一表示上述兩個過程的變化。DyRep將節點Representation的變化看做是上述兩個過程相互影響的中間橋梁,從而能根據新的事件不斷更新節點的表征。當一個事件發生時,節點的新表征由事件相關的鄰居節點聚合得到。
圖7 DyRep框架示意圖
值得注意的是,模型中聚合節點鄰居是還采用了注意力機制。
3.5 其他動態嵌入模型
除了上述幾類模型之外,還有一些從全新的視角來處理動態網絡的工作。筆者無法簡單的歸一到上述某一個類別。
Dynamic Triad
浙江大學Zhou等人在18年的工作Dynamic Triad[11]對于動態網絡的建模很有新意。通過復雜網絡分析中的三角閉合問題,建模動態網絡的演變,很好的描述了網絡的變化。
在復雜網絡的研究中,網絡結構的變化被認為是導致網絡上動力學的主要原因之一。而三角閉合問題是網絡結構變化最重要的體現之一。
簡單地說,對于任意3個點,若相互被兩條邊相連,則稱之為開三角,若兩兩互連,則稱之為閉三角。網絡結構演化的一大特征便是開三角隨時間有可能變為閉三角。
如果節點的表征能預測出網絡結構的這種變化,則有理由相信節點的嵌入捕獲了相關的動態信息。
而這篇工作就是基于上述想法,構建了預測三角變化的Loss函數:
前一項表示開三角會閉合的概率,后一項表示不會閉合的概率。這里的
表示在當前t時刻沒有邊連接的節點對集合,但在下一時刻會有邊連接;
表示在當前時刻和下一時刻都不會有邊連接的節點對集合。結合正則平滑項,便可訓練節點的表示。
DGNN
Ma等人[12]今年發表的工作DGNN更加細致的考察了連邊作用時間與其對網路嵌入影響之間的關系。
圖8 DGNN示意圖
目前這篇文章的工作正在進行,筆者整理資料時的版本和寫作本文時所見到的版本相比內容增補較。但是其核心觀念還是沒有改變:
作者假設當新的連邊出現時,首先會影響連邊兩端的節點,還會影響端點的一階鄰居(例如上述所示,新連邊(2,5)不僅會影響
兩個點,還會間接影響1,3,6,7幾個點)。而對于鄰居的影響不能是同質的,影響大小和時間差有關系。
比如
時刻的新連邊對
的影響比
更大。因為前者在最近的時間
才和端點發生了互動。而后者和端點的互動過去比較久的時間,對新的變化應該不敏感。
而端點和一階鄰居分別由兩個模塊進行更新,因為要處理時序信息,并且和時間間隔相關,所以文中采用T-LSTM模型來作為更新部分的基本框架。有興趣的讀者可以參考最新版論文。
Summary
網絡嵌入算法在近幾年異常火熱,因為其在圖結構或網絡數據分析中的潛力是巨大的。
但是新興的算法并沒有成熟的應用,原因在于兩點:
一是因為很多實際網絡都巨大無比,模型的訓練花費的時間難以想象;
二是本文提到的原因,也就是實際網絡大多數動態的,直接用靜態嵌入算法來處理并沒有太好的結果。
研究者們也認識到這些問題,所以今年(18年)出現了相當多關注動態網絡嵌入的工作。但是如前文所概述,很多工作都是基于靜態網絡嵌入框架修改而來,存在很大的局限性。對于動態網絡也沒有統一的的表示規范。雖然也有一些新的想法,但是還沒有像DeepWalk和GCN那樣的標桿性工作出現。
參考文獻
Li J, Dani H, Hu X, et al. Attributed network embedding for learning in a dynamic environment[C]//Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. ACM, 2017: 387-396.
Zhu D, Cui P, Zhang Z, et al. High-order Proximity Preserved Embedding For Dynamic Networks[J]. IEEE Transactions on Knowledge and Data Engineering, 2018.
Zhang Z, Cui P, Pei J, et al. TIMERS: Error-Bounded SVD Restart on Dynamic Networks[J]. arXiv preprint arXiv:1711.09541, 2017.
Dynamic Network Embedding : An Extended Approach for Skip-gram based Network Embedding
Nguyen G H, Lee J B, Rossi R A, et al. Continuous-time dynamic network embeddings[C]//3rd International Workshop on Learning Representations for Big Networks (WWW BigNet). 2018.
Zuo Y, Liu G, Lin H, et al. Embedding Temporal Network via Neighborhood Formation[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 2857-2866.
Yu W, Cheng W, Aggarwal C C, et al. NetWalk: A Flexible Deep Embedding Approach for Anomaly Detection in Dynamic Networks[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 2672-2681.
Goyal P, Kamra N, He X, et al. DynGEM: Deep Embedding Method for Dynamic Graphs[J]. arXiv preprint arXiv:1805.11273, 2018.
Goyal, Palash, Sujit Rokka Chhetri, and Arquimedes Canedo. “dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation Learning.” arXiv preprint arXiv:1809.02657 (2018).
Trivedi R, Farajtbar M, Biswal P, et al. Representation Learning over Dynamic Graphs[J]. arXiv preprint arXiv:1803.04051, 2018.
Zhou L, Yang Y, Ren X, et al. Dynamic Network Embedding by Modeling Triadic Closure Process[C]//AAAI. 2018.
Yao Ma, Ziyi Guo, et al. Streaming Graph Neural Networks //arxiv.org/abs/1810.10627v2
Mitrovic S, De Weerdt J. Dyn2Vec: Exploiting dynamic behaviour using difference networks-based node embeddings for classification[J].
總結
以上是生活随笔為你收集整理的动态社区网络前沿研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js水平居中
- 下一篇: 台式计算机如何判断电源损坏,如何判断电脑