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