EvolveGCN: Evolving Graph Convolutional Networks for Dynamic Graphs
Aldo Pareja Giacomo Domeniconi Jie Chen Tengfei Ma Toyotaro Suzumura Hiroki Kanezashi Tim Kaler Tao B. Schardl Charles E. Leiserson


Multivariate analysis of covariance when standard assumptions are violated
    Georg ZimmermannGeorg Zimmermann, Department of Mathematics, Paris Lodron University, Hellbrunner Strasse 34, A 5020 Salzburg, Austria (georg.zimmermann@pmu.ac.at)

Department of Mathematics, Paris Lodron University, Salzburg, Austria 

Department of Neurology, Paracelsus Medical University, Salzburg, Austria

Spinal Cord Injury and Tissue Regeneration Centre Salzburg,
 Paracelsus Medical University, Salzburg, Austria

	Markus Pauly 
 Department of Statistics, Ulm University, Germany 

	Institute for Mathematical Statistics and Applications in Industry, 
TU Dortmund, Dortmund, Germany

	Arne C. Bathke 

	Department of Mathematics, Paris Lodron University Salzburg, Austria 

	Department of Statistics, University of Kentucky, Lexington, KY, USA
    
====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================






  Graph representation learning resurges as a trending research subject owing to the widespread use of deep learning for Euclidean data, which inspire various creative designs of neural networks in the non-Euclidean domain, particularly graphs. With the success of these graph neural networks (GNN) in the static setting, we approach further practical scenarios where the graph dynamically evolves. Existing approaches typically resort to node embeddings and use a recurrent neural network (RNN, broadly speaking) to regulate the embeddings and learn the temporal dynamics. These methods require the knowledge of a node in the full time span (including both training and testing) and are less applicable to the frequent change of the node set. In some extreme scenarios, the node sets at different time steps may completely differ. To resolve this challenge, we propose EvolveGCN, which adapts the graph convolutional network (GCN) model along the temporal dimension without resorting to node embeddings. The proposed approach captures the dynamism of the graph sequence through using an RNN to evolve the GCN parameters. Two architectures are considered for the parameter evolution. We evaluate the proposed approach on tasks including link prediction, edge classification, and node classification. The experimental results indicate a generally higher performance of EvolveGCN compared with related approaches. The code is available at <https://github.com/IBM/EvolveGCN>.






§ INTRODUCTION

Graphs are ubiquitous data structures that model the pairwise interactions between entities. Learning with graphs encounters unique challenges, including their combinatorial nature and the scalability bottleneck, compared with Euclidean data (e.g., images, videos, speech signals, and natural languages). With the remarkable success of deep learning for the latter data types, there exist renewed interests in the learning of graph representations <cit.> on both the node and the graph level, now parameterized by deep neural networks <cit.>.

These neural network models generally focus on a given, static graph. In real-life applications, however, often one encounters a dynamically evolving graph. For example, users of a social network develop friendship over time; hence, the vectorial representation of the users should be updated accordingly to reflect the temporal evolution of their social relationship. Similarly, a citation network of scientific articles is constantly enriched due to frequent publications of new work citing prior art. Thus, the influence, and even sometimes the categorization, of an article varies along time. Update of the node embeddings to reflect this variation is desired. In financial networks, transactions naturally come with time stamps. The nature of a user account may change owing to the characteristics of the involved transactions (e.g., an account participates money laundering or a user becomes a victim of credit card fraud). Early detection of the change is crucial to the effectiveness of law enforcement and the minimization of loss to a financial institute. These examples urge the development of dynamic graph methods that encode the temporal evolution of relational data.

Built on the recent success of graph neural networks (GNN) for static graphs, in this work we extend them to the dynamic setting through introducing a recurrent mechanism to update the network parameters, for capturing the dynamism of the graphs. A plethora of GNNs perform information fusion through aggregating node embeddings from one-hop neighborhoods recursively. A majority of the parameters of the networks is the linear transformation of the node embeddings in each layer. We specifically focus on the graph convolutional network (GCN) <cit.> because of its simplicity and effectiveness. Then, we propose to use a recurrent neural network (RNN) to inject the dynamism into the parameters of the GCN, which forms an evolving sequence.

Work along a similar direction includes <cit.>, among others, which are based on a combination of GNNs (typically GCN) and RNNs (typically LSTM). These methods use GNNs as a feature extractor and RNNs for sequence learning from the extracted features (node embeddings). 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.

In practice, in addition to the likelihood that new nodes may emerge after training, nodes may also frequently appear and disappear, which renders the node embedding approaches questionable, because it is challenging for RNNs to learn these irregular behaviors. To resolve these challenges, we propose instead to use the RNN to regulate the GCN model (i.e., network parameters) at every time step. This approach effectively performs model adaptation, which focuses on the model itself rather than the node embeddings. Hence, change of nodes poses no restriction. Further, for future graphs with new nodes without historical information, the evolved GCN is still sensible for them.

Note that in the proposed method, the GCN parameters are not trained anymore. They are computed from the RNN and hence only the RNN parameters are trained. In this manner, the number of parameters (model size) does not grow with the number of time steps and the model is as manageable as a typical RNN.





§ RELATED WORK

Methods for dynamic graphs are often extensions of those for a static one, with an additional focus on the temporal dimension and update schemes. For example, in matrix factorization-based approaches <cit.>, node embeddings come from the (generalized) eigenvectors of the graph Laplacian matrix. Hence, DANE <cit.> updates the eigenvectors efficiently based on the prior ones, rather than computing them from scratch for each new graph. The dominant advantage of such methods is the computational efficiency.

For random walk-based approaches <cit.>, transition probabilities conditioned on history are modeled as the normalized inner products of the corresponding node embeddings. These approaches maximize the probabilities of the sampled random walks. CTDANE <cit.> extends this idea by requiring the walks to obey the temporal order. Another work, NetWalk <cit.>, does not use the probability as the objective function; rather, it observes that if the graph does not undergo substantial changes, one only needs to resample a few walks in the successive time step. Hence, this approach incrementally retrains the model with warm starts, substantially reducing the computational cost.

The wave of deep learning introduces a flourish of unsupervised and supervised approaches for parameterizing the quantities of interest with neural networks. DynGEM <cit.> is an autoencoding approach that minimizes the reconstruction loss, together with the distance between connected nodes in the embedding space. A feature of DynGEM is that the depth of the architecture is adaptive to the size of the graph; and the autoencoder learned from the past time step is used to initialize the training of the one in the following time.

A popular category of approaches for dynamic graphs is point processes that are continuous in time. Know-Evolve <cit.> and DyRep <cit.> model the occurrence of an edge as a point process and parameterize the intensity function by using a neural network, taking node embeddings as the input. DynamicTriad <cit.> uses a point process to model a more complex phenomenon—triadic closure—where a triad with three nodes is developed from an open one (a pair of nodes are not connected) to a closed one (all three pairs are connected). HTNE <cit.> similarly models the dynamism by using the Hawkes process, with additionally an attention mechanism to determine the influence of historical neighbors on the current neighbors of a node. These methods are advantageous for event time prediction because of the continuous nature of the process.

A set of approaches most relevant to this work is combinations of GNNs and recurrent architectures (e.g., LSTM), whereby the former digest graph information and the latter handle dynamism. The most explored GNNs in this context are of the convolutional style and we call them graph convolutional networks (GCN), following the terminology of the related work, although in other settings GCN specifically refers to the architecture proposed by <cit.>. GCRN <cit.> offers two combinations. The first one uses a GCN to obtain node embeddings, which are then fed into the LSTM that learns the dynamism. The second one is a modified LSTM that takes node features as input but replaces the fully connected layers therein by graph convolutions. The first idea is similarly explored in WD-GCN/CD-GCN <cit.> and RgCNN <cit.>. WD-GCN/CD-GCN modifies the graph convolution layers, most notably by adding a skip connection. In addition to such simple combinations, STGCN <cit.> 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. This architecture was demonstrated for spatiotemporal traffic data (hence the names STGCN and ST-Conv), where the spatial information is handled by using graph convolutions.







§ METHOD

In this section we present a novel method, coined evolving graph convolutional network (EvolveGCN), that captures the dynamism underlying a graph sequence by using a recurrent model to evolve the GCN parameters. Throughout we will use subscript t to denote the time index and superscript l to denote the GCN layer index. To avoid notational cluttering, we assume that all graphs have n nodes; although we reiterate that the node sets, as well as the cardinality, may change over time. Then, at time step t, the input data consists of the pair (A_t∈^n× n, X_t∈^n× d), where the former is the graph (weighted) adjacency matrix and the latter is the matrix of input node features. Specifically, each row of X_t is a d-dimensional feature vector of the corresponding node.





 §.§ Graph Convolutional Network (GCN)

A GCN <cit.> consists of multiple layers of graph convolution, which is similar to a perceptron but additionally has a neighborhood aggregation step motivated by spectral convolution. At time t, the l-th layer takes the adjacency matrix A_t and the node embedding matrix H_t^(l) as input, and uses a weight matrix W_t^(l) to update the node embedding matrix to H_t^(l+1) as output. Mathematically, we write

    H_t^(l+1)   = (A_t, H_t^(l), W_t^(l)) 
       := σ(A_t H_t^(l) W_t^(l)),

where A_t is a normalization of A_t defined as (omitting time index for clarity):

    A=D^-1/2AD^-1/2,
      A=A+I,
      D=(∑_jA_ij),

and σ is the activation function (typically ReLU) for all but the output layer. The initial embedding matrix comes from the node features; i.e., H_t^(0)=X_t. Let there be L layers of graph convolutions. For the output layer, the function σ may be considered the identity, in which case H_t^(L) contains high-level representations of the graph nodes transformed from the initial features; or it may be the softmax for node classification, in which case H_t^(L) consists of prediction probabilities.



Figure <ref> is a schematic illustration of the proposed EvolveGCN, wherein each time step contains one GCN indexed by time. The parameters of the GCN are the weight matrices W_t^(l), for different time steps t and layers l. Graph convolutions occur for a particular time but generate new information along the layers. Figure <ref> illustrates the computation at each layer. The relationship between H_t^(l), W_t^(l), and H_t^(l+1) is depicted in the middle part of the figure.







 §.§ Weight Evolution

At the heart of the proposed method is the update of the weight matrix W_t^(l) at time t based on current, as well as historical, information. This requirement can be naturally fulfilled by using a recurrent architecture, with two options.

The first option is to treat W_t^(l) as the hidden state of the dynamical system. We use a gated recurrent unit (GRU) to update the hidden state upon time-t input to the system. The input information naturally is the node embeddings H_t^(l). Abstractly, we write

    W_t^(l)_hidden state^GCN weights
    = (
    H_t^(l)_input^node embeddings,
    W_t-1^(l)_hidden state^GCN weights
    ),

with details deferred to a later subsection. The GRU may be replaced by other recurrent architectures, as long as the roles of W_t^(l), H_t^(l), and W_t-1^(l) are clear. We use “-H” to denote this version; see the left part of Figure <ref>(a).

The second option is to treat W_t^(l) as the output of the dynamical system (which becomes the input at the subsequent time step). We use a long short-term memory (LSTM) cell to model this input-output relationship. The LSTM itself maintains the system information by using a cell context, which acts like the hidden state of a GRU. In this version, node embeddings are not used at all. Abstractly, we write

    W_t^(l)_output^GCN weights
    = (
    W_t-1^(l)_input^GCN weights
    ),

with details deferred to a later subsection. The LSTM may be replaced by other recurrent architectures, as long as the roles of W_t^(l) and W_t-1^(l) are clear. We use “-O” to denote this version; see the left part of Figure <ref>(b).





 §.§ Evolving Graph Convolution Unit (EGCU)

Combining the graph convolution unit  presented in Section <ref> and a recurrent architecture presented in Section <ref>, we reach the evolving graph convolution unit (EGCU). Depending on the way that GCN weights are evolved, we have two versions:


In the -H version, the GCN weights are treated as hidden states of the recurrent architecture; whereas in the -O version, these weights are treated as input/outputs. In both versions, the EGCU performs graph convolutions along layers and meanwhile evolves the weight matrices over time.

Chaining the units bottom-up, we obtain a GCN with multiple layers for one time step. Then, unrolling over time horizontally, the units form a lattice on which information (H_t^(l) and W_t^(l)) flows. We call the overall model evolving graph convolutional network (EvolveGCN).





 §.§ Implementation of the -H Version

The -H version can be implemented by using a standard GRU, with two extensions: (a) extending the inputs and hidden states from vectors to matrices (because the hidden state is now the GCN weight matrices); and (b) matching the column dimension of the input with that of the hidden state.

The matrix extension is straightforward: One simply places the column vectors side by side to form a matrix. In other words, one uses the same GRU to process each column of the GCN weight matrix. For completeness, we write the matrix version of GRU in the following, by noting that all named variables (such as X_t and H_t) are only local variables; they are not to be confused with the mathematical notations we have been using so far. We use these local variable names so that the reader easily recognizes the GRU functionality.



The second requirement is that the number of columns of the GRU input must match that of the hidden state. Let the latter number be k. Our strategy is to summarize all the node embedding vectors into k representative ones (each used as a column vector). The following pseudocode gives one popular approach for this summarization. By convention, it takes a matrix X_t with many rows as input and produces a matrix Z_t with only k rows (see, e.g., <cit.>). The summarization requires a parameter vector p that is independent of the time index t (but may vary for different graph convolution layers). This vector is used to compute weights for the rows, among which the ones corresponding to the top k weights are selected and are weighted for output.



With the above functions g and summarize, we now completely specify the recurrent architecture:

    W_t^(l)   = (H_t^(l), W_t-1^(l)) 
       := g(summarize(H_t^(l), #col(W_t-1^(l)))^T, W_t-1^(l)),

where #col denotes the number of columns of a matrix and the superscript T denotes matrix transpose. Effectively, it summarizes the node embedding matrix H_t^(l) into one with appropriate dimensions and then evolves the weight matrix W_t-1^(l) in the past time step to W_t^(l) for the current time.

Note again that the recurrent hidden state may be realized by not only GRU, but also other RNN architectures as well.





 §.§ Implementation of the -O Version

Implementing the -O version requires only a straightforward extension of the standard LSTM from the vector version to the matrix version. The following is the pseudocode, where note again that all named variables are only local variables and they are not to be confused with the mathematical notations we have been using so far. We use these local variable names so that the reader easily recognizes the LSTM functionality.



With the above function f, we now completely specify the recurrent architecture:

    W_t^(l) = (W_t-1^(l))
      := f(W_t-1^(l)).

Note again that the recurrent input-output relationship may be realized by not only LSTM, but also other RNN architectures as well.





 §.§ Which Version to Use

Choosing the right version is data set dependent. When node features are informative, the -H version may be more effective, because it incorporates additionally node embedding in the recurrent network. On the other hand, if the node features are not much informative but the graph structure plays a more vital role, the -O version focuses on the change of the structure and may be more effective.





§ EXPERIMENTS

In this section, we present a comprehensive set of experiments to demonstrate the effectiveness of EvolveGCN. The setting includes a variety of data sets, tasks, compared methods, and evaluation metrics. Hyperparameters are tuned by using the validation set and test results are reported at the best validation epoch.





 §.§ Data Sets

We use a combination of synthetic and publicly available benchmark data sets for experiments.

5pt Stochastic Block Model.
(SBM for short)
SBM is a popularly used random graph model for simulating community structures and evolutions. We follow <cit.> to generate synthetic data from the model.

5pt Bitcoin OTC.
[<http://snap.stanford.edu/data/soc-sign-bitcoin-otc.html>]
(BC-OTC for short)
BC-OTC is a who-trusts-whom network of bitcoin users trading on the platform <http://www.bitcoin-otc.com>. The data set may be used for predicting the polarity of each rating and forecasting whether a user will rate another one in the next time step.

5pt Bitcoin Alpha.
[<http://snap.stanford.edu/data/soc-sign-bitcoin-alpha.html>]
(BC-Alpha for short)
BC-Alpha is created in the same manner as is BC-OTC, except that the users and ratings come from a different trading platform, <http://www.btc-alpha.com>.

5pt UC Irvine messages.
[<http://konect.uni-koblenz.de/networks/opsahl-ucsocial>]
(UCI for short)
UCI is an online community of students from the University of California, Irvine, wherein the links of this social network indicate sent messages between users. Link prediction is a standard task for this data set.

5pt Autonomous systems.
[<http://snap.stanford.edu/data/as-733.html>]
(AS for short)
AS is a communication network of routers that exchange traffic flows with peers. This data set may be used to forecast message exchanges in the future.

5pt Reddit Hyperlink Network.
[<http://snap.stanford.edu/data/soc-RedditHyperlinks.html>]
(Reddit for short)
Reddit is a subreddit-to-subreddit hyperlink network, where each hyperlink originates from a post in the source community and links to a post in the target community. The hyperlinks are annotated with sentiment. The data set may be used for sentiment classification.

5pt Elliptic.
[<https://www.kaggle.com/ellipticco/elliptic-data-set>]
Elliptic is a network of bitcoin transactions, wherein each node represents one transaction and the edges indicate payment flows. Approximately 20% of the transactions have been mapped to real entities belonging to licit categories versus illicit ones. The aim is to categorize the unlabeled transactions.

These data sets are summarized in Table <ref>. Training/validation/test splits are done along the temporal dimension. The temporal granularity is case dependent but we use all available information of the data sets, except AS for which we use only the first 100 days following <cit.>.







 §.§ Tasks

The proposed EvolveGCN supports three predictive tasks elaborated below. The model for producing the embeddings and the predictive model are trained end to end. The output embedding of a node u by GCN at time t is denoted by h_t^u.

5pt 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_t^u and h_t^v. 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.

Five data sets are used for experimentation for this task. See the header of Table <ref>. Evaluation metrics include mean average precision (MAP) and mean reciprocal rank (MRR).

5pt 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_t^u and h_t^v 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.

5pt 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_t^u 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 <ref>. The evaluation metrics are the same as those for edge classification.





 §.§ Compared Methods

We compare the two versions of the proposed method, EvolveGCN-H and EvolveGCN-O, with the following four baselines (two supervised and two unsupervised).

5pt GCN. The first one is GCN without any temporal modeling. We use one single GCN model for all time steps and the loss is accumulated along the time axis.

5pt GCN-GRU. The second one is also a single GCN model, but it is co-trained with a recurrent model (GRU) on node embeddings. We call this approach GCN-GRU, which is conceptually the same as Method 1 of <cit.>, except that their GNN is the ChebNet <cit.> and their recurrent model is the LSTM.

5pt DynGEM. <cit.> The third one is an unsupervised node embedding approach, based on the use of graph autoencoders. The autoencoder parameters learned at the past time step is used to initialize the ones of the current time for faster learning.

5pt dyngraph2vec. <cit.>
This method is also unsupervised. It has several variants: dyngraph2vecAE, dyngraph2vecRNN, and dyngraph2vecAERNN. The first one is similar to DynGEM, but additionally incorporates the past node information for autoencoding. The others use RNN to maintain the past node information.









 §.§ Additional Details

The data set Elliptic is equipped with handcrafted node features; and Reddit contains computed feature vectors. For all other data sets, we use one-hot node-degree as the input feature. Following convention, GCN has two layers and MLP has one layer. The embedding size of both GCN layers is set the same, to reduce the effort of hyperparameter tuning.

The time window for sequence learning is 10 time steps, except for SBM and Elliptic, where it is 5.





 §.§ Results for Link Prediction


The MAP and MRR are reported in Table <ref>. At least one version of EvolveGCN achieves the best result for each of the data sets SBM, UCI, and AS. For BC-OTC and BC-Alpha, EvolveGCN also outperforms the two GCN related baselines, but it is inferior to DynGEM and dyngraph2vec. These latter methods differ from others in that node embeddings are obtained in an unsupervised manner. It is surprising that unsupervised approaches are particularly good on certain data sets, given that the link prediction model is trained separately from graph autoencoding. In such a case, graph convolution does not seem to be sufficiently powerful in capturing the intrinsic similarity of the nodes, rendering a much inferior starting point for dynamic models to catch up. Although EvolveGCN improves over GCN substantially, it still does not reach the bar set by graph autoencoding.





 §.§ Results for Edge Classification


The F1 scores across different methods are compared in Figure <ref>, for the data sets BC-OTC, BC-Alpha, and Reddit. In all cases, the two EvolveGCN versions outperform GCN and GCN-GRU. Moreover, similar observations are made for the precision and the recall, which are omitted due to space limitation. These appealing results corroborate the effectiveness of the proposed method.







 §.§ Results for Node Classification


The F1 scores for the data set Elliptic are plotted also in Figure <ref>. In this data set, the classes correspond to licit and illicit transactions respectively and they are highly skewed. For financial crime forensic, the illicit class (minority) is the main interest. Hence, we plot the minority F1. The micro averages are all higher than 0.95 and not as informative. One sees that EvolveGCN-O performs better than the static GCN, but not so much as GCN-GRU. Indeed, dynamic models are more effective.

For an interesting phenomenon, we plot the history of the F1 scores along time in Figure <ref>. All methods perform poorly starting at step 43. This time is when the dark market shutdown occurred. Such an emerging event causes performance degrade for all methods, with non-dynamic models suffering the most. Even dynamic models are not able to perform reliably, because the emerging event has not been learned.







§ CONCLUSIONS

A plethora of neural network architectures were proposed recently for graph structured data and their effectiveness have been widely confirmed. In practical scenarios, however, we are often faced with graphs that are constantly evolving, rather than being conveniently static for a once-for-all investigation. The question is how neural networks handle such a dynamism. Combining GNN with RNN is a natural idea. Typical approaches use the GNN as a feature extractor and use an RNN to learn the dynamics from the extracted node features. We instead use the RNN to evolve the GNN, so that the dynamism is captured in the evolving network parameters. One advantage is that it handles more flexibly dynamic data, because a node does not need to be present all time around. Experimental results confirm that the proposed approach generally outperforms related ones for a variety of tasks, including link prediction, edge classification, and node classification.







aaai



