EvolveGCN:动态图的参数演化图卷积网络 AAAI2020

EvolveGCN: Evolving Graph Convolutional Networks for Dynamic Graphs

论文链接.

Abstract

由于深度学习在欧几里得数据中的广泛应用,图表示学习重新成为一个趋势,它激发了非欧几里得领域(尤其是网络图)神经网络的各种创造性设计。随着这些图神经网络(GNN)在静态设置中的成功,我们进一步考虑图动态演化的实际场景。现有的方法通常利用节点嵌入,并使用递归神经网络(一般为 RNN)来调节嵌入和学习时间动态。这些方法需要了解一个节点的全部时间跨度(包括训练和测试),不能适应频繁变化的节点集。在一些极端情况下,不同时间步长的节点集可能完全不同。为了解决这个问题,我们提出了EvolveGCN,该EvolveGCN在时间维度上适配了图卷积网络(GCN)模型的训练,而没有使用节点嵌入。该方法利用RNN获得GCN参数来捕获图序列的动态性。本文提供了关于这种参数演化方法的两种体系结构。评估了所提出方法在常规任务如链路预测,边分类,和节点分类。实验结果表明,EvolveGCN具有比相关方法更高的性能。

Introduction

与欧几里得数据(例如图像、视频、语音信号和自然语言)相比,使用图形进行学习遇到了独特的挑战,包括它们的组合特性和可伸缩性瓶颈。因此图表示学习(在节点层面和图层面)具有极大的研究意义。

传统的研究中神经网络主要集中于给定的、静态图,而在现实生活应用中,我们会经常遇到动态演变的图,例如:

  1. 用户社交网络
  2. 引文网络
  3. 金融网络

这些例子推动了对关系数据的时间演化进行编码的动态图方法的发展。

在此工作中,我们通过引入递归机制来更新网络参数,以获取图的动态,将其扩展到动态设置。

对图神经网络的分析:

大部分的gnn通过递归地聚合单跳邻近的节点嵌入来执行信息融合。网络的大多数参数是每一层中嵌入的节点的线性变换。

类似的工作:将GNN与LSTM相融合

  • Structured sequence modeling with graph convolutional recurrent networks Seo, Y.; Defferrard, M.;
  • Dynamic graph convolutional networks.Manessia, F.; Rozza, A.; and Manzo, M. 2017
  • Learning graph dynamics using deep neural networks Narayan, A., and Roe, P. H. O. 2018.

EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第1张图片

这类问题的缺点:

As a result, one single GNN model is learned for all graphs on the temporal axis. A limitation of these methods is that they require the knowledge of the nodes over the whole time span and can hardly promise the performance on new nodes in the future.

在实践中,除了训练后可能出现新节点外,节点还可能频繁出现和消失,这使得节点嵌入方法存在问题,因为RNNs学习这些不规则行为是很有挑战性的。为了解决这些挑战,本文建议使用RNN在每个时间步长调节GCN模型(即网络参数)。这种方法有效地执行了模型调整,它关注于模型本身,而不是节点嵌入。因此,节点的变化没有限制。此外,对于未来具有没有历史信息的新节点的图,进化后的GCN对它们仍然是合理的。

另外,由于GCN模型并不参与训练,其参数由RNN负责计算,因此只有RNN的参数被训练,整个模型的参数大小并不会随着时间步的增加而增大。

Related work

动态图的方法通常是静态图的扩展,更多地关注时间维度和更新方案。
1、例如,在基于矩阵分解的方法中(Roweis和Saul 2000;Belkin和Niyogi 2002),节点嵌入来自于图Laplacian矩阵的(广义)特征向量。因此,DANE (Li et al. 2017)根据之前的特征向量有效地更新特征向量,而不是对每个新图从头开始计算特征向量。这种方法的主要优点是计算效率高。
2、对于基于随机行走的方法(Perozzi, Al-Rfou, and Skiena 2014;(Grover and Leskovec 2016),基于历史的转移概率建模为对应节点嵌入的归一化内积。这些方法使抽样随机游动的概率最大化。CTDANE (Nguyen等人,2018)通过要求walks服从时间秩序扩展了这一观点。另一项工作NetWalk (Yu et al. 2018)没有使用概率作为目标函数;相反,它观察到,如果图形没有发生实质性的变化,一个walk只需要在连续的时间步中重新取样几次行走。因此,这种方法通过热启动逐步重新训练模型,大大降低了计算成本。
3、在深度学习方面,例如:DynGEM (Goyal et al. 2017) 一种用来最小化重构损失与节点间距离的自编码器。
4、动态图的一种流行方法是时间连续的点过程。
5、另一种最相似的工作是将GNN与循环神经网络的结合。

whereby the former digest graph information and the latter handle dynamism

GCN:生成节点嵌入 + LSTM 捕获序列动态性

  • GCRN: Structured sequence modeling with graph convolutional recurrent networks
  • WD-GCN/CD-GCN (Manessia, Rozza, and Manzo 2017) and RgCNN (Narayan and Roe 2018).

ST-Conv: 时空卷积块 将GCN和1-D convolution结合

STGCN: STGCN (Yu, Yin, and Zhu 2018) proposes a complex architecture that consists of so-called ST-Conv blocks. In this model, the node features must be evolving over time, since inside each ST-Conv block, a 1D convolution of the node features is first performed along the temporal dimension, followed by a graph convolution and another 1D convolution.

Method

that captures the dynamism underlying a graph sequence by using a recurrent model to evolve the GCN parameters.

符号规定:
t:时间戳
l:GCN Layer
n:节点数(可变)
A t ∈ R n × n A_t \in R^{n \times n} AtRn×n为邻接矩阵(带权)
X t ∈ R n × d X_t \in R^{n \times d} XtRn×d为输入节点特征

3.1 GCN(基于频谱)
GCN的计算过程可以写为
在这里插入图片描述

其中
在这里插入图片描述

模型框架简要说明:
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第2张图片

其中的RNN可以为GRU或LSTM等循环神经网络

3.2 权重演化
所提出模型的核心在于权重矩阵 W t ( l ) W_t^{(l)} Wt(l)的更新,根据当前和历史信息,这种需求可以很自然的由递归结构实现。
第一种设置:将 W t ( l ) W_t^{(l)} Wt(l)作为动态系统的隐藏状态,使用GRU来根据系统t时刻下的输入更新隐藏层状态,
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第3张图片

第二种设置: 将 W t ( l ) W_t^{(l)} Wt(l)作为动态系统的输出(之后会成为下个时间点的输入),使用LSTM单元来建模输入输出关系,LSTM通过单元上下文来获得系统信息,在这个版本中节点嵌入不会被使用。
在这里插入图片描述

EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第4张图片

上图说明了两个版本的EvolveGCN。在每个版本中,左边是一个周期性的架构;中间是图形的卷积单元;右边是进化图的卷积单元。红色区域为单元输入信息,蓝色区域为输出信息。数学符号W表示GCN参数,H表示节点嵌入。时间t是从左到右,而神经网络层l是从下到上建立起来的。

自底向上链接这些单元,获得了一个时间步下的多层的GCN。然后,在水平方向展开时间,这些单元就会形成一个架构,其中信息 H t ( l ) H_t^{(l)} Ht(l) W t ( l ) W_t^{(l)} Wt(l)流动。称整个模型为进化图卷积网络(EvolveGCN)。

**3.3 Evolving Graph Convolution Unit (EGCU) **
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第5张图片

3.4 -H版本的实现
相较于标准GRU,EGCU-H的实现需要以下改造:

(a)将输入和隐藏状态从向量扩展到矩阵(因为隐藏状态现在是GCN权重矩阵);
(b)匹配输入的列维与隐藏状态的列维。

(a)的实现: 使用相同的GRU来处理GCN权值矩阵的每一列。
GRU的函数形式: 注意这里的X与H只表示输入矩阵与隐藏状态,与之前的定义不同。
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第6张图片

(b)的实现:
第二个要求是GRU输入的列数必须与隐藏状态的列数匹配。设后一个数为k。我们的策略是将所有节点嵌入向量汇总为k个具有代表性的向量(每个向量作为列向量)。下面的伪代码给出了一种常用的总结方法。按照惯例,它以一个多行矩阵Xt作为输入,生成一个只有k行的矩阵Zt(参见,(see, e.g., (Cangea et al. 2018; Gao and Ji 2019)). 总结需要一个参数向量p,它独立于时间指标t(但可能因不同的图卷积层而变化)。这个向量用于计算行权值,其中选择对应于topk权值的行权值,并进行加权输出。

EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第7张图片EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第8张图片

经过定义之后循环神经网络的计算过程为:
在这里插入图片描述
其中#col为列数。

3.5 -O版本的实现
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第9张图片

输入即为上一层的隐藏状态 H t − 1 H_{t-1} Ht1

版本的选择:
选择正确的版本取决于数据集。当节点特征是信息性的,-H版本可能更有效,因为它合并了额外的节点嵌入到递归网络中。另一方面,如果节点特性的信息量不大,但图结构起着更重要的作用,那么-O版本关注结构的变化,可能会更有效。

Experiments

在本节中,我们提供了一组全面的实验来证明EvolveGCN的有效性。该设置包括各种数据集、任务、比较方法和评估指标。超参数通过使用验证集进行调优,测试结果在最佳验证时期报告。

数据集

  • Stochastic Block Model SBM是一种常用的模拟群落结构和演化的随机图模型。我们遵循(Goyal et al. 2017)从模型中生成合成数据。
  • Bitcoin OTC. BC-OTC是一个whotrusts- whom比特币用户网络在平台http://www.bitcoin-otc.com上进行交易。该数据集可用于预测每个rating的极性,并预测用户是否将在下一个时间步骤中评价另一个用户。
  • Bitcoin Alpha. alpha和otc的创建方式相同,只是用户和评级来自于不同的交易平台:http://www。btc-alpha.com。
  • UC Irvine messages University of California学生社群,该社交网络的链接表明用户之间在发送信息。链路预测是这个数据集的标准任务。
  • Autonomous systems. AS是一个与对等点交换流量的路由器通信网络。该数据集可用于预测未来的消息交换。
  • Reddit Hyperlink Network. Reddit是一个从订阅到订阅的超链接网络,每个超链接都来自源社区的一篇文章,然后链接到目标社区的一篇文章。超链接带有情绪注释。该数据集可用于情感分类。
  • Elliptic. 是一个比特币交易网络,每个节点代表一笔交易,边表示支付流。大约20%的交易被映射到合法实体与非法实体之间的对比。其目的是对未标记的事务进行分类。
    EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第10张图片

任务
Link Prediction

The task of link prediction is to leverage information up to time t and predict the existence of an edge (u; v) at time t + 1. Since historical information has been encoded in the GCN parameters, we base the prediction on h u t h_u^t hut and h v t h_v^t hvt . To achieve so, we concatenate these two vectors and apply an MLP to obtain the link probability. As a standard practice, we perform negative sampling and optimize the cross-entropy loss function.

Edge Classification

Predicting the label of an edge (u; v) at time t is done in almost the same manner as link prediction: We concatenate h u t h_u^t hut and h v t h_v^t hvt and apply an MLP to obtain the class probability. Three data sets are used for experimentation for this task: BC-OTC, BC-Alpha, and Reddit. Evaluation metrics are precision, recall, and F1.

Node Classification

Predicting the label of a node u at time t follows the same practice of a standard GCN: The activation function of the last graph convolution layer is the softmax, so that h u t h_u^t hut is a probability vector. Publicly available data sets for node classification in the dynamic setting are rare. We use only one data set (Elliptic) for demonstration. This data set is the largest one in node count in Table 1. The evaluation metrics are the same as those for edge classification.

对比模型
GCN: one single GCN for all time steps
GCN-GRU: GCN model, co-trained with a recurrent model(GRU) on node embeddings
DynGEM: unsupervised node embedding approach, 基于图形的自动编码器的使用。autoencoder基于历史时间步长进行参数学习,在之后用于初始化当前时间步长下的参数进行更快的学习。
dyngraph2vec: 提出了dyngraph2vec, dyngraph2vecAE, dyngraph2vecRNN, dyngraph2vecAERNN4种变体,第一个类似于DynGEM,但是附加地合并了过去的节点信息以进行自动编码。其他的变体则使用RNN维护过去的节点信息。

实验结果:
Link Prediction:
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第11张图片

可以看出EvolveGCN模型在3个数据集上个的效果达到了最佳,但在剩余两个数据集上其好于GCN但仍然弱于Dyn等图自编码器模型,一定原因来自随机的初始化起点,虽然EvolveGCN在很大程度上优于GCN,但它仍然没有达到图自动编码所达到的效果。

Edge Classification:
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第12张图片

Node Classification:
使用Elliptic数据集,其中节点被划分为licit(合法交易)和illicit(非法交易)两种。
需要强调的是在金融犯罪鉴定中,illicit更加重要,因此绘制了minority F1(illicit),
EvolveGCN:动态图的参数演化图卷积网络 AAAI2020_第13张图片

Conclusion

传统方法使用GNN作为特征提取器,之后使用RNN来学习节点特征中的动态性,本文替代性地使用RNN来演化GNN,在获得网络参数的过程中捕捉其动态性。它的一个优点是可以更灵活地处理动态数据,因为节点不需要一直存在。实验结果表明,该方法在完成各种任务时,通常都优于相关的方法。

个人的理解:
传统的GNN+RNN的串联模型架构存在两个问题:

  1. 最后训练的到的模型,针对不同时期的所有图都只有一套参数,这需要节点拥有全时期的信息,同时也会影响GNN对节点嵌入的表示能力。
  2. 由于不同时期图的异构性,其嵌入表示有较大差异,这对后续RNN的动态特征提取造成了影响。

本文所提出方法将动态性提取的过程融合到了GCN的参数学习过程中,一定程度上解决了以上两个问题。

你可能感兴趣的:(神经网络基础,机器学习,深度学习,pytorch,神经网络)