• 论文阅读 dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation Learning


    6 dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation Learning207

    link:https://scholar.google.com.hk/scholar_url?url=https://arxiv.org/pdf/1809.02657&hl=zh-TW&sa=X&ei=bSGfYviOJOOEywThnbSYCQ&scisig=AAGBfm0bzwUuDvjnCXStu1Abuajctfd1xw&oi=scholarr

    DTDG

    Abstract

    本文通过循环(在文中表示为LSTM)和稠密(在文中表现为autoencoder)网络学习图中的时间变换。

    Conclusion

    本文介绍了动态网络中用于捕获时间模式的dyngraph2vec模型。它学习了单个节点的进化模式,并提供了一种能够更精确地预测未来链接的嵌入方式。基于具有不同功能的架构,提出了模型的三种变体。实验表明,我们的模型可以在合成数据集和真实数据集上捕捉时间模式,并在链接预测方面优于最先进的方法。未来的研究方向如下:(1)通过扩展模型的可解释性,以更好地理解网络和时间的动态变化(2)自动超参数优化,提高精度;(3)通过图卷积学习节点属性,减少参数数量。

    Figure and table

    image-20220608000355791

    图1 表示用户A在每个时间步下,和上个朋友断交,与朋友的朋友建交(用这个例子说明当A与C建交时,基于静态网络的方法只能观察t + 1时刻的网络,无法确定下一个时间步A是和B还是D成为朋友。相反,观察多个快照可以捕捉网络动态,并高确定性地预测A与D的连接)

    image-20220608004632336

    图2 不同模型下的社区转移

    image-20220608004830144

    图3 社区转移的具体例子 从500个点中选50个作为样例说明

    image-20220608005233132

    图4 动态图嵌入的Dyngraph2vec模型架构变体。

    image-20220608005303352

    表1 数据集参数

    image-20220608005355926

    图5 SBM数据集的MAP值。

    image-20220608005514746

    图6 Hep-th数据集的MAP值

    image-20220608005558124

    图7 AS数据集的MAP值

    image-20220608005711955

    表2 不同嵌入尺寸的平均MAP值

    image-20220608010127156

    图8 在Hep-th数据集下,各种回看值(由lookback翻译来,下同)的平均MAP值。

    image-20220608010440146

    图9 在AS数据集下,各种回看值(由lookback翻译来,下同)的平均MAP值。

    image-20220608010459258

    图10 在Hep-th数据集的训练数据中,MAP值随时间图数量(快照数量)的增加而增加

    image-20220608010735282

    图10 在AS数据集的训练数据中,MAP值随时间图数量(快照数量)的增加

    Introduction

    总结如下

    1 静态表示预测能力不如快照下的预测

    2 不同的边持续时间不同,DynamicTriad[15]、DynGEM[16]和TIMERS[17]方法假设模式持续时间较短(长度为2)只考虑之前的时间步长图来预测新链接。此外,DynGEM和TIMERS假设变化是平滑的,并使用正则化来禁止快速变化。

    3 所以本文提出了Dyngraph2vec,使用多个非线性层来学习每个网络中的结构模式。此外,它利用循环层来学习网络中的时间转换。循环层中的回顾参数控制学习到的时间模式的长度。

    本文的4点贡献

    1)提出了动态图嵌入模型dyngraph2vec,该模型捕捉时间动态。

    2)证明了捕获网络动态可以显著提高链路预测的性能。

    3)将展示模型的各种变化,以显示关键的优势和差异。

    4)发布了一个库DynamicGEM,实现了dyngraph2vec和最先进的动态嵌入方法的变体

    Method

    4. Methodology

    4.1. Problem Statement

    对于权重图G(V,E)G(V,E)VV为顶点集,EE为边集,AA为该图的邻接矩阵,即对于一条边(i,j)E(i,j)E, AijAij表示其权值,否则Aij=0Aij=0。图G的演化记为G={G1...GT}G={G1...GT},其中GtGt表示图在t时刻的状态。

    我们定义我们的问题如下:给定图GG的一个演化GG,目标是通过映射ff, 使得图中的节点映射到低位空间中表示为$ { y_{v_1}, . . . y_{v_t}} y_{v_t}vtf_t : { V_1, . . . , V_t, E_1, . . . E_t } →R^dy_{v_i} = f_i(v_1, . . . , v_i, E_1, . . . E_i)y_{v_i}y_{v_{i+1}}$所需的时间模式。换句话说,每个时间步的嵌入函数利用图演化的信息来捕捉网络动态,从而可以更精确地预测链路。

    4.2. Dyngraph2vec

    dyngraph2vec是一个深度学习模型,它将之前的一组图作为输入,并在下一个时间步生成作为输出的图,从而在每个时间步和多个时间步捕获顶点之间高度非线性的相互作用。因为嵌入可以捕获网络的链接时序演化,这使得我们可以去预测链接,模型通过优化以下损失函数学习时间步长t时的网络嵌入:

    Lt+l=(ˆAt+l+1At+l+1)B2F,=(f(At,,At+l)At+l+1)B2F.(1)

    t+d时刻的嵌入是图在t,t+1,...,t+l时刻的函数,即可写作yt+l=f(yt,yt+1,...,yt+l)(原文这里写的The embedding at time step t+d is a function of the graphs at time steps t, t+1, . . . , t+l where l is the temporal look back)

    这里用tt+l时间段的快照来预测t+l+1的图的情况,B作为权重矩阵,给存在的边加权为β,即

    if (i, j) in E[t+l+1] :
    	B[i][j] = beta
    else:
        B[i][j] = beta
    

    其中

    β为给定的超参数

    为哈达玛积

    基于图4所示的深度学习模型架构,提出了三种模型变体:

    (1) dyngraph2vecAE

    (2) dyngraph2vecRNN

    (3) dyngraph2vecAERNN

    三种方法只在映射函数f(.)的表述上有所不同。

    如果想把编码器扩展到动态图上使用,一个简单的方法是将关于以前l个图的快照信息作为输入添加到自动编码器中。

    因此,模型dyngraph2vecAE使用多个完全连接的层来对时间内和跨时间的节点互连进行建模。

    具体来说,对于节点u的邻居向量集u1..t=[aut,...,aut+l],第一层的隐藏表示为:

    y(1)ut=fa(W(1)AEu1..t+b(1))(2)

    其中

    fa为激活函数

    至此我一个一个参数看了一遍,想弄清楚(2)这个式子输入输出的维度,没看懂,他前面说以前l个图的信息作为输入添加到自动编码器中,在后面实验的分析阶段我看lookback的值l是大于0的值。也就是说对于上式来说,我想在lookback的值为l的情况下,得到节点u在t时刻的嵌入,我猜测上式的u1..t应改为u1..t=[autl,...,aut](下面的dyngraph2vecRNN和dyngraph2vecAERNN也一样),总不能为了得到t时刻的嵌入去输入tt+l时刻的状态吧,

    (作者原话:image-20220611140315669所以我我感觉这个地方应该是他写错了)

    其中aut表示为在t时刻节点u的邻接向量,autRn

    所以这里有几个维度,邻接向量的n即为n个节点,回顾值的l,输出维度d(1),所以W(1)AERd(1)×nl

    定义第k层的表示为

    y(k)ut=fa(W(k)AEy(k1)ut+b(k))(3)

    为了减少模型参数的数量(knld(1)),实现更有效的时序学习,提出了dyngraph2vecRNN和dyngraph2vecAERNN。

    dyngraph2vecRNN中引入LSTM的结构,公式模型如下

    贴一下知乎大佬关于lstm的解释:https://zhuanlan.zhihu.com/p/463363474

    y(1)ut=o(1)uttanh(C(1)ut)o(1)ut=σut(W(1)RNN[y(1)ut1,u1..t]+b(1)o)C(1)ut=f(1)utC(1)ut1+i(1)ut˜C(1)ut˜C(1)ut=tanh(W(1)C[y(1)ut1,u1..t+b(1)c])i(1)ut=σ(W(1)i[y(1)ut1,u1.t]+b(1)i)f(1)ut=σ(W(1)f[y(1)ut1,u1..t+b(1)f])

    其中

    Cut表示为单元记忆存储(cell memory&cell states)

    fut表示为遗忘门阈值

    o(1)ut表示为输出门阈值

    i(1)ut表示更新门的阈值

    ˜C(1)ut当前时刻的新信息(candidate values)有哪些需要添加到cell states

    b为偏置项

    在第一层链接l个LSTM将Cut和嵌入以链式的形式从tl传递到t时刻的LSTM那么第k层的表示如下:

    y(k)ut=o(k)uttanh(C(k)ut)o(k)ut=σut(W(k)RNN[y(k)ut1,y(k1)ut]+b(k)o)

    能看到,如果直接用lstm的架构,但节点u的邻居是一个稀疏向量,就会导致参数量变大,所以作者提出dyngraph2vecAERNN,利用autoencoder去降维表示后再过lstm去做时序的信息捕捉,可写为

    y(p)ut=fa(W(p)AERNNy(p1)ut+b(p))

    其中p为全连接编码器的输出层。然后将这个表示传递给LSTM网络

    y(p+1)ut=o(p+1)uttanh(C(p+1)ut)o(p+1)ut=σut(W(p+1)AERNN[y(p+1)ut1,y(p)ut]+b(p+1)o)

    然后将LSTM网络生成的隐藏表示传递给全连接解码器。

    4.3 Optimization

    使用随机梯度下降和(Adam)对模型进行优化。

    Experiment

    5. Experiments

    5.1 Datasets

    数据集

    5.2 baseline

    Optimal Singular Value Decomposition (OptimalSVD):

    Incremental Singular Value Decomposition (IncSVD):

    Rerun Singular Value Decomposition (RerunSVD or TIMERS):

    Dynamic Embedding using Dynamic Triad Closure Process(dynamicTriad) :

    Deep Embedding Method for Dynamic Graphs(dynGEM) :

    5.3. Evaluation Metrics

    在我们的实验中,我们通过使用时间步长t之前的所有图来评估我们的模型在时间步长t + 1的链路预测。评估方法为MAP

    6.Results and Analysis

    sota情况见图5,6,7

    超参数(lookback value and length of training sequence)影响见图8,9,10,11

    Summary

    读下来感觉下标和参数解释不太清楚,尤其是对于时序下标的编写,读起来要比较费劲甚至去猜作者什么意思,这篇论文告诉我在问题定义小节应该尽可能的把除了模型的其他参数解释明白(比如对邻居集的定义)。再回过来说模型,autoencoder+lstm的组合效果看起来还不错,感觉算是一种处理非欧时序结构的基础模型。

  • 相关阅读:
    Power Automate-当收到HTTP请求时触发流程
    Nginx安装教程-Linux
    【ROS入门】使用 ROS 动作(Action)机制实现目标请求、进度与完成结果的反馈
    MySQL常用函数汇总(字符串、时间函数等)
    基于JAVA疫情物质管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    C++避坑:基类函数有无virtual关键字,差别巨大
    Restyle起来!
    多位大佬合力讲解23种设计模式,这不是轻松拿下
    C# XML基础入门(XML文件内容增删改查清)
    GAN原理及代码实现
  • 原文地址:https://www.cnblogs.com/luoyoucode/p/16366184.html