论文学习|集成式DGNN|GC-LSTM: 图卷积嵌入LSTM用于动态网络链路预测

提出了一个新颖的将GCN嵌入LSTM的端到端模型,用于动态网络链路预测。其中,LSTM作为主要框架用来学习动态网络时间快照的时间特征;GCN用来捕获节点的局部拓扑特征。

动态网络链路预测可以根据历史信息预测给定网络未来的连接状态。例如,可以根据人们过去的行为、朋友甚至个人属性预测人们在社交网络的未来关系。

在过去,通常将GCN层和LSTM层进行顺序的简单堆叠,而本文中,将GCN嵌入到LSTM,更好地将结构信息进行整合。以此来预测链路出现或者消失。主要思想是使得充分利用GCN在隐藏状态和单元状态来学习图结构,接着使用LSTM来学习时间特征。

  1. 问题定义
    离散图快照序列: G = { G 1 , . . . , G T } G=\lbrace G_1,...,G_T \rbrace G={G1,...,GT},其中, G t = { V , E t , A t } G_t=\lbrace V,E_t,A_t \rbrace Gt={V,Et,At}表示在时间 t t t的一张网络。 V V V是指所有的节点, E t E_t Et表示在固定时间间隔中的时间链路。
    思想:通过对之前时刻的图快照演化信息的学习来预测时间点 t t t的所有链路的概率。
  2. GC-LSTM框架
    模型包括一个解码器和一个编码器。编码器是将GCN嵌入到LSTM中,利用GCN来学习每个时刻快照的单元状态 c c c和隐藏状态 h h h的网络结构,使用LSTM来学习每条链路状态的时间信息;解码器是一个全连接层,将提取到的特征映射回原始空间。最终,输出预测网络,实现网络的链路预测。
    论文学习|集成式DGNN|GC-LSTM: 图卷积嵌入LSTM用于动态网络链路预测_第1张图片
    隐藏状态 h h h用来提取上次的输入信息;细胞状态 c c c用来保留长期信息。
    节点的隐藏状态受到邻居节点隐藏状态的影响;文中使用了两个GCN模型来对上次的单元层状态和隐藏层状态执行卷积操作。
    编码过程:
    ① 考虑之前的单元状态应该丢弃哪些信息,使用了遗忘门来执行,0表示所有信息都遗忘;1表示所有信息都保留。
    f t = σ ( A t W f + G C N f K ( A ~ t − 1 , h t − 1 ) + b f ) f_t=\sigma{(A_tW_f+GCN_f^K(\tilde{A}_{t-1},h_{t-1})+b_f)} ft=σ(AtWf+GCNfK(A~t1,ht1)+bf)
    ② 更新单元状态
    当前输入的单元状态: c ~ t = t a n h ( A t W c + G C N o K ( A ~ t − 1 , h t − 1 ) + b c ) \tilde{c}_t=tanh(A_tW_c+GCN_o^K(\tilde{A}_{t-1},h_{t-1})+b_c) c~t=tanh(AtWc+GCNoK(A~t1,ht1)+bc)
    输入门: i t = σ ( A t W i + G C N c K ( A ~ t − 1 , h t − 1 ) + b i ) i_t=\sigma{(A_tW_i+GCN_c^K(\tilde{A}_{t-1},h_{t-1})+b_i)} it=σ(AtWi+GCNcK(A~t1,ht1)+bi)
    c t = f t ⊙ G C N c K c t − 1 + i t ⋅ c ~ t c_t=f_t \odot{GCN_c^K{c_{t-1}}}+i_t \cdot{\tilde{c}_t} ct=ftGCNcKct1+itc~t
    ③ 最后输出
    输出门: o t = σ ( A t W o + G C N o K ( A ~ t − 1 , h t − 1 ) + b o ) o_t=\sigma{(A_tW_o+GCN_o^K{(\tilde{A}_{t-1},h_{t-1})+b_o})} ot=σ(AtWo+GCNoK(A~t1,ht1)+bo)
    h t = o t ⊙ t a n h ( c t ) h_t=o_t\odot{tanh{(c_t)}} ht=ottanh(ct)
    解码过程:
    Y d ( 1 ) = R e L U ( W d ( 1 ) h t + b d ) Y_d^{(1)}=ReLU(W_d^{(1)}h_t+b_d) Yd(1)=ReLU(Wd(1)ht+bd)
    Y d ( k ) = R e L U ( W d ( k ) Y d ( k − 1 ) + b d ( k ) ) Y_d^{(k)}=ReLU(W_d^{(k)}Y_d^{(k-1)}+b_d^{(k)}) Yd(k)=ReLU(Wd(k)Yd(k1)+bd(k))
    P t = o t ⊙ t a n h ( c t ) P_t=o_t\odot{tanh(c_t)} Pt=ottanh(ct)

你可能感兴趣的:(阅读论文,rnn,lstm)