图神经网络通用框架 —— MPNN消息传递神经网络

简介: 图神经网络通用框架 —— MPNN消息传递神经网络

前言

大家好,我是阿光。

本专栏整理了《图神经网络》,内包含了不同图神经网络的原理以及相关代码实现,详细讲解图神经网络,理论与实践相结合,如GCN、GraphSAGE、GAT等经典图网络,每一个代码实例都附带有完整的代码+数据集。

正在更新中~ ✨

🚨 我的项目环境:

  • 平台:Windows10
  • 语言环境:python3.7
  • 编译器:PyCharm
  • PyTorch版本:1.11.0
  • PyG版本:2.1.0

💥 项目专栏:【入门图神经网络】


一、图计算框架

对于空域的图神经网络常见有GAT、GCN等变体,除此之外目前还提出了几个通用的计算框架,目的就是将一些模型集成到一个框架当中。

对于常见的计算模块通常有传播模块、采样模块、池化模块等,针对每个模块目前都有很多不同的设计模式,所以一些研究人员想要提出一个通用的框架来表示这个计算流程。

二、计算模块

  • 传播模块:用于在节点之间传播信息,以便聚合的信息可以捕获特征和拓扑信息。在传播模块中,卷积算子和递归算子通常用于聚集来自邻居的信息,而跳过连接操作用于从节点的历史表示中收集信息并缓解过度平滑问题。
  • 采样模块:当图很大时,通常需要采样模块来对图进行传播。采样模块通常与传播模块相结合。
  • 池化模块:当我们需要高级子图或图的表示时,需要池模块来从节点中提取信息。

Monti等人提出了混合模型网络MoNet,这是在图或流形上定义的几种方法的通用空间框架。Gelmer等人提出了消息传递神经网络MPNN,该网络使用消息传递函数来统一几个变体。Wang等人提出了非局部神经网络NLNN,它统一了几种“自我注意力”方法。Battaglia等人提出了图形网络GN,它是一个更加通用的框架,能够学习节点级、边级和图级别的表示学习。

三、MPNN消息传递神经网络

MPNN是Gilmer等人为实现分子性质预测提出的一个通用计算框架。

该模型主要包含两个阶段:消息传递阶段和读取阶段

  • 消息传递阶段(Message Passing Phase):该阶段分别两个步骤,分别是聚合邻居信息和更新状态信息
    image.png

上式用于聚合邻居,其中 M t M_tMt 代表一个可微函数,用于聚合信息使用,最简单的设计就是一个全连接神经网络,将输入的节点与邻居节点的特征向量以及边特征进行映射形成新的维度特征,然后将所有邻居聚合后的信息进行加和。

image.png

该式是用于更新节点状态的,同理 U t U_tUt 也是一个可微函数,输入的信息是当前节点的隐状态信息以及聚合后的信息,经过更新作为新的时间点的隐状态特征向量。

对于下标v表示当前节点,上标t代表第t个时间步,或者可以理解为第t层特征经过了几个网络层,N v N_vNv代表节点v的所有邻居。

  • 读取阶段(Readout Phase):这个阶段主要是为整张图计算一个特征向量用于表示整张图

image.png

对于R一般常见有均值聚合器、最大聚合器、LSTM聚合器,类似于图像处理中的最大池化层,对于均值聚合器,我们可以将整张图所有节点的特征向量进行加权平均作为整张图的向量表示,对于LSTM聚合器就是将所有节点的特征向量输入到LSTM当中,利用LSTM网络进行提取信息然后将最后一个时间步的输出作为整张图的表示。

参考文章

  • Neural Message Passing for Quantum Chemistry
  • Graph neural networks: A review of methods and applications


目录
相关文章
|
2月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
123 6
|
21天前
|
机器学习/深度学习 算法 PyTorch
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
本文探讨了图神经网络(GNN)与大型语言模型(LLM)结合在知识图谱问答中的应用。研究首先基于G-Retriever构建了探索性模型,然后深入分析了GNN-RAG架构,通过敏感性研究和架构改进,显著提升了模型的推理能力和答案质量。实验结果表明,改进后的模型在多个评估指标上取得了显著提升,特别是在精确率和召回率方面。最后,文章提出了反思机制和教师网络的概念,进一步增强了模型的推理能力。
50 4
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
|
2月前
|
人工智能 自然语言处理
WebDreamer:基于大语言模型模拟网页交互增强网络规划能力的框架
WebDreamer是一个基于大型语言模型(LLMs)的网络智能体框架,通过模拟网页交互来增强网络规划能力。它利用GPT-4o作为世界模型,预测用户行为及其结果,优化决策过程,提高性能和安全性。WebDreamer的核心在于“做梦”概念,即在实际采取行动前,用LLM预测每个可能步骤的结果,并选择最有可能实现目标的行动。
65 1
WebDreamer:基于大语言模型模拟网页交互增强网络规划能力的框架
|
2月前
|
JSON 数据处理 Swift
Swift 中的网络编程,主要介绍了 URLSession 和 Alamofire 两大框架的特点、用法及实际应用
本文深入探讨了 Swift 中的网络编程,主要介绍了 URLSession 和 Alamofire 两大框架的特点、用法及实际应用。URLSession 由苹果提供,支持底层网络控制;Alamofire 则是在 URLSession 基础上增加了更简洁的接口和功能扩展。文章通过具体案例对比了两者的使用方法,帮助开发者根据需求选择合适的网络编程工具。
37 3
|
2月前
|
存储 安全 网络安全
网络安全法律框架:全球视角下的合规性分析
网络安全法律框架:全球视角下的合规性分析
59 1
|
2月前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
2月前
|
网络协议 网络安全 Apache
一个整合性、功能丰富的.NET网络通信框架
一个整合性、功能丰富的.NET网络通信框架
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。

热门文章

最新文章