# 应用
图嵌入有益于各种图分析应用,因为向量表示可以在时间和空间上高效处理。 在本节中,我们将图嵌入的应用分类为节点相关,边相关和图相关。
## 节点相关应用
### 节点分类
节点分类是基于从标记节点习得的规则,为图中的每个节点分配类标签。 直观地说,“相似”节点具有相同的标签。 它是图嵌入文献中讨论的最常见的应用之一。 通常,每个节点都嵌入为低维向量。 通过在用于训练的标记节点嵌入集上应用分类器来进行节点分类。 示例分类器包括 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]。 回想一下,知识图由一组三元组组成 ![](https://img.kancloud.cn/f4/fb/f4fbad8bac836529b9acbe99b5514876_74x30.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]是知识图的特定应用。 它的目的是分类,没见过的三元组 ![](https://img.kancloud.cn/f4/fb/f4fbad8bac836529b9acbe99b5514876_74x30.png) 是否正确,即 ![](https://img.kancloud.cn/4d/02/4d02d731fbc012f45588375ef38a6fe5_14x15.png) 和 ![](https://img.kancloud.cn/59/6d/596d1b97dea72e9c93ca706efbe4a66d_10x17.png) 的关系是否是 ![](https://img.kancloud.cn/6b/28/6b2823984fcc41cb05e3436a8f946d06_12x17.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 图中的 ![](https://img.kancloud.cn/38/37/38372c2995ae37605d01e607e89380b5_82x37.png)。 单个边仅提供局部邻域信息来计算一阶和二阶接近度。 省略了图的全局结构(例如,路径,树,子图模式)。 直观地说,子结构包含比单个边更丰富的信息。 一些工作尝试探索知识图嵌入中的路径信息([142,40,38,39])。 然而,他们中的大多数使用深度学习模型([142,38,40]),这些模型遭受前面讨论的低效率问题。 如何设计可以利用图结构的表现力的非深度学习方法是一个问题。 [39]提供了一个示例解决方案。 它最小化成对和长程损失,来捕获成对关系和实体之间的远程交互。 注意,除了列表/路径结构之外,还存在各种具有不同结构信息的子结构。 例如,SPE [155]试图引入一个子图增强路径结构,用于在异构图中嵌入两个节点之间的接近度,并且它比语义搜索任务的简单路径嵌入表现出更好的性能。 通常,需要一种有效的结构感知图嵌入优化解决方案以及子结构采样策略。
应用。 图嵌入已应用于许多不同的应用中。 考虑到它们之间的关系,这是学习数据表示的有效方法。 此外,它可以将来自不同源/平台/视图的数据实例转换到一个公共空间,以便它们可以直接比较。 例如,[36,16,34]使用图嵌入进行跨模态检索,例如基于内容的图像检索,基于关键词的图像/视频搜索。 使用图嵌入进行表示学习的优点在于,训练数据实例的图流形被保留在表示中,并且可以进一步有益于后续应用。 因此,图嵌入可以使假设输入数据实例与某些关系相关(即,通过某些链接连接)的任务受益。 探索受益于图嵌入的应用场景非常重要,因为它从不同的角度为传统问题提供了有效的解决方案。
# 结论
在本综述中,我们对图嵌入中的文献进行了全面的回顾。 我们为图嵌入问题提供了一个正式的定义,并介绍了一些基本概念。 更重要的是,我们提出了两种图嵌入分类法,分别基于问题设定和嵌入技术对现有工作进行分类。 在问题设定分类中,我们介绍了四种嵌入输入和四种嵌入输出,并总结了每种设定所面临的挑战。 对于嵌入技术分类法,我们介绍了每个类别的工作,并根据它们的优缺点进行比较。 之后,我们总结了图嵌入的应用。 最后,在计算效率,问题设定,技术和应用场景方面,我们建议了图嵌入领域的四个有希望的未来研究方向。
- TensorFlow 1.x 深度学习秘籍
- 零、前言
- 一、TensorFlow 简介
- 二、回归
- 三、神经网络:感知器
- 四、卷积神经网络
- 五、高级卷积神经网络
- 六、循环神经网络
- 七、无监督学习
- 八、自编码器
- 九、强化学习
- 十、移动计算
- 十一、生成模型和 CapsNet
- 十二、分布式 TensorFlow 和云深度学习
- 十三、AutoML 和学习如何学习(元学习)
- 十四、TensorFlow 处理单元
- 使用 TensorFlow 构建机器学习项目中文版
- 一、探索和转换数据
- 二、聚类
- 三、线性回归
- 四、逻辑回归
- 五、简单的前馈神经网络
- 六、卷积神经网络
- 七、循环神经网络和 LSTM
- 八、深度神经网络
- 九、大规模运行模型 -- GPU 和服务
- 十、库安装和其他提示
- TensorFlow 深度学习中文第二版
- 一、人工神经网络
- 二、TensorFlow v1.6 的新功能是什么?
- 三、实现前馈神经网络
- 四、CNN 实战
- 五、使用 TensorFlow 实现自编码器
- 六、RNN 和梯度消失或爆炸问题
- 七、TensorFlow GPU 配置
- 八、TFLearn
- 九、使用协同过滤的电影推荐
- 十、OpenAI Gym
- TensorFlow 深度学习实战指南中文版
- 一、入门
- 二、深度神经网络
- 三、卷积神经网络
- 四、循环神经网络介绍
- 五、总结
- 精通 TensorFlow 1.x
- 一、TensorFlow 101
- 二、TensorFlow 的高级库
- 三、Keras 101
- 四、TensorFlow 中的经典机器学习
- 五、TensorFlow 和 Keras 中的神经网络和 MLP
- 六、TensorFlow 和 Keras 中的 RNN
- 七、TensorFlow 和 Keras 中的用于时间序列数据的 RNN
- 八、TensorFlow 和 Keras 中的用于文本数据的 RNN
- 九、TensorFlow 和 Keras 中的 CNN
- 十、TensorFlow 和 Keras 中的自编码器
- 十一、TF 服务:生产中的 TensorFlow 模型
- 十二、迁移学习和预训练模型
- 十三、深度强化学习
- 十四、生成对抗网络
- 十五、TensorFlow 集群的分布式模型
- 十六、移动和嵌入式平台上的 TensorFlow 模型
- 十七、R 中的 TensorFlow 和 Keras
- 十八、调试 TensorFlow 模型
- 十九、张量处理单元
- TensorFlow 机器学习秘籍中文第二版
- 一、TensorFlow 入门
- 二、TensorFlow 的方式
- 三、线性回归
- 四、支持向量机
- 五、最近邻方法
- 六、神经网络
- 七、自然语言处理
- 八、卷积神经网络
- 九、循环神经网络
- 十、将 TensorFlow 投入生产
- 十一、更多 TensorFlow
- 与 TensorFlow 的初次接触
- 前言
- 1. TensorFlow 基础知识
- 2. TensorFlow 中的线性回归
- 3. TensorFlow 中的聚类
- 4. TensorFlow 中的单层神经网络
- 5. TensorFlow 中的多层神经网络
- 6. 并行
- 后记
- TensorFlow 学习指南
- 一、基础
- 二、线性模型
- 三、学习
- 四、分布式
- TensorFlow Rager 教程
- 一、如何使用 TensorFlow Eager 构建简单的神经网络
- 二、在 Eager 模式中使用指标
- 三、如何保存和恢复训练模型
- 四、文本序列到 TFRecords
- 五、如何将原始图片数据转换为 TFRecords
- 六、如何使用 TensorFlow Eager 从 TFRecords 批量读取数据
- 七、使用 TensorFlow Eager 构建用于情感识别的卷积神经网络(CNN)
- 八、用于 TensorFlow Eager 序列分类的动态循坏神经网络
- 九、用于 TensorFlow Eager 时间序列回归的递归神经网络
- TensorFlow 高效编程
- 图嵌入综述:问题,技术与应用
- 一、引言
- 三、图嵌入的问题设定
- 四、图嵌入技术
- 基于边重构的优化问题
- 应用
- 基于深度学习的推荐系统:综述和新视角
- 引言
- 基于深度学习的推荐:最先进的技术
- 基于卷积神经网络的推荐
- 关于卷积神经网络我们理解了什么
- 第1章概论
- 第2章多层网络
- 2.1.4生成对抗网络
- 2.2.1最近ConvNets演变中的关键架构
- 2.2.2走向ConvNet不变性
- 2.3时空卷积网络
- 第3章了解ConvNets构建块
- 3.2整改
- 3.3规范化
- 3.4汇集
- 第四章现状
- 4.2打开问题
- 参考
- 机器学习超级复习笔记
- Python 迁移学习实用指南
- 零、前言
- 一、机器学习基础
- 二、深度学习基础
- 三、了解深度学习架构
- 四、迁移学习基础
- 五、释放迁移学习的力量
- 六、图像识别与分类
- 七、文本文件分类
- 八、音频事件识别与分类
- 九、DeepDream
- 十、自动图像字幕生成器
- 十一、图像着色
- 面向计算机视觉的深度学习
- 零、前言
- 一、入门
- 二、图像分类
- 三、图像检索
- 四、对象检测
- 五、语义分割
- 六、相似性学习
- 七、图像字幕
- 八、生成模型
- 九、视频分类
- 十、部署
- 深度学习快速参考
- 零、前言
- 一、深度学习的基础
- 二、使用深度学习解决回归问题
- 三、使用 TensorBoard 监控网络训练
- 四、使用深度学习解决二分类问题
- 五、使用 Keras 解决多分类问题
- 六、超参数优化
- 七、从头开始训练 CNN
- 八、将预训练的 CNN 用于迁移学习
- 九、从头开始训练 RNN
- 十、使用词嵌入从头开始训练 LSTM
- 十一、训练 Seq2Seq 模型
- 十二、深度强化学习
- 十三、生成对抗网络
- TensorFlow 2.0 快速入门指南
- 零、前言
- 第 1 部分:TensorFlow 2.00 Alpha 简介
- 一、TensorFlow 2 简介
- 二、Keras:TensorFlow 2 的高级 API
- 三、TensorFlow 2 和 ANN 技术
- 第 2 部分:TensorFlow 2.00 Alpha 中的监督和无监督学习
- 四、TensorFlow 2 和监督机器学习
- 五、TensorFlow 2 和无监督学习
- 第 3 部分:TensorFlow 2.00 Alpha 的神经网络应用
- 六、使用 TensorFlow 2 识别图像
- 七、TensorFlow 2 和神经风格迁移
- 八、TensorFlow 2 和循环神经网络
- 九、TensorFlow 估计器和 TensorFlow HUB
- 十、从 tf1.12 转换为 tf2
- TensorFlow 入门
- 零、前言
- 一、TensorFlow 基本概念
- 二、TensorFlow 数学运算
- 三、机器学习入门
- 四、神经网络简介
- 五、深度学习
- 六、TensorFlow GPU 编程和服务
- TensorFlow 卷积神经网络实用指南
- 零、前言
- 一、TensorFlow 的设置和介绍
- 二、深度学习和卷积神经网络
- 三、TensorFlow 中的图像分类
- 四、目标检测与分割
- 五、VGG,Inception,ResNet 和 MobileNets
- 六、自编码器,变分自编码器和生成对抗网络
- 七、迁移学习
- 八、机器学习最佳实践和故障排除
- 九、大规模训练
- 十、参考文献