模型漫谈:图神经网络(GNN)是什么样的存在

news2024/11/25 9:44:54

文章大纲:

  • 从生活中的例子谈图与图神经网络

  • 什么是图神经网络?它如何起源?

  • 图神经网络的基本原理和原则

  • 图神经网络的应用方向:以环境科学为例

  • 公众号推荐

在现代科技迅速发展的今天,许多看似复杂的概念其实都有着非常贴近我们生活的基础。今天我们要聊的图神经网络(Graph Neural Networks, GNN)便是这样一个领域。在这篇文章中,我们将从生活中的例子出发,逐步揭开图和图神经网络的面纱,了解它们的起源、基本原理以及广泛的应用,尤其是在环境科学中的深远影响。

从生活中的例子谈图与图神经网络

你是否曾注意过,生活中充满了复杂的关系和连接?无论是朋友之间的社交关系、交通路网中的城市与道路,还是人与人之间的疾病传染路径,这些看似不同的系统其实有一个共同点:它们都可以用来表示。一些图表示示例如图1所示。

,在数学中是由节点(node)和边(edge)组成的结构。节点代表个体,比如你、我和你的朋友们,而边代表着连接关系,比如朋友之间的社交联系。一个复杂的社交网络就是由很多节点和边构成的,这些节点和边描绘了每一个人的社交圈,也展现了人与人之间的紧密程度。

那么,图神经网络是什么呢?为了更好理解,我们可以用社交网络推荐系统的例子。想象一下,当你在社交平台上看到好友推荐(比如好友向您推荐了公众号:Environmodel)时,这些推荐背后离不开一些强大的算法,它们根据你和其他用户的关系、兴趣的相似性、共同的朋友等信息进行计算,这样的平台才能精准地推荐可能认识的朋友。这种复杂的关联数据的处理,正是图神经网络擅长的领域。正可谓

友于虚拟传声器, 推荐Environmodel如遇知。

算法深藏背后力, 结网连线洞天机。

image-20241007194220001

图1 以图形表示信息的一些应用:(a)化合物(肾上腺素)、(b)图像和(c)网络子集。

该图来自文献:Scarselli, F., Gori, M., Tsoi, A.C., Hagenbuchner, M., Monfardini, G., 2009. The Graph Neural Network Model. IEEE Transactions on Neural Networks 20, 61–80. https://doi.org/10.1109/TNN.2008.2005605

什么是图神经网络?它如何起源?

图神经网络(Graph Neural Networks, GNN)是一种专门处理图结构数据的神经网络模型。传统的神经网络,如卷积神经网络(CNN)和循环神经网络(RNN),在处理网格化或序列化的数据方面表现优异,比如图像、文本或时间序列数据。然而,很多现实世界的问题并不能用简单的矩阵或序列来表示,而是存在于复杂的网络关系之中。这时候,图神经网络应运而生。

图神经网络(Graph Neural Networks, GNNs)的概念并不是由某一篇文章提出的,其起源可以追溯到上世纪末。早期的研究者试图通过扩展神经网络来处理图结构的数据,而随着机器学习技术的进步,以及社交网络、交通网络等图数据的爆发性增长,图神经网络逐渐发展成为一种高效且灵活的工具,能够从复杂的网络结构中学习出有价值的特征和信息。经过了多年的研究和发展,图神经网络及其理论逐步形成。下面列举3篇高引GNN论文:

  • Scarselli, F., Gori, M., Tsoi, A.C., Hagenbuchner, M., Monfardini, G., 2009. The Graph Neural Network Model. IEEE Transactions on Neural Networks 20, 61–80.

    这篇论文首次正式提出了“图神经网络”这一术语,并且描述了一个基于递归神经网络的图神经网络框架。

  • Wu, Z., Pan, S., Chen, F., Long, G., Zhang, C., & Philip, S. Y.,2020. A comprehensive survey on graph neural networks. IEEE transactions on neural networks and learning systems, 32(1), 4-24.

  • Zhou, J., Cui, G., Hu, S., Zhang, Z., Yang, C., Liu, Z., ... & Sun, M. (2020). Graph neural networks: A review of methods and applications. AI open, 1, 57-81.

图神经网络的基本原理和原则

图神经网络的核心思想是在图的节点之间传递信息,使每个节点能够在图的整体结构中获取更多的上下文信息。为了更好地理解这一点,我们可以从以下几个基本原理入手:

  1. 消息传递机制

    图神经网络的一个关键概念是消息传递机制(Message Passing)。每个节点都会从它的邻居节点接收信息,然后通过一定的规则进行聚合,如图2所示。例如,社交网络中某个人的信息会受到其朋友信息的影响。通过不断地信息传递和聚合,节点会逐渐了解它所处的局部乃至全局网络的结构和特点。

    image-20241007195742118

    图 2.  图与一个节点的邻域。节点1的状态取决于其邻域中所包含的信息。

    该图来自文献:Scarselli, F., Gori, M., Tsoi, A.C., Hagenbuchner, M., Monfardini, G., 2009. The Graph Neural Network Model. IEEE Transactions on Neural Networks 20, 61–80. https://doi.org/10.1109/TNN.2008.2005605

  2. 嵌入表示

    在图神经网络中,每个节点和边都可以通过一个向量来表示,这被称为节点嵌入(Node Embedding)。通过不断地训练,这些嵌入向量可以学习到节点和它们之间关系的重要特征。比如在电力网络中,图神经网络可以学到哪些变电站对整体电力分配起到至关重要的作用。

  3. 层的堆叠与非线性变换

    图神经网络与传统神经网络相似,通过堆叠多个层次来实现深度学习。在每一层中,节点会收集来自邻居的信息,然后通过某种非线性函数进行变换。这种层级的堆叠使得图神经网络能够捕捉到多层次的关系,处理更加复杂的网络结构。

  4. 注意力机制

    在一些图神经网络的变种中,还引入了注意力机制(Attention Mechanism),使得每个节点在聚合信息时可以对不同的邻居赋予不同的重要性权重。这样,重要的邻居节点信息会得到更多关注,而次要的信息则会被弱化。

一个典型的GNN模型框架如图3所示,其中convolutional operatorrecurrent operatorsampling module 和 skip connection用于在每一层中传播信息,然后添加池化模块以提取高级信息。

img

图 3. GNN模型的通用设计流程

该图来自文献:Zhou, J., Cui, G., Hu, S., Zhang, Z., Yang, C., Liu, Z., Wang, L., Li, C., Sun, M., 2020. Graph neural networks: A review of methods and applications. AI Open 1, 57–81. https://doi.org/10.1016/j.aiopen.2021.01.001

图神经网络的应用方向:以环境科学为例

图神经网络的应用领域非常广泛,涵盖了社交网络、推荐系统、化学分子结构分析、交通网络优化等等。而在众多的应用方向中,环境科学是一个具有深远意义且极具挑战的领域。接下来,我们将着重讨论图神经网络在环境科学中的应用。

  1. 生态系统网络建模

    在生态学研究中,生物种群之间的相互作用通常可以建模为一个图。在这个图中,每个节点代表一种物种,边代表物种之间的交互关系,如捕食、竞争或共生关系。图神经网络可以用来分析这些物种之间复杂的关系,帮助生态学家预测某一物种的数量变化对整个生态系统的影响。这对于维持生物多样性、制定保护措施非常有帮助。

  2. 气候变化与空气质量监测

    环境科学中的另一个重要应用是气候变化和空气质量的监测。气象站或传感器节点可以看作是图中的节点,而它们之间的相互关系(如地理位置、气象模式的相似性)则可以作为边。图神经网络能够有效地聚合多个节点的测量数据,从而预测某地区未来的空气质量变化,提供更精准的污染预警。

  3. 水资源管理与流域网络

    水资源的管理是环境科学的重要组成部分,尤其是在干旱和水污染问题日益严重的今天。河流流域可以被看作一个复杂的图结构,河流和湖泊等水体节点相互连接构成水流网络。图神经网络可以用来模拟水流的动态变化,分析不同地区水资源的流动特征,帮助优化水资源的分配方案。

  4. 土地利用与城市环境建模

    城市中的建筑、道路、绿地等也可以被建模为图结构。在城市环境的建模和分析中,图神经网络可以帮助科学家预测土地利用的变化趋势,评估城市扩张对周围环境的影响。通过这样的分析,政府可以制定更科学的城市规划政策,以减少对环境的不良影响。

  5. 物种迁移与生境连接性分析

    随着气候变化和人类活动的影响,很多物种的栖息地受到破坏,导致它们不得不迁移到新的栖息地。在这种情况下,研究物种如何在栖息地之间移动,栖息地的连接性变得尤为重要。图神经网络可以帮助我们理解这种迁移过程,通过对栖息地网络的分析,预测哪些通道是关键的迁移路径,从而为制定保护策略提供科学依据。

希望这篇文章让你对图神经网络有了一个初步的了解。如果你对这方面的技术感兴趣,未来不妨深入学习相关的知识,或者关注更多这方面的应用进展。科学的力量,正在一步步改变我们的生活,而图神经网络无疑是其中闪耀的新星之一。

个人公众号

看到这里的各位朋友,肯定都是真爱,在下是一个从事环境科学领域的科研牛马,主要研究方向为深度学习环境领域的应用,如果您也同样的在做相关的研究,关注在下的微信公众号:Environmodel,每日分享环境领域的模型研究、机器学习等研究进展,当然也还会有不少实用的编程技巧分享。同时,欢迎您分享给您需要的朋友。(*^▽^*)
 

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

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

相关文章

安全运营中心 (SOC) 团队对其安全工具感到失望

Vectra AI 表示,安全运营中心 (SOC) 从业人员认为,由于太多孤立的工具和缺乏准确的攻击信号,他们在检测和确定真实威胁的优先级方面正在失败。 人们对供应商的不信任感日益加深,认为供应商的工具在发现真正的攻击方面起的阻碍作用…

基于Rational Rose 做的UML图

因为要写软件工程的实验报告,但是老师讲的完全听不懂。so 看的b站上面的 UML视频(古董),记个笔记,完全图一乐。 目录 用例图: 类图 类和类之间的关系: 继承(泛化 Generalization) 实现(Interface&…

随机链表的复制OJ

目录 前言1.随机链表的复制1.1 思路1.2 代码 总结 前言 这道题可谓是链表的试金石,涉及到链表的插入、删除,对代码能力是很大的考验。而且思路也很巧妙,很有价值的一道题。 1.随机链表的复制 138.随机链表的复制 1.1 思路 这个题目很难整…

哈希闭散列的实现与机制

目录 哈希的介绍 哈希冲突 原因 影响 解决方法 实例 哈希函数 哈希函数设计原则: 常见哈希函数 闭散列 线性探测的实现 代码解读 1. 命名空间和枚举定义 2. 哈希表节点结构体 3. 哈希函数模板 4. 哈希表类 5. 插入、查找和删除逻辑 二次探测 哈希的…

头歌 | 获取最多金币

题目描述 有一个 N x N 的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。 输入输出格式 输入格式 第一行有一个整数 N。 之后 N 行有 N 个整数&…

msvcp100.dll丢失怎样修复,6招轻松解决msvcp100.dll丢失问题

在众多电脑故障中,msvcp100.dll丢失问题尤为常见。本文将详细探讨msvcp100.dll丢失的原因、影响、解决方法以及预防措施,帮助用户更好地应对这一难题。 一、什么是msvcp100.dll? msvcp100.dll是微软Visual C 2010 redistributable package的…

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(上篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

基站设备检测系统源码分享

基站设备检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

【网络篇】计算机网络——运输层详述(笔记)

目录 一、运输层 1. 概述 2. 运输层和网络层的关系 3. 运输层协议概述 二、多路复用和多路分解 1. 综述 2. 无连接的多路复用与多路分解(UDP) 3. 面向连接的多路复用与多路分解(TCP) 4. Web 服务器与TCP 三、UDP&#x…

CMake 教程跟做与翻译

目录 STEP 1: 入门与理解 cmake_minimum_required设置CMake版本的最小值 project声明工程属性 add_executable添加可执行文件 使用CMake构建工程 根据自己的构建工具自行构建 Reference STEP 1: 入门与理解 我们起手的,最基本的 CMake 项目是从单个源代码文件…

一篇教你玩转腾讯混元大模型!

0 前言 腾讯混元大模型(Tencent Hunyuan)具备: 强大的中文创作能力复杂语境下的逻辑推理能力可靠的任务执行能力 基于混元大模型,腾讯云推出文本生成、图像创作、视频创作产品方案,覆盖全场景AIGC应用: …

如何在 Kubernetes 上部署 Spark

在 Kubernetes 集群中部署 Apache Spark,需要你具备对 Kubernetes 的工作原理、Spark 的架构以及云原生应用的理解。 前期准备工作 在进行 Spark 的部署之前,需要对你的 Kubernetes 环境做好充分的准备。这包括 Kubernetes 集群的搭建以及基础工具的安…

【大模型理论篇】大模型相关的周边技术分享-关于《NN and DL》的笔记

本文所要介绍的一本书《Neural Networks and Deep Learning》,该书作者Michael Nielsen,Y Combinator Research的研究员,是多年之前自己看的一本基础书籍,很适合入门了解一些关于深度学习的概念知识,当然也包含了一些小…

华为OD机试 - 日志限流 - 二分查找(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

毕业设计——springboot + VUE实现后台管理系统(集成JWT接口权限验证)

作品详情 - 高质量的代码、代码结构、和代码注释 - 漂亮的UI,菜单栏、标签页,体验、交互更好用的员工、部门、角色、菜单管理等等 - 优化基于Keepalive的标签页,做到标签页该缓存的时候缓存,比如左右切换等,不该缓存的…

二、图解C#教程

一、方法 {}块,里面的是方法体 二、Var关键字 推断出等号右边的实际类型 三、局部常量 1、声明时必须初始化 2、声明后不能改变

虚拟内存能不能完全关了?太占空间了……

前言 这几天咱们提到关于Swap区(就是Linux上的数据交换分区),在Windows上这个功能被称为虚拟内存。 前段时间(应该是很早之前),小白写过一篇关于虚拟内存的文章: Windows调大虚拟内存来代替升…

常见激活函数总结

简介:个人学习分享,如有错误,欢迎批评指正。 一. 激活函数的定义 激活函数(Activation Function)是人工神经网络中对每个神经元的输入进行非线性变换的函数。神经网络中的每个神经元都会接受来自上一层的输入&#xf…

qt_c++_xml存这种复杂类型

demo&#xff0c;迅雷链接。或者我主页上传的资源 链接&#xff1a;https://pan.xunlei.com/s/VO8bIvYFfhmcrwF-7wmcPW1SA1?pwdnrp4# 复制这段内容后打开手机迅雷App&#xff0c;查看更方便 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>#include…

【MySQL】使用 JDBC 连接数据库

文章目录 前言1. 认识 JDBC1.1 概念1.2 好处 2. 使用 JDBC2.1 安装数据驱动包2.2 把 jar 包导入到项目中2.3 代码编写2.4 测试结果 3. 代码优化4. 源码展示结语 前言 在 MySQL 系列中&#xff0c;我们介绍了很多内容&#xff0c;包括但不限于建库建表&#xff0c;增删查改等等…