一、文章概况
文章题目:《Graph Neural Networks: Methods, Applications, and Opportunities》
文章下载地址:[2108.10733] Graph Neural Networks: Methods, Applications, and Opportunities (arxiv.org)https://arxiv.org/abs/2108.10733 文章引用格式:LILAPATI WAIKHOM and RIPON PATGIRI. "Graph Neural Networks: Methods, Applications, and Opportunities" arXiv preprint, arXiv: 2108.10733, 2021.
项目地址:暂无
二、文章摘要
In the last decade or so, we have witnessed deep learning reinvigorating the machine learning feld. It has solved many problems in the domains of computer vision, speech recognition, natural language processing, and various other tasks with state-of-the-art performance. The data is generally represented in the Euclidean space in these domains. Various other domains conform to non-Euclidean space, for which graph is an ideal representation. Graphs are suitable for representing the dependencies and interrelationships between various entities. Traditionally, handcrafted features for graphs are incapable of providing the necessary inference for various tasks from this complex data representation. Recently, there is an emergence of employing various advances in deep learning to graph data-based tasks. This article provides a comprehensive survey of graph neural networks (GNNs) in each learning setting: supervised, unsupervised, semi-supervised, and self-supervised learning. Taxonomy of each graph based learning setting is provided with logical divisions of methods falling in the given learning setting. The approaches for each learning task are analyzed from both theoretical as well as empirical standpoints. Further, we provide general architecture guidelines for building GNNs. Various applications and benchmark datasets are also provided, along with open challenges still plaguing the general applicability of GNNs.
近些年来,深度学习解决了很多问题,也取得了许多成就。但是他们都是将数据表达在欧式空间中的,对于非欧式空间的域来说,图是一种理想的表示方式。图能够很方便的表达各种实体之间的内在关联和依赖。一般地,图中手工设计的特征,是不能够从复杂数据的表征中获得与各类任务相关的有用的推论。因此图便出现在深度学习中。本文基于监督、非监督、半监督、自监督模式来对GNN做一综述。本文从理论和实践两方面对每种模式进行了分析,且对于构建GNN提供了指导。最后提供了一些应用和数据集。
三、文章介绍
图在现实世界中随处可见,比如人际关系网,分子原子结构,生态系统,行星系统等。这些环境中,图的表示是非常常见的,因此亟需一种能够处理图的技术。而传统的机器学习方法,都是需要提取预先定义的特征,而深度学习则能够端到端的从原始数据学习表征。然而尽管深度学习取得了很多成就,但深度学习目前很难够表示因果推理和智能抽象。GNN则能够比较好的解决这些问题。
GNN可以分为四类,监督、非监督、半监督和自监督。
大部分非监督的GNN都是基于自编码(Auto-encoders)、对比学习(contrastive learning)或者随机游走(random walk concepts),
半监督的GNN是基于他们的嵌入特征(embedding characteristics),
自监督则基于训练策略和pretext tasks。
现有的一些GNN综述还包括:
1. GNN(GRAPH NEURAL NETWORKS)
图是边E和节点V的集合。
(1)图的变种(Variants of Graph)
自然界中有很多种图,其中最常见的是无向图。目前图的变种可以有以下这些类别:
有向图(Directed Graph):即节点的连接之间多了方向。
异构图(Heterogeneous Graph):即图的节点类型不同。在这种图中,数据必须使用one-hot格式。比较有名的模型是Heterogeneous Graph Attention Networks。
动态图(Dynamic Graph):即图的结构是会随时变化的,而且他们的输入也许也是动态的。
属性图(Atributed Graph):即图里面的边包含了其他信息,比如权重,类型。代表方法比如Relational-GCN。
(2)基于图数据的任务分类(Classification of Tasks based on hierarchies of Graph-Based data)
节点任务(Node Level Task):主要是一些关于节点的task,比如节点的聚类,分类、回归等。最著名的一个节点task是蛋白质折叠问题(protein folding problem)。也就是将蛋白质中的氨基酸视为节点,氨基酸之间的连接视为边。
边任务(Edge Level Task):包括连接预测和边的分类。最有名的一个任务就是推荐系统(recommendation system)。即用户行为和事件作为节点,用户和事件之间的交互作为边。另一个著名的任务就是生物医学图连接预测(biomedical graph link prediction),即药品表示为节点,药品之间的相互作用表示为边。
图任务(Graph Level Task):包括图的回归,分类,匹配任务。比较著名的问题是药物发现(Drugs discovery),即原子作为节点,化学键作为边;另一个问题是物理仿真(Physics simulation),即粒子作为节点,粒子之间的相互作用作为边。另外,图任务也可以分为多个子图任务(subgraph level),代表问题包括交通预测(trafc prediction),每条路的站点作为节点,路作为边。
2. GNN方法(METHODS OF GRAPH BASED DEEP LEARNING)
(1)基于图的监督学习(Graph-Based Supervised Learning)
即使用有标签数据的图神经网络,代表方法包括GBILI,RGCLI。
(2)基于图的非监督学习(Graph-Based Unsupervised Learning)
非监督的图神经网络的loss设置,主要依赖于图本身提取出的信息,比如节点,边,拓扑信息,属性等。非监督学习的代表有三类:①基于图的自编码器(Graph-Based Auto-encoders),代表方法GAE,VGAE,MGAE,GALA。②对比学习(Contrastive Learning),代表方法DGI,③随机游走(Random Walk),代表方法Deepwalk。一些基于图的非监督学习方法的总结如下表:
(3)基于图的半监督学习(Graph-Based Semi-Supervised Learning)
其中一些的关键创新点包含以下部分:①图嵌入(Graph Embedding),两种思路,一种是基于整个图的,另一种是基于单个节点的。所有的图嵌入都可以泛化到编码解码过程中,即如下所示:
②浅层图嵌入(Shallow Graph Embedding),主要使用一些矩阵分解(matrix factorization)的优化方法。尽管浅层图嵌入在半监督学习中取得了非常好的效果,但它也有很多难以克服的缺点。比如只能对单个修正的图生成嵌入,不能提取节点特征等;缺乏共享的参数,这就导致了参数量的巨大;节点特征没有使用;在训练过程中不会对额外的节点生成嵌入,因此它不能够用于一些归纳应用。
一些主要的半监督学习方法如下:
③深层图嵌入(Deep Graph Embedding.)主要使用的方法即自编码器。
(4)基于图的自监督学习(Graph-Based Self-Supervised Learning)
自监督学习的主要模型如下:
① 代理任务(Pretext task),主要有以下几类:掩膜特征回归(Masked Feature Regression (MFR)),比如图像复原(inpainting);辅助属性预测(Auxiliary Property Prediction),包括基于回归和基于分类的方法;同尺度比对(Same-Scale Contrasting),包括基于上下文和基于增加的方法;跨尺度比对(Cross-Scale Contrasting);混合自监督学习(Hybrid Self-supervised Learning.)
②自监督学习的训练策略,包括联合学习(Joint Learning),预训练及微调(Pre-training and Fine-tuning),无监督表示学习(Unsupervised Representation Learning)。
3. GNN的一般结构设计(GENERAL DESIGN ARCHITECTURE OF GNN)
一般的,一个GNN的结构如下所示:
本节将会逐步介绍GNN的模型结构,主要包括4个阶段,a)确定应用中的图结构。b)描述图的类型和尺度。c)设计损失函数。d)建立模型。
(1)图的结构(Structure of Graph)
两种,一种是有场景结构的,一种是无结构的。
(2)图的类型(Types of Graph)
图的类型可分为:有向图和无向图;同质图和异质图;静态图和动态图。图的尺度目前没有明显的大小区别,建议用空间复杂度来区分,即大于O(n^2)认为是大尺度。
(3)设计损失函数(Design Loss Function)
(4)建立模型(Build Model Using Computational Modules)
模型一般包含3个模块,传播模块,采样模块和池化模块。