掌握图神经网络GNN基本,看这篇文章就够了

  最近,图神经网络 (GNN) 在各个领域越来越受到欢迎,包括社交网络、知识图谱、推荐系统,甚至生命科学。

  GNN 在对图形中节点间的依赖关系进行建模方面能力强大,使得图分析相关的研究领域取得了突破性进展。本文旨在介绍图神经网络的基本知识,以及两种更高级的算法:DeepWalk和GraphSage。

  在讨论 GNN 之前,让我们先了解一下什么是图 (Graph)。在计算机科学中,图是由两个部件组成的一种数据结构:顶点 (vertices)和边 (edges)。一个图 G 可以用它包含的顶点 V 和边 E 的集合来描述。

  边可以是有向的或无向的,这取决于顶点之间是否存在方向依赖关系。

  顶点通常也被称为节点 (nodes)。在本文中,这两个术语是可以互换的。

  图神经网络

  图神经网络是一种直接在图结构上运行的神经网络。GNN 的一个典型应用是节点分类。本质上,图中的每个节点都与一个标签相关联,我们的目的是预测没有 ground-truth 的节点的标签。

  本节将描述The graph neural network model(Scarselli, F., et al., 2009) [1] 这篇论文中的算法,这是第一次提出 GNN 的论文,因此通常被认为是原始 GNN。

  在节点分类问题设置中,每个节点 v 的特征 x_v 与一个 ground-truth 标签 t_v 相关联。给定一个部分标记的 graph G,目标是利用这些标记的节点来预测未标记的节点的标签。它学习用包含邻域信息的 d 维向量 h_v 表示每个节点。即:

  其中 x_co[v] 表示与 v 相连的边的特征,h_ne[v] 表示 v 相邻节点的嵌入,x_ne[v] 表示v 相邻节点的特征。函数 f 是将这些输入映射到 d 维空间上的过渡函数。由于我们要寻找 h_v 的唯一解,我们可以应用 Banach 不动点定理,将上面的方程重写为一个迭代更新过程。

  H 和 X 分别表示所有 h 和 x 的串联。

  通过将状态 h_v 和特性 x_v 传递给输出函数 g,从而计算 GNN 的输出。

  这里的 f 和 g 都可以解释为前馈全连接神经网络。L1 loss 可以直接表述为:

  可以通过梯度下降进行优化。

  然而,原始 GNN 存在三个主要局限性:

  如果放宽 “不动点” (fixed point)的假设,那么可以利用多层感知器学习更稳定的表示,并删除迭代更新过程。这是因为,在原始论文中,不同的迭代使用转换函数 f 的相同参数,而 MLP 的不同层中的不同参数允许分层特征提取。

  它不能处理边缘信息 (例如,知识图中的不同边缘可能表示节点之间的不同关系)

  不动点会阻碍节点分布的多样性,不适合学习表示节点。 郑州妇科医院:http://yyk.39.net/zz3/zonghe/1d426.html/郑州哪家医院看妇科好:http://yyk.39.net/zz3/zonghe/1d426.html/郑州无痛人流多少钱:http://yyk.39.net/zz3/zonghe/1d426.html/郑州同济妇科医院:http://yyk.39.net/zz3/zonghe/1d426.html/

猜你喜欢

转载自blog.csdn.net/qq_39443136/article/details/87274569