图神经网络还能这样学,看新加坡小哥圈圈画画搞掂GNN

      最后更新:2020-04-10 11:38:49 手机定位技术交流文章

      选自中等

      作者:里沙布·阿南德

      机器编译的核心

      参与:熊猫

      在社会网络分析等应用中,图神经网络得到了广泛的应用。新加坡科学技术研究机构(A*STAR)的研究员里沙布·阿南德(Rishabh Anand)最近通过图表介绍了图形和图形神经网络的基本概念,这可以帮助初学者更直观地理解图形神经网络的内涵和价值。

      图形深度学习(GDL)是一个很有前途的研究领域。学习和分析图形数据非常有用。本文将介绍简单图神经网络(GNN)的基本知识及其内部工作原理背后的直观知识。然而,你不必担心,为了能够更直观地理解发生了什么,作者使用了大量的彩色图片来给出图形信息。什么是图形?图是由连接的节点(顶点)和边组成的数据结构,可以用来表示没有明确起点或终点的信息。所有节点可以占据空之间的任何位置。当绘制二维或多维空的结构时,具有相似特征的节点通常会聚集在一起。

      这是一个由一组分别代表实体的相互连接的节点组成的图。边缘的黑色尖端指示节点之间的关系类型,这可以指示关系是双向的还是单向的。有两种主要类型的图:有向图和无向图。在有向图中,节点之间的连接有方向;然而,无向图的连接顺序并不重要。有向图可以是单向的,也可以是双向的。图表可以代表很多东西——社交网络、分子等等。节点可以代表用户/产品/原子,而边代表它们之间的联系,例如关注/通常购买/与连接的产品同时密钥。社交网络图可能是这样的,其中节点是用户,边是连接:

      节点代表用户,而边代表两个实体之间的连接/关系。真正的社交网络地图通常更大更复杂!接下来,作者将介绍一些概念,如循环元素,嵌入向量表示和前馈神经网络。了解一些关于图论的知识也是好的(比如什么是图及其形式)。有些术语你可能不熟悉。别担心!对于那些令人困惑的术语,作者已经尽了最大努力去联系他能找到的最可靠的解释,这样你就能理解所涉及的概念的基本含义。基于此,你可以进一步理解这些概念,同时你也可以理解它们在图形神经网络中的作用。图形感知神经网络的每个节点都有一组定义它的特征。在社交网络地图的情况下,这些特征可以是年龄、性别、居住国家、政治取向等。由每条边连接的节点可能具有相似的特征。这反映了这些节点之间的某种关联或关系。假设我们有一个图G,它有以下顶点和边:

      这幅画和上面那幅一样。为了简单起见,我们假设它的特征向量是当前节点索引的一个热点编码。同样,它的标签(或类别)可以设置为节点的颜色(绿色、红色、黄色)。这张照片看起来是这样的:

      节点的顺序并不重要。注意:在实际应用中,尽量不要使用一热编码,因为节点的顺序可能非常混乱。相反,应该使用能够清晰区分节点的功能。例如,对于社交网络,诸如年龄、性别、政治倾向等特征。可以选择。分子研究可以选择可量化的化学性质。现在,我们有一个节点的热编码(或嵌入)。接下来,我们将神经网络引入到这个混合信息中来修改图。所有节点都可以转换成循环单元(或者任何其他神经网络架构,但我在这里使用循环单元);所有的边都包含一个简单的前馈神经网络。那么它会是这样的:

      包络符号只是每个节点的一个热编码向量(嵌入)。消息传递一旦节点和边的转换完成,图形就可以在节点之间执行消息传递。这一过程也称为“邻域聚合”,因为它涉及通过给定节点周围的定向边从周围节点推送消息(即嵌入)。注意:有时您可以对不同类型的边使用不同的神经网络,例如一个神经网络用于单向边,另一个神经网络用于双向边。这样,您仍然可以获得节点之间的空关系。就GNN而言,对于单个参考节点,相邻节点将通过边缘神经网络将其消息(嵌入)传输到参考节点上的环路单元。参考循环单元的新嵌入更新,循环函数用于循环嵌入和邻居节点嵌入所嵌入的边缘神经网络的输出之和。让我们放大上面的红色节点并可视化该过程:

      紫色正方形是一个简单的前馈神经网络,用于嵌入(白色包络)来自邻近节点。红色三角形是应用于当前嵌入(白色包络)和边缘神经网络输出(黑色包络)之和的循环函数,以获得新的嵌入(顶部白色包络)。该过程在网络中的所有节点上并行执行,因为L+1层的嵌入取决于L层的嵌入。因此,在实践中,我们不需要从一个节点“移动”到另一个节点来执行消息传递。注意:边缘神经网络(黑包络)的输出之和与输出顺序无关。最终矢量表示的用途是什么?在执行了几个邻居聚合/消息传递过程后,每个节点的循环单元会获得一组全新的嵌入内容。此外,在消息传递的多个时间步骤/轮次之后,节点也将更好地理解自身和相邻节点的信息(特征)。这将创建整个地图的更精确的表示。为了在更高的层次上进一步处理流程或简单地描述图表的特征,您可以将所有的嵌入项加在一起,以获得表示整个图表的向量h。使用H比使用邻接矩阵更好,因为无论图如何扭曲,这些矩阵都不能表征图的特征或唯一属性——只能表征节点之间的边连接(在某些情况下这并不重要)。总之,我们将所有节点循环单元的最终矢量表示加在一起(当然,不考虑顺序),然后将获得的矢量用作其他工作过程的输入,或者简单地用它们来表征图形。此步骤如下图所示:

      这是经过n次重复消息传递后完全更新的嵌入向量的最终图表。您可以更改所有节点的表。把它们加在一起得到h。四个步骤可以帮助你意识到GNN很容易使用。事实上,实现它们包括以下四个步骤:

      给定一个图,节点首先被转换成循环单元,边被转换成前馈神经网络。接下来,对所有节点执行N次邻居聚合(即,消息传递);然后对所有节点的嵌入向量求和,得到图表示H;最后,我们可以完全跳过H,直接跳到更高的层次,或者我们也可以用H来刻画图的独特性质。现在我们对图形神经网络的操作有了清晰的了解。由于GNN对图节点间依赖关系建模的强大能力,它已被广泛应用于社交网络、知识地图和推荐系统中。以社交网络地图为例,GNN在内容推荐方面表现良好。例如,当一个用户关注另一个具有相似政治倾向的用户时,GNN可以用于节点分类,以预测网站上的特定内容是否可以被发送到该用户的新闻流。当GNN用于“推荐关注”时,系统可以考虑用户的行业,然后提供潜在的连接边缘分类。深入学习实际上非常有趣。这篇文章的亮点是一些可视化的图形被用来介绍图形神经网络的基本概念,但是如果你想彻底理解GNN,你最好编写你自己的代码来实现它。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/4058.html

          热门文章

          文章分类