论文名称:Are we really making much progress? Revisiting, benchmarking, and refining heterogeneous graph neural networks
论文ArXiv下载地址:https://arxiv.org/abs/2112.14936
论文KDD官方下载地址:https://dl.acm.org/doi/10.1145/3447548.3467350(网站中还含有官方讲解视频)
官方GitHub项目:https://github.com/THUDM/HGB
本文是2021年KDD研究论文,是清华系的工作。
看标题应该就能看出来,本文主要是为了喷近几年提出的各种异质图神经网络模型都不行的。
简单来说,不如同质图GAT1。
本文提出了一个简单的异质图神经网络基线模型,异质图版的GAT(Simple-HGN)。
本文还提出了一个异质图leaderboard(HGB),但是根本就没人来打榜玩……
尴尬了.jpg
本博文总结该论文,并顺便把本文当成综述来简单总结了12个近年提出的异质图神经网络模型及其缺点。
(其实我当时是想查一下综述的。我看了一下引用比较高的异质图GNN有HetGNN和MAGNN,那我寻思肯定有人做模型效果对比啊,然后一谷歌,好家伙,不仅做了,做完还喷了,喷完还发KDD了,牛逼!)
文章目录
1. Background
近几年异质图GNN(Heterogeneous graph neural networks (HGNNs))颇受关注,但是由于每个工作的数据预处理方式和评估设置都不同,因此很难对新模型具体的进步程度做全面理解。
本文使用12个异质图GNN模型的官方代码、数据集、实验设置和超参,证明了它们毫无进展(也不完全,只能说基本没有)。
同质图GNN模型(如GCN和GAT)因为不合适的实验设置而被低估了,GAT调好了不逊于甚至优于HGNNs。
此外本文还构建了异质图benchmark HGB,包含11个数据集,3个任务(节点分类、链路预测、knowledge-aware recommendation)。HGB统一了异质图数据划分、特征工程和模型评估的过程。
最后本文提出了简单但有效的异质图GNN baseline Simple-HGN。
本文得出的结论:
- 同质图GNN其实很强,原始GAT调一调就能超过大多数HGNNs。
- 以前的一些工作有实验设置不合适或数据泄露的问题,导致报告指标虚高。
- metapaths在大多数数据集中是没必要的。
- HGNNs还有很大的进步空间。
Preliminaries
GCN:
GAT:
meta-path
meta-path neighbor graph:以meta-path的起点到终点为边构建的图
2. 挨个介绍并喷近几年提出的异质图GNN模型
HGNNs的主要问题在于与同质图GNN的对比不公平,其他问题还有数据泄露、在测试集上调参、空间和时间消耗代价与效果提升不成正比。
2.1 节点分类
2.1.1 HAN2(2019 WWW)
需要人工选择meta-paths,然后用2层attention网络做聚合(meta-path邻居节点,meta-path)。
实验不公平:GCN和GAT只使用了一个meta-path neighbor graph作为输入。应该忽略类型,直接输入全图。
2.1.2 GTN3(2019 NeurIPS)
自动学习有价值的meta-paths。直觉是meta-path neighbor graph可以通过乘几个子图邻接矩阵来得到(还没看原论文,没搞懂这句话啥意思!)
因此,GTN利用soft sub-graph selection和矩阵乘法生成meta-path neighbor graphs,然后用GCN进行编码。
GTN的重要缺点是时间和空间代价太大,而且没什么提升。
2.1.3 RSHN4(2019 ICDM)
用coarsened line graph先获得边特征,然后传播节点和边特征。
RSHN官方代码没有验证集,直接在测试集上调参,而且在论文中报出的是在测试集上准确率最高的epoch的准确率。用这种调法GAT都能调出100%了。
2.1.4 HetGNN5(2019 KDD)
用RWR抽样异质邻居,按节点类型分类,然后用NN聚合。NN有两个模块,第一个模块编码内容,第二个模块聚合特征。
代码不公平的问题和HAN一样。
2.1.5 MAGNN6(2020 WWW)
考虑了节点的特征信息、metapath的中间节点和多种metapath。
MAGNN包含三个部件:
① node content transformation
② intra-metapath aggregation
③ inter-metapath aggregation
代码不公平的问题和HAN一样。
此外链路预测中还存在数据泄露问题:每个minibatch都会全是正值或者全是负值,批归一化的平均值和方差会提供额外信息。(没看懂)打乱测试集后效果就会下降很多。
2.1.6 HGT7(2020 WWW)
原数据集巨大,一般HGNNs模型跑不了,除非做subgraph sampling。为了解决抽样误差,本文用小数据集做了实验。
2.1.7 HetSANN8(2020 AAAI)
用type-specific graph attention layer聚合局部信息,这样就不需要手动挑选meta-paths了。
这篇论文没有提供数据集和预处理细节。
2.2 链路预测
2.2.1 RGCN9(2018 ESWC)
RGCN卷积可以被视为原始GCN在不同边类型上的加权求和:
2.2.2 GATNE10(2019 KDD)
2.3 knowledge-aware recommendation
2.3.1 KGCN11(2019 WWW) & KGCN-LS12(2019 KDD)
KGCN聚合知识图谱中实体邻居
KGNN-LS更进一步提出label smoothness假设,加正则项学习personalized weighted knowledge graph
2.3.2 KGAT13(2019 KDD)
类似KGCN。
针对knowledge graph reconstruction制定辅助损失函数,用预训练的BPR-MF作为输入。
本文提出了KGAT-,比KGAT更简单,但是效果相似甚至更好。
3. Leaderboard(虽然没人玩)
链路预测任务被建模为二分类问题。
从RGCN9中我们知道用DistMult14比直接点乘效果好(因为复杂的边类型),所以:
链路预测的指标是ROC-AUC和MRR。
其他略。
4. Simple-HGN
4.1 模型结构
GAT+
①可学习的类型嵌入
②residual connections
节点上有一个:
当隐藏层维度发生变化时:
边上还有一个:
multi-head attention:
还有其他一些改进(类似JKNet)
③输出嵌入上的L2正则
4.2 模型分析:Ablation Study
5. 本文撰写过程中参考的其他网络资料
- 基于异质图的HGNN真的有效吗? - 知乎
- 【KDD2021】Are we really making much progress? Revisiting, benchmarking, and refining HGNNs_林若漫空的博客-CSDN博客:这篇博文里面还有作者写的其他本文引用的论文的笔记,我还都没看。
我还没有专门写过GAT的博文,不过可以参考我写的cs224w的博文,跟GAT关系比较大的,第一篇是讲模型的:cs224w(图机器学习)2021冬季课程学习笔记9 Graph Neural Networks 2: Design Space,第二篇是讲代码的:cs224w(图机器学习)2021冬季课程学习笔记13 Colab 3 ↩︎
Relation Structure-Aware Heterogeneous Graph Neural Network ↩︎
MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding ↩︎
Re22:读论文 HetSANN An Attention-based Graph Neural Network for Heterogeneous Structural Learning ↩︎
Modeling relational data with graph convolutional networks ↩︎ ↩︎
Representation learning for attributed multiplex heterogeneous network ↩︎
Knowledge graph convolutional networks for recommender systems ↩︎
Knowledge-aware graph neural networks with label smoothness regularization for recommender systems ↩︎
KGAT: Knowledge Graph Attention Network for Recommendation ↩︎
Embedding entities and relations for learning and inference in knowledge bases ↩︎