《Self-Attention Graph Pooling》阅读笔记

前言


因为自己目前在做的实验也有可能涉及到图池化的方法,所以近期读的关于图池化的文章比较多。经常会在文章的相关工作中看到SAGPool,今天终于抽空把它看掉了。这篇文章最主要的贡献就是利用自注意力机制实现图池化,既利用了节点的特征,又利用了图的拓扑信息。

论文链接:https://arxiv.org/pdf/1904.08082.pdf

代码链接:https://github.com/inyeoplee77/SAGPool



一、模型

1.自注意图池化


整体框架如下图所示:
在这里插入图片描述
这是一个比较容易理解的模型。首先通过图卷积以及激活函数处理,得到各个节点的自注意力得分;其次,根据自注意力得分的排序,保留前k个得分最高的节点组成掩膜;最后,根据掩膜保留指定节点的特征以及这些节点之间的拓扑信息


1).自注意力掩膜


现在在模型中加入注意力机制已经不是什么新鲜事了。注意力机制说白了就是让模型多关注重要的信息,少关注不重要的信息。自注意力机制是注意力机制的改进版,减少了对外部信息的依赖,更善于捕捉特征的内在相关性。

首先通过图卷积的方法来计算节点的自注意力得分 Z ∈ RN × 1图卷积既能利用节点的特征,又能利用图的拓扑信息

在这里插入图片描述


其次根据各个节点自注意力得分的**降序**,**选择一定比例的节点进行保留**(按比例保留,可以不受输入节点数量的影响)

在这里插入图片描述
所保留节点的索引就构成了池化掩膜。



2).图池化


有了掩码之后,还需要定义池化后的图的特征矩阵以及邻接矩阵

特征矩阵:

  1. 根据掩膜索引,从原特征矩阵中抽取相应的特征向量
    在这里插入图片描述
  2. 将这些向量与其对应的自注意力系数相乘,得到下一层的特征矩阵
    在这里插入图片描述

邻接矩阵:

  1. 在原邻接矩阵中,抽取这些被保留节点之间的邻接关系构成下一层的邻接矩阵
    在这里插入图片描述


3).SAGPool的变体


1.多跳形式

在用图卷积计算自注意力得分时,通过添加二阶邻接矩阵的形式,将节点的二阶邻居考虑进来。记为SAGPollaugmentation

在这里插入图片描述

2.堆叠形式

在用图卷积计算自注意力得分时,通过堆叠两层GNN的形式,将节点的二阶邻居考虑进来。记为SAGPollserial

在这里插入图片描述

3.多头形式

通过多个并行的GNN分别计算节点的自注意力得分,最后取其均值作为结果。记为SAGPollparallel

在这里插入图片描述



2.具体结构


1).卷积层

有很多的图卷积方法可以使用,本文则采用了GCN。

在这里插入图片描述


2).读出层

将节点的特征聚合成一个长度固定的表示向量,本文采用了mean-pooling和max-pooling的拼接。

在这里插入图片描述


3).全局池化模型

在这里插入图片描述
每层的卷积结果进行拼接,整个模型仅作一次池化。


4).层次池化模型

在这里插入图片描述
模型进行多次池化,逐渐缩小图的尺寸;并且,每次池化后都接读出层,总结该图的特征表示。



二、实验

1.数据集

在这里插入图片描述



2.对比试验

在这里插入图片描述
不管是全局池化还是层次池化,SAGPool的效果都比对比方法要好一些。
节点数少的数据集上,全局池化模型要好;节点数多的数据集上,层次池化模型相对较好。
由于SAGPool比gPool多考虑了拓扑结构,所以性能有所提升。



3.变体实验

在这里插入图片描述
对比了不同框架的GNN对结果的影响,好像差不太多,略有起伏吧;对比了各种变体对结果的影响,除了SAGPoolh,parallel,M=2要差一点,其他的也不能说差别特别大吧。



4.节点数的影响

在这里插入图片描述
DiffPool是通过GNN的方式来生成分配矩阵,将节点分配到不同的簇中。这个方法有两个明显的弊端:第一,节点数对模型参数量影响相当大;第二,簇的数量要根据每个图重新选择。而SAGPool和gPool则没有这种弊端。



总结

继续我的康复训练。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值