Topk Polling

Posted by Packy on August 12, 2019

NeurIPS-W_2018_Towards Sparse Hierarchical Graph Classifiers

图表上表示学习的最新进展,主要是利用图形卷积网络,为许多基于图形的基准任务带来了实质性的改进。虽然学习节点嵌入的新方法非常适合于节点分类和链接预测,但它们在图形分类(预测整个图形的单个标签)中的应用仍然基本上是基本的,通常使用单个全局池步骤来聚合节点特征或手 - 用于图结构的分层粗化的设计的固定启发式算法。改善这一点的一个重要步骤是可微分图粗化 - 在图神经网络流水线中以自适应的,数据相关的方式减小图的大小的能力,类似于CNN内的图像下采样。但是,之前突出的汇集方法在训练期间具有二次内存要求,因此无法扩展到大型图形。在这里,我们结合了图神经网络设计的几个最新进展,以证明竞争的分层图分类结果是可能的,而不会牺牲稀疏性。我们的结果在几个已建立的图分类基准上得到验证,并突出了未来基于图的神经网络研究的重要方向。

提出的

Pooling layer top-k pooling

取出最重要的k个节点,其余节点直接丢弃, 选择中的top-k pooling 节点的特征,经过线性变换或者softmax 然后激活函数,与原始特征相乘,得到新的特征,在池化的同时,做了一次特征的变换。

因为topk的这个特性所以作者后续的文章说这是一种attention机制?

Understanding Attention and Generalization

in Graph Neural Networks

为了确保图下采样层相对于一大类图形大小和结构具有惯用性,

我们采用了使用池化比率k (0; 1)来减少图的方法。这意味着具有N个节点的图在应用这样的池化层之后,节点将具有 kN 节点。

与DiffPool不同,DiffPool 它试图通过计算N个节点到kN的聚类来做到这一点(因此在存储集群分配分数时会产生二次惩罚),我们最近提出了Graph U-Net架构[1],它简单地丢弃 drops 原始图中的

N - KN 个节点

基于针对可学习矢量(learnable vector)的投影得分(projection score)来选择要丢弃的节点。

img

为了使梯度能够流入

img

投影得分(projection score)也被用作门控值 gating values,使得保留得分较低的节点将经历不太重要的特征保留。

完全写出来,该汇集层的操作(从输入图中计算汇集图(X0; A0),(X; A))可以表示如下:

Xfi  i top-k(y, k)

X特征矩阵,乘以一个可学习向量P,归一化,得到一个 投影得分

根据投影得分,选出最大的K个, k=⌈ratio⋅N⌉

得到符合要求的K个点的索引

然后对于这K个点, 特征向量进行非线性化处理

img

同时 邻接矩阵重新生成

img

这里,   ·   是L2范数,top-k从给定输入矢量中选择前k个索引,⭕ 是(广播)元素乘法,并且~i是索引操作,其在由~i指定的索引处获取切片。该操作仅需要逐点投影操作并切入原始特征和邻接矩阵,因此平凡地保留稀疏性。