33
MILE: A Multi-Level Framework for Scalable Graph Embedding Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy Ohio State University Presenter: Ryan McCampbell https://qdata.github.io/deep2Read Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University) MILE: A Multi-Level Framework for Scalable Graph Embedding Presenter: Ryan McCampbell https://qdata

MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

MILE: A Multi-Level Framework for Scalable GraphEmbedding

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy

Ohio State University

Presenter: Ryan McCampbellhttps://qdata.github.io/deep2Read

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 1 / 33

Page 2: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 2 / 33

Page 3: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 3 / 33

Page 4: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Introduction

We have discussed graph embeddings without end

But how well do these methods scale?

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 4 / 33

Page 5: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Introduction

Random walk-based methods

DeepWalkNode2VecRequire lots of CPU time to generate enough walks

Matrix Factorization methods

GraRepNetMFRequire large objective matrix to factorCan easily require hundreds of GB

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 5 / 33

Page 6: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Introduction

Real-world graphs can have millions of nodes

Google knowledge graph - 570M entitiesFacebook friendship graph - 1.39B users with 1 trillion connections

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 6 / 33

Page 7: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Challenge

Can we scale up existing embedding techniques in an agnostic mannerso that they can be directly applied to larger datasets?

Can the quality of embeddings be strengthened by incorporating aholistic view of the graph?

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 7 / 33

Page 8: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 8 / 33

Page 9: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

MILE - MultI Level Embedding Framework

3-step process:

1 Repeatedly coarsen graph into smaller ones using hybrid matchingstrategy

2 Compute embeddings on coarsest graph using existing embeddingmethod

Inexpensive and less memory than full graphCaptures global structure

3 Novel refinement model - learn graph convolution network to refinethe embeddings from the coarsest graph to the original graph

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 9 / 33

Page 10: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

MILE Overview

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 10 / 33

Page 11: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 11 / 33

Page 12: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Graph Coarsening

Graph G0 repeatedly coarsened into smaller graphs G1, ...,Gm

To coarsen Gi to Gi+1, multiple nodes are collapsed to formsuper-nodes

Edges on super-nodes are union of original nodes’ edges

Set of nodes forming super-node called matching

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 12 / 33

Page 13: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Structural Equivalence Matching (SEM)

Two nodes are structurally equivalent if they are incident on the sameset of neighborhoods

If two vertices u and v in an unweighted graph G are structurallyequivalent, then their node embeddings derived from G will beidentical.

Structural equivalence matching is set of nodes that are structurallyequivalent to each other

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 13 / 33

Page 14: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Normalized Heavy Edge Matching (NHEM)

Heavy edge matching is pair of vertices with largest weight edgebetween them

Normalize weights:

Wi (u, v) =Ai (u, v)√

Di (u, u)Di (v , v)

Penalize weights of edges connected to high-degree nodes

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 14 / 33

Page 15: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Hybrid Matching Method

Combine SEM and NHEM

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 15 / 33

Page 16: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Matching Matrix

Matching matrix Mi ,i+1 stores matching info from Gi to Gi+1

Adjacency matrix is constructed from match matrix:

Ai+1 = MTi ,i+1AiMi ,i+1

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 16 / 33

Page 17: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Matching Matrix

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 17 / 33

Page 18: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Graph Coarsening Algorithm

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 18 / 33

Page 19: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 19 / 33

Page 20: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Base Embedding

After coarsening the graph for m iterations, apply graph embedding fon coarsest graph Gm

Agnostic to graph embedding method: can use any embeddingalgorithm

They tried DeepWalk, Node2Vec, GraRep, and NetMF

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 20 / 33

Page 21: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 21 / 33

Page 22: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Embeddings Refinement

Need to derive embeddings E for G0 from Gm

Infer embeddings Ei from Ei+1

Projected embeddings:

Epi = Mi ,i+1Ei+1

Embedding of super-node copied to original nodesNodes will share same embeddings

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 22 / 33

Page 23: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Graph Convolution Network

Graph convolution:X ∗G g = UθgU

TX

θ: Spectral multipliers, U: eigenvectors of normalized Laplacian

Fast approximation:

X ∗G g ≈ D−1/2AD−1/2XΘ

A = A + λD, D(i , i) =∑

j A(i , j)λ hyper-parameterΘ trainable weight

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 23 / 33

Page 24: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Graph Convolution Network

Refine embeddings using graph convolution network

Ei = R(Epi ,Ai ) = H(l)(Ep

i ,Ai )

H(k)(X ,A) = σ(D−1/2AD−1/2H(k−1)(X ,A)Θ(k))

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 24 / 33

Page 25: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Model Learning

We can run base embedding on Gi to generate ”ground-truth”embeddings for training loss

Learn Θ(k) on coarsest graph and reuse them across all levels

Use base embedding on coarsest graph to get ground truthembeddings Em = f (Gm)

Further coarsen Gm to Gm+1 and get another embeddingEm+1 = f (Gm+1)

Predict R(Epm,Am) = H(l)(Mm,m+1Em+1,Am)

Loss:

L =1

|Vm|

∥∥∥Em − H(l)(Mm,m+1Em+1,Am)∥∥∥2

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 25 / 33

Page 26: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Model Learning

Problems with ”double-base” embedding

Requires extra coarsening and base embeddingEmbeddings may not be comparable since learned independently

Better method:

Copy Gm, eliminate extra coarsening and embeddingEm+1 = Em

L =1

|Vm|

∥∥∥Em − H(l)(Em,Am)∥∥∥2

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 26 / 33

Page 27: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Full Algorithm

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 27 / 33

Page 28: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 28 / 33

Page 29: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Results

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 29 / 33

Page 30: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Results

Figure: Performance of different methods and number of levels

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 30 / 33

Page 31: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Results

Figure: Memory consumption

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 31 / 33

Page 32: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Outline

1 Introduction

2 MILEGraph CoarseningBase EmbeddingEmbeddings Refinement

3 Results

4 Conclusions

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 32 / 33

Page 33: MILE: A Multi-Level Framework for Scalable Graph Embedding · 2020-01-26 · MILE - MultI Level Embedding Framework 3-step process: 1 Repeatedly coarsen graph into smaller ones using

Conclusions

MILE is:

scalableimproves embedding qualitysupports multiple embedding strategies

This makes graph learning applicable to much broader and moreinteresting applications

Credit: Jiongqian Liang, Saket Gurukar, Srinivasan Parthasarathy ( Ohio State University)MILE: A Multi-Level Framework for Scalable Graph EmbeddingPresenter: Ryan McCampbell https://qdata.github.io/deep2Read 33 / 33