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

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.1Semi-supervised learning for node-level classification:

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

4.2Supervised learning for graph-level classification:

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

4.3Unsupervised learning for graph embedding:

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

参考文献

[1]. https://mp.weixin.qq.com/s/PSrgm7frsXIobSrlcoCWxw

[2]. http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/GNN.pdf

[3]. https://persagen.com/files/misc/scarselli2009graph.pdf

[4]. https://arxiv.org/pdf/1802.03480.pdf

[5]. https://arxiv.org/abs/1901.00596

[6]. https://arxiv.org/abs/1910.01508

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

点击关注,第一时间了解华为云新鲜技术~

图神经网络,这到底是个什么?相关推荐

  1. 图神经网络将成AI下一拐点!MIT斯坦福一文综述GNN到底有多强

    深度学习在图像分类,机器翻译等领域都展示了其强大的能力,但是在因果推理方面,深度学习依然是短板,图神经网络在因果推理方面有巨大的潜力,有望成为AI的下一个拐点.DeepMind 公司最近开源了其Gra ...

  2. 31页PPT概述:图神经网络表达能力有多强?

    整理 | 一一 出品 | AI科技大本营 近年来,图神经网络的研究成为深度学习领域的热点. 图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模,由于图结构的强大表现力,用机器学习方法分析图的 ...

  3. 为什么要进行图学习?谈一谈逆势而上的图神经网络

    点击上方 蓝字关注我们 问一问近几年来逆势而上的技术有什么?相信你一定会说出来一个:图神经网络. 图神经网络将会在人工智能的各个领域起着非常重要的作用,虽然目前还没有完全成为各大顶会的焦点,但不可否认 ...

  4. iclr 2020 | Geom-GCN:几何图神经网络

    作者 | 程玉 审稿 | 杨喜喜 今天给大家介绍吉林大学计算机科学与技术学院杨博老师团队在ICLR2020的一篇论文,该研究针对MPNN现存的一些问题提出了一种新的图神经网络的几何聚合方式,其核心思想 ...

  5. 图网络究竟在研究什么?从15篇研究综述看图神经网络GNN的最新研究进展

    近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视.图神经网络(GNN)是一类基于深度学习的处理图域信息的方法. 到目前,相关研究的已经非常多了,不过我们回过头来看思考和回顾一下 ...

  6. 认知推理:从图表示学习和图神经网络的最新理论看AI的未来

    2020年3月29日,中国中文信息学会·社会媒体处理专委会和北京智源人工智能研究院联合主办的"图神经网络在线研讨会2020"成功召开,超过5000人报名参加本次活动.会上,四位国内 ...

  7. 论文浅尝 - ICML2020 | 对比图神经网络解释器

    论文笔记整理:方尹,浙江大学在读博士,研究方向:图表示学习. Contrastive Graph Neural Network Explanation 动机与贡献 本文主要关注图神经网络的解释性问题, ...

  8. 基于DGL库图神经网络教程(1)——基本的建图操作

    最近接触了图神经网络,感觉这个玩意可以提供多粒度视角.在对研究对象进行抽象后,既可以对节点进行分类,也可以对边进行分类,还可以对图整体进行分类. 图神经网络这种结构就提供一种多粒度描述特定对象的能力. ...

  9. Distill文章-A gentle introduction to graph Neural Networks(图神经网络是怎么构造的)

    目录 1 简介 2 图的介绍 3 数据如何表示成图 4  三大类问题 5 将机器学习(神经网络)用在图上,会遇到什么挑战 6 最简单的GNN 7 信息传递(把图结构的信息考虑进去) 8  GNN的pl ...

最新文章

  1. SAP Fiori 应用的本地 sandbox Launchpad - 出于测试用途
  2. HDCVI——一种创新性的高清视频传输方案
  3. JAVA编程规范-常量定义
  4. 2台电脑一根网线传文件_「教程」如何快速的在两台电脑间传输大文件?
  5. PHP正则匹配到2个字符串之间的内容,匹配HTML便签内容
  6. sublime sftp插件本地 免费 下载
  7. sencha touch 彩色图标按钮(button+ico)
  8. H3C BGP基本配置
  9. treeview 如何从多个数据表中获取数据动态生成 [提问]
  10. php 公众号群发消息,PHP 微信公众号 群发文本消息
  11. 监督学习、无监督学习、强化学习概念
  12. matlab aic sic,请教ADF检验时AIC准则和SIC准则不一致时怎么办?
  13. MQ-3酒精模拟量 电压转换公式
  14. win7设置计算机共享的打印机共享的打印机共享,告诉你win7打印机共享设置教程...
  15. 电脑无法复制粘贴是什么情况,附上解决方法
  16. 全网最新最全的jmeter接口测试,压力测试
  17. 国际快递清关要多少时间,国际快递进口如何清关2021.12.01
  18. 【React全家桶】 React入门
  19. 计算机软件著作权保护包括哪些
  20. C++库和C库的区别

热门文章

  1. Bootstrap3 下拉菜单及其调用方式
  2. Bootstrap 按钮下拉菜单
  3. CSS3 图像边框 border-image属性
  4. linux java services_在Linux上将Java应用程序作为服务运行
  5. java mongodb怎删改查_Java连接MongoDB进行增删改查
  6. c#后台如何导出excel到本地_小程序导出数据到excel表,借助云开发后台实现excel数据的保存...
  7. Ubuntu 安装 cuda 时卡在登录界面(login loop)的解决方案之一
  8. 【GRE协议】CentOS配置GRE隧道
  9. 对一道SQL语句题目的再思考
  10. 浏览器加载渲染HTML、DOM、CSS、 JAVASCRIPT、IMAGE、FLASH、IFRAME、SRC属性等资源的顺序总结...