一、图的基本表示方法
由 G = ( V , E ) G = (V,E) G=(V,E)由下列要素构成:
- 一组节点: V = 1 , ⋯ n V = 1,\cdots n V=1,⋯n
- 一组边 E ⊆ V × V E \subseteq V \times V E⊆V×V
-
- 边 ( i , j ) ∈ E (i,j) \in E (i,j)∈E 连接了节点 i 和 j i和j i和j
- i 和 j i和j i和j被称为相邻节点
- 节点的度:相邻节点的数量。
节点、边和度的示意图 - 如果一个图的所有节点都有 n-1 个相邻节点,则该图是完备的(complete)。也就是说所有节点都具备所有可能的连接方式。
- 从 i 到 j 的路径(path)是指从 i 到达 j 的边的序列。该路径的长度(length)等于所经过的边的数量。
- 图的直径(diameter)是指连接任意两个节点的所有最短路径中最长路径的长度。
举个例子,再在这个案例中,我们可以计算出一些连接任意两个节点的最短路径,该图直径为3,因为没有任意两个节点之间的最短路径超过3.
测地路径:指两个节点之间的最短路径。
*如果所有节点,都可以通过某个路径连接到彼此,则它们构成一个连通分支。如果一个图仅有一个连通分支,则该图是连通的。
如果一个图的边是有顺序的配对,则该图是有向的(directed)。i 的入度(in-degree)是指向 i 的边的数量,出度(out-degree)是远离 i 的边的数量
如何存储图
图的类型和性质
-
图可以根据不同标准进行分类,我们在这里主要讲一种分类方法,同构图与异构图。
-
同构图与异构图
-
两个图G和H是同构图(isomorphic graphs),能够通过重新标记图G的顶点而产生图H。
-
如果G和H同构,那么它们的阶是相同的,它们大小是相同的,它们个顶点的度数也对应相同。
-
异构图是一个与同构图相对应的新概念。
-
传统同构图(Homogeneous Graph)数据中只存在一种节点和边,因此在构建图神经网络时所有节点共享同样的模型参数并且拥有同样维度的特征空间。
-
而异构图(Heterogeneous Graph)中可以存在不只一种节点和边,因此允许不同类型的节点拥有不同维度的特征或属性。
-
不同类型的节点拥有不同的特征或属性。
什么是图神经网络
在过去的几年中**,神经网络的兴起与应用成功推动了模式识别和数据挖掘的研究**。许多曾经严重依赖于手工提取特征的机器学习任务(如目标检测、机器翻译和语音识别),如今都已被各种端到端的深度学习范式(例如卷积神经网络(CNN)、长短期记忆(LSTM)和自动编码器)彻底改变了。曾有学者将本次人工智能浪潮的兴起归因于三个条件,分别是:
计算资源的快速发展(如GPU)
大量训练数据的可用性
深度学习从欧氏空间数据中提取潜在特征的有效性
尽管传统的深度学习方法被应用在提取欧氏空间数据的特征方面取得了巨大的成功,但许多实际应用场景中的数据是从非欧式空间生成的,传统的深度学习方法在处理非欧式空间数据上的表现却仍难以使人满意。例如,在电子商务中,一个基于图(Graph)的学习系统能够利用用户和产品之间的交互来做出非常准确的推荐,但图的复杂性使得现有的深度学习算法在处理时面临着巨大的挑战。这是因为图是不规则的,每个图都有一个大小可变的无序节点,图中的每个节点都有不同数量的相邻节点,导致一些重要的操作(例如卷积)在图像(Image)上很容易计算,但不再适合直接用于图。此外,现有深度学习算法的一个核心假设是数据样本之间彼此独立。然而,对于图来说,情况并非如此,图中的每个数据样本(节点)都会有边与图中其他实数据样本(节点)相关,这些信息可用于捕获实例之间的相互依赖关系。
近年来,人们对深度学习方法在图上的扩展越来越感兴趣。在多方因素的成功推动下,研究人员借鉴了卷积网络、循环网络和深度自动编码器的思想,定义和设计了用于处理图数据的神经网络结构,由此一个新的研究热点——“图神经网络(Graph Neural Networks,GNN)”应运而生,本篇文章主要对图神经网络的研究现状进行简单的概述。
需要注意的是**,图神经网络的研究与图嵌入**(对图嵌入不了解的读者可以参考这篇文章《图嵌入综述》)或网络嵌入密切相关,图嵌入或网络嵌入是数据挖掘和机器学习界日益关注的另一个课题。图嵌入旨在通过保留图的网络拓扑结构和节点内容信息,将图中顶点表示为低维向量,以便使用简单的机器学习算法(例如,支持向量机分类)进行处理。许多图嵌入算法通常是无监督的算法,它们可以大致可以划分为三个类别**,即矩阵分解、随机游走和深度学习方法。同时图嵌入的深度学习方法也属于图神经网络,包括基于图自动编码器的算法(如DNGR和SDNE)和无监督训练的图卷积神经网络(如GraphSage)。下图描述了图嵌入和图神经网络在本文中的区别**。
有那些图神经网络?
在本文中,我们将图神经网络划分为五大类别,分别是:图卷积网络(Graph Convolution Networks,GCN)、 图注意力网络(Graph Attention Networks)、图自编码器( Graph Autoencoders)、图生成网络( Graph Generative Networks) 和图时空网络(Graph Spatial-temporal Networks)。
图卷积网络9GCNS
GCN方法又可以分为两大类,基于谱(spectral-based)和基于空间(spatial-based)。基于谱的方法从图信号处理的角度引入滤波器来定义图卷积,其中图卷积操作被解释为从图信号中去除噪声。基于空间的方法将图卷积表示为从邻域聚合特征信息,当图卷积网络的算法在节点层次运行时,图池化模块可以与图卷积层交错,将图粗化为高级子结构。如下图所示,这种架构设计可用于提取图的各级表示和执行图分类任务。
基于空间的GCNs的方法
基于空间的图卷积神经网络的思想主要源自于传统卷积神经网络对图像的卷积运算**,不同的是基于空间的图卷积神经网络是基于节点的空间关系**来定义图卷积的。
为了将图像与图关联起来,可以将图像视为图的特殊形式,每个像素代表一个节点,如下图a所示,每个像素直接连接到其附近的像素。通过一个3×3的窗口,每个节点的邻域是其周围的8个像素。这八个像素的位置表示一个节点的邻居的顺序。然后,通过对每个通道上的中心节点及其相邻节点的像素值进行加权平均,对该3×3窗口应用一个滤波器。由于相邻节点的特定顺序,可以在不同的位置共享可训练权重。同样,对于一般的图,基于空间的图卷积将中心节点表示和相邻节点表示进行聚合,以获得该节点的新表示,如图b所示。
一种共同的实践是将多个图卷积层叠加在一起。根据卷积层叠的不同方法,基于空间的GCN可以进一步分为两类:recurrent-based和composition-based的空间GCN。recurrent-based的方法使用相同的图卷积层来更新隐藏表示,composition-based的方法使用不同的图卷积层来更新隐藏表示。下图说明了这种差异。
基于组合的空间GCNs的方法
作为最早的图卷积网络,基于谱的模型在许多与图相关的分析任务中取得了令人印象深刻的结果。这些模型在图信号处理方面有一定的理论基础。通过设计新的图信号滤波器,我们可以从理论上设计新的图卷积网络。然而,基于谱的模型有着一些难以克服的缺点,下面我们将从效率、通用性和灵活性三个方面来阐述。
在效率方面,基于谱的模型的计算成本随着图的大小而急剧增加,因为它们要么需要执行特征向量计算,要么同时处理整个图,这使得它们很难适用于大型图。基于空间的模型有潜力处理大型图,因为它们通过聚集相邻节点直接在图域中执行卷积。计算可以在一批节点中执行,而不是在整个图中执行。当相邻节点数量增加时,可以引入采样技术来提高效率。
在一般性方面,基于谱的模型假定一个固定的图,使得它们很难在图中添加新的节点。另一方面,基于空间的模型在每个节点本地执行图卷积,可以轻松地在不同的位置和结构之间共享权重。
在灵活性方面,基于谱的模型仅限于在无向图上工作,有向图上的拉普拉斯矩阵没有明确的定义,因此将基于谱的模型应用于有向图的唯一方法是将有向图转换为无向图。基于空间的模型更灵活地处理多源输入,这些输入可以合并到聚合函数中。因此,近年来空间模型越来越受到关注。
图注意力网络
注意力机制如今已经被广泛地应用到了基于序列的任务中,它的优点**是能够放大数据中最重要的部分的影响。**这个特性已经被证明对许多任务有用,例如机器翻译和自然语言理解。如今融入注意力机制的模型数量正在持续增加,图神经网络也受益于此,它在聚合过程中使用注意力,整合多个模型的输出,并生成面向重要目标的随机行走。
总结
慢慢的将各种网络架构,全部都好好研究一波。
明天在将几个相关领域的几个模型都研究彻底,包括代码会自己好,其他的后续用到啥学习啥即可。大致了以下图网路,然后再慢慢的开始搞研究!