看完你就明白什么是图神经网络

作者 : 开心源码 本文共2619个字,预计阅读时间需要7分钟 发布时间: 2022-05-14 共206人阅读

摘要:图神经网络是一种基于图结构的深度学习方法。

1.什么是图神经网络

图神经网络(Graph Neu做ral Networks, GNNs)是一种基于图结构的深度学习方法,从其定义中可以看出图神经网络主要由两部分组成,即“图”和“神经网络”。这里的“图”是图论中的图数据结构,“神经网络”是我们熟习的深度学习NN结构,如MLP,CNN,RNN等。要理解图神经网络我们需要先回顾一下“图”和“神经网络”的基本概念。

1.1图的定义

1.2典型神经网络

典型的神经网络结构有两条主线,一条主线是卷积神经网络,简称CNN,主要用于图像类数据的解决。另一条主线是循环神经网络,简称RNN,主要用于时序类数据的解决。因为神经网络结构的详情不是本篇的重点,因而在这里不做重点详情。只展现如下两图典型的CNN和RNN的结构:

下图展现了当前的主流神经网络结构以及适用的场景:

1.3图神经网络

根据上述对图和神经网络的回顾,我们可以看出,图神经网络就是借助神经网络的“能力”如深度特征抽取等来解决图结构的数据,因而对于图神经网络,其直观的结构应该如下图:

其中图结构的数据有许多,如社交网络图、交通路线图、人物关系图、分子结构图、计算结网络拓扑图等等。这些数据都可以作为图神经网络的输入。之后经过特定的神经网络结构,如MLP,CNN,RNN等的基于图结构的运算,可以完成对于图表示的分类,图的节点或者边的预测等功能。

2.为什么需要图神经网络

近年来,深度学习已经彻底改变了许多机器学习任务,从图像分类和视频解决,到语音识别和自然语言了解,这些任务中的数据通常表示在欧几里得空间中。然而,在越来越多的应用程序中,数据是从非欧几里得域生成的,并表示为具备复杂关系和对象之间相互依赖的图形。图数据的复杂性给现有的机器学习算法带来了巨大的挑战。下图左为图像(欧几里得空间),右为图(非欧几里得空间)。

传统的神经网络结构如CNN、RNN等都是接受欧几里得空间的数据作为输入,他们无法解决非欧几里得空间的数据结构,比方图和流行结构。因而对于此类数据,图神经网络就更加适合解决。近年来图神经网络的研究热度也不断提升,如下图所示:

3.图神经网络典型的应用场景

本章节基于图神经网络近年来的少量研究进展,展现一下图神经网络当前典型的应用场景以及少量典型的任务。

将图结构和节点内容信息作为模型的输入,GNNs的输出可以通过以下机制之一专注于不同的图分析任务:

Node-level输出用于点回归和分类任务。

Edge-level输出与边分类和链路预测任务相关。

Graph-level输出和图分类任务相关,比方图表示。

下面以典型论文为例详情几个GNNs的典型任务:

3.1图分类

我们知道很多有机物或者者化合物的分子结构都是可以用图结构来表示的,比方下图的4-nitroindole,该GNN的作用是训练一个图神经网络,接收一个分子结构来判断该分子结构会不会导致发生突变。在训练的过程中假如有现存的已标注的可导致发生突变的分子结构,我们即可以训练该图神经网络,而后用他来预测一个新的未知的分子会不会导致突变。

3.2图生成

我们知道在图像和语言的领域里分别有embedding和generation技术,比方常见的图像和语言生成技术,比方动态静态的预训练和词嵌入技术。相应的在图领域,我们也有图的嵌入表示比方graph embedding representation和图的generation技术。比方下图的graphvae,变分图自编码器就是一个图生成模型,其主要是为图中节点找寻合适的 Embedding 向量,并通过 Embedding 向量实现图重构。其中获取到的节点 Embedding 可以用于支撑下游任务。比方在新的分子结构生成发现中可以使用该技术来加快分子发现速度。

3.3社交网络分析

在社交网络分析中,实体之间的关系往往会是非常重要的特征,图结构就能很好的表示这种关系特征。如下图的社交网络图中,每个实体的关系可以用边来形容,这样在进行实体分类或者者关系分类时,利用图数据结构,完成特定任务的标注,即可以训练出一个图神经网络来完成此类任务。

3.4网络拓扑分析

网络的拓扑天然就是图结构的表示,计算机网络中的路由技术就是以图轮为基础的算路技术。同时网络中每两个节点之间也会有时延,丢包,抖动等网络KPI信息。这些点对之间的KPI往往是动态变化的,这就影响到了实时路由决策和优化的问题。比方当前链路的时延或者者丢包过大,路由算法就需要选择新的路径进行数据包传递。图神经网络在这个问题中即可以接收底层的网络拓扑、网络配置信息和流量矩阵信息来实时预测每一个点对,每一条流的试验丢包抖动,这样即可以更好的配合路由和优化算法,使能网络的自动驾驶。

4.图神经网络典型训练框架

4.1 Semi-supervised learning for node-level classification:

给定一个网络,其中部分节点被标记,其余节点未标记,ConvGNNs可以学习一个鲁棒模型,有效地识别未标记节点的类标签。为此,可以通过叠加一对图卷积层,而后是用于多类分类的softmax层来构建端到端框架。见图(a)

4.2 Supervised learning for graph-level classification:

图级分类的目的是预测整个图的类标签。该任务的端到端学习可以结合图卷积层、图池层和/或者readout层来实现。图卷积层负责准确的高级节点表示,图池层则扮演下采样的角色,每次都将每个图粗化成一个子结构。readout层将每个图的节点表示折叠成一个图表示。通过在图表示中应用一个多层感知器和一个softmax层,我们可以建立一个端到端图分类框架。见图(b)

4.3 Unsupervised learning for graph embedding:

当图中没有可用的类标签时,我们可以学习在端到端框架中以完全无监督的方式嵌入图。这些算法以两种方式利用边缘级信息。一种简单的方法是采用自编码器框架,编码器使用图卷积层将图嵌入到潜在表示中,在潜在表示上使用解码器重构图结构。另一种常用的方法是利用负采样方法(negative sampling),即对图中有链接的部分节点对进行负采样,而对图中有链接的节点对进行正采样。而后应用逻辑回归层对的正负配对进行区分。见图(c)

本文分享自华为云社区《2021年必火的图神经网络究竟是什么?》,原文作者:就挺忽然。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 看完你就明白什么是图神经网络

发表回复