【图神经网络实战】深入浅出地学习图神经网络GNN(下)

article/2025/9/20 11:35:05

文章目录

  • 一、Graph Attention Network
    • 1.1 图注意力机制作用与方法
    • 1.2 Attention计算
    • 1.3 Graph Attention 做了什么
  • 二、序列图神经网络TGCN
    • 2.1 序列图神经网络TGCN的应用
    • 2.2 序列图神经网络细节(实例:交通流量预测)
      • 2.2.1 交通场景示意图
      • 2.2.2 根据道路和传感器构建图
      • 2.2.3 构建序列输入
      • 2.2.4 套用RNN模型


本文为学习产物,学习链接(如有侵权,请告知删除):
人工智能【图神经网络实战】教程,让你一天就学会深入浅出图神经网络GNN,从入门到精通!


一、Graph Attention Network

1.1 图注意力机制作用与方法

图中的注意力机制相当于在某个点进行特征重构时,其邻接点都加上一个权重,使得其在重构特征时受权重较大的邻接点影响更大,起到注意力的效果。
在这里插入图片描述

1.2 Attention计算

如下所示,权重参数a的计算是我们最应该关注的点

在这里插入图片描述
权重参数a怎么计算呢?

最简单的方法如下:

假设图中节点1、节点2、节点3的特征向量分为为A1、A2、A3

a12 = A1 与 A2 的内积 ; a13 = A1 与 A3的内积

再对a12和a13进行softmax操作即可得到两条边的权重参数啦!

稍微复杂一点的方法如下:

例如我们要计算权重参数a12

  • 我们可以将A1和A2拼接为一个一维行向量
  • 然后令其右乘一个可训练的参数(同长度的一维列向量,可以看作输入为行向量长度输出为1的一个全连接层)
  • 然后再连接LeakyRelu激活函数确保其为非负值
  • 最后连接softMax激活函数进行归一化。

这样随着训练,权重参数的计算会越来越“准确”

在这里插入图片描述

1.3 Graph Attention 做了什么

其实就是对邻接矩阵进行了加权。权重越大,网络就越“注意”它。

在这里插入图片描述
在这里插入图片描述

二、序列图神经网络TGCN

2.1 序列图神经网络TGCN的应用

左图展示的是静态图,随着时间的变化,其图的邻接矩阵不发生改变(图的结构不变)

右图展示的是动态图,随着时间的变化,其图的邻接矩阵也在变化(图的结构在变)

对于动态图,传统的GNN就不太好用了,想想在时间序列数据上我们最常用的网络是什么?没错,是RNN。

所以,将GNN套用在RNN上,就构成了这一章的主角:序列图神经网络TGCN

在这里插入图片描述
下面,让我们来看看TGCN的具体应用场景:

  • 交通的预测(交通路线不是固定的,可能明天就有一条新路通车了,或者有一条路被封闭了)
  • 疾病的蔓延(一方面有地区交通决定,一方面由蔓延时间所决定)
  • 手势识别(手的关节点是一个图,随着时间的变化,图会改变)
    在这里插入图片描述

2.2 序列图神经网络细节(实例:交通流量预测)

2.2.1 交通场景示意图

在这里插入图片描述

2.2.2 根据道路和传感器构建图

在这里插入图片描述

2.2.3 构建序列输入

由于传感器上的数值不是固定的,而是随着时间的变化而变化的(例如,每5分钟更新采集一次当前车流量数据),所以我们还需要考虑时间序列,例如我们可以这样构造序列输入:

2022-10-06 :[45,8,9,775,56,3]
2022-10-07 :[24,5,6,33,44,24]
2022-10-08 :[78,3,1,498,65,7]

在这里插入图片描述

2.2.4 套用RNN模型

如何套用RNN模型呢?

最简单的思路是:我们可以将每个时刻的序列先送入GCN进行特征提取,然后再将提取后的特征送入GRU单元往后传递,依此类推。最后,用末尾的GRU单元的输出进行分类或者回归任务。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/k358xwG8.shtml

相关文章

【图神经网络实战】深入浅出地学习图神经网络GNN(上)

文章目录 一、图神经网络应用领域1.1 芯片设计1.2 场景分析与问题推理1.3 推荐系统1.4 欺诈检测与风控相关1.5 知识图谱1.6 道路交通的流量预测1.7 自动驾驶(无人机等场景)1.8 化学,医疗等场景1.9 物理模型相关 二、图神经网络基本知识2.1 图…

pytorch开发工具

学习目标: 1、pycharm 安装 2、jupter安装 学习内容: 1、pycharm 安装 官网地址: https://www.jetbrains.com/pycharm/download/#sectionwindows 点击安装 选择环境变量: 验证: 2、jupyter安装 进入pytorch 环…

PyTorch 简介

PyTorch 简介 概述PyTorch 是什么Why? PyTorch安装 概述 PyTorch API 文档 PyTorch 是什么 PyTorch 是一个提供两个高级功能的 python 包: 具有强 GPU 加速度的张量计算 (如 numpy)深层神经网络建立在基于磁带的自动调整系统上 注: PyTorch 中的 Torch 和 TensorFlow 中的…

国内官网下载pytorch(GPU版)

国内官网下载GPU版pytorch 用官网conda下载坑换清华镜像源的坑使用官网pip3下载成功 看完了吴恩达的深度学习,然后去B站看李沐的卷积神经网络的代码实现,由于之前学习阶段搭建的环境有点混乱,想着自己能科学上网就打算直接卸载anaconda中的环…

Python Pytorch

学习基础知识 大多数机器学习工作流程都涉及处理数据、创建模型、优化模型参数和保存经过训练的模型。本教程向您介绍在 PyTorch 中实现的完整 ML 工作流,并提供链接以了解有关每个概念的更多信息。 我们将使用 Fashion MNIST 数据集来训练一个神经网络&#xff0c…

PyTorch教程中文版

原文:Welcome to PyTorch Tutorials — PyTorch Tutorials 1.12.0cu102 documentation​​​​​​ 中文翻译,加个人总结,便于理解与回顾。 前置知识:python、神经网络 目录 基础概念: 张量Tensors: te…

pytorch怎么下载?pytorch在哪里下载?

PyTorch是一个基于Torch的Python开源机器学习库,许多同学表示不知道怎么下载,或者是下载的非常慢,今天来教大家怎么下载PyTorch。 pytorch在哪里下载? 官方下载地址:https://pytorch.org/ PyTorch选择稳定版本&#…

PyTorch中文版官方教程来啦(附下载)

PyTorch 中文版官方教程来了。 PyTorch 是近期最为火爆的深度学习框架之一,然而其中文版官方教程久久不来。近日,一款完整的 PyTorch 中文版官方教程出炉,读者朋友从中可以更好的学习了解 PyTorch 的相关细节了。教程作者来自 pytorchchina.c…

pytorch官方文档(中文版)

https://pytorch123.com/ 教程介绍 PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。它主要由Facebookd的人工智能小组开发,不仅能够 实现强大的GPU加速,同时还支持动态神经网络,这一点是现在很多主流…

pytorch 下载安装全流程详细教程

强烈推荐,亲测有效, 1.查看cuda版本 在命令行输入如下代码: nvidia-smi可以看出,我cuda的版本是11.0 2.在官网https://pytorch.org/选择对应的版本 https://pytorch.org/3.复制Run this Command,直接下载安装&…

Pytorch(一) Pytorch 的安装

安装步骤 1.检查是否有合适的GPU, 若有安装Cuda与CuDNN 2.下载pytorch安装文件,进行pytorch的安装 检查电脑是否有合适的GPU 在桌面上右击如果能找到NVIDA控制面板,则说明该电脑有GPU。控制面板如下,并通过查看系统信息获取支持的Cuda版本…

【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)

作者其他相关文章:Pytorch环境详细安装教程【Win10CUDA升级11.6cudNNAnaconda3虚拟环境pycharm】 官网:https://pytorch.org/get-started/previous-versions/ CUDA Toolkit版本及可用PyTorch对应关系总结(参考官网) CUDAToolkit…

安装PyTorch详细过程

安装PyTorch过程 安装anaconda环境管理PyTorch安装检验安装 安装anaconda 登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网 点击下载 跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自…

安装pytorch的过程及所见问题

1、安装anaconda 点击前往anaconda官网:www.anaconda.com 提示:建议下载最新版本的anaconda,不然容易出现如下报错:CondaError: Cannot link a source that does not exist. C:\Anaconda3\Scripts\conda.exe,之后可能…

pytorch与cuda版本匹配--最新(pytorch官网)

gpu驱动,cuda,cudnn安装传送门(温馨提示:请自行配置自己显卡型号及操作系统,该安装方式仅供参考): Centos7 安装GPU驱动(rpm包方式安装) ubuntu16.04 安装GPU驱动(最新,亲测有效) Centos7 安装GPU驱动,降级CUDA,CUDNN 最新版:pyt…

腾讯地图标注_怎样在导航地图上标注公司名和位置

企业怎样在腾讯地图标明公司名字和位置。很多人都必须在腾讯地图标明企业的位置,主要是为了方便客户在搜索公司位置的时候便于导航所在地。 为了更好地提升腾讯地图的成功率和利用率,我这里给大家做一个简单的申请案例,如果你不知道需要准备什…

百度地图JavaScript API 学习之创建标注

在地图上绘制之创建标注 官方demo示例和讲解——直戳这里 简介 所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当拖动或缩放地图时,它们会相应的移动。覆盖物主要分为:标注(点标注、…

百度地图API 自定义标注图标

通过Icon类可实现自定义标注的图标&#xff0c;下面示例通过参数MarkerOptions的icon属性进行设置&#xff0c; 也可以使用marker.setIcon()方法。 <script type"text/javascript">// 百度地图API功能var map new BMap.Map("allmap"); // 创建…

腾讯地图标注_在腾讯地图上标注店铺,只需要简单几步就搞定

第一步&#xff0c;打开腾讯地图&#xff0c;进入页面如下图 第二步&#xff0c;右上角有个“上报”栏&#xff0c;点击进入&#xff0c;页面如下 第三步&#xff0c;右下角有个“新增”栏&#xff0c;点击出现下图 第四步&#xff0c;点击新增地点&#xff0c;进入页面如下图 …

百度地图API 实现地图多点标注

1.MySQL设计 2.java RequiresPermissions("system:lmonitor:list")PostMapping("/list")ResponseBodypublic TableDataInfo list(LstMonitor lstMonitor){startPage();List<LstMonitor> list lstMonitorService.selectLstMonitorList(lstMonitor);…