最近 , 基于矩阵因式分解的图嵌入方法也得到了发展,这种方法可以保持高阶邻近性 。例如,GraRep和Hope分别通过分解k跳转移概率矩阵和相似度矩阵(通过Kate指数、Rooted PageRank、Common Neighbors和Adamic–Adar得分来衡量)来考虑高阶邻近 。虽然其有效性已被证明 , 但由于巨大的存储开销和极高的计算成本 , 规模的可伸缩性仍然是基于矩阵分解的方法的关键瓶颈 。
2.2.2 基于随机游走的方法受Word2vec启发,研究人员将NLP中的嵌入方法从单词序列扩展到图节点序列,即路径 。采用基于随机游走的方法生成图中的节点序列,获取节点之间的结构关系 。具体地说 , 基于随机游走的方法对于给定的图和起始节点,随机游走并随机选择其邻居节点,然后随机选择相邻节点 。通过重复这种处理,一个图被转换成节点序列(类似于遍历) 。然后,可以使用类似Skip-Gram模型的概率模型在序列上随机生成上下文词 , 然后来学习基于生成的节点序列的节点嵌入,从而保持图的结构邻近性 。这一类别的开创性工作是Deepwalk 。类似地,node2vec改进了灵活的有偏随机游走,平滑地结合了广度优先采样和深度优先采样来获得节点序列 。因此 , 既保留了局部邻近关系,也保留了全局邻近关系 。此外,通过对随机游动的偏向和修正,提出了两种变种Walklets和Stuc2vec 。Walklets通过跳过一些节点来修改随机行走策略 。而不是邻域节点信息,Struc2vec基于节点的结构相似性定义了随机游走 。
跳字模型(Skip-Gram):固定窗口大小(即词距)为k,依次把第2个词~倒数第2个词作为目标词,然后对于每个目标词依次在词距内随机选择单词作为上下文词,将每一对(目标词,上下文词)加入跳字模型 。2.2.3 基于传统深度学习的方法传统深度学习技术在图嵌入学习领域也展示了令人印象深刻的表示学习能力 。广泛使用的嵌入方法LINE,可以看作是使用多层感知器逼近一阶邻近度和二阶邻近度来学习节点嵌入 。基于深度自动编码器体系结构,SDNE通过对节点的一阶邻近度(基于拉普拉斯特征映射测量)和二阶邻近度的建模来同时保留全局和局部图结构 。为了获取高阶邻近性,DNGR通过在正类逐点互信息矩阵上堆叠去噪自动编码器来嵌入深度低维节点 。基于传统深度学习的嵌入方法可以学习图中的非线性,但其计算代价普遍较高 。最重要的是,这些基于传统深度学习的方法仍然非常原始 。它们只能为训练阶段出现的节点生成嵌入 。为了缓解这些问题,最近迅速开发了更复杂的GNN 。我们将在第2.5节-图神经网络中具体讨论它们 。
2.3 异构图嵌入异构图更自然地与具有多种对象和关联的现实世界场景相关,而上面提到的同质图嵌入方法不能直接作用于它们 。异构图嵌入在几年前提出后迅速成为一个蓬勃发展的研究领域 。现有的异构图嵌入方法也大致可以分为基于元路径的方法、基于分解的方法和基于深度学习的方法 。
2.3.1 基于元路径的方法由于结构和内容的异构性,随机游动很难找到一种有效的游动策略来捕捉整个图中包含的丰富语义 。元路径限制了随机游走的方向,降低了异构图的遍历复杂度 。Metapath2vec形式化了元路径引导的随机游走,以生成节点的异构邻域,然后利用异构跳图模型进行节点嵌入 。作为扩展 , HIN2vec也使用基于元路径的随机游走,提出了一个神经网络来捕捉图的异构性 。不同之处在于,它使用生成的元路径作为对象来直接学习元路径和节点的表示 。后来,GATNE将这一策略扩展到多路传输异构网络 。然而,对于这种类型的模型,适当的游走次数和游走长度的设置是至关重要的 。否则,这些方法不能完全保留图的整个结构 。
2.3.2 基于分解的方法基于分解的方法类似于分而治之,它将输入的异构图划分为几个小的子同构图或子双边图,以降低异构图的复杂性 。例如 , PTE根据边类型将一个异构图分解成多个双边图,然后利用每个双边图上的边来学习共享节点的嵌入 。Heer通过考虑节点对在其边嵌入上的类型邻近性来扩展PTE 。根据定义的元路径 , HERec还将一个异构图投影到不同的维度,然后在每个子图中使用metapath2vec来学习顶点嵌入 。
2.3.3 基于传统深度学习的方法尽管这个问题很重要,但基于传统深度学习技术的异构图嵌入的研究还很少 。例如,HNE学习表示 。通过深度卷积神经网络获取图和内容的拓扑信息 , 然后将它们共同投射到一个共同的嵌入空间中 。而BL-MNE模型引入了一种基于深度对齐自动编码器的异构图嵌入方法 。最近,不同的GNN也被应用于异构图的嵌入 。为了更好地在下面介绍它们,将它们组合在一起并进行分类 。