论文链接:https://dl.acm.org/doi/10.1145/3269206.3271777
代码链接:https://github.com/eXascaleInfolab/JUST
会议:CIKM 2018
目录
3.2.1 Random Walk with Jump & Stay
Truncated Random Walk with Jump & Stay
3.2.2 Node Embedding Learning with SkipGram
1 摘要
为了有效地学习到节点的表示,图嵌入方法通常使用随机游走从图中采样节点,从而保留节点之间的距离信息。现有的处理异质图的表示学习方法依赖于元路径(meta-paths)来指导随机游走。然而,使用这些元路径要么需要领域专家的先验知识来进行最优的元路径选择,要么需要扩展计算来组合所有小于预定义长度的元路径。
本文作者提出JUST模型,在随机游走技术上应用Jump和Stay策略,避免了上述的缺陷。JUST不仅能够很好地平衡同质边和异质边,还能够平衡不同类型的节点的分布。
作者在3个异质图的数据集上进行了实验(节点分类、节点聚类),并且和state-of-the-art的异质图嵌入方法HIN2Vec进行了对比,在大多数实验中均比其表现效果好,并且学习时间加速了3倍。
2 介绍
现有的绝大多数异质图嵌入方法都依赖于元路径来指导节点对的采样。元路径由节点类型的序列以及它们之间的主要复合关系组成。不同的元路径有着不同的语义信息。
基于元路径的方法首先是在异质图上使用元路径来监督生成随机游走序列,然后把这些序列输入到skip gram模型中,最终生成节点嵌入表示。尽管使用基于元路径的随机游走在异质图上采样已被广泛应用,但是如何从给定的异质图中选取元路径是值得考虑的问题,而且针对不同图或者不同的任务通常应有不同的元路径。
基于元路径的方法是把双刃剑,如果选择得好,则在一些下游任务中会有很好的效果,如果选择得不恰当,效果就会很差。
为了解决这一问题,现有的方法要不就是根据领域专家的先验知识和数据集选择特定的元路径,要不就是提出统一的或者是面向特定任务的策略,结合预先定义的元路径。但是,针对大的复杂的异质图,元路径的数量也会非常大,很难找到一组最合适的元路径。
所以本文提出了这一问题:“元路径对于异质图嵌入学习是否是必要的?”
那么在异质图嵌入学习中使用元路径的作用是什么呢?最初的动机是,异质图上的随机游走偏向于高度可见的节点类型。也就是说,随机游走序列中节点的分布是向高度可见的领域偏斜的。随后,这些节点的嵌入表示也偏向这些领域,因为他们保留了这些领域的节点的邻近性。为了克服这个问题,所以引入元路径来指导随机游走。
作者认为不使用元路径也可以解决上述问题。作者认为在异质图上进行随机游走时,选择的下一跳节点可以是jump到属于其他类型的节点,也可以是stay在相同类型的节点。本文JUST方法的关键就在于平衡上述的两个选择,从而避免上述问题。
考虑两步走:1)jump or stay, 2)if jump, decide where to jump。首先,使用指数衰减的函数控制stay的概率。不仅能平衡随机游走路径中异质和同质的边数,还有效避免了在同一类型中停留时间过长。然后,在决定跳转到哪里时,模型记住了前m次的节点类型,试图跳转到不同的类型。通过调节m值,可以平衡节点在不同领域的分布。
作者提到了有一些异质图嵌入方法没有用到元路径,比如使用深度结构的方法、hyperedges、为特定异质网设计的方法。这些方法没有使用随机游走对输入图采样,这和本文关注点不同。(作者提倡基于随机游走的技术,是因为它有着天然的可扩展性这一优点。)
3 JUST模型
3.1 一些定义
(1)异质图
G=(V,E)其中V和E分别代表节点集合和边集合。每个节点都通过函数ϕ(∙)映射到特定的数据类型,例如,表示图G的节点类型集合。,则G为异质图。
(2)异质边:当时,边是异质的。表示图G中异质边的集合。
(3)同质边:当时,边是同质的。表示图G中同质边的集合。
3.2 JUST
在学习异质图嵌入时,JUST模型在随机游走时应用jump和stay策略,而不使用元路径。首先在随机游走选择下一点时,根据概率平衡选择jump或者stay操作;然后将随机游走序列输入到SkipGram模型,最终获得节点的嵌入表示。
3.2.1 Random Walk with Jump & Stay
随机游走过程中,对于当前节点,下一个节点的选择策略如下:
1)Jump到目标类型q:在的邻居节点中选择类型为q的节点,使用均匀采样从中选取一个节点。候选的节点集合定义为。
2)Stay在当前的类型:在的邻居节点中选取以同质边连接的节点,使用均匀采样从中选取一个节点。候选的节点集合定义为
图嵌入问题中,边的方向只是保留了一定的语义信息,随机游走不被其所限制。也就是说,只要两节点有连边随机游走就可以到达。
考虑两步走:1)jump or stay, 2)if jump, decide where to jump。
Jump or Stay?
Stay的概率如下,Jump的概率与之相反:
其中,是初始化的stay概率,l代表在这次随机游走过程中连续选择和节点类型一致的节点的次数。若和连接的边既有同质边又有异质边,则采取指数衰减函数来计算stay的概率,stay的概率根据l的增加指数下降。初始化的stay概率控制随l增加的下降速度。通过调节可以避免随机游走过程中,在同一节点类型停留过长的时间,还可以平衡随机游走路径中同质边和异质边的数量。
Where to Jump?
决定jump了之后,要选择jump到哪个类型q。作者选取随机游走中和前m次访问到的节点类型不同的类型,进行随机均匀采样,得到q。这是为了平衡节点在不同类型中的分布。设计了长度为m的队列存储随机游走中前m次访问的节点类型(包括当前节点类型)。通过调节m的大小,可平衡节点在不同类型中的分布。其中,。
从以下集合中均匀采样,选取下一跳的目标类型:
Truncated Random Walk with Jump & Stay
对于每个节点v,从初始化一个随机游走W,直到达到最大长度为止。以每个节点作为随机游走的起始节点,进行r次随机游走,获得随机游走路径序列W。生成W的算法流程如下:
3.2.2 Node Embedding Learning with SkipGram
SkipGram模型最大化了,两个节点在窗口大小为k的一条随机游走路径中的共现概率。概率定义如下:
采用负采样技术,最大化节点和随机负采样的节点不在W中出现的概率:
对于节点对,SkipGram模型最大化如下所示的目标函数:
其中代表负样本的数量。通过递归遍历得到所有节点对在W中的每条路径中,窗口大小为k条件下的共现概率,节点的嵌入表示可通过ASGD(Asynchronous Stochastic Gradient Descent)的方法并行学习得到。
4 总结
这篇文章很有新意,分析了在异质图嵌入学习中使用元路径的动机以及缺点。然后不使用元路径指导随机游走,提出了JUST模型,通过权衡jump和stay的概率来指导随机游走,这也就避免了基于元路径的方法所带来的问题。这为异质图嵌入学习开辟了新思路,元路径并不是必要的。而且JUST模型在节点分类和聚类任务上超越了metapath2vec、hin2vec、deepwalk等方法,并且大大缩短了学习嵌入表示的时间。
作者还通过实验,对参数的取值例如m和α进行了分析。
作者也分析了自己方法的不足。作者在实验中采用的数据集中的图结构不够复杂,然而现实生活中异质图的结构往往是很复杂的(例如hyperedge、知识图谱、RDF graphs)。如何将不使用元路径的JUST方法应用到这些复杂的异质图上,有待进一步研究。
作者在实验中也使用了自动生成相关元路径的方法,但是都不能在实验中取得较好的效果,作者认为这种自动生成元路径的方法只能处理特定的任务。但是如何自动生成相关元路径也是值得研究的问题。