提交 5ade5fd1 编写于 作者: W wizardforcel

2021-12-12 17:58:16

上级 05001a7d
## 一、引言
图自然存在于各种各样的现实世界场景中,例如,社交媒体网络中的社交图/扩散图,研究领域中的引用图,电子商务区中的用户兴趣图,知识图等。这些图的分析提供了如何充分利用隐藏在图中的信息,因此在过去的几十年中受到了极大的关注。 有效的图分析可以使许多应用受益,例如节点分类 [1],节点聚类 [2],节点检索/推荐 [3],链接预测 [4]等。例如,通过分析基于的构建图。在社交网络中的用户交互(例如,在Twitter中转发/评论/关注),我们可以对用户进行分类,检测社区,推荐朋友,并预测两个用户之间是否会发生交互。
尽管图分析是实用且必不可少的,但是大多数现有的图分析方法具有高计算和空间成本。 许多研究工作致力于有效地进行昂贵的图分析。 示例包括分布式图数据处理框架(例如,GraphX [5],GraphLab [6]),新的节省空间的图存储,它可以加速 I/O 和计算成本[7],等等。
除了上述策略之外,图嵌入提供了一种有效的方法来解决图分析问题。 具体而言,图嵌入将图转换为保存图信息的低维空间。 通过将图表示为(或一组)低维向量,图算法可以有效地计算。 存在不同类型的图(例如,同构图,异构图,属性图等),因此图嵌入的输入在不同场景中变化。 图嵌入的输出是表示图(或整个图)的一部分的低维向量。 图1展示了以不同粒度将图嵌入2D空间的玩具示例。 即,根据不同的需要,我们可以将节点/边/子结构/整图表示为低维向量。 有关不同类型的图嵌入输入和输出的更多详细信息,请参见第3节。
在21世纪初期,图嵌入算法主要是通过假设数据位于低维流形中,来减少非关系数据的高维度。 给定一组非关系高维数据特征,基于成对特征相似性构建相似性图。 然后,图中的每个节点被嵌入到低维空间中,其中连接的节点彼此更接近。4.1 节介绍了这一系列研究的例子。。 自2010年以来,随着图在各个领域的激增,图嵌入的研究开始以图作为输入并利用辅助信息(如果有的话)来促进嵌入。 一方面,它们中的一些专注于将图的一部分(例如,节点,边,子结构)(图1(b)- 1(d))表示为一个向量。 为了获得这种嵌入,他们要么采用最先进的深度学习技术(第 4.2 节),要么设计一个目标函数来优化边重建概率(第 4.3 节)。 另一方面,还有一些工作集中在将整个图嵌入一个向量,用于图级应用(图 1(e))。 图核(第 4.4 节)通常旨在满足此需求。
![](img/fig1.jpg)
**图1:**将图嵌入具有不同粒度的2D空间的玩具示例。
图嵌入问题与两个传统的研究问题有关,即图分析[8]和表示学习[9]。 特别是,图嵌入旨在将图示为低维向量,同时保留图结构。 一方面,图分析旨在从图数据中挖掘有用信息。 另一方面,表示学习获得数据表示,使得在构建分类器或其他预测变量时,更容易提取有用信息[9]。 图嵌入在两个问题上重叠,并侧重于学习低维表示。 请注意,我们在此综述中区分了图学习和图嵌入。 图表示学习不要求学习的表示是低维的。 例如,[10]将每个节点表示为向量,其维数等于输入图中的节点数。 每个维度表示节点与图中每个其他节点的测地距离。
将图嵌入低维空间并非易事。 图嵌入的挑战取决于问题设定 ,包括嵌入输入和嵌入输出。 在本综述中,我们将输入图分为四类,包括同构图,异构图,辅助信息 图和非关系数据图 。 不同类型的嵌入输入携带不同的信息来保留在嵌入空间中,因此对图嵌入的问题提出了不同的挑战。 例如,当仅嵌入具有结构信息的图时,节点之间的连接是要保留的目标。 但是,对于具有节点标签或属性信息的图,辅助信息从其他视角提供图属性,因此在嵌入期间也可以考虑。 与给定和固定的嵌入输入不同, 嵌入输出是任务驱动的。 例如,最常见的嵌入输出类型是节点嵌入,其将邻近节点表示为类似向量。 节点嵌入可以使节点相关的任务受益,例如节点分类,节点聚类等。然而,在某些情况下,任务可能与图的更高粒度有关,例如,节点对,子图,整个图。 因此,在嵌入输出方面的第一个挑战,是为感兴趣的应用找到合适的嵌入输出类型。 我们对四种类型的图嵌入输出进行了分类,包括节点嵌入,边嵌入,混合嵌入和整图嵌入 。 不同的输出粒度对于“良好”嵌入具有不同的标准并且面临不同的挑战。 例如,良好的节点嵌入保持嵌入空间中的相邻节点的相似性。 相反,良好的整图嵌入将整个图示为向量,从而保持图级相似性。
在不同问题设定中面临的挑战的观察中,我们通过基于问题设定和嵌入技术对图嵌入文献进行分类,提出了两种图嵌入工作的分类法。 这两种分类法对应于图嵌入中存在的挑战以及现有研究如何应对这些挑战。 特别是,我们首先介绍图嵌入问题的不同设置以及每个设置中面临的挑战。 然后,我们描述现有研究如何在他们的工作中应对这些挑战,包括他们的见解和技术解决方案。
请注意,虽然已经有了一些图嵌入的综述([11,12,13]),但它们有以下两个限制。 首先,他们通常只提出一种图嵌入技术的分类。 他们都没有从问题设定的角度分析图嵌入工作,也没有总结每个环境中的挑战。 其次,现有的图嵌入综述仅涉及有限数量的相关工作。 例如,[11]主要介绍了十二种代表性的图嵌入算法,[13]只关注知识图嵌入。 此外,没有分析每种图嵌入技术背后的洞察力。 对现有图嵌入工作的全面回顾,以及对每种嵌入技术的洞察力的高级抽象,可以促进该领域的未来研究。
下面,我们总结了本次综述的主要贡献。
我们提出了基于问题设定的图嵌入分类法,并总结了每个环境中面临的挑战。 我们是第一个基于问题设定对图嵌入工作进行分类的综述,它为理解现有工作带来了新的视角。
我们提供了图嵌入技术的详细分析。 与现有的图嵌入综述相比,我们不仅研究了更全面的图嵌入工作集,而且还总结了每种技术背后的见解。 与简单地列出过去如何解决图嵌入相反,总结的见解回答了为什么可以以某种方式解决图嵌入的问题。 这可以作为未来研究的深刻见解。
我们系统地对使用图嵌入的应用进行分类,并将应用划分为节点相关,边相关和图相关。 对于每个类别,我们提供详细的应用场景作为参考。
我们建议了图嵌入领域的四个有前途的未来研究方向,包括计算效率,问题设定,解决方案技术和应用。 对于每个方向,我们对其在当前工作中的缺点(不足)进行全面分析,并提出未来的研究方向。
本次综述的其余部分安排如下。 在第二节中,我们介绍理解图嵌入问题所需的基本概念的定义,然后提供图嵌入的形式问题定义。 在接下来的两节中,我们提供了两种图嵌入分类法,其中分类法结构如图 2 所示。第 3 节基于问题设定比较了相关工作,并总结了每个设置中面临的挑战。 在第 4 节中,我们基于嵌入技术对文献进行分类。抽象出每种技术背后的见解,并在最后提供不同技术的详细比较。 之后在第 5 节中,我们将介绍图嵌入的应用。 然后,我们在第六节中将讨论中未来的四个研究方向,并在第七节结束本综述。
![](img/fig2.jpg)
**图 2:**根据问题和技术的图嵌入分类法。
## 二、问题形式化
在本节中,我们首先介绍图嵌入中基本概念的定义,然后提供图嵌入问题的正式定义。
### 符号和定义
本综述中使用的符号的详细说明见表 1 。
**表1:**本文中使用的符号。
| 符号 | 说明 | |
| --- | --- | --- |
| ![](img/img23.png) | 集合的基数 | |
| ![](img/img24.png) = ![](img/img25.png) | 带有节点 ![](img/img26.png) 和边 ![](img/img27.png) 的图 ![](img/img24.png) | |
| ![](img/img28.png) = ![](img/img29.png) | 图 ![](img/img24.png) 的子结构,其中 ![](img/img30.png) | |
| ![](img/img13.png) , ![](img/img31.png) | 节点 ![](img/img32.png) 和连接 ![](img/img13.png) 和 ![](img/img34.png) 的边 ![](img/img33.png) | |
| ![](img/img35.png) | 接邻矩阵 ![](img/img24.png) | |
| ![](img/img36.png) | 矩阵 A 的第 i 行向量 |
| ![](img/img38.png) | 矩阵 A 的第 i 行第 j 列 | |
| ![](img/img40.png) , ![](img/img41.png) | 节点 ![](img/img13.png) 类型和边 ![](img/img31.png) 的类型 | |
| ![](img/img42.png) , ![](img/img43.png) | 节点类型集和边类型集 | |
| ![](img/img44.png) | 节点 ![](img/img13.png) 的k个最近邻居 | |
| ![](img/img45.png) | 特征矩阵,每行 ![](img/img46.png) 是 ![](img/img13.png) 的 ![](img/img47.png) 维向量 | |
| ![](img/img48.png) , ![](img/img49.png) , ![](img/img50.png) | 节点 ![](img/img13.png) ,边 ![](img/img31.png) 和结构 ![](img/img28.png) 的嵌入 | |
| ![](img/img51.png) | 嵌入的维度 | |
| `<h, r, t>` | 知识图三元组,具有头部实体 ![](img/img53.png) , | |
| | 尾部实体 ![](img/img54.png) 以及他们之间的关系 ![](img/img55.png) |
| ![](img/img56.png) , ![](img/img57.png) | 节点 ![](img/img13.png) 和 ![](img/img34.png) 之间的一阶和二阶邻近度 | |
| ![](img/img58.png) | 信息级联 | |
| ![](img/img59.png) | 拥有级联 ![](img/img58.png) 的级联图 | |
图是 ![](img/img24.png) = ![](img/img25.png),其中 ![](img/img60.png) 是一个节点,![](img/img61.png) 是一个边。![](img/img24.png) 关联节点类型的映射函数 ![](img/img62.png) 和边类型的映射函数 ![](img/img63.png)
![](img/img42.png) 和 ![](img/img43.png) 分别表示节点类型和边类型的集合。 每个节点 ![](img/img32.png) 属于一种特定类型,即 ![](img/img64.png)。 同样,对于 ![](img/img33.png),![](img/img65.png)
同构图 ![](img/img66.png) =_ ![](img/img25.png) 是一个图,满足 ![](img/img67.png)。![](img/img24.png) 中的所有节点属于单一类型,所有边都属于单一类型。
异构图 ![](img/img68.png) = ![](img/img25.png) 是一个图,满足 ![](img/img69.png) 和/或 ![](img/img70.png)
知识图 ![](img/img71.png) = ![](img/img25.png) 是一个有向图,其节点是实体 ,边是主体 - 属性 - 客体三元组。形式为( 头部实体 , 关系,尾部实体)的每个边(表示为 ![](img/img52.png))表示关系 ![](img/img55.png) 来自实体 ![](img/img53.png) 到实体 ![](img/img54.png)
![](img/img72.png) 是实体,![](img/img73.png) 是关系。 在本综述中,我们将 ![](img/img52.png) 称作知识图三元组。 例如,在图 3 中,有两个三元组:![](img/img74.png) 和 ![](img/img75.png)。 请注意,知识图中的实体和关系通常具有不同的类型[14,15]。因此,知识图可以被视为异构图的实例。
![](img/fig3.jpg)
**图3:**知识图的玩具示例。
通常采用以下邻近度量来量化要在嵌入空间中保留的图属性。 一阶邻近度是仅由边连接的节点之间的局部成对相似性。 它比较节点对之间的直接连接强度。 从形式上看,
节点 ![](img/img13.png) 和节点 ![](img/img34.png) 之间的一阶邻近度是边 ![](img/img31.png) 的权重,即 ![](img/img38.png)
如果两个节点由具有较大权重的边连接,则它们更相似。![](img/img56.png) 表示节点 ![](img/img13.png) 和 ![](img/img34.png) 之间的一阶邻近度, 我们有 ![](img/img77.png)。 让 ![](img/img78.png) 表示 ![](img/img13.png) 和其他节点的一阶邻近度。 以图 1(a)中的图为例,![](img/img2.png) 和 ![](img/img3.png) 的一阶邻近度是边的权重 ![](img/img79.png),表示为 ![](img/img80.png)。![](img/img81.png) 记录 ![](img/img2.png) 和图中的其他节点的边的权重,即 ![](img/img82.png)
二阶邻近度比较节点的邻域结构的相似性。 两个节点的邻域越相似,它们之间的二阶邻近度越大。从形式上看,
节点 ![](img/img13.png) 和 ![](img/img34.png)之间的二阶邻近度 ![](img/img57.png) 是 ![](img/img13.png) 的邻居_ _![](img/img83.png) 和 ![](img/img34.png) 的邻居 ![](img/img84.png) 的相似度。
再次,以图[1(a)](#fig:ig)为例: ![](img/img85.png) 是 ![](img/img81.png) 和 ![](img/img86.png) 的相似度。 如前所述, ![](img/img82.png) 并且 ![](img/img87.png) ![](img/img88.png)。 让我们考虑余弦相似度 ![](img/img89.png) 和 ![](img/img90.png)。 我们可以看到 ![](img/img2.png) 和 ![](img/img91.png) 之间的邻近度等于零,![](img/img2.png) 和 ![](img/img91.png) 没有任何共同邻居。 ![](img/img2.png) 和 ![](img/img3.png) 有一个共同的邻居 ![](img/img4.png),因此他们的二阶邻近度 ![](img/img85.png) 大于零。
可以同样定义更高阶的邻近度 。 例如,节点 ![](img/img13.png) 和 ![](img/img34.png) 之间的 K 阶邻近度是 ![](img/img94.png) 和 ![](img/img95.png) 的相似度。 请注意,有时高阶邻近度也使用其他一些指标来定义,例如 Katz Index,Rooted PageRank,Adamic Adar 等[11]。
值得注意的是,在一些工作中,一阶和二阶邻近度是基于两个节点的联合概率和条件概率凭经验计算的。 更多细节将在 4.3.2 中讨论。
图嵌入:给定图的输入 ![](img/img24.png) = ![](img/img25.png),以及嵌入的预定义维度 ![](img/img51.png) (![](img/img96.png)),图嵌入的问题是,将 ![](img/img24.png) 转换为一个 ![](img/img51.png) 维空间,其中尽可能保留图属性。可以使用诸如一阶和更高阶邻近度来量化图特性。每个图都表示为 ![](img/img51.png) 维向量(对于整图)或一组 ![](img/img51.png) 维向量,每个向量表示图的一部分的嵌入(例如,节点,边,子结构)。
图1显示了嵌入图的玩具示例 ![](img/img97.png) 。 给定一个输入图(图[1(a)](#fig:ig) ),图嵌入算法用于将节点(图[1(b)](#fig:ne) )/边(图[1(c)](#fig:ee) ),子结构(图[1(d))](#fig:se) )/整图(图[1(e)](#fig:we) )转换为2D向量(即2D空间中的点)。 在接下来的两节中,我们分别基于问题设定和嵌入技术,对图嵌入文献进行分类,提供了两种图嵌入分类法。
## 三、图嵌入的问题设定
在本节中,我们从问题设定的角度比较现有的图嵌入工作,其中包括嵌入输入和嵌入输出。 对于每个设定,我们首先介绍不同类型的图嵌入输入或输出,然后总结每个设定最后面临的挑战。
我们从图嵌入输入开始。 由于图嵌入设定由输入和输出组成,我们在介绍不同类型的输入期间,使用节点嵌入作为嵌入输出设定的示例。 原因在于尽管存在各种类型的嵌入输出,但是大多数图嵌入研究集中于节点嵌入,即,将节点嵌入到低维空间中,其中保持输入图中的节点相似性。 有关节点嵌入和其他类型嵌入输出的更多详细信息,请参见 3.2 节。
### 图嵌入输入
图嵌入的输入是图。 在本综述中,我们将图嵌入输入分为四类:同构图,异构图,辅助信息图和构造图。 每种类型的图对图嵌入提出了不同的挑战。 接下来,我们介绍这四种类型的输入图,并总结每种输入设定所面临的挑战。
#### 同构图
![](img/fig4.jpg)
**图4:**加权和有向图的示例。
第一类输入图是同构图(定义 2),其中节点和边分别属于单一类型。 同构图可以进一步分类为加权(或定向)和无权(或无向)图,如图 4 所示的示例。
无向和无权的同构图是最基本的图嵌入输入设定。 许多研究都在这种情况下进行,例如 [1,16,17,18,19]。 它们平等地处理所有节点和边,因为只有输入图的基本结构信息可用。
直观上,边的权重和方向提供了图的更多信息,并且有助于在嵌入空间中更准确地表示图。 例如,在图 4(a)中, ![](img/img2.png) 应该比 ![](img/img4.png) 更接近 ![](img/img3.png),因为边的权重 ![](img/img100.png) 更高。 同样在图 4(b)中, ![](img/img101.png) 应该比 ![](img/img102.png) 更接近 ![](img/img91.png),因为 ![](img/img101.png) 和 ![](img/img91.png) 在两个方向相连。 上述信息在无权和无向图中丢失。 注意到利用图边的权重和方向属性的优点,图嵌入社区开始探索加权和/或有向图。 其中一些只关注一个图属性,即边权重或边方向。 一方面,[20,21,22,23,24,25] 考虑了加权图 。 通过较高加权边连接的节点彼此靠得更近。 但是,他们的工作仍局限于无向图。 另一方面,一些工作在嵌入过程中区分边的方向并且保持嵌入空间中的方向信息。 有向图的一个例子是社交网络图,例如[26]。 每个用户都有其他用户的粉丝和关注关系。 但是,权重信息不适用于社交用户链接。 最近,提出了一种更通用的图嵌入算法,其中考虑了权重和方向属性。 换句话说,这些算法(例如,[27,3,28])可以处理有向和无向,以及加权和无权图 。
挑战: 如何捕获图中观察到的连接模式的多样性? 由于在同构图中只有结构信息可用,因此同构图嵌入的挑战在于,如何在嵌入期间保留输入图中观察到的这些连通模式。
#### 异构图
第二类输入是异构图(定义 3),主要存在于以下三种情形中。
基于社区的问答(cQA)网站。 cQA 是一种基于互联网的众包服务,使用户能够在网站上发布问题,然后由其他用户回答[29]。 直观上,cQA 图中存在不同类型的节点,例如问题,答案,用户。 现有的 cQA 图嵌入方法在它们利用的链接方面彼此区分,如表 2 所示 ,其中 ![](img/img103.png) 表示 由用户`j`提供的问题`i`的答案`k`,比用户`p`的答案`o`获得更多的投票(即点赞)。
**表2:** cQA站点的图嵌入算法
| GE算法 | 利用的链接 |
| --- | --- |
| [30] | 用户 - 用户,用户 - 问题 |
| [31] | 用户 - 用户,用户 - 问题,问题 - 回答 |
| [29] | 用户 - 用户,问题 - 回答,用户 - 回答 |
| [32] | 用户的不对称关注链接,有序的元组 ![](img/img103.png) |
多媒体网络。 多媒体网络是包含多媒体数据的网络,例如图像,文本等。例如,[33]和[34]都嵌入了包含两种节点(图像和文本)和三种链接(图像 - 图像,文本 - 文本,文本 - 图像)的图。 [35]使用用户节点和图像节点处理社交管理。 它利用用户图像链接将用户和图像嵌入到同一空间中,以便可以直接比较它们来进行图像推荐。 在[36]中,考虑了包含图像和文本查询的点击图。 图像 - 查询边表示给定查询的图像的点击,其中点击计数用作边权重。
知识图。 在知识图(定义 4)中,实体(节点)和关系(边)通常是不同类型的。 例如,在从Freebase [37]构建的电影相关知识图中,实体的类型可以是“导演”,“演员”,“电影”等。关系的类型可以是“制作”,“导演”, “参演”。 已经投入了大量精力来嵌入知识图(例如,[38,39,40])。 我们将在 4.3.3 节中详细介绍它们。。
其他异构图也存在。 例如,[41]和[42]从事于移动数据图,其中车站(s),角色(r)和公司(c)节点由三种类型的链接(ss,sr,sc)连接。 [43]嵌入了维基百科图,具有三种类型的节点(实体(e),类别(c)和单词(w))和三种类型的边(ee,ec,ww)。 除了上面的图之外,还有一些通用的异构图,其中节点和边的类型没有明确定义 [44,45,46]。
挑战: 如何探索不同类型对象之间的全局一致性,以及如何处理属于不同类型的对象的不平衡(如果有的话)? 在异构图嵌入中将不同类型的对象(例如,节点,边)嵌入到相同空间中。 如何探索它们之间的全局一致性是一个问题。 而且,不同类型的对象之间可能存在不平衡。 嵌入时应考虑此数据偏差。
#### 带有辅助信息的图
第三类输入图除了包含节点的结构关系外,还包含节点/边/整图的辅助信息(即 ![](img/img27.png) )。 通常,表 3 中列出了五种不同类型的辅助信息。
**表3:图**中不同类型的辅助信息的比较
| 辅助信息 | 描述 |
| --- | --- |
| 标签 | 节点/边的类别值,例如,类别信息 |
| 属性 | 节点/边的类别或连续值,例如,属性信息 |
| 节点特性 | 节点的文本或图像特性 |
| 信息传播 | 信息在图中的传播路径 |
| 知识库 | 与知识概念相关的文本或事实 |
标签 :具有不同标签的节点应嵌入到彼此远离的位置。 为了实现这一点,[47]和[48]联合优化嵌入目标函数和分类器函数。 [49]对具有不同标签的节点之间的相似性进行了惩罚。 [50]在计算不同的图核时考虑节点标签和边标签。 [51]和[52]嵌入了知识图,其中实体(节点)具有语义类别。 [53]嵌入了更复杂的知识图,它的实体类别在层次结构中,例如,类别“书”具有两个子类别“作者”和“编写工作”。
属性:与标签相反,属性值可以是离散的或连续的。 例如,[54]嵌入具有离散节点属性值的图(例如,分子中的原子序数)。 相反,[4]将节点属性表示为连续的高维向量(例如,社交网络中的用户属性特征)。 [55]处理节点和边的离散和连续属性。
节点特征:大多数节点特征是文本,它们作为每个节点的特征向量 [56,57] 或作为文档 [58,59,60,61] 提供。 对于后者,文档被进一步处理,来使用诸如词袋 [58],主题建模 [59,60] 或将“单词”视为一种节点 [61] 的技术来提取特征向量。 其他类型的节点特征,例如图像特征[33]也是可能的。 节点特征通过提供丰富的非结构化信息来增强图嵌入表现,这在许多实际图中都可用。 此外,它使归纳的图嵌入成为可能[62]。
信息传播 : 信息传播的一个例子是Twitter中的“转推”。 在[63]中,给出了数据图 ![](img/img106.png) ,一个级联图 ![](img/img59.png) 为每个级联构建 ![](img/img58.png) ,其中 ![](img/img107.png) 是拥有 ![](img/img58.png) 的节点,![](img/img108.png) 是 ![](img/img107.png) 两端的边。 然后他们嵌入了 ![](img/img109.png) 来预测级联大小的增量。 与之不同,[64]旨在嵌入用户和内容信息,使得它们的嵌入之间的相似性表示扩散概率。 Topo-LSTM [65]认为级联不仅仅是一个节点序列,而是一个用于嵌入的动态有向非循环图。
知识库:流行的知识库包括维基百科[66],Freebase [37],YAGO [67],DBpedia [68]等。以维基百科为例,概念是用户提出的实体,文本是与之相关的文章。 [66]使用知识库通过将每个社交网络用户,链接到一组给定的知识概念,来从社交网络学习社交知识图。 [69]表示实体空间中的查询和文档(由知识库提供),以便学术搜索引擎可以理解查询中研究概念的含义。
其他类型的辅助信息包括用户登记数据(用户 - 位置)[70],用户项目偏好排序列表[71]等。注意,辅助信息不仅限于一种类型。 例如,[62]和[72]同时考虑标签和节点特征信息。 [73]利用节点内容和标签来辅助图嵌入过程。
挑战: 如何整合丰富的非结构化信息,以便学习的嵌入既代表拓扑结构又代表辅助信息中的不同? 除了图结构信息之外,辅助信息还有助于定义节点相似性。 使用辅助信息嵌入图的挑战,是如何组合这两个信息源以定义要保留的节点相似性。
#### 从非关系数据构造的图
输入图的最后一类从未提供,而是通过不同策略从非关系输入数据构造。 当假设输入数据位于低维流形中时,通常会发生这种情况。
在大多数情况下,输入是特征矩阵 ![](img/img45.png),其中每一行 ![](img/img46.png) 是一个 ![](img/img47.png) 维的特征向量,表示第 ![](img/img37.png) 个训练实例。相似度矩阵 ![](img/img110.png) 是( ![](img/img46.png) , ![](img/img112.png) )使用之间的相似性,通过计算 ![](img/img111.png) 构建的。 通常有两种方法来从 ![](img/img110.png) 构建图 。 一种直接的方式是直接将 ![](img/img110.png) 看做无形图的邻接矩阵 ![](img/img35.png) [74]。 然而,[74]基于欧几里德距离,并且在计算 ![](img/img111.png) 时不考虑相邻节点。 如果 ![](img/img113.png) 位于弯曲的流形上或附近, ![](img/img46.png) 和 ![](img/img112.png) 之间的距离,在流形上方比欧几里德距离大得多[12]。 为了解决这些问题,其他方法(例如,[75,76,77])首先从 ![](img/img110.png) 构造了一个 K 最近邻(KNN)图 ,并基于 KNN 图估计邻接矩阵 ![](img/img35.png) 。 例如,Isomap [78] 在 ![](img/img35.png) 中包含了测地距离。 它首先构造一个 KNN 图 ![](img/img110.png) ,然后找到两个节点之间的最短路径作为它们之间的测地距离。[79] 降低 KNN 图构建的成本( ![](img/img114.png) ),构造一个了锚图,在时间和空间消耗方面,其成本是 ![](img/img115.png)。 他们首先获得一组簇中心作为虚拟锚点,并找到每个节点的 K 个最近的锚点,用于构建锚图。
图构造的另一种方式是基于节点的共现,在节点之间建立边。 例如,为了促进与图像相关的应用(例如,图像分割,图像分类),研究人员(例如,[80,81,82])通过将像素视为节点并将像素之间的空间关系视为边来从每个图像构建图。 [83]从GTMS记录中提取三种类型的节点(位置,时间和消息),因此在这些节点之间形成六种类型的边。 [84]使用实体提示,目标类型和文本特征作为节点来生成图,并建立三种边:提示-类型,提示-特征和类型-类型。
除了基于上述成对相似性和基于节点共现的方法之外,还针对不同目的设计了其他图构建策略。 例如,[85]构造一个内在图来捕获类内紧致性,以及一个惩罚图来表示类间可分性。 前者是通过将每个数据点与同一类的邻居连接而构建的,而后者则连接不同类别的边点。 [86]构造一个有符号的图来利用标签信息。 如果两个节点属于同一个类,则它们通过正边连接,如果它们来自两个类,则为负边。 [87]将包含相同标签的所有实例包含在一个超边中,来捕获它们的联合相似性。 在[88]中,构建了两个反馈图,将相关的对聚集在一起,并在嵌入之后远离不相关的对。 在正图中,如果两个节点是相关的,则连接它们。 在负图中,仅当一个节点相关而另一个节点不相关时,才连接两个节点。
挑战: 如何构建一个图来编码实例之间的成对关系,以及如何在嵌入空间中保留生成的节点邻近度矩阵? 嵌入由非关系数据构建的图所面临的第一个挑战是,如何计算非关系数据之间的关系并构建这样的图。 在构建图之后,挑战变得与其他输入图中的相同,即,如何在嵌入空间中保持所构造的图的节点接近度。
### 图嵌入输出
图嵌入的输出是表示图(的一部分)的(一组)低维向量。 基于输出粒度,我们将图嵌入输出分为四类,包括节点嵌入,边嵌入,混合嵌入和整图嵌入。 不同类型的嵌入有助于不同的应用。
与固定和给定的嵌入输入不同,嵌入输出是任务驱动的。 例如,节点嵌入可以使各种节点相关的图分析任务受益。 通过将每个节点表示为向量,可以在时间和空间方面有效地执行诸如节点聚类,节点分类之类的节点相关任务。 但是,图分析任务并不总是节点级别的。 在某些情况下,任务可能与图的更高粒度有关,例如节点对,子图,甚至整图。 因此,嵌入输出方面的第一个挑战,是如何找到满足特定应用任务需求的合适类型的嵌入输出。
#### 节点嵌入
作为最常见的嵌入输出设定,节点嵌入将每个节点表示为低维空间中的向量。 嵌入图中“接近”的节点具有类似的向量表示。 各种图嵌入方法之间的区别,在于它们如何定义两个节点之间的“接近度”。 一阶接近度(定义 5)和二阶接近度(定义 6)是成对节点相似度计算的两个通常采用的度量。 在某些工作中,也在一定程度上探索了高阶接近度。 例如,[21] 在潜入中捕获了 ![](img/img93.png) 步(![](img/img116.png))邻居关系。 [1]和[89]都认为属于同一社区的两个节点的嵌入更近。
挑战: 如何在各种类型的输入图中定义成对节点接近度,以及如何在习得的嵌入中编码接近度? 节点嵌入的挑战主要来自于在输入图中定义节点接近度。 在第 3.1 节中,我们详细阐述了带有不同类型的输入图的节点嵌入的挑战。
接下来,我们将介绍其他类型的嵌入输出以及这些输出带来的新挑战。
#### 边嵌入
与节点嵌入相反,边嵌入旨在将边表示为低维向量。 边嵌入在以下两种方案中很有用。
首先,知识图嵌入(例如,[90,91,92])学习节点和边的嵌入。 每个边都是三元组 ![](img/img52.png) (定义 4)。嵌入的学习是为了在嵌入空间中保存 ![](img/img53.png) 和 ![](img/img54.png) 之间的 ![](img/img55.png) ,以便在给定 ![](img/img52.png) 的其他两个成分的情况下,可以正确预测缺失的实体/关系 。 其次,一些工作(例如,[28,64])将节点对嵌入为向量特征,使节点对与其他节点可比,或预测两个节点之间的链接。 例如,[64]提出了一种内容社交影响特征来预测给定内容的用户 - 用户交互概率。 它将用户对和内容嵌入到同一空间中。 [28]在节点嵌入上,使用自举方法嵌入一对节点,以便于预测图中两个节点之间是否存在链接。
总之,边嵌入有利于边(/节点对)相关的图分析,例如链接预测,知识图实体/关系预测等。
挑战: 如何定义边级别的相似性,以及如何模拟边的不对称属性(如果有的话)? 边的接近度与节点接近度不同,因为边包含一对节点并且通常表示成对节点关系。 而且,与节点不同,边可以是有向的。 这种不对称属性应该编码在习得的表示中。
#### 混合嵌入
混合嵌入是不同类型的图成分的组合的嵌入,例如,节点+边(即子结构),节点+社区。
在大量工作中子结构嵌入已经得到了研究。 例如,[44] 嵌入了两个可能很远的节点之间的图结构,来支持语义邻近搜索。 [93]学习子图(例如,graphlet)的嵌入,以便定义用于图分类的图核。 [94]利用知识库来丰富有关答案的信息。 它将问题实体中的路径和子图嵌入到答案实体中。
与子图嵌入相比,社区嵌入仅受到有限的关注。 [1]建议考虑用于节点嵌入的社区感知邻近度,使得节点的嵌入类似于其社区的嵌入。 ComE [89]还联合解决了节点嵌入,社区检测和社区嵌入。 它不是将社区表示为向量,而是将每个社区嵌入定义为多元高斯分布,以便表示其成员节点的分布方式。
子结构或社区的嵌入也可以通过聚合单个节点和其中的边嵌入来导出。 然而,这种“间接”方法没有为表示结构而优化。 此外,节点嵌入和社区嵌入可以相互促进。 通过结合社区感知的高阶邻近度来学习更好的节点嵌入,而当生成更准确的节点嵌入时,可以检测到更好的社区。
挑战: 如何生成目标子结构以及如何在一个公共空间中嵌入不同类型的图成分? 与其他类型的嵌入输出相比,没有给出混合嵌入(例如,子图,社区)的嵌入目标。 因此,第一个挑战是如何生成这种嵌入目标结构。 此外,不同类型的目标(例如,社区,节点)可以同时嵌入一个公共空间中。 如何解决嵌入目标类型的异构性是一个问题。
#### 整图嵌入
最后一种类型的输出是通常针对小图的整图嵌入,例如蛋白质,分子等。在这种情况下,图被表示为一个向量,并且两个相似的图的嵌入更接近。
整图嵌入有助于图分类任务,为计算图相似性提供了一种简单有效的解决方案 [55,49,95]。 为了在嵌入时间(效率)和保存信息的能力(表现力)之间建立折衷,[95]设计了一个分层的图嵌入框架。 它认为准确理解整图信息需要处理不同尺度的子结构。 形成图金字塔,其中每个级别是不同比例的图的汇总。 该图在所有级别上嵌入,然后连接成一个向量。 [63]学习整个级联图的嵌入,然后训练一个多层感知器来预测未来级联图的大小增量。
挑战: 如何捕捉整图的属性,以及如何在表现力和效率之间进行权衡? 整图嵌入需要捕获整图的属性,因此与其他类型的嵌入相比更耗时。 整图嵌入的关键挑战是,如何在习得的嵌入的表现力和嵌入算法的效率之间做出选择。
# 四、图嵌入技术
在本节中,我们基于所使用的技术对图嵌入方法进行分类。 通常,图嵌入旨在在低维空间中表示图,保留尽可能多的图属性信息。 不同图嵌入算法之间的区别在于,它们如何定义要保留的图属性。 不同的算法对节点(边、子结构、整图)的相似性,以及如何在嵌入空间中保留它们,有不同的见解。 接下来,我们将介绍每种图嵌入技术的见解,以及它们如何量化图属性并解决图嵌入问题。
## 矩阵分解
基于矩阵分解的图嵌入,以矩阵的形式表示图特性(例如,节点成对相似性)并对该矩阵进行分解来获得节点嵌入[11]。 图嵌入的开创性研究通常以这种方式解决图嵌入问题。 在大多数情况下,输入是由非关系高维数据特征构成的图,如第 3.1.4 节中所介绍的。输出是一组节点嵌入(Sec.3.2.1)。 因此,图嵌入的问题可以被视为保持结构的降维问题,其假定输入数据位于低维流形中。 有两种类型的基于矩阵分解的图嵌入。 一种是分解图的拉普拉斯特征映射 ,另一种是直接分解节点邻近矩阵 。
### 图的拉普拉斯算子
见解: 要保留的图属性可以解释为成对节点的相似性。 因此,如果两个具有较大相似性的节点相距很远,则会施加较大的惩罚。
**表4:**基于图的拉普拉斯特征映射的图嵌入。
| GE算法 | ![](img/img117.png) | 目标函数 |
| --- | --- | --- |
| MDS [74] | ![](img/img118.png) 欧氏距离 ![](img/img119.png) | 公式 2 |
| Isomap [78] | KNN, ![](img/img120.png) 是沿着 ![](img/img13.png) 到 ![](img/img34.png) 最短路径的边权重之和 | 公式 2 |
| LE [96] | KNN, ![](img/img121.png) | 公式 2 |
| LPP [97] | KNN, ![](img/img122.png) | 公式 4 |
| AgLPP [79] | 锚图, ![](img/img123.png) , ![](img/img124.png) , ![](img/img125.png) | ![](img/img126.png) |
| LGRM [98] | KNN, ![](img/img121.png) | ![](img/img127.png) |
| ARE [88] | KNN, ![](img/img128.png) , ![](img/img129.png) | `<6244>` |
| SR [99] | KNN, ![](img/img133.png) ![](img/img134.png) | `<6248>` |
| HSL [87] | ![](img/img139.png) ,其中 ![](img/img140.png) 是归一化的超图的拉普拉斯算子 | ![](img/img141.png) ,圣 ![](img/img142.png) |
| MVU [100] | KNN, ![](img/img143.png) ,圣 ![](img/img144.png) , ![](img/img145.png) 和 ![](img/img146.png) , | `<6255>` |
| SLE [86] | KNN, ![](img/img148.png) | `<6259>` |
| MSHLRR [76] | 一般图:KNN, ![](img/img149.png) | 公式 2 |
| | 超图: ![](img/img150.png) 是一个夸张的重量 ![](img/img151.png) |
| | ![](img/img153.png) , ![](img/img154.png) |
| [77] | ![](img/img155.png) | ![](img/img156.png) |
| PUFS [75] | KNN, ![](img/img157.png) | 公式 4 +(must 和 cannot 链接约束) |
| RF-Semi-NMF-PCA [101] | KNN, ![](img/img149.png) | 公式 2 + ![](img/img6.png) (PCA)+ ![](img/img6.png) (k均值) |
基于以上见解,最优的嵌入 ![](img/img158.png) 可以由以下目标函数[99]导出。
![](img/img159.png) (1)
其中 ![](img/img120.png) 是节点 ![](img/img13.png) 和 ![](img/img34.png) 之间的“定义的”相似性;![](img/img160.png) 是图的拉普拉斯。 ![](img/img161.png) 是对角矩阵,其中 ![](img/img162.png)。 ![](img/img163.png) 的值越大,![](img/img48.png) 就更重要[97]。 约束 ![](img/img164.png) 通常加于 Eq.1,来删除嵌入中的任意缩放因子。 Eq.1 然后化简为:
![](img/img165.png) (2)
最优的 ![](img/img158.png) 是特征问题 ![](img/img166.png) 的最大特征值对应的特征向量。
上面的图嵌入是渐进式的,因为它只能嵌入训练集中存在的节点。 在实践中,它可能还需要嵌入未在训练中看到的新节点。 一种解决方案是设计线性函数 ![](img/img167.png) 这样只要提供了节点特征,就可以导出嵌入。 因此,对于归纳性的图嵌入,Eq.1 变为在以下目标函数中找到最的 ![](img/img168.png)
![](img/img169.png) (3)
与 Eq.2 相似,通过添加约束 ![](img/img170.png) ,公式 3 中的问题变成:
![](img/img171.png) (4)
最优的 ![](img/img168.png) 是 ![](img/img172.png) 的解的最大特征值的特征向量。
现有研究的差异主要在于它们如何计算成对节点的相似性 ![](img/img120.png) ,以及它们是否使用线性函数 ![](img/img167.png) 或不。 已经进行了一些尝试[85,81]以使用一般框架总结现有的基于拉普拉斯特征图的图嵌入方法。 但他们的综述只涵盖了有限的工作量。 在表 4 中 ,我们总结了现有的基于拉普拉斯特征图的图嵌入研究,并比较了它们的 ![](img/img173.png) 的计算方法,以及他们采用了什么样的目标函数。
最初的研究 MDS [74]直接采用了两个特征向量 ![](img/img46.png) 和 ![](img/img112.png) 之间的欧几里德距离,作为 ![](img/img120.png)。公式 2 用于找到 ![](img/img158.png) 的最佳嵌入。 MDS不考虑节点的邻域,即,任何一对训练实例都被认为是连接的。 后续研究(例如,[78,102,96,97])通过首先从数据特征构建 k 最近邻(KNN)图来克服该问题。 每个节点仅与其前 k 个相似的邻居连接。 之后,利用不同的方法来计算相似度矩阵 ![](img/img173.png),以便尽可能多地保留所需的图属性。 最近设计了一些更高级的模型。 例如,AgLPP [79]引入了锚图,显着提高早期矩阵分解模型 LPP 的效率。 LGRM [98]学习局部回归模型来掌握图结构,和样本外数据外插值的全局回归项。 最后,与以前的工作保留局部几何不同,LSE [103]使用局部样条回归来保持全局几何。
当辅助信息(例如,标签,属性)可用时,调整目标函数以保留更丰富的信息。 例如,[99]构造邻接图 ![](img/img173.png) 和标记图 ![](img/img174.png)。 目标函数由两部分组成,一部分侧重于保留数据集的局部几何结构,如LPP [97],另一部分试图在标记的训练数据上获得具有最佳类的可分性的嵌入。 类似地,[88]也构造了两个图,即邻接图 ![](img/img173.png) 编码局部几何结构,反馈关系图 ![](img/img175.png) 编码用户相关反馈中的成对关系。 RF-Semi-NMF-PCA [101]通过构建由三个部分组成的目标函数:PCA,k-means和图的拉普拉斯正则化,同时考虑聚类,降维和图嵌入。
其他一些工作认为 ![](img/img173.png) 不能通过容易枚举成对节点关系来构造。 相反,他们采用半定规划(SDP)来学习 ![](img/img173.png) 。 具体而言,SDP [104]的目的是找到一个内积矩阵,它最大化在图中没有连接的任何两个输入之间的成对距离,同时保留最近的邻居距离。 MVU [100]构造这样的矩阵,然后在习得的内积矩阵上应用MDS [74]。 [2]证明正则化LPP [97]相当于正则化SR [99],如果 ![](img/img173.png) 是对称的,双随机的,PSD并且秩为 ![](img/img105.png) 。 它构造了这种相似矩阵,从而有效地解决了类似LPP的问题。
**表5:**基于节点邻近矩阵分解的图嵌入。`O(*)`表示目标函数;例如,`O(SVM分类器)`表示SVM分类器的目标函数。
| GE算法 | ![](img/img117.png) | 目标函数 |
| --- | --- | --- |
| [50] | ![](img/img176.png) | 公式 5 |
| SPE [105] | KNN, ![](img/img177.png) ,约束为 ![](img/img178.png) | 公式 5 |
| HOPE [106] | Katz 指数 ![](img/img180.png) ; 个性化的 Pagerank ![](img/img181.png) | 公式 5 |
| GraRep [21] | ![](img/img184.png) ,其中 ![](img/img185.png) , ![](img/img186.png) | 公式 5 |
| CMF [43] | PPMI | 公式 5 |
| TADW [56] | PMI | 公式 5 和文本特征矩阵 |
| [24] | `A` | ![](img/img187.png) |
| MMDW [48] | PMI | 公式 5 + `O(SVM分类器)` |
| HSCA [57] | PMI | `O(MMDW)`+( 一阶邻近度约束) |
| MVE [107] | KNN, ![](img/img189.png) | 公式 5 |
| M-NMF [1] | ![](img/img191.png) | 公式 5 + `O(社区检测)` |
| ULGE [2] | ![](img/img192.png) ,其中 ![](img/img193.png) | ![](img/img194.png) |
| LLE [102] | KNN, ![](img/img196.png) | ![](img/img197.png) |
| RESCAL [108] | ![](img/img198.png) | ![](img/img199.png) |
| FONPE [109] | KNN, ![](img/img196.png) | ![](img/img200.png) ,约束为 ![](img/img201.png) |
### 节点邻近矩阵分解
除了解决上述广义特征值问题外,另一系列研究试图直接分解节点邻近矩阵。
见解: 使用矩阵分解可以在低维空间中近似节点邻近度。 保持节点邻近度的目标是最小化近似的损失。
给定节点邻近矩阵 ![](img/img173.png) ,目标是:
![](img/img202.png) (5)
其中 ![](img/img203.png) 是节点嵌入,和 ![](img/img204.png) 是上下文节点的嵌入[21]。
公式 5 旨在找到一个最优的秩为`d`的邻近度矩阵`W`的近似( ![](img/img51.png) 是嵌入的维度)。 一种流行的解决方案是对 ![](img/img173.png) 应用 SVD(奇异值分解)[110]。从形式上看,
![](img/img205.png) (6)
其中 ![](img/img206.png) 是按降序排序的奇异值, ![](img/img207.png) 和 ![](img/img208.png) 是 ![](img/img209.png) 的奇异向量 。 最佳嵌入使用最大的`d`个奇异值获得 ![](img/img51.png),相应的奇异向量如下:
![](img/img210.png) (7)
根据是否保留非对称属性,节点 ![](img/img37.png) 的嵌入是 ![](img/img211.png) [21,50],或 ![](img/img212.png) 和 ![](img/img213.png) 连接,即 ![](img/img214.png) [106]。 公式 5 存在其他解决方案,如正则化高斯矩阵分解[24],低秩矩阵分解[56],并加入其他正则化器来施加更多约束[48]。 我们总结了表 5 中所有基于节点邻近度矩阵分解的图嵌入。
总结:矩阵分解(MF)主要用于嵌入由非关系数据构建的图(第 3.1.4 节),用于节点嵌入(第 3.2.1 节),这是图的拉普拉斯特征映射问题的典型设定。 MF也用于嵌入同构图[50,24](第 3.1.1 节)。
## 深度学习
深度学习(DL)在各种研究领域表现出色,如计算机视觉,语言建模等。基于DL的图嵌入在图上应用DL模型。 这些模型要么直接来自其他领域,要么是专门为嵌入图数据设计的新神经网络模型。 输入是从图中采样的路径或整个图本身。 因此,我们基于是否采用随机游走来从图中采样路径,将基于DL的图嵌入分为两类。
### 带有随机游走的基于 DL 的图嵌入
见解: 通过最大化以自身嵌入为条件的,节点邻域的观测概率,可以在嵌入空间中保留图中的二阶邻近度。
在第一类基于深度学习的图嵌入中,图被表示为从其采样的一组随机游走路径。 然后将深度学习方法应用于用于图嵌入的采样路径,保留路径所承载的图属性。
鉴于上述见解,DeepWalk [17]采用神经语言模型(SkipGram)进行图嵌入。 SkipGram [111]旨在最大化窗口内出现的单词之间的共现概率 ![](img/img215.png) 。 DeepWalk首先使用截断的随机游走,从输入图中采样一组路径(即,均匀地采样最后访问节点的邻居,直到达到最大长度)。 从图中采样的每个路径相当于来自语料库的句子,其中节点相当于单词。 然后将SkipGram应用于路径,最大化节点邻域的观测概率,以自身嵌入为条件。 以这种方式,邻域相似(二阶邻近度较大)的节点的嵌入相似。DeepWalk的目标函数如下:
![](img/img216.png) (8)
其中 ![](img/img215.png) 是窗口大小,它限制随机游走上下文的大小。 SkipGram删除了排序约束,并且 公式 8转换为:
![](img/img217.png) (9)
其中 ![](img/img218.png) 使用softmax函数定义:
![](img/img219.png) (10)
请注意,计算公式 10 是昂贵的,因为标准化因子(即,图中每个节点的所有内积的总和),所以图 10 的方法是不可行的。 通常有两种解近似完全softmax的解决方案:分层softmax [112]和负采样[112]。
分层softmax :有为了效地解决中公式 10,构造二叉树,其中节点被分配给叶子。 不像公式 10 那样枚举所有节点,仅需要求解从根到相应叶子的路径。 优化问题变得最大化树中特定路径的概率。 假设到叶子 ![](img/img13.png) 的路径是一系列节点 ![](img/img220.png) ,其中`b0`为根, ![](img/img222.png) 。 公式 10 然后变成:
![](img/img223.png) (11)
其中 ![](img/img224.png) 是二分类器:![](img/img225.png)。![](img/img226.png) 表示 S 形函数。 ![](img/img227.png) 是树节点 ![](img/img228.png) 的父节点的嵌入 。 分层softmax减少了SkipGram的时间复杂度,从 ![](img/img229.png) 至 ![](img/img230.png)
负采样 : 负采样的关键思想是,使用逻辑回归将目标节点与噪声区分开来。 即,对于一个节点 ![](img/img13.png) ,我们想区分它的邻居 ![](img/img231.png) 来自其他节点。 噪音分布 ![](img/img232.png) 用于绘制节点的负样本 ![](img/img13.png) 。公式 9 中的每个 ![](img/img233.png) 然后计算为:
![](img/img234.png) (12)
其中 ![](img/img235.png) 是采样的负节点数。 ![](img/img236.png) 是一种噪声分布,例如均匀分布(![](img/img237.png))。 具有负采样的SkipGram的时间复杂度是 ![](img/img238.png)
**表6:**带有随机游走路径的基于深度学习的图嵌入。
| GE算法 | 随机游走方法 | 保留的邻近度 | DL模型 |
| --- | --- | --- | --- |
| DeepWalk [17] | 截断随机游走 | ![](img/img239.png) | SkipGram 和 分层 softmax(公式 11) |
| [34] | 截断随机游走 | ![](img/img239.png) (词语-图像) | 同上 |
| GenVector [66] | 截断随机游走 | ![](img/img239.png) (用户 - 用户和概念 - 概念) | 同上 |
| 受限制的DeepWalk [25] | 边权重采样 | ![](img/img239.png) | 同上 |
| DDRW [47] | 截断随机游走 | ![](img/img239.png) +分类一致性 | 同上 |
| TriDNR [73] | 截断随机游走 | ![](img/img239.png) (节点,单词和标签之间) | 同上 |
| node2vec [28] | BFS + DFS | ![](img/img239.png) | SkipGram 和负采样(公式 12) |
| UPP-SNE [113] | 截断随机游走 | ![](img/img239.png) (用户 - 用户和个人资料 - 个人资料) | 同上 |
| Planetoid [62] | 按标签和结构对节点对进行采样 | ![](img/img239.png) +标签标识 | 同上 |
| NBNE [19] | 对节点的直接邻居进行采样 | ![](img/img239.png) | 同上 |
| DGK [93] | graphlet 核:随机采样[114] | ![](img/img239.png) (通过graphlet) | SkipGram(公式11 - 12 ) |
| metapath2vec [46] | 基于元路径的随机游走 | ![](img/img239.png) | 异构 SkipGram |
| ProxEmbed [44] | 截断随机游走 | 节点排名元组 | LSTM |
| HSNL [29] | 截断随机游走 | ![](img/img239.png) + QA排名元组 | LSTM |
| RMNL [30] | 截断随机游走 | ![](img/img239.png) +用户问题质量排名 | LSTM |
| DeepCas [63] | 基于马尔可夫链的随机游走 | 信息级联序列 | GRU |
| MRW-MN [36] | 截断随机游走 | ![](img/img239.png) +跨模态特征差异 | DCNN + SkipGram |
DeepWalk [17]的成功激发了许多后续研究,这些研究将深度学习模型(例如,SkipGram或长短期记忆(LSTM)[115])应用于图嵌入的采样路径。 我们在表 6中对它们进行了总结。 如表中所示,大多数研究遵循DeepWalk的想法,但改变随机游戏的采样方法([25,28,62,62])或要保留的邻近度(定义 5和定义 6)的设定([34,66,47,73,62])。 [46]设计基于元路径的随机游走来处理异构图和异构 SkipGram,它最大化了给定节点具有异构上下文的概率。 除了SkipGram之外,LSTM是图嵌入中采用的另一种流行的深度学习模型。 请注意,SkipGram只能嵌入一个节点。 然而,有时我们可能需要将一系列节点嵌入为固定长度向量,例如,将句子(即,一系列单词)表示为一个向量,就要在这种情况下采用LSTM来嵌入节点序列。 例如,[29]和[30]嵌入cQA站点中的问题/答案中的句子,[44]在两个节点之间嵌入一系列节点,用于邻近度嵌入。 在这些工作中优化排名损失函数,来保持训练数据中的排名分数。 在[63]中,GRU [116](即,类似于LSTM的递归神经网络模型)用于嵌入信息级联路径。
#### 不带随机游走的基于 DL 的图嵌入
见解: 多层学习架构是一种强大而有效的解决方案,可将图编码为低维空间。
第二类基于深度学习的图嵌入方法直接在整个图(或整个图的邻近矩阵)上应用深度模型。 以下是图嵌入中使用的一些流行的深度学习模型。
自编码器 :自编码器旨在最小化其编码器输入和解码器输出的重建误差。 编码器和解码器都包含多个非线性函数。 编码器将输入数据映射到表示空间,并且解码器将表示空间映射到重建空间。 采用自编码器进行图嵌入的思想,与邻域保持方面的节点邻近矩阵分解(Sec.4.1.2)相似。 具体而言,邻接矩阵捕获节点的邻域。 如果我们将邻接矩阵输入到自编码器,则重建过程将使具有相似邻域的节点具有类似的嵌入。
深度神经网络 :作为一种流行的深度学习模型,卷积神经网络(CNN)及其变体已广泛应用于图嵌入。 一方面,他们中的一些人直接使用为欧几里德域设计的原始CNN模型,并重新格式化输入图以适应它。 例如,[55]使用图标记,从图中选择固定长度的节点序列,然后使用 CNN 模型,组装节点的邻域来学习邻域表示。 另一方面,一些其他工作试图将深度神经模型推广到非欧几里德域(例如,图)。 [117]在他们的综述中总结了代表性研究。 通常,这些方法之间的差异在于,它们在图上形成类似卷积的操作的方公式 一种方法是模拟卷积定理以定义谱域中的卷积 [118,119]。 另一种方法是将卷积视为空域中的邻域匹配 [82,72,120]。
其他 :还有一些其他类型的基于深度学习的图嵌入方法。 例如,[35]提出了DUIF,它使用分层softmax作为前向传播来最大化模块性。 HNE [33]利用深度学习技术来捕获异构成分之间的交互,例如,用于图像的CNN和用于文本的FC层。 ProjE [40]设计了一个具有组合层和投影层的神经网络。 它定义了知识图嵌入的逐点损失(类似于多分类)和列表损失(即softmax回归损失)。
我们在表 7 中总结了所有基于深度学习的图嵌入方法(没有随机游走),并比较了它们使用的模型以及每个模型的输入。
**表7:**基于深度学习的图嵌入, 没有随机游走路径。
| GE 算法 | 深度学习模型 | 模型输入 |
| --- | --- | --- |
| SDNE [20] | 自编码器 | ![](img/img35.png) |
| DNGR [23] | 堆叠去噪自编码器 | PPMI |
| SAE [22] | 稀疏自编码器 | ![](img/img240.png) |
| [55] | CNN | 节点序列 |
| SCNN [118] | 谱 CNN | 图 |
| [119] | 带有光滑谱乘法器的谱 CNN | 图 |
| MoNet [80] | 混合模型网络 | 图 |
| ChebNet [82] | 图CNN又名ChebNet | 图 |
| GCN [72] | 图卷积网络 | 图 |
| GNN [120] | 图神经网络 | 图 |
| [121] | 自适应图神经网络 | 分子图 |
| GGS-NNs [122] | 自适应图神经网络 | 图 |
| HNE [33] | CNN + FC | 带图像和文本的图 |
| DUIF [35] | 分层深度模型 | 社会管理网络 |
| ProjE [40] | 神经网络模型 | 知识图 |
| TIGraNet [123] | 图卷积网络 | 从图像构造的图 |
总结:由于它的威力和效率,深度学习已广泛应用于图嵌入。 在基于深度学习的图嵌入方法中,已经观察到三种类型的输入图(除了从非关系数据构建的图(第 3.1.4 节))和所有四种类型的嵌入输出。
此差异已折叠。
# 应用
图嵌入有益于各种图分析应用,因为向量表示可以在时间和空间上高效处理。 在本节中,我们将图嵌入的应用分类为节点相关,边相关和图相关。
## 节点相关应用
### 节点分类
节点分类是基于从标记节点习得的规则,为图中的每个节点分配类标签。 直观地说,“相似”节点具有相同的标签。 它是图嵌入文献中讨论的最常见的应用之一。 通常,每个节点都嵌入为低维向量。 通过在用于训练的标记节点嵌入集上应用分类器来进行节点分类。 示例分类器包括 SVM([1,33,56,20,73,34,45,41,42,57,75,81,87,60]),逻辑回归([17,27,124,1,21],[28,20,19,45,25,59])和 k-最近邻分类([58,151])。 然后,给定未标记节点的嵌入,训练的分类器可以预测其类标签。 与首先是节点嵌入然后是节点分类的上述顺序处理相比,其他一些工作([62,72,47,48,80])设计了一个统一的框架来联合优化图嵌入和节点分类,它们学习特定于分类的每个节点的表示。
### 节点聚类
节点聚类旨在将类似节点组合在一起,以使同一组中的节点彼此更相似,而不是其他组中的节点。 作为无监督算法,当节点标签不可用时,它是适用的。 在将节点表示为向量之后,可以将传统的聚类算法应用于节点嵌入。 大多数现有工作[1,2,21,33,23,22,81]采用 k 均值作为聚类算法。 相比之下,[4]和[77]联合优化了一个目标中的聚类和图嵌入,来学习特定于聚类的节点表示。
### 节点推荐/检索/排名
节点推荐的任务是,基于诸如相似性的某些标准[106,3,47,16,43,45]来推荐给定节点感兴趣的前K个节点。 在现实世界的场景中,有各种类型的节点推荐,例如为研究人员推荐研究兴趣[66],为客户推荐项目[3,71],为社会网络用户推荐图像[35],为社交网络用户推荐朋友[3],以及为查询推荐文件[69]。 它在社区问答中也很受欢迎。 给出一个问题,他们预测用户的相对排名([31,30])或答案([32,29])。 在邻近搜索[44,39]中,它们对给定查询节点(例如,“Bob”)和邻近类别(例如,“同学”)的特定类型(例如,“用户”)的节点进行排名,例如,排名是Bob的同学的用户。 并且有一些工作侧重于跨模态检索[33,36,99,34],例如,基于关键词的图像/视频搜索。
在知识图嵌入中广泛讨论的特定应用是实体排名[53,51,59,52,61]。 回想一下,知识图由一组三元组组成 ![](img/img52.png) 。 实体排名旨在对正确的缺失实体进行排名,给定三元组中其他两个成分,它们高于虚假实体。 例如,给定`r``t`,在所有候选实体,它返回真的`h`,或者给定`r``h`返回真的`t`
## 边相关应用
接下来,我们介绍边相关应用,其中涉及边或节点对。
### 链接预测
图嵌入旨在表示具有低维向量的图,但有趣的是它的输出向量也可以帮助推断图结构。 在实践中,图通常是不完整的; 例如,在社交网络中,实际上彼此了解的两个用户之间可能缺少好友链接。 在图嵌入中,期望低维向量保持不同的网络邻近度(例如,DeepWalk [17],LINE [27]),以及不同的结构相似度(例如,GCN [72],struc2vec [145])。 因此,这些向量编码网络结构的丰富信息,并且它们可用于预测不完整图中的缺失链接。 大多数图嵌入驱动的链接预测,都在同构图上[3,16,28,19]尝试。 例如,[28]预测两个用户之间的好友关系。 处理异构图链接预测的图嵌入工作相对较少。 例如,在异构社交图上,ProxEmbed [44]试图根据其在图上的连接路径的嵌入,来预测两个用户之间某些语义类型(例如,同学)的缺失链接。 D2AGE [152]通过嵌入两个用户的连通有向无环图结构,解决了同样的问题。
### 三元组分类
三元组分类[142,53,15,51,52,14,38,61]是知识图的特定应用。 它的目的是分类,没见过的三元组 ![](img/img52.png) 是否正确,即 ![](img/img53.png) 和 ![](img/img54.png) 的关系是否是 ![](img/img55.png)
## 图相关应用
### 图分类
图分类将类标签分配给整图。 当图是数据单位时,这很重要。 例如,在[50]中,每个图是化学化合物,有机分子或蛋白质结构。 在大多数情况下,应用整图嵌入来计算图层级相似度[93,55,54,49,95]。 最近,一些工作开始匹配节点嵌入和图相似性[153,50]。 每个图表示为一组节点嵌入向量。 基于两组节点嵌入来比较图。 [93]将图分解为一组子结构,然后将每个子结构嵌入为向量,并通过子结构相似性比较图。
### 可视化
图可视化在低维空间上生成图的可视化[20,23,55,48,73,58]。 通常,出于可视化目的,所有节点都嵌入为2D向量,然后绘制在2D空间中,不同的颜色表示节点的类别。 它提供了生动的演示,表明属于同一类别的节点的嵌入是否彼此更紧密。
## 其它应用
以上是一些在现有工作中经常讨论的一般应用。 根据输入图中携带的信息,可能存在更具体的应用。 以下是一些示例场景。
知识图相关:[15]和[14]从大规模纯文本中提取关系事实。 [62]从文本中提取医学实体。 [69]将自然语言文本与知识图中的实体联系起来。 [92]侧重于删除知识图中重复的等效实体。 [84]联合嵌入实体提及,文本和实体类型,从其嘈杂的候选类型集中估计每个提及的真实类型路径。 例如,“特朗普”的候选类型是“人,政治家,商人,艺术家,演员”。 对于提及“特朗普”的句子“共和党总统候选人唐纳德特朗普在洛克希尔的竞选活动中发言。”,只有“人,政治家”是正确的类型。
多媒体网络相关 :[83]嵌入地理标记社交媒体(GTSM)记录“时间,地点,消息 ”,这使得他们能够在给定其他两个成分的情况下,从GTSM三元组中恢复丢失的成分。 它还可以对GTSM记录进行分类,例如,登记记录是否与“食物”或“商店”相关。 [85]使用图嵌入来减少人脸识别的数据维度。 [88]将图像映射到一个语义流形,忠实地掌握用户的偏好,来促进基于内容的图像检索。
信息传播相关:[63]预测给定时间间隔后级联大小的增量。 [64]预测传播用户,并通过嵌入社交互动图来识别领域专家。
社交网络对齐: [26]和[18]都学习节点嵌入,来对齐跨越不同的社交网络的用户,即,预测两个不同社交网络中的两个用户帐户是否由同一用户拥有。
图像相关:一些工作嵌入由图像构建的图,然后使用嵌入进行图像分类([81,82]),图像聚类[101],图像分割[154],模式识别[80]等。
# 未来发展方向
在本节中,我们总结了图嵌入领域的四个未来方向,包括计算效率,问题设定,技术和应用场景。
计算。 采用几何输入(例如,图)的深层架构遭受低效率问题。 传统的深度学习模型(为欧几里得域设计)通过假设输入数据在1D或2D网格上,利用现代GPU来优化其效率。 但是,图没有这种网格结构,因此为图嵌入设计的深层架构需要寻求替代解决方案来提高模型效率。 [117]建议可以采用为大规模图处理开发的计算范式,来提高图嵌入的深度学习模型的效率。
问题设定。 动态图是图嵌入的一个有前途的设定。 图并不总是静态的,尤其是在现实生活场景中,例如Twitter中的社交图,DBLP中的引文图。 在图结构或节点/边信息方面,图可以是动态的。 一方面,图结构可以随时间演变,即,一些旧节点/边消失时出现新节点/边。 另一方面,节点/边可以通过一些时变信息来描述。 现有图嵌入主要侧重于嵌入静态图,忽略了动态图嵌入的设定。 与静态图嵌入不同,动态图的技术需要是可扩展的,并且最好是递增的,以便有效地处理动态变化。 这使得大多数现有的图嵌入方法受到低效率问题的影响,不再适用。 如何在动态域中设计有效的图嵌入方法仍然是一个悬而未决的问题。
技术。 结构感知对于基于边重建的图嵌入很重要。 当前基于边重建的图嵌入方法主要仅基于边,例如,一般图中的一跳的邻居,知识图中的排名三元组`<h, r, t>`,和 cQA 图中的 ![](img/img312.png)。 单个边仅提供局部邻域信息来计算一阶和二阶接近度。 省略了图的全局结构(例如,路径,树,子图模式)。 直观地说,子结构包含比单个边更丰富的信息。 一些工作尝试探索知识图嵌入中的路径信息([142,40,38,39])。 然而,他们中的大多数使用深度学习模型([142,38,40]),这些模型遭受前面讨论的低效率问题。 如何设计可以利用图结构的表现力的非深度学习方法是一个问题。 [39]提供了一个示例解决方案。 它最小化成对和长程损失,来捕获成对关系和实体之间的远程交互。 注意,除了列表/路径结构之外,还存在各种具有不同结构信息的子结构。 例如,SPE [155]试图引入一个子图增强路径结构,用于在异构图中嵌入两个节点之间的接近度,并且它比语义搜索任务的简单路径嵌入表现出更好的性能。 通常,需要一种有效的结构感知图嵌入优化解决方案以及子结构采样策略。
应用。 图嵌入已应用于许多不同的应用中。 考虑到它们之间的关系,这是学习数据表示的有效方法。 此外,它可以将来自不同源/平台/视图的数据实例转换到一个公共空间,以便它们可以直接比较。 例如,[36,16,34]使用图嵌入进行跨模态检索,例如基于内容的图像检索,基于关键词的图像/视频搜索。 使用图嵌入进行表示学习的优点在于,训练数据实例的图流形被保留在表示中,并且可以进一步有益于后续应用。 因此,图嵌入可以使假设输入数据实例与某些关系相关(即,通过某些链接连接)的任务受益。 探索受益于图嵌入的应用场景非常重要,因为它从不同的角度为传统问题提供了有效的解决方案。
# 结论
在本综述中,我们对图嵌入中的文献进行了全面的回顾。 我们为图嵌入问题提供了一个正式的定义,并介绍了一些基本概念。 更重要的是,我们提出了两种图嵌入分类法,分别基于问题设定和嵌入技术对现有工作进行分类。 在问题设定分类中,我们介绍了四种嵌入输入和四种嵌入输出,并总结了每种设定所面临的挑战。 对于嵌入技术分类法,我们介绍了每个类别的工作,并根据它们的优缺点进行比较。 之后,我们总结了图嵌入的应用。 最后,在计算效率,问题设定,技术和应用场景方面,我们建议了图嵌入领域的四个有希望的未来研究方向。
# 图嵌入综述:问题,技术与应用
![](img/title.jpg)
> 原文:[A Comprehensive Survey of Graph Embedding: Problems, Techniques and Applications (arxiv 1709.07604)](https://arxiv.org/abs/1709.07604)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
## 摘要
图是一种重要的数据表示,出现在各种各样的真实场景中。 有效的图分析使用户能够更深入地了解数据背后的内容,从而可以使许多有用的应用受益,例如节点分类,节点推荐,链接预测等。但是,大多数图分析方法都会遇到高计算和空间成本。 图嵌入是解决图分析问题的有效方法。 它将图数据转换为低维空间,其中最大程度地保留了图结构信息和图属性。 在本次综述中,我们对图嵌入中的文献进行了全面的回顾。 我们首先介绍图嵌入的正式定义以及相关概念。 之后,我们提出了两种图嵌入分类法,它们对应于不同图嵌入问题设定中存在的挑战,以及现有工作如何在其解决方案中解决这些挑战。 最后,我们总结了图嵌入的应用,并在计算效率,问题设定,技术和应用场景方面提出了四个有希望的未来研究方向。
关键字:图嵌入,图分析,图嵌入综述,网络嵌入
## 目录
+ [第一、二章](1.md)
+ [第三章](2.md)
+ [4.1 ~ 4.2](3.md)
+ [4.3 ~ 4.7](4.md)
+ [第五、六、七章](5.md)
+ [图嵌入综述:问题,技术与应用](README.md)
+ [一、引言](1.md)
+ [三、图嵌入的问题设定](2.md)
+ [四、图嵌入技术](3.md)
+ [基于边重构的优化问题](4.md)
+ [应用](5.md)
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册