【论文笔记】Representation Learning on Graphs: Methods and Applications

Hamilton W L, Ying R, Leskovec J. Representation learning on graphs: Methods and applications[J]. arXiv preprint arXiv:1709.05584, 2017.

该论文是斯坦福大学的Jure组的博士生出的关于图表示学习的综述,系统的介绍了图表示学习领域目前的发展现状。

目标

图表示学习
目标 将网络信息转化为低维稠密的实数向量,并用于已有的机器学习算法的输入;用低维连续特征表示原有的高维离散特征
为什么需要 (1)数据高度稀疏(one-hot 编码/ 邻接矩阵)并且 N × N N \times N N×N 高维度
(2)节点之间的相似性难以度量
应用场景 节点分类、链接预测、社区发现、推荐系统
传统方法 采用人工选取的图的总结特征,如节点度数。缺点:人工选取的特征普适性差,并且耗时
表示的含义 (1)节点的全局位置(相邻节点具有相似的表示)
(2)节点的角色

基于高阶关系的表示学习:把网络顶点关系的相似性从一阶扩展到高阶。对各阶关系采用不一样的目标函数,然后将各阶关系获取的分布式表示进行拼接,进而获得顶点表示。

Node embedding(most common)

Edge embedding

  • Relations in knowledge graph
  • Link prediction

Sub-graph embedding

  • Substructure embedding
  • Community embedding

Whole-graph embedding

2 节点嵌入 Embedding Nodes

embedding global position 细分类型 代表工作
Shallow embedding Laplacian eigenmaps: GF 、HOPE
Random walk based DeepWalk、node2vec,LINE
Deep Learning based auto-encoder SDNE、DNGR
GCN / neighborhood aggregation GCN,GraphSAGE
embedding structural roles 细分类型 代表工作
随机游走 struc2vec,RolX
谱图理论 GraphWave

Transductive learning vs Inductive learning

Transductive learning: unlabelled data is the testing data

Inductive learning: unlabelled data is not the testing data

在训练过程中,已知testing data(unlabelled data)是transductive learing

在训练过程中,并不知道testing data ,训练好模型后去解决未知的testing data 是inductive learing

简单来说,transductive和inductive的区别在于我们想要预测的样本,是不是我们在训练的时候已经见(用)过的。

2.1 编码-解码视角 encoder-decoder perspective

2.2 浅层模型 Shallow embedding approaches

大多数embedding方法属于shallow embedding方法即浅层模型 (e.g. node2vec, DeepWalk, Laplcacian Eigenmaps),将节点映射到embedding向量的计算过程类似于查找
E N C ( v i ) = Z v i {\rm ENC}(\mathbf{v}_i)=\mathbf{Zv}_i ENC(vi)=Zvi
v i ∈ R ∣ V ∣ × 1 \mathbf{v}_i \in \R^{|V|\times 1} viRV×1 是一个one-hot向量,表示 Z Z Z中节点 v i v_i vi 对应的列, Z ∈ R d × ∣ V ∣ \mathbf{Z} \in \R^{d \times|V|} ZRd×V 是一个包含所有节点embedding向量的矩阵。shallow embedding方法直接训练矩阵 Z Z Z 。其decoder是计算节点pair-wise相似性。

Encoder-Decoder框架下现有的shallow embedding方法的缺点

  1. 向量化后的节点之间没有参数共享,完全是一种记忆化的模型存储和查询方式(Look-up),这对存储和计算都构成了不小的挑战。由于节点之间没有参数共享,也就大大损失了泛化能力。
  2. 目前大部分向量化方法,仅利用网络结构信息,并没有利用网络节点本身的属性(比如文本、图像和统计特征),使得结果向量对网络信息的存储很有限。
  3. 大部分模型是对静态网络结构的直推学习,并没有考虑网络时间演化过程中新节点的生成和旧节点的湮灭,不能直接生成训练中未存在节点的embedding。而网络的动态特性对理解其性质也至关重要。这个弱点甚至会影响向量化在动态网络上的效果。

2.2.1 基于矩阵分解 Factorization based

矩阵分解是传统的节点向量化方法,其思想就是对网络的邻接矩阵进行降维,给每个节点生成一个低维表示。

相似性度量:deterministic node similarity measure 确定性

Laplacian Eigenmaps

D E C ( z i , z j ) = ∣ ∣ z i − z j ∣ ∣ 2 2 {\rm DEC} (\mathbf{z}_i, \mathbf{z}_j) = || \mathbf{z}_i - \mathbf{z}_j||_{2}^{2} DEC(zi,zj)=zizj22

L = ∑ ( v i , v j ) ∈ D D E C ( z i , z j ) ⋅ s G ( v i , v j ) \mathcal {L} = \sum_{(v_i,v_j) \in \mathcal D } {{\rm DEC} (\mathbf{z}_i, \mathbf{z}_j) } \cdot s_{\mathcal G}(v_i,v_j) L=(vi,vj)DDEC(zi,zj)sG(vi,vj)

Inner-product methods

D E C ( z i , z j ) = z i T z j {\rm DEC} (\mathbf{z}_i, \mathbf{z}_j) = \mathbf{z}_i ^ \mathrm{ T } \mathbf{z}_j DEC(zi,zj)=ziTzj

L ≈ ∥ Z T Z − S ∥ 2 2 \mathcal L \approx \| \mathbf{Z} ^\mathrm{T} \mathbf{Z} - \mathbf{S} \|_2^2 LZTZS22 该方法的目标是对于每个节点学习embedding,使得embedding向量之间的内积近似于某种确定的相似性度量

2.2.2 基于随机游走 Random walk based

目标:优化节点embedding使得倾向于在较短的随机游走中同时出现的节点,具有相似embedding

相似性度量:flexible, stochastic measure of node similarity 随机性

DeepWalk & node2vec

DeepWalk 是最早提出的基于 Word2vec 的节点向量化模型。其主要思路,就是利用构造节点在网络上的随机游走路径,来模仿文本生成的过程,提供一个节点序列,再套用 Word2Vec 对每个节点进行嵌入表示。因为知道了节点 V 的前 k 个节点和后 k 个节点,就能很好地将网络邻居结构存入向量中。其目标就是最大化

Node2vec 是对 DeepWalk 的一种更广义的抽象,它引入了 biased-random walks,用来刻画每次随机游走是偏深度探索(DFS)还是广度探索(BFS),分别侧重社区结构和节点角色的信息。由于 node2vec 有 p 和 q 两个超参数,所以它是一个比较灵活的模型框架。后面也会讲到,它在节点分类问题中有着不俗的表现。

LINE

LINE(Large-scale Information Network Embeddings) 直观上看其实并没有用随机游走。但是[2]将其归类到随机游走的范畴,原因是它和 DeepWalk 的框架类似地应用了概率损失函数。即通过最小化节点 i , j i,j i,j相连的经验概率 p ^ ( i , j ) \hat{p}(i,j) p^(i,j) 与向量化后两个节点相似性 p ( v i , v j ) p(v_i,v_j) p(vi,vj)的距离,并且同时考虑了一阶和二阶相似度(优化两个损失函数),这和随机游走的底层动机是相似的。在实际计算过程中,作者引入了一系列预处理和优化方法(比如负采样),来加快学习性能。

2.3 基于深度学习 Deep Learning based

2.3.1 Neighborhood autoencoder methods

与shallow embedding的区别:使用深度神经网络,将图结构直接结合到encoder的算法中。具体地,使用自编码器,用来压缩节点邻居的信息。

缺点:

  • 自编码器输入维数被限制为 ∣ V ∣ |V| V,对于百万节点的大图计算耗时
  • 自编码器的结构和大小固定,strictly transductive,训练的模型无法用于新节点。
Shallow Embedding Neighborhood Autoencoder
直接将邻居信息作为输入
输入 相似度 s i s_i si 节点id

SDNE

SDNE(Structural Deep Network Embeddings) 将节点的相似性向量 s i s_i si直接作为模型的输入,通过 Auto-encoder 对这个向量进行降维压缩,得到其向量化后的结果 z i z_i zi。其损失函数定义为:
L = ∑ v i ∈ V ∥ D E C ( z i ) − s i ∥ 2 2 \mathcal L=\sum_{v_i \in V}\|{\rm DEC}(z_i)-s_i\|_2^2 L=viVDEC(zi)si22

2.3.2 Neighborhood aggregation and convolutional encoders

不需要利用整张图的邻居方法:

  • 通过本地邻居的聚合信息得到节点的embedding,与之前介绍方法不同,需要利用节点特征
  • 通常该方法被称为卷积的,因为用周围邻居的函数来表示该节点,类比于CV中卷积核的感受野

优点:

  • 直接将图结构结合到encoder
  • 使用了节点特征
  • 参数维数 sub-linear
  • 可以产生新节点的embedding

2.4 Incorporating task-specific supervision

结合label信息来学习embedding,在节点分类中得到广泛应用。使用交叉熵作为损失函数,代替decoder

2.5 Extensions to multi-modal graphs

上面介绍的都是基于简单的无向图,而真实世界有更复杂的图,如异构节点,边类型。

2.6 Embedding structural roles

以上所有方法的优化目标是使相邻节点具有相似表示,而在许多任务中更关注挖掘节点的结构角色(structural role)

struc2vec

从原始图 G \mathcal G G生成辅助图 G k ′ , k = { 1 , 2... } \mathcal G_k^{'} , k =\{1,2...\} Gk,k={1,2...} G k ′ \mathcal G_k^{'} Gk表示节点的k步到达的近邻的结构相似性。使用 R k ( v i ) R_k(v_i) Rk(vi)表示从节点 v i v_i vi 出发k步到达的节点的度的序列,边的权重 w k ( v i , v j ) w_k(v_i,v_j) wk(vi,vj)在辅助图中递归定义为:
w k ( v i , v j ) = w k − 1 ( v i , v j ) + d ( R k ( v i ) , R k ( v j ) ) w_k(v_i,v_j)=w_{k-1}(v_i,v_j)+d(R_k(v_i),R_k(v_j)) wk(vi,vj)=wk1(vi,vj)+d(Rk(vi),Rk(vj))
d ( R k ( v i ) , R k ( v j ) ) d(R_k(v_i),R_k(v_j)) d(Rk(vi),Rk(vj)) 表示度序列之间的距离。在计算完辅助图中的统计后,struc2vec在这些辅助图上跑biased random walks,将随机游走值作为输入到node2vec优化算法

GraphWave

使用谱图理论

2.7 Applications of Node Embedding

可视化 因为节点映射到实数向量,可以利用t-SNE/PCA生成二维的图可视化
聚类/社团发现 因为节点映射到实数向量,可以利用聚类算法,不仅可以发现社团,还可捕捉不同节点的角色
节点分类/半监督
链接预测

3 Embedding subgraphs

将节点和编码为低维的向量表示,可以是完整的图 ( S ⊂ V ) (\mathcal S \subset \mathcal V) (SV)或者子图 ( S = V ) (\mathcal S = \mathcal V) (S=V)

在子图上进行表示学习与graph kernel的设计密切相关。

3.1 Sets of node embeddings and convolutional approaches

基本思路:将子图等价为节点嵌入的集合,再利用聚合模块将对应子图的节点嵌入聚合

不同的方法之间的区别是聚合的方式不同。

Sum-based approaches

对子图中的节点嵌入进行求和

Graph-coarsening approaches

对图进行粗粒度化,对粗粒度化层的图进行节点聚类

3.2 Graph neural networks(GNNs)

不同于聚合邻居信息,GNN将图作为节点之间消息传递的工具

3.3 Applications of subgraph embedding

主要用于子图分类,如分子图。

还用于图像分类(图像转换为图表示),逻辑推理等

4 Conclusion and future directions

目前图表示学习领域仍缺少一个一致的理论框架,准确地描述图表示学习的目标。

当前大多数工作隐含的目标是生成在特定的任务上表现较好的表示,如分类、链接预测、可视化。

Problems

目前network embedding方法的问题

scalability

大多数方法的测评假设了节点的属性,embedding和的边等都可以存在主存中,但是实际大图中无法做到,以分布式的形式存储。

Decoding higher-order motifs

研究可以decode复杂的motif的decoding算法

Higher-order organization of complex networks

时序相关的动态网络

Reasoning about large sets of candidate subgraphs

需要改进embedding方法使其能有效地在大量子图中进行推理。目前的方法,我们在学习之前需要预先定义目标子图。

Improving interpretability

提高可解释性

你可能感兴趣的:(网络表示学习,网络表示学习)