论文阅读笔记#5
论文:dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation
作者:Palash Goyal ,Sujit Rokka Chhetri ,Arquimedes Canedo
Research Questions
现今研究的网络一般是有复杂动态变化和不断演进的。如图这个社交网络,A在不同时刻可能会与不同人成为好友。静态网络无法预测这些变化,但通过观察多个快照(snapshot )可以预测这些变化。这篇文章的目的就是通过时序快照来捕获潜在的网络动态演化。
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161235771-1772149217.png)
Innovation Point
- 在网络中使用多个非线性(non-linear )层来学习结构模式。
- 使用循环层来学习时序转变。
Basic knowledges
自编码器(autoencoders)
是前馈非循环神经网络,是一种无监督机器学习方法,具有非常好的提取数据特征表示的能力,它是深层置信网络的重要组成部分,在图像重构、聚类、机器翻译等方面有着广泛的应用。
可以将自动编码机看作由两个级联网络组成,第一个网络是一个编码器,负责接收输入 x,并将输入通过函数 h 变换为信号 y:\(y=h(x)\). 第二个网络将编码的信号 y 作为其输入,通过函数f得到重构的信号 r:\(r=f(y)=f(h(x))\)
定义误差 e 为原始输入 x 与重构信号 r 之差,e=x–r,网络训练的目标是减少均方误差(MSE),同 MLP 一样,误差被反向传播回隐藏层。
来源:http://c.biancheng.net/view/1958.html
![](http://c.biancheng.net/uploads/allimg/190111/2-1Z11115345S94.gif)
Methods
Motivating Example
作者使用了三步来捕捉网络动态。
- 从黄色社区中随机选择十个不同的nodes
- 随机添加三十条边在选中的nodes(图中红色)和蓝色社区的nodes中
- 选中的nodes由黄色向蓝色转移,同时边也在按概率增加或移除
- 重复以上三步观察变化
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161236061-1945925312.png)
文章的目的也变得明了,学习这10个nodes在社区中变化的embeddings predictive 。
Problem Statement
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161236367-1773536145.png)
Dyngraph2vec
模型输入一组先前的图形,并在下一个时间步骤生成作为输出的图形。
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161236666-38802636.png)
模型通过优化损失函数来学习时间步t的网络嵌入。公式可视为预测出的t+l+1邻接矩阵与实际t+l+1的邻接矩阵的差与权重矩阵做elementwise product(两个同样维度的向量/矩阵每一个元素分别相乘)运算后所有元素的平方和。权重矩阵\(\mathscr{B}\)代表重构后可观察边权重值大于不可观察边。
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161236921-1805482974.png)
文章提出了三种变式:(i) dyngraph2vecAE, (ii) dyngraph2vecRNN, and (iii) dyngraph2vecAERNN
作者将以前的图信息嵌入到自编码器中来进行扩展。学习第一层的隐藏表示为:
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161237188-976725641.png)
\(u_{1..t}\)为邻域向量集,第k层定义为:
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161237392-84716769.png)
为了减少参数使时序学习更有效,文章提出了dyngraph2vecRNN and dyngraph2vecAERNN 并且使用的是RNN中的LSTM。
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161237614-1705521223.png)
由于LSTM比起高维稀疏矩阵在低维稠密矩阵上表现更好,作者提出了dyngraph2vecAERNN 使用全连接编码器初始获取低维隐藏表示。
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161237889-1898620366.png)
其中p表示全连接编码器的输出层。这个表示之后被传递到LSTM网络。
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161238105-1821272960.png)
Optimization
![](https://img2020.cnblogs.com/blog/1544951/202104/1544951-20210401161238340-1765680543.png)
在得到导数后,文章使用随机梯度下降(SGD)和自适应矩估计(Adam)对模型进行优化。