图神经网络GNN基本知识掌握图神经网络GNN基本,看这篇文章就够了3图(Graph)3图神经网络3DeepWalk:第一个无监督学习节点嵌入的算法4GraphSage:学习每个节点的嵌入6总结7使用图神经网络(GNN)寻找最短路径8引言8人工智能中“图神经网络GNN”如何理解?(附斯坦福综述)19DeepMind、谷歌大脑、MIT等机构联合提出“图网络”(GNN),将端到端学习与归纳推理相结合,有望解决深度学习无法进行关系推理的问题。19掌握图神经网络GNN基本,看这篇文章就够了【新智元导读】图神经网络(GNN)在各个领域越来越受欢迎,本文介绍了图神经网络的基本知识,以及两种更高级的算法:DeepWalk和GraphSage。最近,图神经网络(GNN)在各个领域越来越受到欢迎,包括社交网络、知识图谱、推荐系统,甚至生命科学。GNN在对图形中节点间的依赖关系进行建模方面能力强大,使得图分析相关的研究领域取得了突破性进展。本文旨在介绍图神经网络的基本知识,以及两种更高级的算法:DeepWalk和GraphSage。图(Graph)在讨论GNN之前,让我们先了解一下什么是图(Graph)。在计算机科学中,图是由两个部件组成的一种数据结构:顶点(vertices)和边(edges)。一个图G可以用它包含的顶点V和边E的集合来描述。边可以是有向的或无向的,这取决于顶点之间是否存在方向依赖关系。一个有向的图(wiki)顶点通常也被称为节点(nodes)。在本文中,这两个术语是可以互换的。图神经网络图神经网络是一种直接在图结构上运行的神经网络。GNN的一个典型应用是节点分类。本质上,图中的每个节点都与一个标签相关联,我们的目的是预测没有ground-truth的节点的标签。本节将描述Thegraphneuralnetworkmodel(Scarselli,F.,etal.,2009)[1]这篇论文中的算法,这是第一次提出GNN的论文,因此通常被认为是原始GNN。在节点分类问题设置中,每个节点v的特征x_v与一个ground-truth标签t_v相关联。给定一个部分标记的graphG,目标是利用这些标记的节点来预测未标记的节点的标签。它学习用包含邻域信息的d维向量h_v表示每个节点。即:其中x_co[v]表示与v相连的边的特征,h_ne[v]表示v相邻节点的嵌入,x_ne[v]表示v相邻节点的特征。函数f是将这些输入映射到d维空间上的过渡函数。由于我们要寻找h_v的唯一解,我们可以应用Banach不动点定理,将上面的方程重写为一个迭代更新过程。通过将状态h_v和特性x_v传递给输出函数g,从而计算GNN的输出。这里的f和g都可以解释为前馈全连接神经网络。L1loss可以直接表述为:可以通过梯度下降进行优化。然而,原始GNN存在三个主要局限性:如果放宽“不动点”(fixedpoint)的假设,那么可以利用多层感知器学习更稳定的表示,并删除迭代更新过程。这是因为,在原始论文中,不同的迭代使用转换函数f的相同参数,而MLP的不同层中的不同参数允许分层特征提取。它不能处理边缘信息(例如,知识图中的不同边缘可能表示节点之间的不同关系)不动点会阻碍节点分布的多样性,不适合学习表示节点。为了解决上述问题,研究人员已经提出了几个GNN的变体。不过,它们不是本文的重点。DeepWalk:第一个无监督学习节点嵌入的算法DeepWalk[2]是第一个提出以无监督的方式学习节点嵌入的算法。它在训练过程中非常类似于词汇嵌入。其动机是graph中节点和语料库中单词的分布都遵循幂律,如下图所示:该算法包含两个步骤:在graph中的节点上执行randomwalks,以生成节点序列运行skip-gram,根据步骤1中生成的节点序列,学习每个节点的嵌入在randomwalks的每个时间步骤中,下一个节点从上一个节点的邻节点均匀采样。然后将每个序列截断为长度为2|w|+1的子序列,其中w表示skip-gram中的窗口大小。本文采用hierarchicalsoftmax来解决由于节点数量庞大而导致的softmax计算成本高昂的问题。为了计算每个单独输出元素的softmax值,我们必须计算元素k的所有e^xk。Softmax的定义因此,原始softmax的计算时间为O(|V|),其中V表示图中顶点的集合。分层softmax利用二叉树来处理这个问题。在这个二叉树中,所有的叶子(下图中的v1,v2,…v8)都表示graph中的顶点。在每个内部节点中,都有一个二元分类器来决定选择哪条路径。要计算给定顶点v_k的概率,只需计算从根...