当前位置:   article > 正文

Decoupling the Depth and Scope of Graph Neural Networks(ShaDow-GNN)论文阅读笔记

decoupling the depth and scope of graph neural networks

红色部分为个人的一些解读,不足之处请多多指点!

文章目录


链接

论文题目:解耦图神经网络的深度和范围(ShaDow-GNN)(2021NIPS)

论文链接:2201.07858.pdf (arxiv.org)

代码链接:facebookresearch/shaDow_GNN: NeurIPS 2021: Improve the GNN expressivity and scalability by decoupling the depth and receptive field of state-of-the-art GNN architectures (github.com)

一、摘要

        最先进的图神经网络(GNN)在图和模型大小方面的可扩展性有限。在大图上,增加模型深度通常意味着范围的指数扩展(即感受野)。超出少数几层之,还出现了两个基本挑战:1.过度平滑导致表达能力下降,2.邻域爆炸导致计算成本高昂。我们提出了一种设计原则来解耦GNN的深度和范围—为了生成目标实体(即节点或边)的表示,我们首先提取一个局部子图作为有界大小范围,然后在子图上应用任意深度的GNN。正确提取的子图由少量关键邻居组成,同时排除不相关的邻居。GNN,无论它有多深,都会将局部邻域平滑为信息表示,而不是将全局图过度平滑为“白噪声”(每个向量表示相差无及)。从理论上讲,解耦从图信号处理(GCN)、函数逼近(GraphSAGE)和拓扑学习(GIN)的角度提高了GNN的表达能力。根据实验,在七个图(最多1.1亿个节点)和六个主干GNN架构上,我们的设计在计算和硬件成本上都有数量级的降低,实现了精度的大幅提高。

作者把GNN解耦为两部分,深度,即GNN的图卷积次数;范围,即节点可以取到的邻居阶数,邻居阶数越高,节点取到的邻居数就越高。首先说一下原始的GNN为什么是耦合的,原始GNN如果是两层图卷积层,则必须要用到一阶和二阶邻居;如果是三层图卷积层,则必须要用到一阶、二阶和三阶邻居,即用到的邻居阶数和图卷积层数是耦合的。用公式来表示的话,GCN模型gif.latex?X%3D%5Csigma%5Cleft%28W%5Chat%7BA%7DX%5Cright%29​中的权重参数W和激活层gif.latex?%5Csigma%20%5Cleft%20%28%20%5Cright%20%29​的使用次数(一样的)就是GNN的深度,图卷积层数,\hat{A}X就是GNN的范围,节点要用到的邻居阶数。

二、引言

        图神经网络(GNN)现在已成为图挖掘的最先进模型 [48、13、58],促进了社交推荐 [35、52、37]、知识理解 [40、38、59] 和药物发现 [43, 32]。鉴于提出的众多架构 [22、12、44、49],如何在模型大小和图形大小方面有效地扩展GNN仍然是一个悬而未决的问题。当我们增加GNN层的数量时,有两个基本障碍:

        1.表现力挑战(即过平滑[30、36、39、17]):相邻特征的迭代混合将不同节点的嵌入向量折叠到固定的低维子空间中。

        2.可扩展性挑战(即邻居爆炸[7,8,9,55]):多跳邻域的递归扩展导致感受野大小呈指数增长(从而导致计算成本)。

        为了解决表达力挑战,大多数补救措施都集中在神经架构探索上:[44,12,49,29]在传播邻居特征时提出了更具表现力的聚合函数。[50, 28,18,34,1,33,31] 使用残差式设计组件来构建灵活和动态的感受野。其中,[50,28,18]使用跨多个GNN层的跳跃连接,[34,1,33,31] 鼓励在每个单层内进行多跳消息传递。至于可扩展性挑战,已经探索了采样方法以提高训练速度和效率。基于重要性的逐层采样 [8, 7, 61] 和基于子图的采样 [54, 9, 55] 缓解了邻居爆炸,同时保持了训练的准确性。不幸的是,这种采样方法不能自然地推广到没有准确性损失的推理(另见第4节)。

        上述研究路线仅引导我们找到部分解决方案。然而,表达性和可扩展性挑战的根本原因是什么?撇开GNN架构或采样方案的设计不谈,我们通过以不同的方式解释数据来提供另一种视角。

2.1图上的两个视图。

        给定一个带有节点集\nu的输入图G,理解G最直接的方法是将其视为一个单一的全局图。因此,任何两个节点uv都属于同一个G,如果uv位于同一个连接组件中,那么无论uv有多远,它们最终都会在自己的邻居中看到对方。对于每个节点v来说,在它周围有一个潜在的G_{\left [ v \right ]},它只捕捉到了v本身的特征,而不是上述的全局观点,我们可以对G采取局部观点。完整的G被观察到(由数据收集过程)是所有这些G_{\left [ v \right ]}的集合。因此,\nu _{\left [ v \right ]}而不是\nu定义了v的邻居:如果u\notin \nu _{\left [ v \right ]}v将永远不会把u当作邻居。我们的 "解耦 "设计是基于此局部观点的。

        这段话的意思是,如果不采用提取子图的方法,那么一个节点距离另一个节点即使很远,多次的聚合邻居操作后该节点也会被用到;但是若是一个节点只聚合它的子图,那么不在子图里面的节点就永远不会被用到。

未完待更新

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/949222
推荐阅读
相关标签
  

闽ICP备14008679号