【源头活水】图上的边信息怎么办:GNNs与edge feature
“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。
地址:https://zhuanlan.zhihu.com/p/432923190
Abstract:
当前GNNs主要利用了节点特征,忽略了边上信息。本笔记对GNNs中利用边信息的方式进行小结。
部分图片截取自[1],感谢原创人员悉心的总结分享。
01
图表示学习近年来取得巨大进展,以GCNs为代表的一系列图神经网络模型在节点分类、图分类、链接预测等图领域任务取得亮眼的成果。其中大部分模型基于message-passing方式构建,即“聚合邻居信息,更新节点自身状态”,在此范式中,节点特征得到充分的学习。而现实的许多图中,边上存在丰富的信息,它们在当前大多模型中未被充分利用。
Edge Features同样描述着网络,学习edge features能强化图神经网络的表达能力。
以下图为例:
社交网络中,edge features更具体地描述着用户(nodes)间关系。
02
当前图神经网络对边信息主要有如下几种利用方式:
2.1 Implicit Utilization
每个节点只aggregate其邻居的信息,这一聚合方式本身就基于节点间的边实现。此情况下只视作各个边为binary feature,只有“有边/无边”区别。
2.2 Naive Utilization
对于边上特征为scalar的情况,最简单直接的方式是使用带权的邻接矩阵描述,与之对应的,使用支持edge weight的模型学习即可。
2.3 Aggregate from Different Types of Edge
在许多场景中,边上特征为类别标签,如社交网络中,边上可以标注两人为工作关系、家人等。
对于存在多种类型边的图(边异构),常见处理方法是依照边的类型分别聚合信息。
如早期工作Relational GCN[2],
其只在GCN
的基础上,增加了 .
其他模型也是类似思路,仅在聚合方式上做进一步细化。如下图:
2.4 Multi-dimensional Edge Features
上述3个方式并不能较好地处理边上多维特征。面对多维边特征,常见手段也是在aggregation阶段将边特征、邻居节点特征通过某种function结合在一起,再传给目标节点。
General Idea 如下图:
相关工作有PNAConv[3],Crystal Graph Conv[4]。
2.5 Learn Edge Embeddings
与2.4区别在于,下述方法以多维边特征为输入,并在模型每层更新,类似学习node embedding一般,同时学习edge embeddings。其实现方式多为创建某种辅助图,在该图中将边也视作节点,再用现有GAT等模型学习边和节点的表示。
1. EGNN [5]
$P$ 为边特征维度数。
在GAT基础上,单独处理每一维的特征。聚合函数中加入节点特征,并为每一维特征单独学一组注意力权重,最后将各维输出concate。本文的edge embeddings,为每层所学的边多维特征注意力权重。
2. CensNet [6]
使用line graph(原始图中节点变为line graph中的边,边变为节点)构建辅助图,在original graph和line graph上训练模型,交替更新node, edge embeddings。
3. NENN [7]
以GAT为基础,提出Node-level Attention Layer, Edge-level Attention Layer。
每个layer区别主要在于输入的图的观察角度。
如下图中两矩形方框部分,分别以node、edge为视角,重新定义“邻居”,将边/节点视作新图中的节点,在新图中学习边和节点的embeddings。
4. EGAT [8]
与CensNet类似,使用line graph+GAT学习节点和边的表示。
03
1. 2.5中多用GAT编码边特征信息,带来较大的计算开销,能否更轻量且优雅的编码边特征?
2. 2.5中使用诸如line graph等构建辅助图,把原图中的边变换为辅助图中的节点,从而可以利用已有GNN进行边嵌入的学习。但是,对于“边的邻居边”,是否同样满足节点与其邻居相近的假设?
3. 如何评估边特征与节点的关系,边特征如何切实的帮助图表示学习?
Reference
1. https://www.youtube.com/watch?
2. Schlichtkrull M, Kipf T N, Bloem P, et al. Modeling relational data with graph convolutional networks[C]//European semantic web conference. Springer, Cham, 2018: 593-607.
3. Corso G, Cavalleri L, Beaini D, et al. Principal neighbourhood aggregation for graph nets[J]. arXiv preprint arXiv:2004.05718, 2020.
4. Xie T, Grossman J C. Crystal graph convolutional neural networks for an accurate and interpretable prediction of material properties[J]. Physical review letters, 2018, 120(14): 145301.
5. Gong L, Cheng Q. Exploiting edge features for graph neural networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 9211-9219.
6. Jiang X, Ji P, Li S. CensNet: Convolution with Edge-Node Switching in Graph Neural Networks[C]//IJCAI. 2019: 2656-2662.
7. Yang Y, Li D. Nenn: Incorporate node and edge features in graph neural networks[C]//Asian Conference on Machine Learning. PMLR, 2020: 593-608.
8. Chen J, Chen H. Edge-Featured Graph Attention Network[J]. arXiv preprint arXiv:2101.07671, 2021.
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“源头活水”历史文章
一行核心代码提升无监督/自监督模型特征表达
车辆意图预测中一种基于因果时间序列的域泛化方法
因果关系检测提高强化学习效率
基于GNN的层次人脸聚类
CLUES:用于NLU的少样本学习评估
全新视觉 Transformer:高分辨率图像复原新SOTA——Restormer
GRI:通用强化模仿学习,用于视觉自动驾驶
UMBRELLA:不确定性-觉察、利用规划的基于模型离线强化学习方法
Devign: 基于GNN的源代码漏洞检测
DriverGym,一个强化学习用于自动驾驶的开源平台
GRASSY | 利用图神经网络和几何散射方法优化分子图的生成
Very Deep VAE
联合意图识别和槽位填充,Slot-Gated机制
[ACM MM 2021] 基于深度学习的图像水印去除
更多源头活水专栏文章,
请点击文章底部“阅读原文”查看
分享、在看,给个三连击呗!