K-hop消息传递图神经网络的表达能力有多强?
论文地址:How Powerful are K-hop Message Passing Graph Neural Networks
一.论文概述
近些年,从空域角度定义的图神经网络(Graph Neural Network, GNN)的工作较多。该类GNN大都遵从经典的消息传递范式,即节点聚合来自本身1-hop邻居的消息并结合自己的特征来生成自己新的节点特征,作者称之为1-hop消息传递。对GIN等工作有所了解的人都清楚,根据1-hop消息传递定义的GNN的表达能力上限为Weisfeiler-Lehman test(1-WL test)。为了获取更具表达能力的GNNs,有学者提出了kkk-hop消息传递,该类GNN的表达能力显然超过1-hop消息传递,但缺乏理论分析。基于此现状,作者先从理论角度对kkk-hop消息传递的表达能力进行了分析,并提出了KP-GNN\text{KP-GNN}KP-GNN框架,该框架通过整合外围(peripheral)子图信息来进一步改进kkk-hop消息传递。实验结果表明作者提出的KP-GNN\text{KP-GNN}KP-GNN在众多benchmark数据集上都取得了有竞争力的结果。
二.K-hop消息传递
2.1 K-hop的定义
KKK-hop消息传递指的是图节点在更新自己的表示向量的时候,不是仅聚合来自邻居(1-hop)的消息,而是聚合来自kkk-hop内所有邻居的消息。目前,有两种不同的kkk-hop邻居定义:
- 基于图扩散(Graph Diffustion, GD) 的定义:图GGG中节点vvv的kkk-hop邻居指经过kkk步随机游走能达到vvv的节点集,文中用Nv,GK,gd\mathcal{N}_{v, G}^{K, g d}Nv,GK,gd 表示。
- 基于最短路径距离(Shortest Path Distance, SPD) 的定义:图GGG中节点vvv的kkk-hop邻居指**与其最短路径距离为kkk**的节点集,文中用Nv,GK,spd\mathcal{N}_{v, G}^{K, s p d}Nv,GK,spd表示。
下图便包含了两种kkk-hop邻居定义的示例:以Example1为例,对于G(1)G^{(1)}G(1)中的节点v1v1v1,根据GD的定义其1-hop邻居包括{2,3,4}\{2,3,4\}{2,3,4},2-hop邻居包括{2,3,4,5}\{2,3,4,5\}{2,3,4,5},而根据SPDSPDSPD的定义其1-hop邻居包括{2,3,4}\{2,3,4\}{2,3,4},2-hop邻居包括{5,6}\{5,6\}{5,6}。
2.2 K-hop消息传递框架
基于上述关于kkk-hop邻居的定义,下面给出kkk-hop消息传递框架的正式数学形式:
mvl,k=MESkl({{(hul−1,euv)∣u∈Qv,Gk,t)}),hvl,k=UPDkl(mvl,k,hvl−1),hvl=COMBINEl({{hvl,k∣k=1,2,…,K}),.\begin{gathered} m_{v}^{l, k}=\operatorname{MES}_{k}^{l}(\{\{(h_{u}^{l-1}, e_{u v}) \mid u \in Q_{v, G}^{k, t})\}), \quad h_{v}^{l, k}=\operatorname{UPD}_{k}^{l}(m_{v}^{l, k}, h_{v}^{l-1}), \\ h_{v}^{l}=\operatorname{COMBINE}^{l}(\{\{h_{v}^{l, k} \mid k=1,2, \ldots, K\}),. \end{gathered} mvl,k=MESkl({{(hul−1,euv)∣u∈Qv,Gk,t)}),hvl,k=UPDkl(mvl,k,hvl−1),hvl=COMBINEl({{hvl,k∣k=1,2,…,K}),.
其中t={spd,gd}t = \{spd, gd\}t={spd,gd},表示两种不同的kkk-hop定义,mvl,km_{v}^{l, k}mvl,k表示聚合来自Qv,Gk,tQ_{v, G}^{k, t}Qv,Gk,t的消息,hvl,kh_{v}^{l, k}hvl,k表示根据自己上一轮的特征和聚合来自kkk-hop邻居的消息生成的节点vvv的表示。从该公式可以看出,节点最终的表示hvlh_{v}^{l}hvl是不同kkk-hop的消息传递所得到的特征的组合。
2.3 K-hop消息传递框架的表达能力
结论:当K>1K > 1K>1时,KKK-hop消息传递严格比1-WL test表达能力更强大。
说明:对于KKK-hop消息传递GNNs,只要两个节点在KKK-hop内有区别,KKK-hop消息传递GNN就能区分。而这对于1-hop消息传递GNNs来说是确不一定,例如对于regular图,每个节点都具有相同的度,1-hop消息传递GNNs是区分不了的。以上图中的Example 2为例,G(1)G^{(1)}G(1)中的v1v_1v1和G(2)G^{(2)}G(2)中的v2v_2v2的1-hop邻居是相同的,但是倘若使用kkk-hop邻居,则通过2-hop邻居就可以将二者区分了。
2.4 K-hop消息传递框架的限制
作者指出现在提出的kkk-hop消息传递框架存在一些缺陷。前面提到KKK-hop的两种定义,作者指出不同定义的选择会影响KKK-hop消息传递的表达能力。还是以上图以为,对于Example 1中的两个示例节点,若选用GD的定义,两个节点v1v_1v1和v2v_2v2的2-hop邻居是可以区分的,但若选择SPD,则这两个节点是没法去区分的,Example 2也类似。也就是说,没有哪种定义的2-hop消息传递可以同时区分两者。
三.KP-GNN框架详解
作者提出通过添加外围(peripheral)子图信息来提高KKK-hop消息传递的表达能力。
3.1 外围边和外围子图
外围边指Qv,Gk,tQ_{v, G}^{k, t}Qv,Gk,t节点集中节点间的边,用符号来E(Qv,Gk,t)E(Q_{v, G}^{k, t})E(Qv,Gk,t)表示。外围子图指由Qv,Gk,tQ_{v, G}^{k, t}Qv,Gk,t产生的诱导子图,用符号Gv,Gk,t=(Qv,Gk,t,E(Qv,Gk,t))G_{v, G}^{k, t}=(Q_{v, G}^{k, t}, E(Q_{v, G}^{k, t}))Gv,Gk,t=(Qv,Gk,t,E(Qv,Gk,t))来表示。
以Example 1为例,在1-hop中,左边的图中在节点3和节点4间存在一条边,即E(Qv1,G(1)1,t)={(3,4)}E(Q_{v_{1}, G^{(1)}}^{1, t})=\{(3,4)\}E(Qv1,G(1)1,t)={(3,4)},而对于右边的图E(Qv2,G(2)1,t)={}E(Q_{v_{2}, G^{(2)}}^{1, t})=\{\}E(Qv2,G(2)1,t)={} ,因此添加该信息可以成功的区分两个节点。
3.2 K-hop 外围子图增强图神经网络
KP-GNN\text{KP-GNN}KP-GNN与上述KKK-hop消息传递的范式相差不大,区别在消息函数上:
h^vl,k=MESkl({{(hul−1,euv)∣u∈Qv,Gk,t},Gv,Gk,t)\hat{h}_{v}^{l, k}=\operatorname{MES}_{k}^{l}(\{\{(h_{u}^{l-1}, e_{u v}) \mid u \in Q_{v, G}^{k, t}\}, G_{v, G}^{k, t}) h^vl,k=MESkl({{(hul−1,euv)∣u∈Qv,Gk,t},Gv,Gk,t)
从上述消息传递公式看出,在第kkkhop的消息步骤中,不仅聚合了邻居的信息,还聚合了第kkk hop的外围子图。KP-GNN\text{KP-GNN}KP-GNN的实现非常灵活,可以适用于任何图编码函数。为了在保持简单的同时最大化模型可以编码的信息,作者将消息函数实现为:
MESkl=MESkl,normal({(hul−1,euv)∣u∈Qv,Gk,t})+∑c∈C1∣C∣∑(i,j)∈E(Qv,Gk,t)ceij,\operatorname{MES}_{k}^{l}=\operatorname{MES}_{k}^{l, normal}(\{(h_{u}^{l-1}, e_{u v}) \mid u \in Q_{v, G}^{k, t}\})+\sum_{c \in C} \frac{1}{|C|} \sum_{(i, j) \in E(Q_{v, G}^{k, t})_{c}} e_{i j}, MESkl=MESkl,normal({(hul−1,euv)∣u∈Qv,Gk,t})+c∈C∑∣C∣1(i,j)∈E(Qv,Gk,t)c∑eij,
其中 MESkl,normal \operatorname{MES}_{k}^{l, \text { normal }}MESkl, normal 表示原始GNN模型的消息函数,CCC是Gv,Gk,tG_{v, G}^{k, t}Gv,Gk,t的连通分量集。E(Qv,Gk,t)cE(Q_{v, G}^{k, t})_{c}E(Qv,Gk,t)c是Gv,Gk,tG_{v, G}^{k, t}Gv,Gk,t的第ccc个连通分量对应的边集。这种实现帮助KP-GNN\text{KP-GNN}KP-GNN不仅编码 E(Qv,Gk,t)E(Q_{v, G}^{k, t})E(Qv,Gk,t),而且能编码Gv,Gk,tG_{v, G}^{k, t}Gv,Gk,t的部分信息(分量数)。
四.实验
作者以GIN作为baseline,并于其它表达能力更强的GNN(GIN-AK+,PNA,PPGN)进行了对比。对于作者的KP-GNN,作者实现了KP-GIN+,此外,作者还实现了KP-GIN的正常KKK-hop版本(没有额外用外围子图增强)。
从实验结果可以看出,作者设计的模型KP-GNN\text{KP-GNN}KP-GNN的框架能得到富有竞争力的结果。
K-hop消息传递图神经网络的表达能力有多强?相关推荐
- 图神经网络的表达能力,究竟有多强大?
来源:AI科技评论 作者 | Mr Bear 编辑 | 丛 末 近年来,随着图神经网络在各个领域的火热应用,越来越多的学者试图从图论的角度对图神经网络的表达能力进行理论分析,并基于这些理论分析开发出了 ...
- TPAMI 2022 | 利用子图同构计数提升图神经网络的表达能力
©作者 | 桑士龙 来源 | MIND Laboratory 论文标题: Improving Graph Neural Network Expressivity via Subgraph Isomor ...
- 全连接神经网络的表达能力与泛化能力
在深度学习中,我们经常看到两个概念:表达能力和泛化能力 表达能力指的是模型拟合训练集的能力,可以用训练损失来衡量 而泛化集指的是模型迁移到测试集中的能力,可以用测试误差来衡量 一般来说,全连接的神经网 ...
- 31页PPT概述:图神经网络表达能力有多强?
整理 | 一一 出品 | AI科技大本营 近年来,图神经网络的研究成为深度学习领域的热点. 图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模,由于图结构的强大表现力,用机器学习方法分析图的 ...
- 活动报名|ICLR 2023杰出论文奖一作张博航:从图双连通性的角度重新思考图神经网络的表达能力...
- 神经网络尺寸和表达能力
神经网络尺寸 神经网络主要由输入层,隐含层,输出层组成.神经网络的尺寸,通常用神经元个数以及学习参数个数来衡量.下图选自cs231n课程笔记,描述了两个神经网络结构: 神经元个数指的是隐含层以及输出层 ...
- 深度丨如何理解和评价机器学习中的表达能力、训练难度和泛化性能
来源: Eric Jang 的个人博客 非常感谢王家兴 (Jiaxing Wang) 把这个博客文章翻译成中文. 当我在阅读机器学习相关文献的时候, 我经常思考这项工作是否: 提高了模型的表达能力: ...
- 如何理解和评价机器学习中的表达能力、训练难度和泛化性能
来源: Eric Jang 的个人博客 非常感谢王家兴 (Jiaxing Wang) 把这个博客文章翻译成中文. 当我在阅读机器学习相关文献的时候, 我经常思考这项工作是否: 提高了模型的表达能力: ...
- 表达能力和PPT文化
文:黄华 周末同学聚会,其中有个环节,请一个同学给大家介绍他的创业计划,看看大家是否有意愿共同投资.可惜这次演讲很不成功,当他讲了近30分钟,翻了几十页PPT,还没有进入正题的时候,被忍无可忍的同学们 ...
最新文章
- 基于K8S构建企业级Jenkins CI/CD平台实战(一) 之 环境搭建
- 一次由于字符集问题引发的MySQL主从同步不一致问题追查
- java获取mysql表结构
- WKWebView不显示提示框(Swift)
- Spring Cloud:Eureka Server控制台
- android gridview item 大小,关于GridView item动态宽度的问题
- vector作为参数传递到dll问题
- Lombok常用注解和功能
- System memory,AGP memory和video memory
- 不花钱、不买服务器可以搭建个人博客吗?快进来,给你安排!
- 10-4-文章评论管理
- Linux中ftp密码输错无响应,psftp登陆输入正确用户名和密码后无响应解决办法
- 下列网络设备中,能够抑制网络风暴的是( )
- java实现账号登陆界面_java用户登录界面的代码
- java 算法之快速排序
- delphi中webbrowser的用法
- linux查看硬盘命令ls,linux 硬件信息查看命令
- JavaScript【树】
- 宇信易诚 两季度亏损与高管出走的背后
- 黎曼的几何基础,维度