【51CTO.com快译】图形在人们的工作和生活中无处不在。例如,社交网络就是一张人际关系图,从A点到B点所走的道路就构成了一个图形,而将网页连接到其他网页的链接也构成一个图形。当企业为员工发放薪酬时,其付款会通过金融机构的流程图进行。
基本上,任何由链接实体组成的东西都可以是图形表示。图形是可视化人员、对象和概念之间关系的一种好工具。然而,除了可视化信息之外,图形也可以成为训练复杂任务机器学习模型的良好数据来源。
图形神经网络(GNN)作为一种机器学习算法,可以从图中提取重要信息并进行有用的预测。随着图形变得越来越普遍、信息更丰富,人工神经网络变得越来越流行和强大,图形神经网络(GNN)已经成为许多重要应用的强大工具。
用于神经网络处理的转换图
每个图形都是由节点和边组成的。例如,在社交网络中,节点可以表示用户及其特征(例如姓名、性别、年龄、城市),而边可以表示用户之间的关系。更复杂的社交图包括其他类型的节点,例如城市、运动队、新闻媒体,以及描述用户与这些节点之间关系的边。
然而,图形结构不太适合机器学习。神经网络期望以统一格式接收数据,多层感知器需要固定数量的输入特征。卷积神经网络需要一个网格来表示它们处理的数据的不同维度(例如,图像的宽度、高度和颜色通道)。
图形有着不同的结构和大小,因此通常并不符合神经网络所期望的矩形阵列。图形还具有其他特征,使其与经典神经网络设计的信息类型不同。例如,图形只要节点的关系保持不变,改变节点的顺序和位置就不会产生影响。相比之下,改变像素的顺序会产生不同的图像,并会导致处理它们的神经网络表现不同。
为了使图形对深度学习算法有用,它们的数据必须转换成可以由神经网络处理的格式。用于表示图形数据的格式类型可能因图形类型和预期应用而异,但一般而言,关键是将信息表示为一系列矩阵。
例如在一个社交网络图中,节点可以表示为用户特征表。节点表中的每一行包含有关一个实体(例如用户、客户、银行交易)的信息,这是一种可以提供图形神经网络的信息类型。
但是图形神经网络(GNN)也可以从图形包含的其他信息中学习。边是连接节点的线段,可以用同样的方式表示,每行包含用户的ID和附加信息,如日期、关系类型等。最后,图形的一般连通性可以表示为邻接矩阵,显示哪些节点相互连接。
当所有这些信息都提供给神经网络时,它可以提取超出图形各个组件中包含的简单信息的模式和见解。
图形嵌入
图形神经网络(GNN)可以像任何其他神经网络一样创建,使用完全连接层、卷积层、池化层等。层的类型和数量取决于图形数据的类型和复杂性以及所需的输出。
图形神经网络(GNN)接收格式化的图形数据作为输入,并生成一个数值向量,表示有关节点及其关系的相关信息。
这种向量表示称为“图形嵌入”。图形嵌入通常用于机器学习中,将复杂的信息转换为可以区分和学习的结构。例如,自然语言处理系统使用单词嵌入来创建单词及其关系的数字表示。
从图形中收集数据并将它们与从前一层获得的值聚合。例如,在社交网络中,图形神经网络(GNN)的第一层会将用户的数据与其朋友的数据结合起来,下一层将添加朋友的朋友的数据等等。最后,图形神经网络(GNN)的输出层产生嵌入,它是节点数据及其对图中其他节点的知识的向量表示。
有趣的是,这个过程与卷积神经网络如何从像素数据中提取特征非常相似。因此,一种非常流行的图形神经网络(GNN)架构是图形卷积神经网络(GCN),它使用卷积层来创建图形嵌入。
图形神经网络(GNN)的应用
一旦有了一个可以学习图嵌入的神经网络,就可以用它来完成不同的任务。
以下是图形神经网络(GNN)的一些应用:
- 节点分类:图形神经网络(GNN)的强大应用之一是向节点添加新信息或填补信息缺失的空白。例如,假设正在运行一个社交网络并且发现了一些机器人帐户。现在企业想了解其网络中是否还有其他机器人帐户,可以训练图形神经网络(GNN),根据他们的图形嵌入与已知机器人的图形嵌入的接近程度,将社交网络中的其他用户分类为“机器人”或“非机器人”。
- 边的预测:另一种使用图形神经网络(GNN)的方法是找到可以为图形增加价值的新边。以社交网络为例,图形神经网络(GNN)可以找到在嵌入空间中与某人关系密切但还不是朋友的用户(节点)(也就是没有将他彼此联系起来的边),然后可以将这些用户作为朋友推荐介绍给他。
- 聚类:图形神经网络(GNN)可以从图中收集新的结构信息。例如,在一个社交网络中,每个人都以一种或另一种方式与他人相互关联(通过朋友或朋友的朋友等),图形神经网络(GNN)可以在嵌入空间中找到形成集群的节点。这些集群可以指向具有相似兴趣、活动或其他不显眼特征的用户组,无论他们的关系有多密切。聚类是基于机器学习的营销中使用的主要工具之一。
图形神经网络(GNN)是非常强大的工具。他们已经在路线规划、欺诈检测、网络优化和药物研究等领域得到广泛的应用。只要有相关实体的图形,图形神经网络(GNN)就可以帮助从现有数据中获得最大的价值。
原文标题:What are graph neural networks (GNN)?,作者:Ben Dickson
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】