图神经网络(GNN)的原理及应用


什么是图神经网络 (GNN)?
图神经网络 (GNN) 是一种神经网络架构和深度学习方法,可以帮助用户分析图,使他们能够根据图的节点和边描述的数据进行预测。
图形表示数据点(也称为节点)之间的关系。这些节点表示主体(例如人、物体或地点),边缘表示节点之间的关系。图形可以由 x 轴和 y 轴、原点、象限、线条、条形和其他元素组成。
通常,机器学习 (ML) 和深度学习算法使用简单的数据类型进行训练,这使得理解图形数据变得复杂且困难。此外,有些图更复杂,有无序的节点,而另一些图则没有固定的形式。
GNN 旨在处理图形数据,特别是结构和关系数据。它们很灵活,可以理解复杂的数据关系,这是传统的机器学习、深度学习和神经网络无法做到的。
在图形数据库中存储数据的不同科学、工业和研究分支都可以使用 GNN。组织可能会使用 GNN 进行图形和节点分类,以及节点、边缘和图形预测任务。GNN 擅长寻找数据点之间的模式和关系。
GNN是如何工作的?
图形是非结构化的,这意味着它们可以是任何大小或包含任何类型的数据,例如图像或文本。
GNN 使用称为消息传递的过程以 ML 算法可以理解的形式组织图形。在此过程中,每个节点都嵌入了有关节点位置及其相邻节点的数据。然后,人工智能 (AI) 模型可以找到模式并根据嵌入的数据进行预测。
GNN 由三个基本主层构建:输入层、隐藏层和输出层。输入层接收图形数据,该数据通常是矩阵或矩阵列表。隐藏层处理数据,输出层创建 GNN 的输出响应。
该过程还使用整流线性单元 (ReLU),这是通常用于深度学习模型和卷积神经网络 (CNN) 的激活函数。ReLU 函数为模型引入了非线性属性,并将提供的值解释为输入。
GNN 由使用 ReLU 功能的输入层、隐藏层和输出层组成。图像中的颜色显示基于输入的输出。
GNN 模型通常使用传统的神经网络训练方法进行训练,例如反向传播或迁移学习,但其结构是专门为使用图数据进行训练而构建的。
图神经网络的类型
GNN 通常分为以下类型:
图卷积网络 (GCN)。GCN 通过检查附近的节点来学习特征。它们由图卷积和线性层组成,并使用非线性激活函数。
递归图神经网络 (RGNN)。RGNN 学习具有多种关系的多关系图中的扩散模式。
空间图卷积网络。空间 GCN 定义了用于信息传递和分组操作的卷积层。它们将附近节点和边缘的数据聚合到特定节点,以更新其隐藏的嵌入。
谱图卷积网络。频谱 GCN 基于图形信号滤波器。他们根据称为图傅里叶变换的数学变换来定义数据的谱域。
递归神经网络 (RNN)。RNN 是一种使用顺序或时间序列数据的人工神经网络。RNN 的输出取决于先前的序列元素。
绘制自动编码器网络。这些学习使用编码器和解码器重建输入图的图形表示形式。
GNN 可用于各种任务,包括:
自然语言处理 (NLP)。GNN 可用于需要读取图形的 NLP 任务。这包括文本分类、语义、关系提取和问答等任务。
计算机视觉。GNN适用于图像分类等任务。
节点分类。节点分类预测每个节点的节点嵌入。
链路预测。这将检查图形中两个数据点之间的关系,以确定这两个点是否相连。
图形分类。图分类将图分类为组以识别它们。
图形可视化。此过程查找图形数据中存在的结构和异常,以帮助用户理解图形。
GNN与传统神经网络有何不同?
图神经网络与其他类型的神经网络相当,但更专门地处理图形式的数据。这是因为图数据 - 通常由非结构化数据和无序节点组成,甚至可能缺乏固定形式 - 在其他类似的神经网络中可能更难处理。
传统的神经网络被设计为以向量和序列的形式处理数据,而图神经网络可以以图的形式处理全局和局部数据,让 GNN 处理图数据库中的任务和查询。
CNN VS GNN 
CNN 是 ML 模型和深度学习算法的一类,非常适合分析视觉数据集。CNN 使用线性代数的原理,特别是卷积运算,来提取特征并识别图像中的模式。CNN 主要用于处理图像,但也可以处理音频和其他信号数据。它们用于医疗保健、汽车、零售和社交媒体等领域,以及虚拟助手。
与 GNN 类似,CNN 使用自己的层结构工作。
尽管 CNN 和 GNN 都是神经网络类型,并且 CNN 也可以分析视觉数据,但 CNN 处理图形数据在计算上具有挑战性。图拓扑通常过于随意和复杂,CNN 无法处理。
CNN 专门用于处理结构化数据,而 GNN 可以使用结构化和非结构化数据进行操作。GNN 可以识别同构图并同样出色地处理同构图,同构图是结构上可能等效的图,但边和顶点不同。相比之下,CNN 不能在翻转或旋转的图像上采取相同的行动,这使得 CNN 的一致性降低。
图神经网络的应用
图神经网络用于以下领域:
化学和蛋白质折叠。化学家可以使用GNN来研究分子和化合物的图结构。例如,由 Alphabet Inc. 的子公司 DeepMind 开发的 AlphaFold 是一个人工智能程序,它使用 GNN 对蛋白质的结构做出准确的预测。
社交网络。GNN 在社交媒体中用于开发基于社交和其他项目关系的推荐系统。
网络安全。计算机网络可以以图表的形式查看,这使得 GNN 非常适合检测单个节点上的异常情况。
到顶部