最近,图形神经网络(GNN)在各个领域变得越来越流行,包括社交网络,知识图,推荐系统甚至生命科学。
GNN在图形中的节点之间的依赖性建模方面具有很强的功能,这使与图形分析有关的研究领域取得了突破性的进展。本文旨在介绍图神经网络的基本知识,以及两种更高级的算法:和。
图片()
在讨论GNN之前,让我们首先了解哪个()是。在计算机科学中,图是由两个组件组成的数据结构:()和edge()。图G可以通过其顶点V和边缘E的集合来描述。
边缘可以定向或无向方向,具体取决于顶点之间的方向依赖性。
有向图(Wiki)
顶点通常也称为节点()。在本文中,这两个术语是可以互换的。
图神经网络
图神经网络是直接在图结构上运行的神经网络。 GNN的典型应用是节点分类。本质上,图中的每个节点都与标签关联,我们的目的是预测没有 - 的节点的标签。
本节将描述(F.等,2009)[1]该论文中的算法,该论文是第一份提出GNN的论文,因此通常被认为是原始的GNN。
在节点分类问题设置中,每个节点V的功能X_V与A -TAG T_V关联。给定部分标记的G,目标是使用这些标记的节点来预测未标记的节点的标签。它学会了用包含邻里信息的D维矢量H_V表示每个节点。现在:
其中x_co [v]表示连接到V的边缘的特性,H_NE [V]表示V相邻节点的嵌入,而X_NE [V]表示V相邻节点的特征。函数F是将这些输入映射到D维空间的过渡函数。由于我们正在寻找H_V的唯一解决方案,因此我们可以应用固定点定理并将上述方程式重写为迭代更新过程。
H和X分别代表所有H和X的串联。
GNN的输出是通过将状态H_V和特征X_V传递到输出函数g来计算的。
F和G这里都可以解释为完全连接的神经网络。 L1损失可以直接表示为:
它可以通过梯度下降来优化。
但是,原始GNN有三个主要局限性:
如果放宽了“固定点”()的假设,则可以使用多层感知器来学习更稳定的表示并删除迭代更新过程。这是因为,在原始论文中,不同的迭代使用转换函数f的相同参数,而MLP不同层中的不同参数则允许层次特征提取。它无法处理边缘信息(例如,知识图中的不同边缘可能代表节点之间的不同关系)。固定点会妨碍节点分布的多样性,并且不适合学习代表节点。
为了解决上述问题,研究人员提出了GNN的几种变体。但是,它们不是本文的重点。
:第一个无监督的学习节点嵌入算法
[2]是第一个提出无监督的学习节点嵌入的算法。
它与训练过程中的词汇嵌入非常相似。动机是,中间节点和语料库中单词的分布遵循幂律,如下图所示:
该算法由两个步骤组成:
在该过程中执行节点以生成节点序列以运行跳过,并根据步骤1中生成的节点序列学习每个节点的嵌入
在每个时间步中,下一个节点从上一个节点的邻居均匀地样本。然后将每个序列截断为长度2 | w |的子序列+ 1,其中W表示跳过的窗口大小。
本文采用了由于大量节点而解决的高计算成本问题。为了计算每个单独的输出元素的值,我们必须计算元素k的所有e xk。
定义
因此,原始计算时间为o(| v |),其中v表示图中的一组顶点。
分层使用二进制树来解决这个问题。在这个二进制树中,所有叶子(v1,v2,…v8在下图中)表示其中的顶点。在每个内部节点中,都有一个二进制分类器来决定选择哪种路径。要计算给定顶点V_K的概率,只需计算从根节点到叶节点v_k的路径上每个子路径的概率即可。由于每个节点的儿童的概率之和为1,因此在层次结构中,所有顶点的概率总和的特征保持不变。由于通往二进制树的最长路径是o(log(n)),其中n代表叶子节点的数量,因此元素的计算时间现在减少为o(log | v |)。
在训练GNN之后,该模型学会了每个节点的良好表示,如下图所示。不同颜色代表输入图中的不同标签。我们可以看到,在输出图(二维嵌入)中,具有相同标签的节点聚集在一起,而大多数具有不同标签的节点都正确分离。
但是,主要问题是缺乏概括能力。每当出现新节点时,它都必须重新训练模型以表示节点。因此,该GNN不适用于节点不断变化的动态图。
:学习每个节点的嵌入
提供了上述问题的解决方案,以归纳方式学习每个节点的嵌入。
具体而言,每个节点都由其邻域的聚合()表示。因此,即使在训练过程中未看到的新节点出现了一个新节点,它仍然可以由其相邻节点正确表示。
这是算法:
外循环表示更新的次数,而H^k_v表示Node V进行更新时的潜在向量。在每次更新迭代中,H^k_v的更新基于汇总函数,上次迭代中V和V邻域的潜在向量以及权重矩阵W^k。
本文提出了三种类型的骨料功能:
1。平均:
手段取平均节点及其所有邻居的潜在向量的平均值。
与原始方程相比,它在上面的伪代码的第5行中删除了连接操作。这种操作可以被视为一种“跳过”,在本文后来在很大程度上证明了该操作以提高模型的性能。
2。LSTM:
由于图中的节点没有任何顺序,因此它们通过排列这些节点随机分配顺序。
3。:
该操作员在相邻的集合上执行一个智能函数。这是max-的示例:
该论文使用Max-作为默认聚合函数。
损失函数定义如下:
其中u和v在固定长度中共存,而v_n是一个不与u共存的负样本。该损耗函数鼓励对较亲密的节点进行类似的嵌入,而在投影空间中则分离了更远的节点。这样,节点将获得有关其邻居的越来越多的信息。
通过汇总附近的节点,可以为隐形节点生成代表性的嵌入。它允许将节点嵌入应用于涉及动态图的域,其中图的结构正在不断变化。例如,扩展版本被用作其内容发现系统的核心。
总结
在本文中,我们学到了图神经网络的基础知识。 GNN在建模复杂图形结构中的力量确实很棒。鉴于其有效性,我相信在不久的将来,GNN将在AI的发展中发挥重要作用。
[1]等。 “这 。”
[2],Rami al-Rfou和。 “: 的 。”
[3],威尔,ying和jure。 “ 在 。”
版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;
工作时间:8:00-18:00
客服电话
0755-88186625
电子邮件
admin@lanyu.com
扫码二维码
获取最新动态