graphgan: graph representation learning with generative ...graphgan: graph representation learning...

8
GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang 1,2 , Jia Wang 3 , Jialin Wang 4,3 , Miao Zhao 3 , Weinan Zhang 1 , Fuzheng Zhang 2 , Xing Xie 2 and Minyi Guo 1* 1 Shanghai Jiao Tong University, [email protected], {wnzhang, myguo}@sjtu.edu.cn 2 Microsoft Research Asia, {fuzzhang, xing.xie}@microsoft.com 3 The Hong Kong Polytechnic University, {csjiawang, csmiaozhao}@comp.polyu.edu.hk 4 Huazhong University of Science and Technology, [email protected] Abstract The goal of graph representation learning is to embed each vertex in a graph into a low-dimensional vector space. Exist- ing graph representation learning methods can be classified into two categories: generative models that learn the under- lying connectivity distribution in the graph, and discrimina- tive models that predict the probability of edge existence be- tween a pair of vertices. In this paper, we propose Graph- GAN, an innovative graph representation learning framework unifying above two classes of methods, in which the genera- tive model and discriminative model play a game-theoretical minimax game. Specifically, for a given vertex, the genera- tive model tries to fit its underlying true connectivity distri- bution over all other vertices and produces “fake” samples to fool the discriminative model, while the discriminative model tries to detect whether the sampled vertex is from ground truth or generated by the generative model. With the competition between these two models, both of them can alternately and iteratively boost their performance. Moreover, when consid- ering the implementation of generative model, we propose a novel graph softmax to overcome the limitations of tradi- tional softmax function, which can be proven satisfying de- sirable properties of normalization, graph structure aware- ness, and computational efficiency. Through extensive exper- iments on real-world datasets, we demonstrate that Graph- GAN achieves substantial gains in a variety of applications, including link prediction, node classification, and recommen- dation, over state-of-the-art baselines. Introduction Graph representation learning, also known as network em- bedding, aims to represent each vertex in a graph (network) as a low-dimensional vector, which could facilitate tasks of network analysis and prediction over vertices and edges. Learned embeddings are capable to benefit a wide range of real-world applications such as link prediction (Gao, De- noyer, and Gallinari 2011), node classification (Tang, Ag- garwal, and Liu 2016), recommendation (Yu et al. 2014), visualization (Maaten and Hinton 2008), knowledge graph representation (Lin et al. 2015), clustering (Tian et al. 2014), text embedding (Tang, Qu, and Mei 2015), and social net- work analysis (Liu et al. 2016). Recently, researchers have * M. Guo is the corresponding author. Copyright c 2018, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved. examined applying representation learning methods to var- ious types of graphs, such as weighted graphs (Grover and Leskovec 2016), directed graphs (Zhou et al. 2017), signed graphs (Wang et al. 2017b), heterogeneous graphs (Wang et al. 2018), and attributed graphs (Huang, Li, and Hu 2017). In addition, several prior works also try to preserve spe- cific properties during the learning process, such as global structures (Wang, Cui, and Zhu 2016), community structures (Wang et al. 2017c), group information (Chen, Zhang, and Huang 2016), and asymmetric transitivity (Ou et al. 2016). Arguably, most existing methods of graph representation learning can be classified into two categories. The first is generative graph representation learning model (Perozzi, Al-Rfou, and Skiena 2014; Grover and Leskovec 2016; Zhou et al. 2017; Dong, Chawla, and Swami 2017; Li et al. 2017a). Similar to classic generative models such as Gaus- sian Mixture Model (Lindsay 1995) or Latent Dirichlet Al- location (Blei, Ng, and Jordan 2003), generative graph rep- resentation learning models assume that, for each vertex v c , there exists an underlying true connectivity distribution p true (v|v c ), which implies v c ’s connectivity preference (or relevance distribution) over all other vertices in the graph. The edges in the graph can thus be viewed as observed sam- ples generated by these conditional distributions, and these generative models learn vertex embeddings by maximizing the likelihood of edges in the graph. For example, DeepWalk (Perozzi, Al-Rfou, and Skiena 2014) uses random walk to sample “context” vertices for each vertex, and tries to maxi- mize the log-likelihood of observing context vertices for the given vertex. Node2vec (Grover and Leskovec 2016) further extends the idea by proposing a biased random walk proce- dure, which provides more flexibility when generating the context for a given vertex. The second kind of graph representation learning method is the discriminative model (Wang et al. 2018; Cao, Lu, and Xu 2016; Wang, Cui, and Zhu 2016; Li et al. 2017b). Differ- ent from generative models, discriminative graph represen- tation learning models do not treat edges as generated from an underlying conditional distribution, but aim to learn a classifier for predicting the existence of edges directly. Typ- ically, discriminative models consider two vertices v i and v j jointly as features, and predict the probability of an edge ex- isting between the two vertices, i.e., p ( edge|(v i ,v j ) ) , based on the training data in the graph. For instance, SDNE (Wang, arXiv:1711.08267v1 [cs.LG] 22 Nov 2017

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

GraphGAN: Graph Representation Learning with Generative Adversarial Nets

Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao Zhao3,Weinan Zhang1, Fuzheng Zhang2, Xing Xie2 and Minyi Guo1∗

1Shanghai Jiao Tong University, [email protected], {wnzhang, myguo}@sjtu.edu.cn2Microsoft Research Asia, {fuzzhang, xing.xie}@microsoft.com

3The Hong Kong Polytechnic University, {csjiawang, csmiaozhao}@comp.polyu.edu.hk4Huazhong University of Science and Technology, [email protected]

Abstract

The goal of graph representation learning is to embed eachvertex in a graph into a low-dimensional vector space. Exist-ing graph representation learning methods can be classifiedinto two categories: generative models that learn the under-lying connectivity distribution in the graph, and discrimina-tive models that predict the probability of edge existence be-tween a pair of vertices. In this paper, we propose Graph-GAN, an innovative graph representation learning frameworkunifying above two classes of methods, in which the genera-tive model and discriminative model play a game-theoreticalminimax game. Specifically, for a given vertex, the genera-tive model tries to fit its underlying true connectivity distri-bution over all other vertices and produces “fake” samples tofool the discriminative model, while the discriminative modeltries to detect whether the sampled vertex is from ground truthor generated by the generative model. With the competitionbetween these two models, both of them can alternately anditeratively boost their performance. Moreover, when consid-ering the implementation of generative model, we proposea novel graph softmax to overcome the limitations of tradi-tional softmax function, which can be proven satisfying de-sirable properties of normalization, graph structure aware-ness, and computational efficiency. Through extensive exper-iments on real-world datasets, we demonstrate that Graph-GAN achieves substantial gains in a variety of applications,including link prediction, node classification, and recommen-dation, over state-of-the-art baselines.

IntroductionGraph representation learning, also known as network em-bedding, aims to represent each vertex in a graph (network)as a low-dimensional vector, which could facilitate tasksof network analysis and prediction over vertices and edges.Learned embeddings are capable to benefit a wide range ofreal-world applications such as link prediction (Gao, De-noyer, and Gallinari 2011), node classification (Tang, Ag-garwal, and Liu 2016), recommendation (Yu et al. 2014),visualization (Maaten and Hinton 2008), knowledge graphrepresentation (Lin et al. 2015), clustering (Tian et al. 2014),text embedding (Tang, Qu, and Mei 2015), and social net-work analysis (Liu et al. 2016). Recently, researchers have∗M. Guo is the corresponding author.

Copyright c© 2018, Association for the Advancement of ArtificialIntelligence (www.aaai.org). All rights reserved.

examined applying representation learning methods to var-ious types of graphs, such as weighted graphs (Grover andLeskovec 2016), directed graphs (Zhou et al. 2017), signedgraphs (Wang et al. 2017b), heterogeneous graphs (Wang etal. 2018), and attributed graphs (Huang, Li, and Hu 2017).In addition, several prior works also try to preserve spe-cific properties during the learning process, such as globalstructures (Wang, Cui, and Zhu 2016), community structures(Wang et al. 2017c), group information (Chen, Zhang, andHuang 2016), and asymmetric transitivity (Ou et al. 2016).

Arguably, most existing methods of graph representationlearning can be classified into two categories. The first isgenerative graph representation learning model (Perozzi,Al-Rfou, and Skiena 2014; Grover and Leskovec 2016;Zhou et al. 2017; Dong, Chawla, and Swami 2017; Li et al.2017a). Similar to classic generative models such as Gaus-sian Mixture Model (Lindsay 1995) or Latent Dirichlet Al-location (Blei, Ng, and Jordan 2003), generative graph rep-resentation learning models assume that, for each vertexvc, there exists an underlying true connectivity distributionptrue(v|vc), which implies vc’s connectivity preference (orrelevance distribution) over all other vertices in the graph.The edges in the graph can thus be viewed as observed sam-ples generated by these conditional distributions, and thesegenerative models learn vertex embeddings by maximizingthe likelihood of edges in the graph. For example, DeepWalk(Perozzi, Al-Rfou, and Skiena 2014) uses random walk tosample “context” vertices for each vertex, and tries to maxi-mize the log-likelihood of observing context vertices for thegiven vertex. Node2vec (Grover and Leskovec 2016) furtherextends the idea by proposing a biased random walk proce-dure, which provides more flexibility when generating thecontext for a given vertex.

The second kind of graph representation learning methodis the discriminative model (Wang et al. 2018; Cao, Lu, andXu 2016; Wang, Cui, and Zhu 2016; Li et al. 2017b). Differ-ent from generative models, discriminative graph represen-tation learning models do not treat edges as generated froman underlying conditional distribution, but aim to learn aclassifier for predicting the existence of edges directly. Typ-ically, discriminative models consider two vertices vi and vjjointly as features, and predict the probability of an edge ex-isting between the two vertices, i.e., p

(edge|(vi, vj)

), based

on the training data in the graph. For instance, SDNE (Wang,

arX

iv:1

711.

0826

7v1

[cs

.LG

] 2

2 N

ov 2

017

Page 2: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

Cui, and Zhu 2016) uses the sparse adjacency vector of ver-tices as raw features for each vertex, and applies an autoen-coder to extract short and condense features for vertices un-der the supervision of edge existence. PPNE (Li et al. 2017b)directly learns vertex embeddings with supervised learningon positive samples (connected vertex pairs) and negativesamples (disconnected vertex pairs), also preserving the in-herent properties of vertices during the learning process.

Although generative and discriminative models are gen-erally two disjoint classes of graph representation learn-ing methods, they can be considered two sides of the samecoin (Wang et al. 2017a). In fact, LINE (Tang et al. 2015)has done a preliminary trial on implicitly combining thesetwo objectives (the first-order and second-order proximity,as called in LINE). Recently, Generative Adversarial Nets(GAN) (Goodfellow et al. 2014) have received a great dealof attention. By designing a game-theoretical minimax gameto combine generative and discriminative models, GAN andits variants achieve success in various applications, such asimage generation (Denton et al. 2015), sequence generation(Yu et al. 2017), dialogue generation (Li et al. 2017c), infor-mation retrieval (Wang et al. 2017a), and domain adaption(Zhang, Barzilay, and Jaakkola 2017).

Inspired by GAN, in this paper we propose GraphGAN,a novel framework that unifies generative and discrimina-tive thinking for graph representation learning. Specifically,we aim to train two models during the learning process ofGraphGAN: 1) Generator G(v|vc), which tries to fit the un-derlying true connectivity distribution ptrue(v|vc) as muchas possible, and generates the most likely vertices to be con-nected with vc; 2) Discriminator D(v, vc), which tries todistinguish well-connected vertex pairs from ill-connectedones, and calculates the probability of whether an edge ex-ists between v and vc. In the proposed GraphGAN, the gen-erator G and the discriminator D act as two players in aminimax game: the generator tries to produce the most indis-tinguishable “fake” vertices under guidance provided by thediscriminator, while the discriminator tries to draw a clearline between the ground truth and “counterfeits” to avoid be-ing fooled by the generator. Competition in this game drivesboth of them to improve their capability, until the generatoris indistinguishable from the true connectivity distribution.

Under the GraphGAN framework, we study the choicesof generator and discriminator. Unfortunately, we find thatthe traditional softmax function (and its variants) is not suit-able for the generator for two reasons: 1) softmax treats allother vertices in the graph equally for a given vertex, lackingthe consideration on graph structure and proximity informa-tion; 2) the calculation of softmax involves all vertices in thegraph, which is time-consuming and computationally ineffi-cient. To overcome these limitations, in GraphGAN we pro-pose a new implementation of generator called Graph Soft-max. Graph softmax provides a new definition of connec-tivity distribution in a graph. We prove graph softmax satis-fying desirable properties of normalization, graph structureawareness, and computational efficiency. Accordingly, wepropose a random-walk-based online generating strategy forgenerator, which is consistent with the definition of graphsoftmax and can greatly reduce computation complexity.

Empirically, we apply GraphGAN to three real-world sce-narios, i.e., link prediction, node classification, and recom-mendation, using five real-world graph-structured datasets.The experiment results show that GraphGAN achieves sub-stantial gains compared with state-of-the-art baselines in thefield of graph representation learning. Specifically, Graph-GAN outperforms baselines by 0.59% to 11.13% in linkprediction and by 0.95% to 21.71% in node classificationboth on Accuracy. Additionally, GraphGAN improves Pre-cision@20 by at least 38.56% and Recall@20 by at least52.33% in recommendation. We attribute the superiority ofGraphGAN to its unified adversarial learning framework aswell as the design of the proximity-aware graph softmax thatnaturally captures structural information from graphs.

Graph Generative Adversarial NetsIn this section, we introduce the framework of GraphGANand discuss the details of implementation and optimizationof the generator and the discriminator. We then present thegraph softmax implemented as the generator, and prove itssuperior properties over the traditional softmax function.

GraphGAN FrameworkWe formulate the generative adversarial nets for graph rep-resentation learning as follows. Let G = (V, E) be a givengraph, where V = {v1, ..., vV } represents the set of verticesand E = {eij}Vi,j=1 represents the set of edges. For a givenvertex vc, we define N (vc) as the set of vertices directlyconnected to vc, the size of which is typically much smallerthan the total number of vertices V . We denote the under-lying true connectivity distribution for vertex vc as condi-tional probability ptrue(v|vc), which reflects vc’s connectiv-ity preference distribution over all other vertices in V . Fromthis point of view, N (vc) can be seen as a set of observedsamples drawn from ptrue(v|vc). Given the graph G, we aimto learn the following two models:

Generator G(v|vc; θG), which tries to approximate theunderlying true connectivity distribution ptrue(v|vc), andgenerates (or selects, if more precise) the most likely ver-tices to be connected with vc from vertex set V .

Discriminator D(v, vc; θD), which aims to discriminatethe connectivity for the vertex pair (v, vc).D(v, vc; θD) out-puts a single scalar representing the probability of an edgeexisting between v and vc.

Generator G and discriminator D act as two opponents:generator G would try to fit ptrue(v|vc) perfectly and gen-erate relevant vertices similar to vc’s real immediate neigh-bors to deceive the discriminator, while discriminator D, onthe contrary, would try to detect whether these vertices areground-truth neighbors of vc or the ones generated by itscounterpart G. Formally, G and D are playing the followingtwo-player minimax game with value function V (G,D):

minθG

maxθD

V (G,D) =

V∑c=1

(Ev∼ptrue(·|vc)

[logD(v, vc; θD)

]+ Ev∼G(·|vc;θG)

[log(1−D(v, vc; θD)

)]).

(1)

Page 3: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

(∙ |𝑣𝑐; 𝜃𝐺)

𝑣𝑐

𝑝true(∙ |𝑣𝑐)samples

generates Dtrain

policy gradient

𝑣𝑐… …

𝑣𝑐

G ≈ 𝑝true…G

G underperforms in initial stage

G is approaching 𝑝trueduring adversarial training

G is hardly distinguishable from 𝑝true

Figure 1: Illustration of GraphGAN framework.

Based on Eq. (1), the optimal parameters of the genera-tor and the discriminator can be learned by alternately max-imizing and minimizing the value function V (G,D). TheGraphGAN framework is illustrated as shown in Figure 1. Ineach iteration, discriminator D is trained with positive sam-ples from ptrue(·|vc) (vertices in green) and negative sam-ples from generator G(·|vc; θG) (vertices with blue stripes),and generator G is updated with policy gradient under theguidance of D (detailed later in this section). CompetitionbetweenG andD drives both of them to improve their meth-ods until G is indistinguishable from the true connectivitydistribution. We discuss the implementation and optimiza-tion of D and G as follows.

Discriminator OptimizationGiven positive samples from true connectivity distributionand negative samples from the generator, the objective forthe discriminator is to maximize the log-probability of as-signing the correct labels to both positive and negative sam-ples, which could be solved by stochastic gradient ascent ifD is differentiable with respect to θD. In GraphGAN, wedefine D as the sigmoid function of the inner product of twoinput vertices:

D(v, vc) = σ(d>v dvc) =1

1 + exp(−d>v dvc), (2)

where dv,dvc ∈ Rk are the k-dimensional representationvectors of vertices v and vc respectively for discriminatorD,and θD is the union of all dv’s. Any discriminative modelcan serve as D here such as SDNE (Wang, Cui, and Zhu2016), and we leave the further study of choice of discrim-inator for future work. Note that Eq. (2) simply involves vand vc, which indicates that given a sample pair (v, vc), weneed to update only dv and dvc by ascending the gradientwith respect to them:

∇θDV (G,D) =

{∇θD logD(v, vc), if v ∼ ptrue;∇θD

(1− logD(v, vc)

), if v ∼ G.

(3)

Generator OptimizationIn contrast to discriminator, the generator aims to mini-mize the log-probability that the discriminator correctly as-signs negative labels to the samples generated by G. In

other words, the generator shifts its approximated connec-tivity distribution (through its parameters θG) to increase thescores of its generated samples, as judged byD. Because thesampling of v is discrete, following (Schulman et al. 2015;Yu et al. 2017), we propose computing the gradient ofV (G,D) with respect to θG by policy gradient:

∇θGV (G,D)

=∇θGV∑c=1

Ev∼G(·|vc)[log(1−D(v, vc)

)]=

V∑c=1

N∑i=1

∇θGG(vi|vc) log(1−D(vi, vc)

)=

V∑c=1

N∑i=1

G(vi|vc)∇θG logG(vi|vc) log(1−D(vi, vc)

)=

V∑c=1

Ev∼G(·|vc)[∇θG logG(v|vc) log

(1−D(v, vc)

)].

(4)

To understand the above formula, it is worth noting thatgradient ∇θGV (G,D) is an expected summation over thegradients ∇θG logG(v|vc; θG) weighted by log-probabilitylog(1−D(v, vc; θD)

), which, intuitively speaking, indicates

that vertices with a higher probability of being negative sam-ples will “tug” generator G stronger away from themselves,since we apply gradient descent on θG.

We now discuss the implementation of G. A straightfor-ward way is to define the generator as a softmax functionover all other vertices (Wang et al. 2017a), i.e.,

G(v|vc) =exp(g>v gvc)∑v 6=vc exp(g

>v gvc)

, (5)

where gv,gvc ∈ Rk are the k-dimensional representationvectors of vertex v and vc respectively for generator G, andθG is the union of all gv’s. Under this setting, to update θGin each iteration, we calculate the approximated connectiv-ity distribution G(v|vc; θG) based on Eq. (5), draw a set ofsamples (v, vc) randomly according to G, and update θG bystochastic gradient descent. Softmax provides a concise andintuitive definition for the connectivity distribution in G, butit has two limitations in graph representation learning: 1)The calculation of softmax in Eq. (5) involves all verticesin the graph, which implies that for each generated samplev, we need to calculate gradients ∇θG logG(v|vc; θG) andupdate all vertices. This is computationally inefficient, es-pecially for real-world large-scale graphs with millions ofvertices. 2) The graph structure encodes rich information ofproximity among vertices, but softmax completely ignoresthe utilization of structural information from graphs as ittreats vertices without any discrimination. Recently, hierar-chical softmax (Morin and Bengio 2005) and negative sam-pling (Mikolov et al. 2013) are popular alternatives to soft-max. Although these methods can alleviate the computationto some extent, neither of them considers structural informa-tion of a graph, thereby being unable to achieve satisfactoryperformance when applied to graph representation learning.

Page 4: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

Graph Softmax for GeneratorTo address the aforementioned problems, in GraphGAN wepropose a new alternative to softmax for the generator calledgraph softmax. The key idea of graph softmax is to define anew method of computing connectivity distribution in gen-erator G(·|vc; θG) that satisfies the following three desirableproperties:• Normalized. The generator should produce a valid proba-

bility distribution, i.e.,∑v 6=vc G(v|vc; θG) = 1.

• Graph-structure-aware. The generator should take advan-tage of the structural information of a graph to approxi-mate the true connectivity distribution. Intuitively, for twovertices in a graph, their connectivity probability shoulddecline with the increase of their shortest distance.

• Computationally efficient. Distinguishable from full soft-max, the computation of G(v|vc; θG) should only involvea small number of vertices in the graph.We discuss graph softmax in detail as follows. To calcu-

late the connectivity distribution G(·|vc; θG), we first per-form Breadth First Search (BFS) on the original graph Gstarting from vertex vc, which provides us with a BFS-treeTc rooted at vc. Given Tc, we denote Nc(v) as the set ofneighbors of v (i.e., vertices that are directly connected to v)in Tc, including its parent vertex and all child vertices if ex-ist. For a given vertex v and one of its neighbors vi ∈ Nc(v),we define the relevance probability of vi given v as

pc(vi|v) =exp(g>vigv)∑

vj∈Nc(v)exp(g>vjgv)

, (6)

which is actually a softmax function over Nc(v). To calcu-late G(v|vc; θG), note that each vertex v can be reached bya unique path from the root vc in Tc. Denote the path asPvc→v = (vr0 , vr1 , ..., vrm) where vr0 = vc and vrm = v.Then the graph softmax defines G(v|vc; θG) as follows:

G(v|vc) ,(∏m

j=1pc(vrj |vrj−1)

)· pc(vrm−1 |vrm), (7)

where pc(·|·) is the relevance probability defined in Eq. (6).We prove that our proposed graph softmax satisfies the

above three properties, i.e., graph softmax is normalized,graph-structure-aware, and computationally efficient.Theorem 1.

∑v 6=vc G(v|vc; θG) = 1 in graph softmax.

Proof. Before proving the theorem, we first give a proposi-tion as follows. Denote STv as the sub-tree rooted at v in Tc(v 6= vc). Then we have∑

vi∈STv

G(vi|vc) =∏m

j=1pc(vrj |vrj−1

), (8)

where (vr0 , vr1 , ..., vrm) is on the path Pvc→v , vr0 = vcand vrm = v. The proposition can be proved by bottom-upinduction on the BFS-tree Tc:

• For each leaf vertex v, we have∑vi∈STv

G(vi|vc; θG) =G(v|vc; θG) =

(∏mj=1 pc(vrj |vrj−1

))· pc(vrm−1

|vrm) =∏mj=1 pc(vrj |vrj−1). The last step is due to the fact that

leaf vertex v has only one neighbor (parent vertex vrm−1),

therefore, pc(vrm−1|vrm) = pc(vrm−1

|v) = 1.

• For each non-leaf vertex v, we denote Cc(v) as the set ofchildren vertices of v in Tc. By induction hypothesis, eachchildren vertex vk ∈ Cc(v) satisfies the proposition in Eq.(8). Thus we have∑

vi∈STv

G(vi|vc)

=G(v|vc) +∑

vk∈Cc(v)

∑vi∈STvk

G(vi|vc)

=(∏m

j=1pc(vrj |vrj−1)

)pc(vrm−1 |vrm)

+∑

vk∈Cc(v)

((∏m

j=1pc(vrj |vrj−1

))pc(vk|vrm)

)=( m∏j=1

pc(vrj |vrj−1))(pc(vrm−1 |v) +

∑vk∈Cc(v)

pc(vk|v))

=∏m

j=1pc(vrj |vrj−1

).

So far we have proven Eq. (8). Applying Eq. (8) to allchildren vertices of vc, we have

∑v 6=vc G(v|vc; θG) =∑

vk∈Cc(vc)∑v∈STvk

G(v|vc; θG) =∑vk∈Cc(vc) pc(vk|vc)

= 1.

Theorem 2. In graph softmax,G(v|vc; θG) decreases expo-nentially with the increase of the shortest distance betweenv and vc in original graph G.

Proof. According to the definition of graph softmax,G(v|vc; θG) is the product ofm+1 terms of relevance prob-ability, where m is the length of path Pvc→v . Note that m isalso the shortest distance between vc and v in graph G, sinceBFS-tree Tc preserves the shortest distances between vc andall other vertices in the original graph. Therefore, we con-clude that G(v|vc; θG) is exponentially proportional to theinverse of the shortest distance between v and vc in G.

Following Theorem 2, we further justify that graph soft-max characterizes the real pattern of connectivity distribu-tion precisely by conducting an empirical study in the ex-periment part.Theorem 3. In graph softmax, calculation of G(v|vc; θG)depends on O(d log V ) vertices, where d is average degreeof vertices and V is the number of vertices in graph G.

Proof. According to Eq. (6) and Eq. (7), the calculation ofG(v|vc; θG) involves two types of vertices: vertices on thepath Pvc→v and vertices directly connected to the path (i.e.,vertices whose distance from the path is 1). In general, themaximal length of the path is log V , which is the depth ofthe BFS-tree, and each vertex in the path is connected to dvertices on average. Therefore, the total number of involvedvertices in G(v|vc; θG) is O(d log V ).

Next, we discuss the generating (or sampling) strategy forgenerator G. A feasible way of generating vertices is to cal-culate G(v|vc; θG) for all vertices v 6= vc, and perform ran-dom sampling proportionally to their approximated connec-tivity probabilities. Here we propose an online generatingmethod, which is more computationally efficient and con-sistent with the definition of graph softmax. To generate a

Page 5: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

𝑣𝑐 𝑣𝑐(𝑣𝑟0)

0.7 0.3 0.1𝑣𝑟1

0.50.3

0.1

0.4

0.6

𝑣𝑟1𝑣𝑟1

𝑣𝑟2 𝑣𝑟2

𝑣𝑟1

𝑣𝑐(𝑣𝑟0) 𝑣𝑐(𝑣𝑟0)𝑣𝑐(𝑣𝑟0)

BFS-tree

𝑝𝑐 𝑣𝑟1 𝑣𝑐 = 0.7 𝑝𝑐 𝑣𝑟2 𝑣𝑟1 = 0.3

𝑣𝑟2

𝑝𝑐 𝑣𝑟1 𝑣𝑟2 = 0.6 𝐺 𝑣𝑟2 𝑣𝑐; 𝜃𝐺 = 0.7 × 0.3 × 0.6 = 0.126

Choose 𝑣𝑟1 Choose 𝑣𝑟2 Choose 𝑣𝑟1, sampling completed𝑣𝑟2 is the sampled vertex

Update all vertexes along the green path and all vertexes in green

Original graph 𝒢

Figure 2: Online generating strategy for generator G. The blue digits are the relevance probability pc(vi|v), and the blue solidarrow indicates the direction that G chooses to move in. Upon completion of sampling, the vertex with blue stripes is thesampled one, and all colored vertices in the rightmost tree require updating accordingly.

Algorithm 1 Online generating strategy for the generator

Require: BFS-tree Tc, representation vectors {gi}i∈VEnsure: generated sample vgen1: vpre ← vc, vcur ← vc;2: while true do3: Randomly select vi proportionally to pc(vi|vcur) in Eq. (6);4: if vi = vpre then5: vgen ← vcur;6: return vgen7: else8: vpre ← vcur , vcur ← vi;9: end if

10: end while

vertex, we perform a random walk starting at the root vc inTc with respect to the transition probability defined in Eq.(6). During the process of random walk, if the currently vis-ited vertex is v and generator G decides to visit v’s parent(i.e., turning around on the path) for the first time, then v ischosen as the generated vertex.

The online generating strategy for the generator is for-mally described in Algorithm 1. We denote the currentlyvisited vertex as vcur and the previously visited one asvpre. Note that Algorithm 1 terminates in O(log V ) steps,since the random-walk path will turn around at the latestwhen reaching leaf vertices. Similar to the computation ofgraph softmax, the complexity of the above online generat-ing method is O(d log V ), which is significantly lower thanthe offline method with a complexity of O(V ·d log V ). Fig-ure 2 gives an illustrative example of the generating strategyas well as the computation process of graph softmax. In eachstep of a random walk, a blue vertex vi is chosen out of allneighbors of vcur by random selection proportionally to therelevance probability pc(vi|vcur) defined in Eq. (6). Oncevi equals vpre, i.e., the random walk revisits vcur’s parentvpre, vcur would be sampled out (indicated as the vertexwith blue stripes in the figure), and all vertices along thepath Pvc→vcur

as well as the vertices that are directly con-nected to this path need to be updated according to Eq. (4),(6) and (7).

Finally, the overall logic of GraphGAN is summarized inAlgorithm 2. We provide time complexity analysis of Graph-GAN as follows. The complexity of BFS-tree constructionfor all vertices in line 2 is O

(V (V + E)

)= O(dV 2) since

the time complexity of BFS is O(V + E) (Cormen 2009).

Algorithm 2 GraphGAN frameworkRequire: dimension of embedding k, size of generating samples

s, size of discriminating samples tEnsure: generator G(v|vc; θG), discriminator D(v, vc; θD)1: Initialize and pre-train G(v|vc; θG) and D(v, vc; θD);2: Construct BFS-tree Tc for all vc ∈ V;3: while GraphGAN not converge do4: for G-steps do5: G(v|vc; θG) generates s vertices for each vertex vc ac-

cording to Algorithm 1;6: Update θG according to Eq. (4), (6) and (7);7: end for8: for D-steps do9: Sample t positive vertices from ground truth and t nega-

tive vertices from G(v|vc; θG) for each vertex vc;10: Update θD according to Eq. (2) and (3);11: end for12: end while13: return G(v|vc; θG) and D(v, vc; θD)

In each iteration, the complexity of both line 5 and line 6 isO(sV · d log V · k), and the complexity of line 9 and line 10is O(tV ·d log V ·k) and O(tV ·k), respectively. In general,if we treat k, s, t, and d as constants, the complexity of eachiteration in GraphGAN is O(V log V ).

ExperimentsIn this section, we evaluate the performance of GraphGAN1

on a series of real-world datasets. Specifically, we choosethree application scenarios for experiments, i.e., link predic-tion, node classification, and recommendation.

Experiments SetupWe utilize the following five datasets in our experiments:• arXiv-AstroPh2 is from the e-print arXiv and covers sci-

entific collaborations between authors with papers sub-mitted to the Astro Physics category. The vertices repre-sent authors and the edge indicates co-author relationship.This graph has 18,772 vertices and 198,110 edges.

• arXiv-GrQc3 is also from arXiv and covers scientific col-laborations between authors with papers submitted to the

1https://github.com/hwwang55/GraphGAN2https://snap.stanford.edu/data/ca-AstroPh.html3https://snap.stanford.edu/data/ca-GrQc.html

Page 6: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

2 3 4 5 6 7 8 9 10 11 12 130

0.01

0.02

0.03

0.04

0.05

Shortest distance

Pro

b. o

f edg

e ex

iste

nce

2 4 6 8 10 12−infty

−5

−4

−3

−2

−1

Log

prob

. of e

dge

exis

tenc

e

probability log probability

(a) arXiv-AstroPh

2 3 4 5 6 7 8 9 1011121314150

0.05

0.10

0.15

0.20

0.25

Shortest distance

Pro

b. o

f edg

e ex

iste

nce

5 10 15−infty

−4

−3

−2

−1

0

Log

prob

. of e

dge

exis

tenc

e

probability log probability

(b) arXiv-GrQc

Figure 3: The correlation between the probability of edgeexistence and the shortest distance for a given vertex pair.

General Relativity and Quantum Cosmology categories.This graph has 5,242 vertices and 14,496 edges.

• BlogCatalog4 is a network of social relationships of thebloggers listed on the BlogCatalog website. The labels ofvertices represent blogger interests inferred through themetadata provided by the bloggers. This graph has 10,312vertices, 333,982 edges, and 39 different labels.

• Wikipedia5 is a co-occurrence network of words appear-ing in the first 109 bytes of the Eglish Wikipedia dump.The labels represent the inferred Part-of-Speech (POS)tags of words. This graph has 4,777 vertices, 184,812edges, and 40 different labels.

• MovieLens-1M6 is a bipartite graph consisting of approx-imately 1 million ratings (edges) with 6,040 users and3,706 movies in MovieLens website.

We compare our proposed GraphGAN with the followingfour baselines for graph representation learning:

• DeepWalk (Perozzi, Al-Rfou, and Skiena 2014) adoptsrandom walk and Skip-Gram to learn vertex embeddings.

• LINE (Tang et al. 2015) preserves the first-order andsecond-order proximity among vertices in the graph.

• Node2vec (Grover and Leskovec 2016) is a variant ofDeepWalk and designs a biased random walk to learn ver-tex embeddings.

• Struc2vec (Ribeiro, Saverese, and Figueiredo 2017) cap-tures the structural identity of vertices in a graph.

For all three experiment scenarios, we perform stochasticgradient descent to update parameters in GraphGAN withlearning rate 0.001. In each iteration, we set s as 20 and t asthe number of positive samples in the test set for each ver-tex, then run G-steps and D-steps for 30 times, respectively.The dimension of representation vectors k for all methods isset as 20. The above hyper-parameters are chosen by crossvalidation. The final learned vertex representations are gi’s.Parameter settings for all baselines are as default.

Empirical StudyWe conduct an empirical study to investigate the real pat-tern of connectivity distribution in graphs. Specifically, fora given vertex pair, we aim to reveal how the probability ofedge existence changes with their shortest distance in the

4http://socialcomputing.asu.edu/datasets/BlogCatalog5http://www.mattmahoney.net/dc/textdata6https://grouplens.org/datasets/movielens/1m/

Table 1: Accuracy and Macro-F1 on arXiv-AstroPh andarXiv-GrQc in link prediction.

Model arXiv-AstroPh arXiv-GrQcAcc Macro-F1 Acc Macro-F1

DeepWalk 0.841 0.839 0.803 0.812LINE 0.820 0.814 0.764 0.761

Node2vec 0.845 0.854 0.844 0.842Struc2vec 0.821 0.810 0.780 0.776

GraphGAN 0.855 0.859 0.849 0.853

graph. To achieve this, we first randomly sample 1 millionvertex pairs from arXiv-AstroPh and arXiv-GrQc datasets,respectively. For each selected vertex pair, we remove theedge between them if it exists (because it is treated as hid-den ground truth), and calculate their shortest distance. Wecount the probability of edge existence for all possible short-est distances, and plot the results in Figure 3 (the discon-nected case is omitted). It is evident that the probability ofedge existence between vertex pair drops dramatically withthe increase of their shortest distance. We also plot the logprobability curves in Figure 3, which generally trends to-wards linear decline with R2 = 0.831 and 0.710. The abovefinding empirically demonstrates that the probability of edgeexistence between a pair of vertices is approximately ex-ponentially proportional to the inverse of their shortest dis-tance, which strongly proves that graph softmax captures theessence of real-world graphs according to Theorem 2.

Link PredictionIn link prediction, our goal is to predict whether there ex-ists an edge between two given vertices. Therefore, this taskshows the performance of edge predictability of differentgraph representation learning methods. We randomly hide10% of edges in the original graph as ground truth, and usethe left graph to train all graph representation learning mod-els. After training, we obtain the representation vectors forall vertices and use logistic regression method to predict theprobability of edge existence for a given vertex pair. Ourtest set consists of the hidden 10% vertex pairs (edges) inthe original graph as the positive samples and randomly se-lected disconnected vertex pairs as negative samples withequal number. We use arXiv-AstroPh and arXiv-GrQc asdatasets, and report the results of Accuracy and Macro-F1in Table 1. We have the following observations: 1) Perfor-mance of LINE and struc2vec is relatively poor in link pre-diction, as they cannot quite capture the pattern of edge exis-tence in graphs. 2) DeepWalk and node2vec perform betterthan LINE and struc2vec. This is probably because Deep-Walk and node2vec both utilize the random-walk-basedSkip-Gram model, which is better at extracting proximityinformation among vertices. 3) GraphGAN outperforms allthe baselines in link prediction. Specifically, GraphGANimproves Accuracy on arXiv-AstroPh and arXiv-GrQc by1.18% to 4.27% and 0.59% to 11.13%, respectively. Our ex-planation is that adversarial training provides GraphGAN ahigher learning flexibility than the single-model training forbaselines.

To intuitively understand the learning stability of Graph-GAN, we further illustrate the learning curves of the gener-

Page 7: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

1 20 40 60 80 100Iteration

0.6

0.7

0.8

0.9A

ccur

acy

/ Mac

ro-F

1

AccuracyMacro-F1

(a) Generator

1 20 40 60 80 100Iteration

0.6

0.7

0.8

0.9

Acc

urac

y / M

acro

-F1

AccuracyMacro-F1

(b) Discriminator

Figure 4: Learning curves of the generator and the discrimi-nator of GraphGAN on arXiv-GrQc in link prediction.

Table 2: Accuracy and Macro-F1 on BlogCatalog andWikipedia in node classification.

Model BlogCatalog WikipediaAcc Macro-F1 Acc Macro-F1

DeepWalk 0.225 0.214 0.194 0.183LINE 0.205 0.192 0.175 0.164

Node2vec 0.215 0.206 0.191 0.179Struc2vec 0.228 0.216 0.211 0.190

GraphGAN 0.232 0.221 0.213 0.194

ator and the discriminator on arXiv-GrQc in Figure 4. FromFigure 4 we observe that the minimax game in GraphGANarrives at an equilibrium where the generator performs out-standingly well after convergence, while performance of thediscriminator boosts at first but gradually falls below 0.8.Note that the discriminator does not degrade to a random-guess level, because the generator still provides lots of truenegative samples in practice. The result suggests that, differ-ent with IRGAN (Wang et al. 2017a), the design of graphsoftmax enables the generator in GraphGAN to draw sam-ples and learn vertex embeddings more efficiently.

Node ClassificationIn node classification, each vertex is assigned one or multi-ple labels. After we observe a fraction of vertices and theirlabels, we aim to predict labels for the remaining vertices.Therefore, the performance of node classification can revealthe distinguishability of vertices under different graph rep-resentation learning methods. To conduct the experiment,we train GraphGAN and baselines on the whole graph toobtain vertex representations, and use logistic regression asclassifier to perform node classification with 9:1 train-testratio. We use BlogCatalog and Wikipedia as datasets. Theresults of Accuracy and Macro-F1 are presented in Table2. As we can see, GraphGAN outperforms all baselines onboth datasets. For example, GraphGAN achieves gains of1.75% to 13.17% and 0.95% to 21.71% on Accuracy on twodatasets, respectively. This indicates that though GraphGANis directly designed to optimize the approximated connec-tivity distribution on edges, it can still effectively encode theinformation of vertices into the learned representations.

RecommendationWe use Movielens-1M as dataset for recommendation. Foreach user, we aim to recommend a set of movies whichhave not been watched but may be liked by the user. We

2 10 20 50 1000

0.05

0.10

0.15

K

Pre

cisi

on@

K

DeepWalkLINENode2vecStruc2vecGraphGAN

(a) Precision@K

2 10 20 50 1000

0.1

0.2

0.3

K

Rec

all@

K

DeepWalkLINENode2vecStruc2vecGraphGAN

(b) Recall@K

Figure 5: Precision@K and Recall@K on MovieLens-1M inrecommendation.

first treat all 4-star and 5-star ratings as edges to obtain abipartite graph, then randomly hide 10% of edges in theoriginal graph as the test set and construct a BFS-tree foreach user. Note that different from the above two exper-iment scenarios where the connectivity distribution is de-fined on all other vertices for certain vertex, in recommen-dation the probability of connectivity for one user is onlydistributed over a fraction of vertices, i.e., all movies, inthe graph. Therefore, we “shortcut” all user vertices in theBFS-tree (except the root) by adding direct edges within allmovie pairs that are linked by a user vertex. After train-ing and obtaining representations of users and movies, foreach user, we select K of his unwatched movies with thehighest inner product as the recommendation result. Theresults of Precision@K and Recall@K are shown in Fig-ure 5, from which we can observe that GraphGAN is con-sistently above all baselines, and achieves statistically sig-nificant improvements on both metrics. Take Precision@20as an example, GraphGAN outperforms DeepWalk, LINE,node2vec, and struc2vec by 38.56%, 59.60%, 124.95%, and156.85%, respectively. Therefore, we can draw the conclu-sion that GraphGAN maintains a more decent performancein ranking-based tasks compared with other graph represen-tation learning methods.

ConclusionsIn this paper, we propose GraphGAN that unifies twoschools of graph representation learning methodologies, i.e.,generative methods and discriminative methods, via adver-sarial training in a minimax game. Under the GraphGANframework, both the generator and the discriminator couldbenefit from each other: the generator is guided by the sig-nals from the discriminator and improves its generating per-formance, while the discriminator is pushed by the generatorto better distinguish ground truth from generated samples.Moreover, we propose graph softmax as the implementa-tion of the generator, which solves the inherent limitationsof the traditional softmax. We conduct experiments on fivereal-world datasets in three scenarios, and the results demon-strate that GraphGAN significantly outperforms strong base-lines in all experiments due to its adversarial framework andproximity-aware graph softmax.

AcknowledgmentsThis work was partially sponsored by the National Basic Re-search 973 Program of China under Grant 2015CB352403.

Page 8: GraphGAN: Graph Representation Learning with Generative ...GraphGAN: Graph Representation Learning with Generative Adversarial Nets Hongwei Wang1,2, Jia Wang3, Jialin Wang4,3, Miao

ReferencesBlei, D. M.; Ng, A. Y.; and Jordan, M. I. 2003. Latentdirichlet allocation. Journal of machine Learning research3(Jan):993–1022.Cao, S.; Lu, W.; and Xu, Q. 2016. Deep neural networks forlearning graph representations. In AAAI, 1145–1152.Chen, J.; Zhang, Q.; and Huang, X. 2016. Incorporate groupinformation to enhance network embedding. In CIKM,1901–1904. ACM.Cormen, T. H. 2009. Introduction to algorithms. MIT press.Denton, E. L.; Chintala, S.; Fergus, R.; et al. 2015. Deepgenerative image models using a laplacian pyramid of ad-versarial networks. In NIPS, 1486–1494.Dong, Y.; Chawla, N. V.; and Swami, A. 2017. metap-ath2vec: Scalable representation learning for heterogeneousnetworks. In KDD, 135–144. ACM.Gao, S.; Denoyer, L.; and Gallinari, P. 2011. Temporal linkprediction by integrating content and structure information.In CIKM, 1169–1174. ACM.Goodfellow, I.; Pouget-Abadie, J.; Mirza, M.; Xu, B.;Warde-Farley, D.; Ozair, S.; Courville, A.; and Bengio, Y.2014. Generative adversarial nets. In NIPS, 2672–2680.Grover, A., and Leskovec, J. 2016. node2vec: Scalable fea-ture learning for networks. In KDD, 855–864. ACM.Huang, X.; Li, J.; and Hu, X. 2017. Label informed at-tributed network embedding. In WSDM, 731–739. ACM.Li, C.; Li, Z.; Wang, S.; Yang, Y.; Zhang, X.; and Zhou, J.2017a. Semi-supervised network embedding. In Interna-tional Conference on Database Systems for Advanced Ap-plications, 131–147. Springer.Li, C.; Wang, S.; Yang, D.; Li, Z.; Yang, Y.; Zhang, X.; andZhou, J. 2017b. Ppne: Property preserving network embed-ding. In International Conference on Database Systems forAdvanced Applications, 163–179. Springer.Li, J.; Monroe, W.; Shi, T.; Ritter, A.; and Jurafsky, D.2017c. Adversarial learning for neural dialogue generation.arXiv preprint arXiv:1701.06547.Lin, Y.; Liu, Z.; Sun, M.; Liu, Y.; and Zhu, X. 2015. Learn-ing entity and relation embeddings for knowledge graphcompletion. In AAAI, 2181–2187.Lindsay, B. G. 1995. Mixture models: theory, geometry andapplications. In NSF-CBMS regional conference series inprobability and statistics, i–163. JSTOR.Liu, L.; Cheung, W. K.; Li, X.; and Liao, L. 2016. Aligningusers across social networks using network embedding. InIJCAI, 1774–1780.Maaten, L. v. d., and Hinton, G. 2008. Visualizing data usingt-sne. Journal of Machine Learning Research 9(Nov):2579–2605.Mikolov, T.; Sutskever, I.; Chen, K.; Corrado, G. S.; andDean, J. 2013. Distributed representations of words andphrases and their compositionality. In NIPS, 3111–3119.Morin, F., and Bengio, Y. 2005. Hierarchical probabilisticneural network language model. In Aistats, volume 5, 246–252.

Ou, M.; Cui, P.; Pei, J.; Zhang, Z.; and Zhu, W. 2016. Asym-metric transitivity preserving graph embedding. In KDD,1105–1114.Perozzi, B.; Al-Rfou, R.; and Skiena, S. 2014. Deepwalk:Online learning of social representations. In KDD, 701–710.ACM.Ribeiro, L. F.; Saverese, P. H.; and Figueiredo, D. R. 2017.struc2vec: Learning node representations from structuralidentity. In KDD, 385–394. ACM.Schulman, J.; Heess, N.; Weber, T.; and Abbeel, P. 2015.Gradient estimation using stochastic computation graphs. InNIPS, 3528–3536.Tang, J.; Aggarwal, C.; and Liu, H. 2016. Node classi-fication in signed social networks. In Proceedings of the2016 SIAM International Conference on Data Mining, 54–62. SIAM.Tang, J.; Qu, M.; Wang, M.; Zhang, M.; Yan, J.; and Mei,Q. 2015. Line: Large-scale information network embed-ding. In WWW, 1067–1077. International World Wide WebConferences Steering Committee.Tang, J.; Qu, M.; and Mei, Q. 2015. Pte: Predictive text em-bedding through large-scale heterogeneous text networks. InKDD, 1165–1174. ACM.Tian, F.; Gao, B.; Cui, Q.; Chen, E.; and Liu, T.-Y. 2014.Learning deep representations for graph clustering. In AAAI,1293–1299.Wang, J.; Yu, L.; Zhang, W.; Gong, Y.; Xu, Y.; Wang, B.;Zhang, P.; and Zhang, D. 2017a. Irgan: A minimax game forunifying generative and discriminative information retrievalmodels. In SIGIR. ACM.Wang, S.; Tang, J.; Aggarwal, C.; Chang, Y.; and Liu, H.2017b. Signed network embedding in social media. InProceedings of the 2017 SIAM International Conference onData Mining, 327–335. SIAM.Wang, X.; Cui, P.; Wang, J.; Pei, J.; Zhu, W.; and Yang,S. 2017c. Community preserving network embedding. InAAAI, 203–209.Wang, H.; Zhang, F.; Hou, M.; Xie, X.; Guo, M.; and Liu,Q. 2018. Shine: Signed heterogeneous information networkembedding for sentiment link prediction. In WSDM. ACM.Wang, D.; Cui, P.; and Zhu, W. 2016. Structural deep net-work embedding. In KDD, 1225–1234. ACM.Yu, X.; Ren, X.; Sun, Y.; Gu, Q.; Sturt, B.; Khandelwal, U.;Norick, B.; and Han, J. 2014. Personalized entity recom-mendation: A heterogeneous information network approach.In WSDM, 283–292. ACM.Yu, L.; Zhang, W.; Wang, J.; and Yu, Y. 2017. Seqgan:Sequence generative adversarial nets with policy gradient.In AAAI, 2852–2858.Zhang, Y.; Barzilay, R.; and Jaakkola, T. 2017. Aspect-augmented adversarial networks for domain adaptation.arXiv preprint arXiv:1701.00188.Zhou, C.; Liu, Y.; Liu, X.; Liu, Z.; and Gao, J. 2017. Scal-able graph embedding for asymmetric proximity. In AAAI,2942–2948.