1.异质图嵌入
- 异质图
异质图存在不同类型的节点(节点关联的特征类型不相同),旨在将不同类型的节点映射到一个公共嵌入空间。不同类型的节点可能有不同形式(文本、图像…)和维度的节点特征,每种节点类型采用不同的深度模型,将相应特征映射到公共嵌入空间。例如,与节点关联的特征是图像时,CNN可以被用作映射函数。学习的目标是保留节点之间成对的连接信息,所以提取器提取出相连节点的信息(邻接矩阵),重构器根据嵌入域的表示来恢复邻接矩阵A。
图注:某一节点对 i 和 j 在重构的邻接矩阵中值为1和0的概率(节点对相连的概率)
- 重构器
目标:使重构的邻接矩阵接近原始邻接矩阵A,目标函数可用交叉熵建模(交叉熵:评估预测值和真实值的差异)
- 对于异质图,不仅考虑节点之间的结构相似性,还要考虑节点之间的语义相关性,metapath2vec可以捕获节点之间的两种相关性
- 基于meta-path的信息提取器
用meta-path来约束随机游走的决策,生成的每个随机游走都遵循所定义的meta-path模式,每个随机游走可以看成该模式的一个实例
图注:这里A和R分别代表某种类型的点和边,规定了游走路径中节点和边的类型,根据该模式指导路径中具体的节点和边
图注:走到t节点后,选择t+1节点的概率;下一t+1节点是At+1类型的节点,且和节点t之间通过类型为Rt的边相连
基于meta-path生成多条随机游走,从随机游走中提取共现元组,和DeepWalk方法一样 - 重构器
metapath2vec提出两种类型的重构器
1)与DeepWalk重构器一样,对共现元组出现的概率建模,不同类型的节点服从同一分布
2)每种类型的节点有一个多项式分布,例在给定节点Vi下,对于类型为nt的节点概率建模
2.二分图嵌入–BiNE
- 信息提取器
提取两种类型的信息:连接两个集合的边集(集合之间的关系)+ 每个集合内节点的共现信息(集合内部的关系)
为了提取每个节点集中节点的共现信息,可从二分图中归纳出两个分别以 U 和 V作为节点集的同质图。如果两个节点在原图中是2跳邻居,则它们在生成图中存在连接,对于生成的同质图按照与DeepWalk相同的方式提取共现元组。 - 重构器
从嵌入域中恢复两个同质图中的共现元组,与DeepWalk的重构器相同,使共现元组出现的概率最大。为了恢复边集,可以基于嵌入域的节点表示对原二分图中的边进行建模。
- 目标函数
2.多维图嵌入
-
多维图
多种关系同时存在于同一对节点之间,每种类型的关系看成一个维度,对于每个节点,多维图嵌入的目标是,学习所有维度捕获节点的通用表示,以及针对每个维度的特定表示。节点的通用表示可用于执行需要汇总来自所有维度信息的任务,节点特定维度的表示可用于执行特定于维度的任务。通用表示和特定维度表示不是独立的,对二者依赖性建模:通用表示+捕获维度d中信息的表示。
-
映射函数
通用维度映射函数和特定维度映射函数,与DeepWalk中映射函数类似,通过查表方式实现
-
信息提取器
提取每个维度的共现信息
-
重构器和目标
与DeepWalk重构器一样,重构各个维度共现元组出现的概率
3.超图嵌入–DHNE
-
超图
一个特定作者可以发多篇文章,作者可以看做连接论文(节点)的超边。在超图中对一组节点之间的关系建模,从超边中提取两类信息:一是由超边本身,直接描述节点之间的相似性关系;二是超边中节点的共现信息 -
信息提取器
1)对超边中节点的共现信息建模,H表示节点和各个超边的邻接矩阵,D表示节点的度矩阵,Aij表示节点 i 和节点 j 在所有超边中共同出现的次数;A的第i行描述了节点 i 与图中所有节点的共现信息。
-
映射函数
映射函数采用多层感知机MLP建模,输入的是全局共现信息A,得到节点的映射
-
重构器和目标
1)恢复超边信息的重构器
对于任意给定的节点集之间存在超边的概率建模,g是将节点嵌入映射到当个标量的前馈网络,用sigmoid函数转换成概率,R用来指示节点集合是否存在超边,基于交叉熵的目标函数定义如下:
2)恢复节点全局共现信息的重构器
f是重构共现信息的前馈网络