/GRL

A learning notes and codes of Graph Representation Learning

Primary LanguageJupyter Notebook

Graph Representation Learning

一、图数据结构

很多数据都是图结构,例如社交网络、经济网络、生物医学网络、信息网络(互联网网站、学术引用)、互联网、神经网络。而网络是它们的通用语言,因此具备极大的研究价值。

图表示学习目标:获取高效的Embedding

图表示学习类型:

  1. 基于图结构的表示学习:对结点的向量表示只来源于图的拓扑结构,缺乏对图结点特征消息的表示。

  1. 基于图特征的表示学习:对结点的向量表示既包含了图的拓扑信息也包含了已有的特征向量。

二、应用场景

  • 节点分类 ——预测一个给定节点的类型
  • 链接预测 ——预测两个节点是否连接
  • 社群检测 ——识别密集连接的节点群
  • 网络相似度 ——两个子网络有多相似

二、基于图结构的表示学习模型

区别于词向量表示(e.g.,Word2Vec (学习笔记)),词向量表示的任务是将单词转换为包含语义的vectors,而基于图结构的表示学习目的是将图网络的节点(或边)表示为向量,图表示学习所涵盖的范围更广泛, e.g.,drug-drug network,drug-disease network,protein-protein network, electronic network.

Model Paper Note Source Code Train Script
DeepWalk [KDD 2014]DeepWalk: Online Learning of Social Representations DeepWalk:学习笔记 deepwalk.py run_deepwalk.py
LINE [WWW 2015]LINE: Large-scale Information Network Embedding LINE:学习笔记 line.py run_line.py
Node2Vec [KDD 2016]node2vec: Scalable Feature Learning for Networks Node2Vec:学习笔记 node2vec.py run_node2vec.py
SDNE [KDD 2016]Structural Deep Network Embedding
Struc2Vec [KDD 2017]struc2vec: Learning Node Representations from Structural Identity

三、基于图特征的表示学习模型

Model Paper Note Source Code Train Script
GCN [ICLR 2017]semi-supervised classification with graph convolutional networks
GraphSAGE [NeurIPS 2017]Inductive representation learning on large graphs
GAT [ICLR 2018]Graph Attention Networks

四、一些高效的图表示学习工具包

1、PyG

2、DGL

五、学习资料

[1] Standford CS224W
Machine Learning with Graphs
Insturctor: Prof. Jure Leskovec

[2] Representation Learning for Natural Language Processing
Chapter 8: Network Representation
Authors: Zhiyuan Liu, Yankai Lin, Maosong Sun
Springer, July 2020

[3] Hamilton W L. Graph representation learning[J]. Synthesis Lectures on Artifical Intelligence and Machine Learning, 2020, 14(3): 1-159.

[4] A Gentle Introduction to Graph Neural Networks, Google Research