图神经网络 7大高效创新思路分享,附17篇最新顶会论文和代码

2024年了,图神经网络方向还好发论文吗?答案当然是能。

图神经网络在处理非欧空间数据和复杂特征方面具有明显的优势,且已成为了深度学习领域的热点,在学术界和工业界都有着广泛的研究和应用。不仅如此,图神经网络与CV和NLP领域交叉,容易有创新点,因此仍然是我们发论文的好方向。

但想要找到创新点,我们需要在传统的GNN基础上,考虑一些尚未被充分挖掘的方向和技术挑战。根据这点,我总结了一些值得学习借鉴的图神经网络创新思路,分为异构图处理、动态图学习、扩散3D数据、GNN隐私、GNN可解释性、技术结合、跨领域应用7大方向,并分享了每个方向的必读论文和代码17篇,包含2024年最新。

论文和代码看文末获取

异构图处理

1.Ordered GNN: Ordering Message Passing to Deal with Heterophily and Over-smoothing

通过消息传递的顺序处理异质性和过平滑问题

「简述:」论文提出了一种有向图神经网络(Ordered GNN),用于解决异质性和过平滑问题。传统的图神经网络中,消息传递是随机的,可能导致节点表示变得难以区分,无法有效地学习远离的节点之间的依赖关系。同时,具有不同标签的相邻节点的特征可能会被错误地混合在一起,导致异质性问题。为了解决这个问题,作者提出了一种有序的消息传递方法,将特定块的神经元用于特定跳数内的消息传递。

2.Two Sides of the Same Coin: Heterophily and Oversmoothing in Graph Convolutional Neural Networks

图卷积神经网络中的异质性和过平滑问题

「简述:」论文提出了一种统一的理论框架,解释了图卷积神经网络(GCN)中的过平滑和异质性问题。作者通过两个量化指标来描述节点:节点的相对度和节点级别的异质性。他们发现这两个指标之间的相互作用可以解释过平滑和异质性问题,并预测GCN的性能。基于这些见解,作者提出了两种策略来解决这些问题,并在实验中证明了其有效性。

3.Revisiting heterophily for graph neural networks

重新审视图神经网络中的异质性问题

「简述:」论文关注图神经网络(GNNs)在处理异质性数据集时的性能问题。作者提出了一种新的自适应通道混合(ACM)框架,可以更好地应对节点之间的不同相似性分布。在基准节点分类任务上,使用ACM增强的基线模型表现出更好的性能。

4.EvenNet: Ignoring Odd-Hop Neighbors Improves Robustness of Graph Neural Networks

忽略奇数跳邻居可以提高图神经网络的鲁棒性

「简述:」论文提出了一种新的简单而鲁棒的图神经网络(GNN)模型EvenNet,该模型在频域中设计并对应于一个偶数多项式图滤波器。通过在空间和频域的理论分析,作者发现忽略奇数跳邻居可以提高GNN的鲁棒性。实验结果表明,EvenNet在泛化同质和异质图方面优于全阶模型,并且在对抗结构攻击时无需引入额外的计算成本,同时在传统的节点分类任务上保持竞争力。

动态图学习

1.FreeDyG: Frequency Enhanced Continuous-Time Dynamic Graph Model for Link Prediction ICLR 2024

用于链接预测的频率增强连续时间动态图模型

「简述:」论文提出了一种新的简单方法,名为频率增强分解连续时间动态图(FreeDyG)模型,用于链接预测。FreeDyG通过从历史一跳邻居中提取节点表示,将动态图学习问题转化为在连续时间点上观察节点交互的时间序列分析问题。与之前主要关注时间域的方法不同,作者深入到频率域,从而能够更深入、更细致地提取交互模式,揭示周期性和“转移”行为。

2.Dynamic Heterogeneous Graph Attention Neural Architecture Search

动态异构图注意力神经架构搜索

「简述:」论文提出了动态异质图注意力搜索(DHGAS),用于自动设计DHGNN。作者通过设计一个联合关注节点的异质和动态邻居的注意力框架,以及一个参数化空间来确定注意力应该如何进行参数化,来应对现有DHGNN需要大量人力投入且无法适应不同场景的挑战。最后,作者设计了一个多阶段可微分搜索算法来高效地探索搜索空间。实验结果表明,该方法在链接预测、节点分类和节点回归等任务上表现优异。

3.Encoder-Decoder Architecture for Supervised Dynamic Graph Learning: A Survey

监督动态图学习的编码器-解码器架构

「简述:」近年来,随着在线服务的普及,产生了大量的用户活动数据。这些数据被收集用于分析用户行为并提供更好的服务。其中大多数数据可以建模为图形,例如社交网络图和用户-视频交互图。然而,随着时间的推移,这些图形需要不断演变以反映现实世界中的动态变化,这就引出了动态图的概念。但是,动态图中所包含的时间信息给分析和部署带来了新的挑战。本文提出了一个基于动态图演变理论的三阶段循环时间学习框架,旨在解释时间信息的学习方法。在此框架下,本文对监督动态图学习的不同可学习编码器-解码器架构进行了分类和审查。该调查可以为研究人员和工程师在为其动态学习任务寻找合适的图形结构时提供有用的指导方针。

扩展到3D数据

1.RadarGNN: Transformation Invariant Graph Neural Network for Radar-basedPerception

基于雷达感知的变换不变图神经网络

「简述:」论文提出了一种新颖的图神经网络,用于基于雷达的感知任务。该模型不仅考虑了点本身的特征,还考虑了点之间的关系。为了解决雷达点云稀疏和数据可用性差的问题,该模型设计了同时考虑点特征和点对特征的方法,并将其嵌入到图中的边缘中。此外,该研究还提出了一种通用的转换不变性方法,可以应对未见过的场景和有限的数据可用性。

GNN与隐私安全

1.A Survey on Privacy in Graph Neural Networks!Attacks,Preservation, and Applications

图神经网络中的隐私调查:攻击、保护和应用

「简述:」本文旨在填补现有图神经网络隐私保护技术的空白,总结针对图数据的攻击方式,分类GNN中的隐私保护技术,并回顾可用于分析/解决GNN隐私问题的数据集和应用。同时,作者提出了未来研究的潜在方向,以建立更好的隐私保护GNN。

图的可解释性

1.Explainability in Graph Neural NetworksA Taxonomic Survey

图神经网络的可解释性

「简述:」论文提供了图神经网络(GNN)解释性方法的统一和分类视角。作者指出,深度学习方法在许多人工智能任务上的性能不断提高,但其难以解释。为了解决这个问题,研究人员开发了后处理技术来解释预测结果,从而推动了可解释性领域的进展。最近,图像和文本数据的深度模型的解释性已经取得了显著的进展。在图数据领域,GNN及其解释性正在迅速发展。然而,目前还没有统一的GNN解释性方法,也没有标准的基准和测试平台来进行评估。因此,本文提供了一个统一的、分类的GNN解释性方法的调查。作者对现有方法的共同点和差异进行了统一和分类处理,为进一步的方法发展奠定了基础。

2.KerGNNs: Interpretable Graph Neural Networks with Graph Kernels

具有图核的可解释图形神经网络

「简述:」论文提出了一种新颖的GNN框架KerGNNs,将图核集成到GNN的消息传递过程中。受卷积神经网络(CNN)中卷积滤波器启发,KerGNNs采用可训练的隐藏图作为图滤波器,并将其与子图结合使用图核更新节点嵌入。此外,作者还表明MPNN可以视为KerGNN的特殊情形。作者将KerGNN应用于多个与图相关的任务,并使用交叉验证进行公平比较。实验结果表明,该方法与现有最先进技术相比具有竞争力的性能,显示出增加GNN表示能力的巨大潜力。

结合其他技术

1.Energy-based Out-of-Distribution Detection for Graph Neural Networks

基于能量的图神经网络分布外检测

「简述:」论文探讨了图结构数据的分布外检测问题,并提出了基于能量函数的分布外判别器。该判别器直接从使用标准分类损失训练的图神经网络中提取能量函数,为基于图神经网络的图学习提供了一种简单、强大和高效的分布外检测模型,称为GNNSAFE。该模型具有理论性质,可以保证在分布内和分布外样本之间的检测分数具有可区分的间隔,并且可以通过无学习的能量信念传播方案进一步加强。

2.Learning on Graphs with Out-of-Distribution Nodes

学习具有分布外节点的图

「简述:」论文提出了一种新颖的图神经网络模型OODGAT,用于处理具有分布外节点的图学习问题。该模型通过显式地建模不同类型节点之间的相互作用,并在特征传播过程中将内点和异常值分开,从而在分布外检测任务上取得了显著的性能提升。同时,OODGAT在已知类别的分类任务上也表现良好或相当。

3.GraphDE: A Generative Framework for Debiased Learning and Out-of-Distribution Detection on graphs

一种用于图上偏差学习和分布外检测的生成框架

「简述:」论文提出了一种用于图数据去偏学习和分布外检测的生成式框架GraphDE。该模型通过建模图生成过程来描述图数据中分布的变化,并引入了一个额外的潜在环境变量作为指示器。然后,定义了一个变分分布,即识别模型,以在GNN的训练过程中推断环境。通过将生成模型实例化为两个组件的混合体,作者推导出了一种易于处理的学习目标,并从理论上证明了该模型可以自动识别和降低训练过程中的异常值,同时产生有效的分布外检测器。

跨领域应用

1.Company-as-Tribe: Company Risk Assessment On Tribe-Style Graph With Hierarchical Graph Neural Networks(风险评估)

使用分层图神经网络对部落式图进行公司风险评估

「简述:」论文提出了一种新颖的层次图神经网络方法,用于部落式图形的公司财务风险评估。作者将每个上市公司及其股东视为一个部落,利用财务新闻建立部落之间的联系,并将公司财务风险评估问题重新定义为部落式图形上的公司财务风险评估。该方法通过两层的层次图神经网络实现了有效且高效的风险评估,在现实世界的公司数据集上进行的广泛实验表明,该方法在财务风险评估方面比之前的竞争方法有显著的改进。

2.Temporal and Heterogeneous Graph Neural Network for Financial Time Series Prediction(金融)

用于金融时间序列预测的时序异构图神经网络

「简述:」论文提出了一种基于时序异构图神经网络的方法,用于预测股票价格变动。作者利用历史价格生成公司关系图,并使用transformer编码器将价格变动信息编码为时序表示。然后,他们提出一种异构图注意力网络来联合优化金融时间序列数据的嵌入,并推断目标变动的概率。通过在美国和中国股市进行广泛的实验,该方法被证明比其他基线方法更有效和优越。此外,该方法还被部署在实际的量化算法交易系统中,并获得比其他基线方法更好的累计投资组合回报。

3.Emerging drug interaction prediction enabled by a flow-based graph neural network with biomedical network(医学)

基于生物医学网络的流程图神经网络实现新兴药物相互作用预测

「简述:」论文提出了一种名为EmerGNN的图神经网络方法,用于准确预测新兴药物之间的相互作用。作者利用生物医学网络中的丰富信息来提高预测准确性。EmerGNN通过提取药物对之间的路径、将信息从一个药物传播到另一个药物并结合路径上的相关生物医学概念来学习药物对的成对表示。生物医学网络上的不同边被赋予不同的权重以指示目标DDI预测的相关性和重要性。总体而言,EmerGNN在预测新兴药物相互作用方面比现有方法更准确,并能识别生物医学网络上最相关信息。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“GNN创新”获取全部论文+代码

码字不易,欢迎大家点赞评论收藏

  • 24
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# GPF ## 一、GPF(Graph Processing Flow):利用神经网络处理问题的一般化流程 1、节点预表示:利用NE框架,直接获得全每个节点的Embedding; 2、正负样本采样:(1)单节点样本;(2)节点对样本; 3、抽取封闭子:可做类化处理,建立一种通用数据结构; 4、子特征融合:预表示、节点特征、全局特征、边特征; 5、网络配置:可以是输入、输出的网络;也可以是输入,分类/聚类结果输出的网络; 6、训练和测试; ## 二、主要文件: 1、graph.py:读入数据; 2、embeddings.py:预表示学习; 3、sample.py:采样; 4、subgraphs.py/s2vGraph.py:抽取子; 5、batchgraph.py:子特征融合; 6、classifier.py:网络配置; 7、parameters.py/until.py:参数配置/帮助文件; ## 三、使用 1、在parameters.py中配置相关参数(可默认); 2、在example/文件夹中运行相应的案例文件--包括链接预测、节点状态预测; 以链接预测为例: ### 1、导入配置参数 ```from parameters import parser, cmd_embed, cmd_opt``` ### 2、参数转换 ``` args = parser.parse_args() args.cuda = not args.noCuda and torch.cuda.is_available() torch.manual_seed(args.seed) if args.cuda: torch.cuda.manual_seed(args.seed) if args.hop != 'auto': args.hop = int(args.hop) if args.maxNodesPerHop is not None: args.maxNodesPerHop = int(args.maxNodesPerHop) ``` ### 3、读取数据 ``` g = graph.Graph() g.read_edgelist(filename=args.dataName, weighted=args.weighted, directed=args.directed) g.read_node_status(filename=args.labelName) ``` ### 4、获取全节点的Embedding ``` embed_args = cmd_embed.parse_args() embeddings = embeddings.learn_embeddings(g, embed_args) node_information = embeddings #print node_information ``` ### 5、正负节点采样 ``` train, train_status, test, test_status = sample.sample_single(g, args.testRatio, max_train_num=args.maxTrainNum) ``` ### 6、抽取节点对的封闭子 ``` net = until.nxG_to_mat(g) #print net train_graphs, test_graphs, max_n_label = subgraphs.singleSubgraphs(net, train, train_status, test, test_status, args.hop, args.maxNodesPerHop, node_information) print('# train: %d, # test: %d' % (len(train_graphs), len(test_graphs))) ``` ### 7、加载网络模型,并在classifier中配置相关参数 ``` cmd_args = cmd_opt.parse_args() cmd_args.feat_dim = max_n_label + 1 cmd_args.attr_dim = node_information.shape[1] cmd_args.latent_dim = [int(x) for x in cmd_args.latent_dim.split('-')] if len(cmd_args.latent_dim) == 1: cmd_args.latent_dim = cmd_args.latent_dim[0] model = classifier.Classifier(cmd_args) optimizer = optim.Adam(model.parameters(), lr=args.learningRate) ``` ### 8、训练和测试 ``` train_idxes = list(range(len(train_graphs))) best_loss = None for epoch in range(args.num_epochs): random.shuffle(train_idxes) model.train() avg_loss = loop_dataset(train_graphs, model, train_idxes, cmd_args.batch_size, optimizer=optimizer) print('\033[92maverage training of epoch %d: loss %.5f acc %.5f auc %.5f\033[0m' % (epoch, avg_loss[0], avg_loss[1], avg_loss[2])) model.eval() test_loss = loop_dataset(test_graphs, model, list(range(len(test_graphs))), cmd_args.batch_size) print('\033[93maverage test of epoch %d: loss %.5f acc %.5f auc %.5f\033[0m' % (epoch, test_loss[0], test_loss[1], test_loss[2])) ``` ### 9、运行结果 ``` average test of epoch 0: loss 0.62392 acc 0.71462 auc 0.72314 loss: 0.51711 acc: 0.80000: 100%|███████████████████████████████████| 76/76 [00:07<00:00, 10.09batch/s] average training of epoch 1: loss 0.54414 acc 0.76895 auc 0.77751 loss: 0.37699 acc: 0.79167: 100%|█████████████████████████████████████| 9/9 [00:00<00:00, 34.07batch/s] average test of epoch 1: loss 0.51981 acc 0.78538 auc 0.79709 loss: 0.43700 acc: 0.84000: 100%|███████████████████████████████████| 76/76 [00:07<00:00, 9.64batch/s] average training of epoch 2: loss 0.49896 acc 0.79184 auc 0.82246 loss: 0.63594 acc: 0.66667: 100%|█████████████████████████████████████| 9/9 [00:00<00:00, 28.62batch/s] average test of epoch 2: loss 0.48979 acc 0.79481 auc 0.83416 loss: 0.57502 acc: 0.76000: 100%|███████████████████████████████████| 76/76 [00:07<00:00, 9.70batch/s] average training of epoch 3: loss 0.50005 acc 0.77447 auc 0.79622 loss: 0.38903 acc: 0.75000: 100%|█████████████████████████████████████| 9/9 [00:00<00:00, 34.03batch/s] average test of epoch 3: loss 0.41463 acc 0.81132 auc 0.86523 loss: 0.54336 acc: 0.76000: 100%|███████████████████████████████████| 76/76 [00:07<00:00, 9.57batch/s] average training of epoch 4: loss 0.44815 acc 0.81711 auc 0.84530 loss: 0.44784 acc: 0.70833: 100%|█████████████████████████████████████| 9/9 [00:00<00:00, 28.62batch/s] average test of epoch 4: loss 0.48319 acc 0.81368 auc 0.84454 loss: 0.36999 acc: 0.88000: 100%|███████████████████████████████████| 76/76 [00:07<00:00, 10.17batch/s] average training of epoch 5: loss 0.39647 acc 0.84184 auc 0.89236 loss: 0.15548 acc: 0.95833: 100%|█████████████████████████████████████| 9/9 [00:00<00:00, 28.62batch/s] average test of epoch 5: loss 0.30881 acc 0.89623 auc 0.95132 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值