https://www.toutiao.com/a6672580496238576140/

【新智元导读】胶囊图神经网络(CapsGNN)是在GNN启发下诞生了基于图片分类的新框架。CapsGNN在10个数据集中的6个的表现排名位居前两名。与所有其他端到端架构相比,CapsGNN在所有社交数据集中均名列首位。

本日Reddit上热议的一个话题是名为“胶囊图神经网络”(CapsGNN)的新框架。从名字不难看出,它是受图神经网络(GNN)的启发,在其基础上改进而来的成果。

CapsGNN框架的作者为新加坡南阳理工大学电气与电子工程学院的Zhang Xinyi和Lihui Chen,该研究的论文将在ICLR 2019上发表。

目前,从图神经网络(GNN)中学到的高质量节点嵌入已经应用于各种基于节点的应用程序中,其中一些程序已经实现了最先进的性能。不过,当应用程序用GNN学习的节点嵌入来生成图形嵌入时,标量节点表示可能不足以有效地保留节点或图形的完整属性,从而导致图形嵌入的性能达不到最优。

胶囊图神经网络(CapsGNN)受到了胶囊神经网络的启发,利用胶囊的概念来解决现有基于GNN的图嵌入算法的缺点。CapsGNN以胶囊形式对节点特征进行提取,利用路由机制来捕获图形级别的重要信息。因此,模型会为每个图生成多个嵌入,从多个不同方面捕获图的属性。

CapsGNN中包含的注意力模块可用于处理各种尺寸的图,让模型能够专注处理图的关键部分。通过对10个图结构数据集的广泛评估表明,CapsGNN具有强大的机制,可通过数据驱动捕获整个图的宏观属性。在几个图分类任务上的性能优于其他SOTA技术。

胶囊图神经网络基本架构

上图所示为CapsGNN的简化版本。它由三个关键模块组成:1)基本节点胶囊提取模块:GNN用于提取具有不同感受野的局部顶点特征,然后在该模块中构建主节点胶囊。 2)高级图胶囊提取模块:融合了注意力模块和动态路由,以生成多个图胶囊。 3)图分类模块:再次利用动态路由,生成用于图分类的类胶囊。

注意力模块

在CapsGNN中,基于每个节点提取主胶囊,即主胶囊的数量取决于输入图的大小。在这种情况下,如果直接应用路由机制,则生成的高级别的胶囊的值将高度依赖于主胶囊的数量(图大小),这种情况并不理想。因此,实验引入一个注意力模块来解决这个问题。

注意力模块架构。首先压平主胶囊,利用两层全连接神经网络产生每个胶囊的注意力值。利用基于节点的归一化(对每行进行归一化)来生成最终注意力值。 将标准化值与主胶囊相乘来计算标度胶囊。

实验设置与结果

我们验证了从CapsGNN中提取的图嵌入与大量SOTA方法的性能,与一些经典方法的最优性能做了对比。此外还进行了实验研究,评估胶囊对图编码特征效率的影响。我们对生成的图/类胶囊进行了简要分析。实验结果和分析如下所示。

表1为生物数据集的实验结果,表2为社会数据集的实验结果。对于每个数据集,以粗体突出显示前2个准确度。

与所有其他算法相比,CapsGNN在10个数据集中的6个的表现排名位居前两名,并且在其他数据集上也实现了基本相当的结果。与所有其他端到端架构相比,CapsGNN在所有社交数据集中均名列首位。

表1:生物数据集的实验结果

表2:社交数据集的实验结果

胶囊的效率

在胶囊的效率测试实验中,GNN的层数设置为L = 3,每层的通道数都设置为Cl = 2。通过调整节点的维度(dn)、图(dg)、胶囊和图形、胶囊的数量(P)来构造不同的CapsGNN。

表3:胶囊效率评估实验中经过测试的体系结构详细信息

图3:特征表示效率的比较。横轴表示测试架构的设置,纵轴表示NCI1的分类精度。

图胶囊的可视化

分类胶囊的可视化

胶囊图网络:基于GNN的高效快捷的新框架

CapsGNN是一个新框架,将胶囊理论融合到GNN中,来实现更高效的图表示学习。该框架受CapsNet的启发,在原体系结构中引入了胶囊的概念,在从GNN提取的节点特征的基础上,以向量的形式提取特征。

利用CapsGNN,一个图可以表示为多个嵌入,每个嵌入都可以捕获不同方面的图属性。生成的图形和类封装不仅可以保留与分类相关的信息,还可以保留关于图属性的其他信息,这些信息可能在后续流程中用到。CapsGNN是一种新颖、高效且强大的数据驱动方法,可以表示图形等高维数据。

与其他SOTA算法相比,CapsGNN模型在10个图表分类任务中有6个成功实现了更好或相当的性能,在社交数据集上的表现尤其显眼。与其他类似的基于标量的体系结构相比,CapsGNN在编码特征方面更有效,这对于处理大型数据集非常有用。

关于开源代码和模型的一些补充信息

数据集

代码会从input文件夹中获取训练图,图存储形式为JSON。用于测试的图也存储为JSON文件。每个节点id和节点标签必须从0开始索引。字典的键是存储的字符串,以使JSON能够序列化排布。

每个JSON文件都具有以下的键值结构:

边缘键(edges key)具有边缘列表值,用于描述连接结构。标签键具有每个节点的标签,这些标签存储为字典- 在此嵌套字典中,标签是值,节点标识符是键。目标键具有整数值,该值代表了类成员资格。

输出

预测结果保存在output目录中。每个嵌入都有一个标题和一个带有图标识符的列。最后,预测会按标识符列排序。

训练CapsGNN模型由src /main.py脚本处理,该脚本提供以下命令行参数。

论文地址:

https://openreview.net/pdf?id=Byl8BnRcYm

Github相关资源:

https://github.com/benedekrozemberczki/CapsGNN#outputs

基于GNN,强于GNN:胶囊图神经网络的PyTorch实现 | ICLR 2019相关推荐

  1. 门控图神经网络及PyTorch实现

    门控图神经网络及PyTorch实现 前言 GNN预备知识 面对一大串公式不得不说的定理 *巴拿赫不动点定理* GNN信息传播特点--可达性任务展示 具体实现 *隐藏状态的计算* *GNN网络框架* * ...

  2. 【GNN报告】赵越-图神经网络与异常检测

    目录 1.简介 2.图神经网络与异常检测 小引 图异常检测 背景 系统PyGOD 基准BOND综述 未来方向 总结 小结 QA 3.参考 1.简介 摘要: 在这次演讲中,赵越会围绕异常检测与图上的异常 ...

  3. WWW 2021最佳论文亚军:基于属性补全的异质图神经网络新架构

    ©作者 | 机器之心编辑部 来源 | 机器之心 4 月 23 日,万维网顶会 WWW-2021(The Web Conference 2021: International World Wide We ...

  4. 【Mo 人工智能技术博客】现在最流行的图神经网络库 pytorch geometric 上手教学

    简介 Graph Neural Networks 简称 GNN,称为图神经网络.近年来 GNN 在学术界受到的关注越来越多,与之相关的论文数量呈上升趋势,GNN 通过对信息的传递,转换和聚合实现特征的 ...

  5. 【图神经网络】Pytorch图神经网络库——PyG异构图学习

    PyG异构图学习 举个例子 创建异构图 Utility函数 异构图Transformations 创建异构图神经网络 自动转换GNN模型 使用异构卷积包装器 部署现有的异构算子 异构图采样 参考资料 ...

  6. 同构和异构经典图神经网络汇总+pytorch代码

    收集一些讲解比较好的博客或者知乎文档,以及对应的代码 1.同构图神经网络-GCN/GAT/GraphSAGE 图卷积:从GCN到GAT.GraphSAGE图卷积:从GCN到GAT.GraphSAGE ...

  7. python的神经网络模块接法图解_图神经网络库PyTorch geometric

    如何快速理解gcn的在文章<一文读懂图卷积GCN>中已经有比较详细的说明,建议没有任何基础的小伙伴先读下理论入门. 我们不能做思想上的巨人,行动上的矮子,因此来学习下如何利用现有的库快速跑 ...

  8. 图神经网络/GNN(三)-基于图神经网络的节点表征学习

    Task3概览: 在图任务当中,首要任务就是要生成节点特征,同时高质量的节点表征也是用于下游机器学习任务的前提所在.本次任务通过GNN来生成节点表征,并通过基于监督学习对GNN的训练,使得GNN学会产 ...

  9. 图机器学习(GML)图神经网络(GNN)原理和代码实现(前置学习系列二)

    图机器学习(GML)&图神经网络(GNN)原理和代码实现(PGL)[前置学习系列二] 上一个项目对图相关基础知识进行了详细讲述,下面进图GML networkx :NetworkX 是一个 P ...

最新文章

  1. 返回代表指定日期的指定日期部分的整数。返回当前周
  2. 会计记忆总结之五:会计账薄
  3. php测试框架,PHPUnit使用
  4. hihocoder 1107 : Shortest Proper Prefix
  5. 顺序表基本操作在主函数中的实现
  6. 深度解析双十一背后的阿里云 Redis 服务
  7. 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析
  8. java猜数游戏有次数限制_幼小衔接可以用的超有趣的数学小游戏
  9. 2022大厂高频面试题之CSS篇
  10. POI 读取word (word2003 和 word2007)
  11. linux网络操作系统-实训项目的实现
  12. 写作技巧~100段作文排比句(81-100段),考试一定用得上,赶紧收藏!
  13. Connection closed prematurely
  14. 多目标进化算法详细讲解及代码实现(样例:MOEA/D、NSGA-Ⅱ求解多目标(柔性)作业车间调度问题)
  15. Apollo Planning决策规划算法代码详细解析 (13): RuleBasedStopDecider
  16. 概率论与数理统计——多方法解决-双样本方差的F检验-Excel/SPSS
  17. 【Ubuntu安装后基本配置】
  18. 解决生产计划排程APS系统七大问题,提升企业生产效率!
  19. Failed to install metadata com.weiwen.common:weiwen-common-core/maven-metadata.xml: Could not parse
  20. 【Mac】搜狗输入法干扰声音输出

热门文章

  1. shell脚本调试技术
  2. Java 获取操作系统名字、系统版本、cpu信息
  3. 了解大脑的“小情绪”,轻松成为“效率达人”
  4. 听说,这是时下最恐怖的出游邀请
  5. 举个卡戴珊的例子,讲讲Hinton的Capsule是怎么回事 | 教程+代码
  6. 使用Numpy和Scipy处理图像
  7. 使用二维高斯函数模糊图片
  8. 原创 | 《相机标定》深入理解原理与实战(一)
  9. 区块链+数字经济发展白皮书,45页pdf
  10. 10大NLP精选项目-涉及预训练Bert、知识图谱、智能问答、机器翻译、对话等