Graphrnn: A Deep Generative Model For Graphs
Graphrnn: A Deep Generative Model For Graphs
Jiaxuan You, Rex Ying, Xiang Ren, William L. Hamilton, Jure Leskovec
Presented by: Jesse Bettencourt and Harris Chan
March 9, 2018
University of Toronto, Vector Institute
1
Introduction: Generative Model for Graphs
Goal:
Model and efficiently sample complex distributions over graphs
Learn generative model from observed set of graphs
2
Challenges in Graph Generation
Non-unique representations
Distributions over graphs without assuming fixed set of nodes
n node graph represented by up to n! equivalent adjacency matrices
π ∈ Π is arbitrary node ordering
3
Overview to GraphRNN
4
Modeling Graphs as Sequences
5
Modeling Graphs as Sequences
5
Modeling Graphs as Sequences
5
Modeling Graphs as Sequences
5
Modeling Graphs as Sequences
5
Distribution on Graphs → Distribution on Sequences
p(S π )1[fG (S π ) = G ]
X
p(G ) = (3)
Sπ
n+1
Y
P(S π ) = p(Siπ |S1π , . . . , Si−1
π
) (4)
i=1
n+1
Y
= p(Siπ |S<i
π
)
i=1
6
Motivating GraphRNN
Model p(G )
Distribution over graphs
↓
Model p(S π )
Distribution over sequence of edge connections
↓
π )
Model p(Siπ |S<i
Distribution over edge connections for i-th node
conditioned on previous nodes’ edge connections
parameterize with an expressive neural network
7
GraphRNN Framework
π
hi = ftrans (hi−1 , Si−1 ) (5)
θi = fout (hi ) (6)
Siπ ∼ Pθi
π
Si+1 ∼ Pθi+1
10
GraphRNN Inference Algorithm
12
GraphRNN Variants
13
GraphRNN Variants
i−1
Y
π
p(Siπ |S<i )= π
p(Si,j π
|Si,<j π
, S<i ) (7)
j=1
π
• Si,j ∈ {0, 1} indicating if node π(vi ) is connected to node π(vj )
• fout is a edge-level RNN generates the edges of a given node
14
Tractability via Breadth First Search (BFS)
15
BFS Order Leads To Fixed Size Siπ
16
Experiments
Datasets
17
Baseline Methods & Settings
Existing:
• Visual Inspection
• Simple comparisons of average statistics between the two sets
Proposed:
A metric based on Maximum Mean Discrepancy (MMD), to
compare all moments of their empirical distributions using an
exponential kernel with Wasserstein distance.
19
Graph Visualization
20
Comparison with traditional models
Deg. Clus. Orbit Deg. Clus. Orbit Deg. Clus. Orbit Deg. Clus. Orbit
E-R 0.021 1.243 0.049 0.508 1.288 0.232 1.011 0.018 0.900 0.145 1.779 1.135
B-A 0.268 0.322 0.047 0.275 0.973 0.095 1.860 0 0.720 1.401 1.706 0.920
Kronecker 0.259 1.685 0.069 0.108 0.975 0.052 1.074 0.008 0.080 0.084 0.441 0.288
MMSB 0.166 1.59 0.054 0.304 0.245 0.048 1.881 0.131 1.239 0.236 0.495 0.775
GraphRNN-S 0.055 0.016 0.041 0.090 0.006 0.043 0.029 10−5 0.011 0.057 0.102 0.037
GraphRNN 0.014 0.002 0.039 0.077 0.316 0.030 10−5 0 10−4 0.034 0.935 0.217
21
Comparison with Deep Learning Models & Generalization
Degree Clustering Orbit Train NLL Test NLL Degree Clustering Orbit Train NLL Test NLL
GraphVAE 0.35 0.98 0.54 13.55 25.48 0.13 0.17 0.05 12.45 14.28
DeepGMG 0.22 0.95 0.40 106.09 112.19 0.04 0.10 0.02 21.17 22.40
GraphRNN-S 0.02 0.15 0.01 31.24 35.94 0.002 0.05 0.0009 8.51 9.88
GraphRNN 0.03 0.03 0.01 28.95 35.10 0.0003 0.05 0.0009 9.05 10.61
22
Experiments: Evaluation with Graph Statistics