深度學習不用去手工提取特徵,可是現有深度模型沒有在傳播預測任務中使用社區結構。因此提出一個CS-RNN框架,把社區在傳播中的影響考慮在內,作傳播預測。算法
Network:\(G=(V,E)\),\(V\)是頂點表明用戶,\(E\)是邊表明用戶間關係;網絡
Cascade:\(S=\{\left(t_{i}, v_{i}\right) | v_{i} \in V, t_{i} \in[0,+\infty), t_i \le t_{i+1}, i=1,2,...,N \}\),表明節點\(v_i\)在\(t_i\)時刻分享了消息;框架
Community:\(G(V',E')\)表明內部鏈接緊密的子圖。假設圖\(G=(V,E)\)能夠被分爲q個子部分\(\mathcal{L} = \left\{L_{1}, L_{2} \ldots L_{q}\right\}\),一個用戶 \(v_i\) 只能屬於一個社區,且它的社區標籤並定義爲\(c_{v_i} \in X_{\mathcal{X}}\);dom
問題描述:觀察以前的傳播過程,給定k個時間節點對(Cascade)表示爲\(S_{\le k}\),在傳播級聯中進行序列建模,來預測下一個激活節點的機率,即\(p(v_{k+1}|S_{\le k})\),還要預測下一個激活節點的社區標籤\(c_{v_{k+1}}\),即\(P{c_{v_{k+1}}|S_{\le k}}\),還要預測節點激活的確切時間。函數
基本原理:信息傳播到下一個節點不只跟活躍節點的歷史序列狀態有關,還跟信息傳播過的社區有關。學習
模型框架圖以下,帶標號和有顏色背景的無邊緣線圖形,是我爲了更好的描述框架而加上的:優化
輸入層:spa
①圖中標記1的部分,把節點\(v_k\)轉換成一個低維的向量\(\mathbf{v}_k \in R^{d_v}\),\(\mathbf{v}_{k}=\mathbf{W}_{e m v}^{T} v_{k}\);orm
②圖中標記2的部分,把社區標籤\(c_{v_k}\)也初始化轉換爲低維向量\(\mathbf{c}_{v_k} \in R^{d_c}\),\(\mathbf{c}_{v_{k}}=\mathbf{W}_{e m c}^{T} c_{v_{k}}\);
隱藏層:
①圖中標記3的部分,這裏是把\(\mathbf{v}_1\)到\(\mathbf{v}_k\)用一個RNN串聯起來,表示每一個節點的初始隱含表示,由以前獲得的表示向量\(\mathbf{v}_k\)和傳播過程當中上一個節點的隱含表示所決定:\(\mathbf{h}_{k}^{(0)}=R N N\left(\mathbf{v}_{k}, \mathbf{h}_{k-1}^{(0)}\right)\)。其中,\(h_0^{(0)}\)由全0的向量初始化,RNN層中可使用GRU和LSTM。這裏暫時把\(\mathbf{h}_{k}^{(0)}\)和上一步獲得的\(\mathbf{c}_{v_{k}}\)拼接起來,組成\(\mathbf{h}_{k}^{(1)}= \mathbf{h}_{k}^{(0)} \oplus \mathbf{c}_{v_{k}}\),備用。
②圖中標記4的部分,把傳播級聯中的時間t,也按照序列順序用RNN串聯,獲得\(\mathbf{h}_{k}^{(2)}=R N N\left(\mathbf{t}_{k}, \mathbf{h}_{k-1}^{(2)}\right)\)。
最後,把上述的兩個(實際上是三個\(\mathbf{h}_{k}^{(1)}\)由兩部分組成)拼接起來,組成一個向量(圖中三色向量圖形),而後經過一個線性變換層(FC層)和一個非線性變換(激活層)【圖中Linear and Activation Layer】,獲得結果:\(\mathbf{h}_{k}^{\mathrm{cas}}=\delta\left(\mathbf{W}_{h}^{T}\left(\mathbf{h}_{k}^{(1)} \oplus \mathbf{h}_{k}^{(2)}\right)+\mathbf{b}_{h}\right)\)。
社區結構標籤產生:(圖中右上部分)
由上面獲得的\(\mathbf{h}_{k}^{\mathrm{cas}}\),在經過一個線性變換層和激活層,目的是爲了把\(\mathbf{h}_{k}^{\mathrm{cas}}\)映射到和社區結構標籤嵌入向量一樣的空間中去,獲得\(\mathbf{h}_{k}^{\mathrm{com}}=\delta\left(\mathbf{W}_{\mathrm{com}}^{T} \mathbf{h}_{k}^{\mathrm{cas}}+\mathbf{b}_{\mathrm{com}}\right)\),而後把\(\mathbf{h}_{k}^{\mathrm{com}}\)和全部社區標籤向量作餘弦類似度,在用一個softmax層歸一化全部類似度,獲得(預測)下一個激活節點的社區標籤,\(\mathbf{p}_{k}^{c o m}=\operatorname{sigmoid}\left(\mathbf{h}_{k}^{c o m} \mathbf{W}_{e m c}^{T}\right)\)。
下一個激活節點的產生:(圖中右上部分)
咱們能夠看到,圖中的右上部分有一個相似殘差神經網絡(大霧)的鏈接,實際上是做者又作了一個下一個激活節點的預測,具體以下:
經過模型左側獲得的\(h_k^{cas}\),和剛剛預測的社區結構標籤 $ \mathbf{p}_{k}^{\text {com}}$,做者把這兩個向量拼接起來,再送入線性變換層和激活層,獲得 \(\mathbf{h}_{k}^{\text {node }}=\delta\left(\mathbf{W}_{\text {node }}^{T}\left(\mathbf{h}_{k}^{\text {cas }} \oplus \mathbf{p}_{k}^{\text {com }}\right)+\mathbf{b}_{\text {node }}\right)\),而後如法炮製,在計算隱向量\(h_k^{node}\)和全部節點的嵌入表示之間的餘弦類似度,再用softmax層歸一化,獲得每一個節點的機率表示,從而預測下一個激活結點是哪一個節點。
下一個激活時間預測:(圖中左上部分)
利用最開始獲得的傳播級聯第K步的表示\(h_k^{cas}\),還能夠預測傳播過程的第K+1步和第k步之間的時間間隔,即\(t_{k+1}-t_{k}=\mathbf{W}_{t}^{T} \mathbf{h}_{k}^{c a s}+\mathbf{b}_{t}\)。
哇,這是一口氣作了三個預測,經過傳播級聯第K步的表示\(h_k^{cas}\),文中作了下一個激活節點的預測,下一激活節點所在的社區標籤的預測,還作了時間間隔的預測,感受文章要作multi-task了(是否是作multi-task會有收穫呢?),然而沒有,文中的損失函數:
\[ \operatorname{Loss}(Q)=\sum_{f=1}^{F} \sum_{i=1}^{N_{f}-1} \log p\left(\left(t_{k+1}, v_{k+1}, c_{k+1}\right) | c_{v_{k}}, S_{\leq k}\right) \]
利用基於時間的反向傳播(backpropagation through time,BPTT)來訓練模型,最後用SGD,mini-batch和Adam優化。爲了加快速度,在訓練過程當中使用正交初始化方法。
利用合成數據和真實數據(Digg數據集)。主要在合成數據集上作了分析,對於真實數據集分析簡短。
設備:Tesla V100 32G GPU, Intel Xeon E5 CPU,512G內存。
合成數據生成方法:(不太懂,以後用到生成數據能夠參考這裏,關鍵是傳播都可以生成!)
網絡結構和傳播過程都是生成的。
網絡結構生成,兩種方法:①kronecker graph model;②LFR bechmark,更像真實網絡。產生兩種網絡結構①random network(RD);②層級社區網絡(HC)。
傳播過程生成,對於每一個節點,按照必定的時間分佈來設置被激活用戶的激活時間,參考其餘文獻,也設置了兩種分佈,①混合指數分佈(Exp);②混合瑞利分佈(Ray);
對比算法:
CYANRNN(AAAI’17):使用attention-based RNN,利用傳播過程當中的交叉依賴性(什麼是交叉依賴性?)。
RNNPP(AAAI’17):用RNN的視角處理point process,建模背景和歷史做用。能夠預測event時間,主要類型的event和子類型的event。做者在論文中把社區結構當作main-types,把node當作sub-type。
RMTPP(SIGKDD‘16):將時間點過程的強度函數視爲歷史的非線性函數,利用RNN自動學習事件歷史影響的表示。
S-RNN,CS-RNN,CS-GRU,CS-LSTM:分別是去掉社區結構的方法,原始方法,使用GRU的方法和使用LSTM的方法。前兩個是爲了對比結果證實,社區結構有用的,後面兩個是對比GRU好仍是LSTM好。
結果仍是比較中規中矩的,提出的方法確定是最優的,社區結構是有用的。
瑞利分佈(Rayleigh Distribution):當一個隨機二維向量的兩個份量呈獨立的、有着相同的方差的正態分佈時,這個向量的模呈瑞利分佈。
[1]. Liu, Chaochao, et al. 「Community Structure Enhanced Cascade Prediction.」 Neurocomputing, vol. 359, Elsevier B.V., 2019, pp. 276–84, doi:10.1016/j.neucom.2019.05.069.