GNN学习笔记:A Gentle Introduction to Graph Neural Networks

news2024/11/18 7:42:16

原文地址:

  • https://distill.pub/2021/gnn-intro/

不同形式来源的图

Images as graphs

  • 论文中提到将图像建模为一张拓扑图的方法是将图像的每一个像素看作图的一个结点,并将单个像素结点与其相邻的所有像素之间建立一条边。 每一个非边缘的像素结点具有8个邻接顶点,然后每一个像素结点具有一个三维的特征向量,其值为该像素点的RGB值。
  • 下图是建模的示意图,最左边的图示表示的是图像的一个个像素点,而在最右边的图就可以看到左图的每一个像素点都变成了拓扑图上的一个顶点,并且与它相邻的点都建立了一条边。而中间的图为右图的一个邻接矩阵,如果两个顶点之间有边相连,则标为蓝色。
    在这里插入图片描述

Text as graphs

  • 类似的,我们也可以将文本建模为一张拓扑图,如下图所示,将文本中的词语看作一个结点,认为相邻的词语之间存在关联,建立一条有向边,具体的拓扑图结构可以用图中的邻接矩阵表达
    在这里插入图片描述
  • 在实践中并不会直接使用上述的邻接矩阵对图进行表述,因为它们过于稀疏,会造成计算资源的浪费。

Graph-valued data in the wild

  • 之前提到的两种形式的图的邻居结点的数量都比较固定,现在,让我们将注意力放到结构更加异构的数据。在以下示例中,每个节点的邻居数量是可变的,这些数据很难用拓扑图以外的方式来表达。

Molecules as graphs

  • 将分子建模为图结构,原子作为图的顶点,而原子之间的化学键作为图的边,如下图所示在这里插入图片描述

Social networks as graphs

  • 社交网络是研究人们、机构和组织的集体行为模式的工具。我们可以通过将个体建模为节点,将他们的关系建模为边来构建一个表示人群的图。在这里插入图片描述

Citation networks as graphs

  • 科学家在发表论文时经常引用其他科学家的研究成果。我们可以将这些引用网络可视化成一个图,其中每篇论文是一个节点,每个有向边代表一篇论文和另一篇论文之间的引用。此外,我们可以在每个节点中添加关于每篇论文的信息,例如摘要的词嵌入。

Other Examples

  • 在计算机视觉的图像分割任务中,我们有时需要对视觉场景中的物体进行标记。然后我们可以通过将这些对象视为节点,将它们的关系视为边来构建图。
  • 现实世界的图的结构在不同类型的数据之间可能会有很大的不同——可能存在有些图有很多节点,但它们之间的边很少,反之亦然。图数据集在节点、边的数量和节点的连通性方面变化很大。

图结构的数据集能够处理哪些任务呢?

全图级任务(Graph-level)

  • 在全图级任务中,我们的目标是预测整个图的属性。例如,我们可能想要使用分子的拓扑图去预测分子是否具有某种气味,或者它是否会和与疾病有关的受体结合等性质。在这里插入图片描述
  • 对于图像,这类似于使用MNIST和CIFAR的图像分类问题,我们希望将标签与整个图像关联起来。对于文本,一个类似的问题是情感分析,我们想要一次识别整个句子的情绪是positive还是negative

节点级任务(Node-level)

  • 节点级任务关注于预测每个节点的身份或角色。文中给出了一个社交网络图中的问题,该数据集是由在政治分歧后宣誓效忠两个空手道俱乐部之一的individuals组成。随着故事的发展,Mr.Hi和John H之间的不和导致了空手道俱乐部的分裂。节点表示单个空手道练习者,边缘表示空手道之外这些成员之间的交互。预测问题是,在争执之后,一个给定的成员是忠于Mr.Hi还是忠于John H。在这种情况下,某个节点到Mr.Hi或John H之间的距离对它最终预测的结果将产生显著影响。在这里插入图片描述

  • 对于图像,节点级预测问题类似于图像分割,我们尝试标记图像中每个像素的是否为某个实体。对于文本,类似的任务是词性标注,即预测句子中每个单词的词性(例如名词、动词、副词等)。

边级任务(Edge-level)

  • 边级任务的一个例子是Image scene understanding。除了识别图像中的实体之外,深度学习模型还可以用于预测实体之间的关系。
  • 我们可以将其描述为边级分类:
    • 给定代表图像中对象的节点,我们希望预测这些节点中的哪些节点存在边在已经存在边的情况下预测该边的值是多少
    • 如果我们希望发现实体之间的联系,我们可以认为图是完全连接的,并根据它们的预测值修剪边,得到一个稀疏图。
      在这里插入图片描述
      在这里插入图片描述

将图应用于深度学习需要应对的挑战

邻接矩阵的稀疏性

  • 深度学习模型通常采用矩阵作为输入,但是在刚才的例子中也有提到,直接使用图的邻接矩阵作为输入的话,通常会产生稀疏性问题。

邻接矩阵的排列不变性

  • 随节点的编号顺序不同,不同的邻接矩阵可能表示同一张图,但将这些不同的邻接矩阵输入神经网络并不能保证输出的结果一致在这里插入图片描述

应对策略

  • 为了解决以上的两个问题,一种优雅且节省内存的方法是使用邻接表在这里插入图片描述
  • 值得注意的是,该图使用每个Node/Edge/global级别的标量值。在实际中,大多数都将每个图属性的向量拼接为一个张量。对于Node属性,我们将其处理为大小为 [ n n o d e s , n o d e d i m ] [n_{nodes}, node_{dim}] [nnodesnodedim]的节点张量,其他图属性也一样。

图神经网络(GNN)

  • 由于图的Representation是具有排列不变性的矩阵,因此我们将使用图神经网络(GNN)来解决图预测任务。GNN是对图的所有属性(Node,Edge,Global)的可优化变换,它保持了图的排列不变性。
  • 我们将使用 消息传递神经网络(MPNN) 框架来构建GNN.
  • GNN采用graph-in, graph-out 架构,这意味着这些模型类型接受图作为输入,将信息加载到其节点,边和全局上下文中,并逐步转换这些嵌入,而不改变输入图的连通性。

最简单的GNN架构

  • 对于图的每个属性,即Node,Edge和Global context分别使用一个多层感知机(MLP)
    在这里插入图片描述

Pooling Information

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/756675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下做性能分析4:怎么开始

战地分析 性能分析常常是一种战地分析,所以,在我们可以端起咖啡慢慢想怎么进行分析之前,我们要先说说我们在战地上的套路。 战地分析是说在实用环境中发现问题,我们真正需要进行性能分析的场合,通常都没有机会让你反…

LeetCode: 18. 四数之和 | 双指针专题

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Java中的几种关键字this、super、static和final介绍

Java中的几种关键字this、super、static和final介绍 在Java编程语言中,关键字是具有特殊含义的预定义标识符。关键字是Java编程语言中具有特殊用途的保留单词,用于表示语法结构和程序行为。关键字在语法上具有特定的用途,不能用作变量名、方…

HTTP1.1、HTTPS、HTTP2.0 、HTTP3.0

HTTP1.1 优点: 整体方面:简单、灵活和易于扩展、应用广泛和跨平台 性能方面:长连接、管道网络传输解决请求队头阻塞(没有使用) 缺点: 安全方面:无状态、明文窃听、伪装、篡改 性能方面&am…

进程间通信之匿名管道

进程间通信—管道 一、进程间通信介绍二、管道1.匿名管道1.1父进程和一个子进程之间的通信1.2父进程和多个子进程之间的通信 一、进程间通信介绍 1.进程间为什么要进行通信? 进程间通信的是为了协调不同的进程,使之能在一个操作系统里同时运行&#xff…

代码随想录day4 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 02.07.链表相交 142.环形链表II

文章目录 一、两两交换链表中的节点二、删除链表的倒数第N个节点三、链表相交四、环形链表 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II 一、两两交换链表中的节点 两两交换链表中的节点 注意是两两交换,采用虚拟…

Global symbol “%data“ requires explicit package name

Global symbol “%data” requires explicit package name 如图编写demo的时候出现了如图的问题,在网上查找到的原因是: 一,使用use strict; ,修改其他代码,如下: 1,首先,检查你是不…

静态库和动态库的区别与优缺点

文章目录 静态库与动态库的区别动态库与静态库的优缺点 静态库与动态库的区别 静态库直接打包链接到可执行程序 动态库将不会链接到可执行文件 ,执行文件运行时需要动态加载 动态库 ,所以需要提前知道动态库路径,需要将路径保存到环境变量或…

亲测:2核4G云服务器性能测试能安装多少个网站?

2核4G服务器能安装多少个网站?2核4g配置能承载多少个网站?一台2核4G服务器可以安装多少个网站?阿腾云2核4G5M带宽服务器目前安装了14个网站,从技术角度是没有限制的,只要云服务器性能够用,想安装几个网站就…

【前端知识】React 基础巩固(二十六)——Portals 的使用

React 基础巩固(二十六)——Portals 的使用 Portals 通常&#xff0c;组件会渲染到 root 节点下。可使用 Portals 将组件渲染至其他节点。 添加 id 为 more、modal 的 div 元素 <div id"root"></div> <div id"more"></div> &l…

apache 工作模式 NPM Multi-processing module

Apache 三种工作模式 prefork work event 监控线程相当于 项目组长&#xff0c;面对客户&#xff0c;根据任务自行调度 团队成员。 Prefork模式为Apache默认使用的工作模式&#xff0c;在该模式下&#xff0c;采用的机制是预派生子进程的方式&#xff0c;使用单独的进程来…

设计模式之单例

文章目录 前言一、单例模式的基本定义二、懒汉式单例三、饿汉式单例四、懒汉式单例存在的线程安全问题总结 前言 单例模式是比较经典的设计模式&#xff0c;本篇我们将结合实际案例说明单例模式的实现原理&#xff0c;以及存在的问题。 一、单例模式的基本定义 单例模式&…

【前端知识】React 基础巩固(二十八)——StrictMode

React 基础巩固(二十八)——StrictMode StrictMode StrictMode 是一个用来突出显示应用程序中潜在问题的工具 与 Fragment 一样&#xff0c;StrictMode 不会渲染任何可见的 UI为后代出发额外的检测和警告严格模式检查仅在开发模式下运行&#xff0c;不影响生产构建 严格模式检…

Google DeepMind掌舵人Demis Hassabis专访:合并后「超级单元」内幕,以及如何开展下一代模型研究...

导读 自2023年以来&#xff0c;Google旗下两大顶级人工智能研究团队 DeepMind 与 Google Brain 被不断推上风口浪尖&#xff0c;如何应对OpenAI与微软强强联合&#xff1f;如何组织不被看好的 DeepMind 与 Google Brain 团队合并&#xff1f;Google和OpenAI都没有护城河吗&…

单片机第一季:零基础8——蜂鸣器

蜂鸣器是一种一体化结构的电子讯响器&#xff0c;采用直流电压供电&#xff0c;广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 想要压电式蜂鸣器发声&…

使用Gataway设置全局过滤器

说明&#xff1a;Gateway网关是所有微服务统一的入口&#xff0c;通过网关技术&#xff0c;可以实现请求转发、权限控制和限流。全局过滤器是Gateway请求转发、权限控制的一个体现。比如对所有请求进行过滤&#xff0c;判断请求是否携带有效的token&#xff0c;对请求放行或者拦…

Java 装箱拆箱原理 包装类型缓存池

JAVA中的基本数据类型 byteshortintlongfloatdoublebooleanchar 为了让上述基本数据类型可以转为对象&#xff0c;Java在1.5推出了一系列包装类&#xff0c;基本类和包装类互相转换的过程&#xff0c;称为装箱和拆箱 缓存池 缓存池也叫常量池。它是事先存储一些常量数据用以…

reverse

b,a,0x7d65都能轻易的转成字符串&#xff0c;就是这个负数需要看汇编&#xff0c;在汇编层面是加了两个数实现的减法效果。 a[galf,saE{,er_y,3r0v,}e] for each in a:print(each[::-1],end) # flag{Easy_rev0r3e}

华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路特别鸣谢&#xff1a;感谢fly晨发现这个问题&#xff0c;并提供更优质的算法。解题思路如下&#xff1a; 五、Java算法源码六、效果展示1、输入2、输出3、思路 专栏导读 本专栏收录于《华为OD机试&#xff08;J…