全文共3133字,预计学习时长9分钟

来源:Pexels

深度学习已经改变了我们处理数据的方式,通过使用日益增长的计算“廉价”资源(摩尔定律)来解决现实世界问题,并且能够完成一些人脑几乎毫不费力就能完成的认知任务,例如图像分类,自然语言处理,视频处理等等。

但这些任务具有的大多数数据和结构通常是在欧几里得空间中表示的。然而,我们目睹了越来越多的问题,这些问题生成的数据来自非欧几里得域,它们更适合被表示为具有复杂关系和对象之间相互依赖关系的图。

图数据的复杂性给经典ML算法和现代DL算法带来了重大挑战。近来出现了许多扩展DL方法使之用于图数据的研究。

在去年年底发布的一篇题为“图神经网络综述(A Comprehensive Survey on Graph Neural Networks)” [1]的论文中,作者提出了一种新的分类法,其将最新的图神经网络划分为4个主要类别:

· 循环图神经网络(RecGNN)

· 卷积图神经网络(ConvGNN)

· 图自动编码器(GAEs)

· 时空图神经网络(STGNN)

在同一篇论文中,作者举例说明了GNNs的应用:

· 在电子商务领域,基于图的学习系统可以利用用户和产品之间的交互生成高准确度的推荐。

· 在化学领域,分子被建模为图,并且需要确定其生物活性以用于药物开发。

花点时间想像一下,如果我们收集了所有“获批”药物或一般药物的结构,并训练一个GNN来学习药物的分子模式/结构,它会学会识别在此处或太空中发现的分子是不是药物。我相信结果可能相当令人惊讶,并且能帮助我们发现或重新发现可以治愈如今被认为无法治愈的疾病的药物。如果考虑大多数疾病甚至死亡本身都可以看作是技术问题。那么为什么有些生物可以活几百年而有些只能活几十年?我们可以无限延长寿命吗?

回到正题……

GNNs与对应的DL算法具有相似的属性,它能够进行回归,分类,为空节点和边生成数据,以及许多尚待发现的功能。该领域仍处于起步阶段,谁也不知道几年内我们能做些什么,以及用从现在开始的几千篇论文做些什么。

对我来说,最有趣的是推荐以及医疗领域的应用,其中医疗领域为no.1。

如今,图可能是不规则的,一张图可能具有可变数目的无序节点,并且图中节点可能具有不同数量的邻居,从而导致一些在图像领域中易于计算的重要的操作(例如卷积),很难应用于图域。此外,现有机器学习算法的核心假设是实体相互独立。该假设不再适用于图数据,因为每个实体(节点)通过各种类别的链接(例如引文,好友和交互)与其他实体(节点)相关联。但这不是障碍,因为最近我们看到人们对扩展或者应该说是移植深度学习算法到图领域(尤其是设计来用于图数据)的兴趣日益浓厚。

卷积神经网络(ConvNets)不在本文讨论范围之内。

GNNs的分类

循环图神经网络(RecGNNs)大多是图神经网络的开创性作品。RecGNN旨在学习具有循环神经架构的节点表示。它们假设图中的节点不断与其邻居交换信息/消息,直到达到稳定的平衡。RecGNNs在理论上很重要,它启发了后来对卷积图神经网络的研究。特别地,消息传递的思想被基于空间的卷积图神经网络所继承。

卷积图神经网络(ConvGNNs)将卷积运算从网格数据推广到了图形数据。主要思想是通过聚合节点自身的特征和邻居的特征来生成节点的表示,其中。

· 此处N表示邻居,X表示节点的特征向量。

与RecGNNs不同,ConvGNNs堆叠多个图卷积层以提取高级节点表示。ConvGNNs在建立许多其它的复杂GNN模型中起着核心作用。图2a展示了用于节点分类的ConvGNN。图2b展示了用于图分类的ConvGNN。

图自动编码器(GAEs)是无监督的学习框架,可将节点/图编码到潜在的矢量空间中,并通过编码后的信息重建图数据。GAEs用于学习网络嵌入和图生成分布。对于网络嵌入,GAEs通过重建图结构信息(例如图邻接矩阵)来学习潜在节点表示。对于图生成,某些方法逐步生成图的节点和边,而其他方法则一次全部输出图形。图2c展示了一个用于网络嵌入的GAE。

时空图神经网络(STGNNs)旨在从时空图中学习隐藏的模式,这种模式在各种应用中变得越来越重要,例如交通速度预测,驾驶员操纵预期和人类动作识别。STGNNs的关键思想是同时考虑空间依赖性和时间依赖性。许多当前的方法将用来捕获空间依赖性的图卷积和用来对时间依赖性进行建模的RNNs或CNNs集成在一起。图2d说明了一个用于时空图预测的STGNN。

(图2来自论文【1】)

架构

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

· 节点级输出与节点回归和节点分类任务有关。RecGNNs和ConvGNNs可以通过信息传播/图卷积来提取高级节点表示。使用多感知器或softmax层作为输出层,GNNs能够以端到端的方式执行节点级任务。

· 边级输出与边分类和链接预测任务有关。将来自GNNs的两个节点的隐藏表示作为输入,可以利用相似度函数或神经网络来预测边的标签/连接强度。

· 图级输出与图分类任务有关。为了在图级别获得紧凑的表示,GNNs通常与合并和读取操作结合使用。

训练框架。许多GNNs(例如ConvGNN)可以在端到端学习框架内以(半)监督或完全无监督的方式训练,具体取决于学习任务和可用的标签信息。

用于节点级分类的半监督学习

给定带有部分标记节点而其他节点未被标记的单个网络,ConvGNNs可以学习一个健壮的模型,该模型可以有效地标识未标记节点的类标签。为此,可以通过堆叠几个图卷积层,然后堆叠一个用于多分类的softmax层,来构建端到端框架。

用于图级分类的监督学习

图分类旨在预测整个图的类标签。可以通过图卷积层,图池层和/或读出层的组合来实现此任务的端到端学习。图卷积层负责精确的高级节点表示,而图池化层则充当下采样的角色,从而每次将每个图都粗化为子结构。

读出层将每个图的节点表示折叠为图表示。通过将多层感知器和softmax层应用于图表示,我们可以构建用于图分类的端到端框架。在图2b中给出了一个例子。

来源:Pexels

用于图嵌入的无监督学习

当图中没有可用的类标签时,可以在端到端框架中以完全无监督的方式学习图嵌入。这些算法以两种方式利用边级信息。一种简单的方法是采用自动编码器框架,其编码器使用图卷积层将图嵌入到潜在表示中,在其上使用解码器来重构图结构。

另一种流行的方法是利用负采样方法,该方法将一部分节点对采样为负对,而图中具有链接的现有节点对为正对。然后应用逻辑回归层来区分正对和负对。

需要记住的要点……

来源:Pexels

· 图擅长表示对象之间的复杂关系和相互依赖性。

· 图神经网络有4个主要类别:RecGNN,ConvGNN,GAEs,STGNN。

· 图神经网络旨在移植DL的成功方法,这些方法将反过来推动该领域的新发现,例如医疗,社交互动,活动识别/预期等等。

感谢你的阅读,这对我来说也是一个有趣的探索,这种算法让我着迷,因为它们具有消化GB甚至PB级别的数据并发现隐藏模式的原始潜力,这远胜于我们。请留下你的评论。

图神经网络可以解决现实世界中的问题吗?相关推荐

  1. 12个现实世界中的机器学习真相

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Delip 编译:ronghuaiyang 导读 当你在现实 ...

  2. 印度软件水平为什么世界第一_第1部分:为什么现实世界中的软件需求很难

    印度软件水平为什么世界第一 这是我 过去几年 与 Healthforge 团队一起在医疗保健领域开发软件的经验系列文章中的第一 篇 . 在大多数时间里,我们一直与欧洲,北美和澳大利亚的主要中心以及全球 ...

  3. 为什么游戏AI无法帮助AI在现实世界中发挥作用,但可以

    多人游戏被视为一个硕果累累的竞技场,可以在其中模拟许多现实世界中的AI应用程序场景(例如自动驾驶汽车,无人驾驶无人机和协作商务),这些场景可能过于昂贵,投机性或冒险性,无法在现实世界中进行全面测试. ...

  4. 游戏ai人工智能_为什么游戏AI无法帮助AI在现实世界中发挥作用,但可以

    游戏ai人工智能 多人游戏被视为一个硕果累累的竞技场,在其中可以模拟许多现实世界中的AI应用程序场景(例如自动驾驶汽车,无人驾驶无人机和协作商务),这些场景可能过于昂贵,投机性或冒险性,无法在现实世界 ...

  5. 《嵌入式系统数字视频处理权威指南》——第1章 现实世界中的视频

    本节书摘来自华章计算机<嵌入式系统数字视频处理权威指南>一书中的第1章,作者:(美)Michael Parker Suhel Dhanani 更多章节内容可以访问云栖社区"华章计 ...

  6. 量子计算如何解决现实世界的问题

    导读 回想起来,技术的历史似乎是可以预测的,但未来通常感觉更加不确定.这种不确定性在量子计算领域最为明显.当可能的结果范围从"量子计算机将成为有史以来最重要的技术发展之一"到&qu ...

  7. mobx在react中应用_借助React Native Elements,Jest和MobX MST可以轻松实现现实世界中的ReactNative应用...

    mobx在react中应用 by Qaiser Abbas 由Qaiser Abbas 借助React Native Elements,Jest和MobX MST可以轻松实现现实世界中的ReactNa ...

  8. 直播 | 北邮博士生纪厚业:异质图神经网络在阿里推荐业务中的探索

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  9. Java:现实世界中最流行的10个Java应用程序示例

    Java 是 DevOps.AI.机器学习和微服务的第一大编程语言.今天,Java 广泛用于企业应用程序和构建动态数字产品.它也是增强和虚拟现实.大数据和持续集成的有用技术.Java 生态系统是使用先 ...

最新文章

  1. 探测服务器操作系统工具,探测服务器操作系统
  2. meetup_我在2017年举办Meetup中学到的知识以及为何对2018年充满期待。
  3. 核心类生成-Mybatis Generator的使用
  4. 如何让两个输入框保持长度一直_投篮如何保持直线,为什么有些职业球员手臂弯曲投篮一直直...
  5. python for everybody课程作业_Programming for Everybody (Python)-Lecture 7 课程笔记
  6. [Go] golang的MPG调度模型
  7. git 拉取远程其他分支代码_git切换远程分支并拉取远程分支代码
  8. 噪声的频谱分析的重要意义_噪声测量:噪声源识别与定位的方法简析
  9. django_4:数据库0——配置数据库
  10. dnspod ddns 下载_简约时尚休闲女装毛衣针织衫春装详情页_psd素材免费下载_ 750*13450像素(编号:24815329)...
  11. 形式语义学-JLU-ZHH
  12. 括号匹配深度,交错01字符串(一个类型代码)
  13. 滑模控制学习笔记(二)
  14. The coordinates or measures are out of bounds.
  15. 联想新计算机开机黑屏,联想笔记本电脑开机黑屏没反应的原因及解决办法攻略【维修总结】...
  16. 怎么评估计算机的执行速度,Win10在CMD下使用WinSAT进行评估电脑性能解决方法
  17. 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes
  18. 关于Windows10右键新建卡顿
  19. 可重入锁/不可重入锁,公平锁/非公平锁,乐观锁/悲观锁,独享锁/共享锁,偏向锁/轻量级锁/重量级锁,分段锁,自旋锁
  20. 常用的激活函数sigmoid,relu,tanh

热门文章

  1. 解吧源码解析重点看withWeight
  2. java 线程池配置与CPU关系
  3. 转 sklearn: TfidfVectorizer 中文处理及一些使用参数
  4. 今天安装VisualSVN 不小心删掉了安装目录,再次安装 修改 移除提示UninstallWMISchemaExecute (0x8004401e) when updating VisualSV
  5. 研究院正式启动“智源学者计划”,公布候选人名单,并发布首个联合实验室...
  6. LiveVideoStackCon 音视频技术大会 2022 上海站日程发布啦!
  7. 字节跳动:基于H.266/VVC的移动平台8K超高清实时解码实践 | QCon
  8. 排查 Node.js 服务内存泄漏,没想到竟是它?
  9. 【连载】优秀程序员的45个习惯之42——允许大家自己想办法
  10. VTK与ITK的详细安装指南