结合胶囊网络Capsule和图卷积GCN的文章

一、Capsule Neural Networks for Graph Classification

题目:
Capsule Neural Networks for Graph Classification using Explicit Tensorial Graph Representation
作者:
Marcelo Daniel Gutierrez Mallea, Peter Meltzer, Peter J Bentley
参考链接:
https://arxiv.org/abs/1902.08399
代码链接:
https://github.com/BraintreeLtd/PatchyCapsules

1.1 文章概要

图分类是许多科学领域的一个重要问题。它处理多种任务,如根据蛋白质和化合物的功能或化学和结构性质将其分类。在有监督的情况下,这个问题可以被理解为学习一组标记图的结构、特征和特征之间的关系,并能够正确预测不可见图的标签或类别。当试图使用已有的分类算法时,由于需要固定大小的矩阵,但这些图的节点和边的数量可能会有很大的变化,因此这一任务出现了很大的困难。这篇文章先通过将数据集中的每个子图生成一个矩阵表示,再应用一个胶囊网络在这样的表示上。

1.2 实现方法

1.2.1 Graph to Contextual Tensor

其具体流程如下图:
在这里插入图片描述

  • 对于每一个图 G i G_i Gi,通过给定的参数 w w w确定 N o d e L i s t NodeList NodeList的长度,并通过 N o d e S e q u e n c e O r d e r i n g NodeSequenceOrdering NodeSequenceOrdering w w w n o d e node node排序。其中排序利用的是graph labelling procedure(这个最后讲);
  • 对于这个序列中的每个节点,收集最近的k个邻居(根据点与点之间的跳跃次数),再通过 N e i g h b o u r G a t h e r i n g NeighbourGathering NeighbourGathering将这一些点标记成一类;
  • 通过 N o r m a l i z a t i o n Normalization Normalization再次筛选点的个数,用于处理跳跃次数一样的点过多的情况。排序同样利用的graph labelling procedure
  • 将每个点上的类别特征转换成One-hot特征,并进行 E n c o d i n g Encoding Encoding
  • 最后输出一个 w × k × d w × k × d w×k×d的张量,其中 w w w N o d e L i s t NodeList NodeList的长度, k k k N e i g h b o u r G a t h e r i n g NeighbourGathering NeighbourGathering时邻居的个数, d d d为每个点的特征长度。

刚刚上面排序时采用的graph labelling procedure方法有两种:canonical labelling procedureranking based on betweenness centrality,即分别基于接近中心性(closeness)和中介中心性(betweenness)进行排序,其具体的定义如下:

  • 接近中心性(Closeness Centrality)。反映在网络中某一节点与其他节点之间的接近程度。将一个节点到所有其他节点的最短路径距离的累加起来的倒数表示接近性中心性。即对于一个节点,它距离其他节点越近,那么它的接近性中心性越大。
  • 中介中心性/中间中心性(Between Centrality) 。以经过某个节点的最短路径数目来刻画节点重要性的指标。

1.2.2 Graph Capsule Network

可以说是非常暴力地直接用刚刚处理好的张量输入CapsNet中,模型结构如下:
在这里插入图片描述

1.3 实验结果

在这里插入图片描述

二、Graph Capsule Convolutional Neural Networks

题目:
Graph Capsule Convolutional Neural Networks
作者:
Saurabh Verma , Zhi-Li Zhang
参考链接:
https://arxiv.org/pdf/1805.08090.pdf

2.1 文章概要

图形卷积神经网络是深度学习领域中最新的令人兴奋的进展,其应用正在包括生物信息学、化学信息学、社会网络、自然语言处理和计算机视觉在内的多交叉领域迅速扩展。在这篇文章中,我们揭示并解决了GCN模型的一些基本弱点,并提出了我们的图胶囊网络模型GCAPS-CNN。此外,我们还设计了我们的模型来解决当前GCN模型所面临的特别是图分类问题。通过大量实验,我们证明了我们提出的图形胶囊网络在图形分类基准数据集上的性能明显优于现有的深度学习方法和图形核。

2.2 GCN的缺点以及解决方法

  • GCN模型的第一个缺陷是由于基本的图形卷积运算,它被定义为对应于每个特征(或通道)的局部邻域中的节点值的聚合aggregation。因此其实在这个聚合的同时是会有信息的损失的。

    为了解决这一限制,通过引入图胶囊的概念来改进基本的图卷积运算,图胶囊封装了关于局部邻域中节点的更多信息,其中局部邻域以与GCN模型中相同的方式定义。本文通过使用Weisfeiler-Lehman(WL)- subtree graph kernel的方式,使得每个节点标特征是从本地邻域中每个节点的邻居节点收集的,并且通过不断地迭代更新这个中心点的特征,这些新的特征的直方图会被拼接到每次迭代中,从而可以通过最后一次迭代的特征还原出所有的特征(即信息不会损失)。

  • GCN模型的第二个主要缺陷在于它处理图分类问题的能力,它必须处理结构相同的图。

    为此作者设计了对称函数(如pointnet中置换不变性函数)保证置换不变性,使得所有的同构图都能输出相同的结果;

  • 最后GCN很难整理全局的特征用于很好得分类。

    为此作者利用全局特征(占整个图形结构的特征),使用图光谱距离族来解决这个问题。

2.3 实现方法

2.3.1 Graph Capsule CNN

首先先看一下普通GCN的公式,可以看出每个节点通过邻居点的值聚合形成的是一个标量;
在这里插入图片描述
因此GCAPS只是将其输出变为了一个向量,而聚合的向量可以是每个邻结点的1到p阶的多项式的集合。在这里插入图片描述
最终文中使用的聚合方法是邻点的1到p阶矩(由于其具有置换不变性并且矩阵的乘法计算比较效率):
在这里插入图片描述

2.3.2 Graph Permutation Invariant Layer

文中先证明了像1.2.1节中使用的Max-Sort Pooling不具有置换不变性,再证明了矩是具有置换不变性的。
在这里插入图片描述
其中L为拉普帕斯矩阵即D-A。

2.3.3 GCAP-CNN with Global Features

使用 FGSD features去聚合全局特征,其具体形式入下:
在这里插入图片描述
(所以写到这里才发现他和CapsNet没啥关系…开始第三篇)

三、Capsule Graph Neural Networks

题目:
Capsule Graph Neural Networks
作者:
Zhang Xinyi, Lihui Chen
参考链接:
https://arxiv.org/pdf/1805.08090.pdf
代码链接:
https://github.com/benedekrozemberczki/CapsGNN

3.1 文章摘要

从GCN中学习到的高质量节点嵌入已经被应用到广泛的基于节点的应用中,其中一些已经实现了SOTA的性能。然而,当应用从GNNs学习的节点嵌入来生成图嵌入时,标量节点表示可能不足以有效地保持节点/图属性,从而导致不够好的图嵌入。

受启发与CapsNet,本文提出胶囊图神经网络(CapsGNN),其采用胶囊的概念来解决现有基于GNN的图嵌入算法中的弱点。通过提取胶囊形式的节点特征,可以利用路由机制在图形级别捕获重要信息。因此,我们的模型为每个图生成多个嵌入,以从不同的方面捕获图的属性。CapsGNN中包含的注意模块用于处理各种大小的图形,这也使模型能够关注图形的关键部分。

3.2 实现方法

模型的结构如下:
在这里插入图片描述

3.2.1 Basic node capsules

利用L层GCN提取信息,每一层的计算方式都如下:
在这里插入图片描述
其中 W i j W_{ij} Wij是可以训练的参数,即从第 l l l层的第 i i i个通道到第 ( l + 1 ) (l + 1) (l+1)层的第 j j j个通道的卷积核;激活函数 f ( ⋅ ) = t a n h ( ⋅ ) f(·) = tanh(·) f()=tanh();A和D的组合表示邻接的信息,即只对邻接矩阵为1的链接进行如上的操作。

上面的图其实标注的字母不太对,根据源码中的向量维度,对于输入向量 N × D N\times D N×D,其中N为点的个数,D为每个点的特征维度,通过 L L L层的GCN以后产生了 L L L个输出的维度 D o u t D_{out} Dout,将这些 L L L N × D o u t N\times D_{out} N×Dout的向量进行合并,就得到了输出的三维张量 N × D o u t × L N\times D_{out}\times L N×Dout×L,作为CapsNet后续的输入。

3.2.2 High level graph capsules

先将上一步的输出通过一个Primary Capsule,然后接一个Attention模块。
在这里插入图片描述
原因是因为在CapsGNN中,基于每个节点提取主胶囊,这意味着主胶囊的数量取决于输入图的大小。在这种情况下,如果直接应用路由机制,生成的高级胶囊的值将高度依赖于初级胶囊的数量(图的大小)。因此,引入了注意力机制来解决这个问题。在注意力机制之后,在生成节点胶囊投票的过程中,会给予每一个结点的胶囊不一样的权重。

3.2.3 Graph classification block

直接利用Marginal Loss和Reconstruction Loss做分类。
在这里插入图片描述

3.3 实验结果

最后一行即第一篇文章与这篇文章的算法优劣比较:
在这里插入图片描述

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件开发商及电信营运商共同研发改良。 Android操作系统的特点包括: 开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第三方应用市场下载和安装各种各样的应用程序,满足各种需求。 可定制性:Android操作系统可以根据用户的个人喜好进行定制,用户可以更改主题、小部件和标等,以使其界面更符合个人风格和偏好。 多种设备支持:Android操作系统可以运行在多种不同类型的设备上,包括手机、平板电脑、智能电视、汽车导航系统等。 此外,Android系统还有一些常见的问题,如应用崩溃、电池耗电过快、Wi-Fi连接问题、存储空间不足、更新问题等。针对这些问题,用户可以尝试一些基本的解决方法,如清除应用缓存和数据、降低屏幕亮度、关闭没有使用的连接和传感器、限制后台运行的应用、删除不需要的文件和应用等。 随着Android系统的不断发展,其功能和性能也在不断提升。例如,最新的Android版本引入了更多的安全性和隐私保护功能,以及更流畅的用户界面和更强大的性能。此外,Android系统也在不断探索新的应用场景,如智能家居、虚拟现实、人工智能等领域。 总之,Android系统是一种功能强大、灵活可定制、拥有丰富应用生态系统的移动操作系统,在全球范围内拥有广泛的用户基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值