1.本发明属于图表示学习领域,特别涉及一种基于自监督学习的动态图表示学习方法。
背景技术:2.随着图结构相关数据的爆炸式增长,越来越多的学者加入到有关于图表示学习领域的研究中。然而,大多数现有的监督或半监督图表示学习方法严重依赖于数据标签。一方面,对数据标签进行采集将花费大量的人力以及物力。另一方面,通过使用数据标签训练的模型泛化能力差并且鲁棒性弱。这给当前的研究带来很大的困扰,近年来,有许多关于自监督图表示学习的研究在解决上述的问题。
3.自监督图表示学习的思想是通过设计一项特定的任务,缓解模型对于数据标签的依赖性,进一步提高模型泛化能力以及鲁棒性。例如:dgi模型作为第一种自监督图表示学习方法,该模型通过最大化节点表征和全局图表示之间的互信息来生成节点的表征。mvgrl是一种从多视图角度的自监督图表示模型,该模型的目标是最大化原始图中的节点表征和扩散图中的节点表征。sub-con模型最大化节点表征和子图表示之间的互信息来学习节点表征。与之前的工作不同的是grace模型,该模型主要关注节点级别的一致性。它通过扰动函数生成新的视角,通过最大化同一节点在不同视图下的表示学习节点表征。
4.然而,现有的自监督图表示学习模型忽略了图上的演化过程。具体来讲,现有的自监督图表示学习模型为了简化运算而丢弃了图上的时间信息,这将导致模型不能捕获图上的演化过程,进一步导致计算产生误差。通过调研,我们发现基于自监督的方式学习动态图表示的相关研究是甚少的。
5.本发明方法融合了自监督学习的思想,即研究基于自监督学习的动态图表示学习方法。其整体思路是定义了一个兼顾时间和空间的对比学习任务,通过使模型完成该任务以捕获动态图的时间以及空间特征。具体来讲,本发明方法首先定义了三个子图,分别命名为时空子图、非时序子图以及非空间子图。此外,本发明包含一个时空权重编码器,该编码器可以聚合子图的时间和空间信息。最后我们通过将其应用于电商场景中,用以预测用户可能购买的商品。
技术实现要素:6.本发明提出了一种基于自监督学习的动态图表示学习方法。首先,该方法在图中以任意一节点作为中心节点,分别进行时空随机游走以及随机游走,所采样的子图分别定义为时空子图以及非时序子图。此外,在其他任意节点为中心节点进行时空随机游走,所采样的子图称为非空间子图;其次,利用时空权重编码器,捕获图中的时间和空间信息,得到对应节点的节点表征和子图表征;最后通过对比学习方法最大化节点表征和子图表征之间的互信息来学习节点的表征。具体技术方案如下:
7.一种基于自监督学习的动态图表示学习方法,包括以下步骤:
8.s1、在图中以任意节点作为中心节点,分别采样得到时空子图、非时序子图以及非空间子图;
9.s2、利用时空权重编码器,捕获图中的时间和空间信息,得到对应节点的节点表征和子图的图级别表征;
10.s3、通过对比学习方法最大化节点表征和子图的图级别表征之间的互信息来学习节点的表征,分别从时间和空间的角度定义总损失函数;
11.s4、通过总损失函数完成时空权重编码器的训练,最后将动态图中所有的节点送入训练好的时空权重编码器中,得到动态图的节点表征。
12.在上述技术方案的基础上,步骤s1的具体步骤为:给定动态图其中v代表边的集合,是一系列边的集合,在图中存在边e=(v,w,t)∈e
t
表示节点v和节点w在t时刻产生的边,代表一个可以将每条边映射到一个时间戳的函数。本发明希望在动态图g中采集到以节点v为中心节点的时空子图gv。
13.对于时空子图gv的采样主要分为以下两个步骤:初始边选择以及时空随机游走。
14.在初始边选择这一步骤中,以节点v为中心节点进行采样。采样包括无偏采样和有偏采样。
15.对于无偏采样,定义节点v周围的所有边集合为ψv,使用一种均匀分布的采样方式对初始边进行采样。边e=(v,w,t)∈ψv被选中的概率定义为:
[0016][0017]
对于有偏采样,认定节点v周围的所有边是具有不同概率被选中的。有偏采样将根据边缘出现的时间为边缘分配不同的采样概率。具体来说,边e=(v,w,t)∈ψv被选中的概率定义为:
[0018][0019]
其中,e
′
∈ψv表示任意一条与中心节点v相连的边,为边e
′
对应的时间,表示边e所对应的时间,而t
min
是与动态图中的边相关联的最小时间。有偏采样是鼓励对较晚出现的边进行采样。
[0020]
时空随机游走这一步骤主要完成的任务是选择下一个节点。下一个节点的选择可以从时空邻居集合γ中选择。时空邻居集合可以定义为:
[0021][0022]
其中,γ
t
(v)表示节点v在时间t的时空邻居集合,w表示与节点v相邻的节点,t
′
表示节点w和节点v之间的边上的时间。
[0023]
相似的,本发明同样有两种时空随机游走策略,可以定义为有偏时空随机游走和无偏时空随机游走。
[0024]
对于无偏时空随机游走,给定任意边e=(u,v,t),节点v在时间t的时空邻居w∈γ
t
(v)被选中的概率如下:
[0025][0026]
对于有偏时空随机游走,节点v在时间t的时空邻居w∈γ
t
(v)被选中的概率为:
[0027][0028]
其中,w
′
表示表示节点v在时间t的任意时空邻居,δ(w)为节点w对应的时间,δ(w
′
)为节点w
′
对应的时间。
[0029]
此外,我们引用随机游走的思想,即在采样时不考虑时间因素进行的采样。以节点v为中心节点进行随机游走以采样非时序子图并且以节点o(其中节点o和节点v为不同节点)为中心节点进行时空随机游走,得到非空间子图go。
[0030]
在上述技术方案的基础上,步骤s2的具体步骤为:通过使用时空权重编码器,以得到所有节点的表征。
[0031]
具体来说,在得到时空子图gv后,时空权重编码器用于输出时空子图中的每个节点表征。而时空权重编码器的主要目标是避免所谓的表征过时问题。时空权重编码器包括时间聚合器和空间聚合器。
[0032]
对于时间聚合器而言,当发生了涉及节点本身的事件时,节点v在时间t的时序表征zv(t)表示为:
[0033]zv
(t)=lstm(f
(v,w)
(t),hv(t-))
[0034]
其中,lstm表示为lstm模型,f
(v,w)
(t)表示节点v和w之间在t时刻的交互特征,hv(t-)是节点v上一次更新的时间。
[0035]
对于空间聚合器而言,该组件用于合并时空邻居的表征信息,它可以根据邻居节点的不同出现时间分配不同的权重。具体来讲,节点v在时间t的空间表征定义如下:
[0036][0037]
其中,w∈neighbor表示与节点v相连的节点w,表示计算当前时间t与时间tw间距的时间编码,zw(t)是节点w在t时刻的时序表征,w1是可学习参数。
[0038]
最终,我们通过聚合时序表征zv(t)以及空间表征得到节点v在时间t的节点表征hv(t):
[0039][0040]
其中,w2是可学习参数。
[0041]
值得注意的是,时空子图的图级别表征sv是通过readout函数获得的。
[0042]
同样的,通过时空权重编码器,可以得到非时序子图的图级别表征以及非空间子图go的图级别表征so。
[0043]
步骤s3的具体步骤为:通过对比正负样本,以进行时空权重编码器的训练。具体的对比学习目标是区分时空子图、非时序子图以及非空间子图。对于正样本的选择,将时空子图的节点表征和时空子图的图级别表征构成正样本。
[0044]
其次,本发明将非时序子图的图级别表征和时空子图gv的节点表征hv构成时间负样本,称为时间负例。时间负样本的损失函数定义为:
[0045][0046]
其中,σ表示sigmoid函数,φ为边际值,表示期望函数,sv为时空子图的图级别表征,hv为时空子图中节点v的节点表征,为非时序子图的图级别表征。
[0047]
此外将非空间子图go的图级别表征so和时空子图gv的节点表征hv构成空间负样本。空间负样本的损失函数定义为:
[0048][0049]
其中,σ是sigmoid函数,是边际值,表示期望函数,sv为时空子图的图级别表征,hv为时空子图中节点v的节点表征,so为非空间子图的图级别表征。
[0050]
因此时空权重编码器的总损失函数为:
[0051][0052]
其中λ为总损失函数的平衡参数。
[0053]
本发明的有益效果:
[0054]
为了更高效的挖掘动态图中包含的时间和空间信息,本技术拟在动态图表示学习过程中融合图上时间和空间的信息,提出了一种基于自监督学习的动态图表示学习方法,所述方法具有良好的可解释性以及较优的表征性能,具有以下优点:
[0055]
(1)可解释性高:本发明对动态图进行采样,分别得到时空子图、非时序子图以及非空间子图,以此三个子图为基础设计对比学习任务,并完成对于时间和空间信息的捕获。该方案具有良好的可解释性。
[0056]
(2)可迁移性强:本发明中所述的时空采样图方法是相对独立的,所产生的子图可作为其它动态图表示学习方法的辅助图,具有较强的可迁移性。
[0057]
(3)表征性能优:本发明用于捕获动态图上的时间和空间信息,经实验发现,本发明大大提升了图模型类应用场景中分类、推荐、预测等任务的性能。
附图说明
[0058]
本发明有如下附图:
[0059]
图1为基于自监督学习的动态图表示学习框架示意图;
[0060]
图2为时空权重编码器的示意图。
具体实施方式
[0061]
以下结合附图对本发明作进一步详细说明。
[0062]
本发明提出了一种基于自监督学习的动态图表示学习方法(以下简称方法),如图1所示。
[0063]
我们的发明主要以电商领域为背景,商品和用户为图中的节点,而用户和商品之间交互则为图中的边。具体交互可以理解为以下几种操作:浏览、收藏、购买。最终我们的发明将得到用户和商品的特征描述,并根据该特征预测用户可能购买的商品。
[0064]
首先,该方法在图中以任意节点作为中心节点,分别进行时空随机游走以及随机游走,所采样的子图分别定义为时空子图以及非时序子图。此外,以其他任意节点为中心节点进行时空随机游走,所采样的子图称为非空间子图;其次,利用时空权重编码器,捕获图中的时间和空间信息,得到对应节点的节点表征和子图表征;最后通过对比学习方法最大化节点表征和子图表征之间的互信息来学习节点的表征。具体技术方案如下:
[0065]
(1)生成子图
[0066]
如图1所示,给定动态图其中v代表边的集合,是一系列边的集合,在图中存在边e=(v,w,t)∈e
t
表示节点v和节点w在t时刻产生的边,代表一个可以将每条边映射到一个时间戳的函数。本发明希望在动态图g中采集到以节点v为中心节点的时空子图gi。
[0067]
对于时空子图gi的采样主要分为以下两个步骤:初始边选择以及时空随机游走。
[0068]
初始边选择这一步骤中,以节点v为中心节点进行采样。该方法有两种方式可以进行选择,一种称为无偏采样另一种称为有偏采样。
[0069]
在初始边选择这一步骤中,以节点v为中心节点进行采样。采样包括无偏采样和有偏采样。
[0070]
对于无偏采样,定义节点v周围的所有边集合为ψv,使用一种均匀分布的采样方式对初始边进行采样。边e=(v,w,t)∈ψv被选中的概率定义为:
[0071][0072]
对于有偏采样,认定节点v周围的所有边是具有不同概率被选中的。有偏采样将根据边缘出现的时间为边缘分配不同的采样概率。具体来说,边e=(v,w,t)∈ψv被选中的概率定义为:
[0073][0074]
其中,e
′
∈ψv表示任意一条与中心节点v相连的边,为边e
′
对应的时间,表示边e所对应的时间而t
min
是与动态图中的边相关联的最小时间。有偏采样是鼓励对较晚出现的边进行采样。
[0075]
时空随机游走这一步骤主要完成的任务是选择下一个节点。下一个节点的选择可以从时空邻居集合γ中选择。时空邻居集合可以定义为:
[0076][0077]
其中,γ
t
(v)表示节点v在时间t的时空邻居集合,w表示与节点v相邻的节点,t
′
表示节点w和节点v之间边上的时间。
[0078]
相似的,本发明同样有两种时空随机游走策略,可以定义为有偏时空随机游走和无偏时空随机游走。
[0079]
对于无偏时空随机游走,给定任意边e=(u,v,t),节点v在时间t的时空邻居w∈γ
t
(v)被选中的概率如下:
[0080][0081]
对于有偏时空随机游走,节点v在时间t的时空邻居w∈γ
t
(v)被选中的概率为:
[0082][0083]
其中,w
′
表示表示节点v在时间t的任意时空邻居,δ(w)为节点w对应的时间,δ(w
′
)为节点w
′
对应的时间。
[0084]
此外,我们引用随机游走的思想,即在采样时不考虑时间因素进行的采样。以节点v为中心节点进行随机游走以采样非时序子图并且以节点o(其中节点o和节点v为不同节点)为中心节点进行时空随机游走,得到非空间子图go。
[0085]
(2)时空权重编码器
[0086]
如图2所示,为了可以捕获节点的时间和空间上的表征,本发明设计了时空权重编码器。具体来说,在得到gv后,时空权重编码器用于输出时空子图中的每个节点表征。而时空权重编码器的主要目标是避免所谓的表征过时问题。它包含两个组件,称为时间聚合器和空间聚合器。
[0087]
对于时间聚合器而言,当发生了涉及节点本身的事件时,节点v在时间t的时序表征zv(t)表示为:
[0088]zv
(t)=lstm(f
(v,w)
(t),hv(t-))
[0089]
其中,lstm表示为lstm模型,f
(v,w)
(t)表示节点v和w之间在t时刻的交互特征,hv(t-)是节点v上一次更新的时间。
[0090]
对于空间聚合器而言,该组件用于合并时空邻居的表征信息,它可以根据邻居节点的不同出现时间分配不同的权重。具体来讲,节点v在时间t的空间表征定义如下:
[0091][0092]
其中,w∈neighbor表示与节点v相连的节点w,表示计算当前时间t与时间tw间距的时间编码,zw(t)是节点w在t时刻的时序表征,w1是可学习参数。
[0093]
最终,我们通过聚合时序表征zv(t)以及空间表征得到节点v在时间t的表征hv(t):
[0094][0095]
其中,w2是可学习参数。值得注意的是,时空子图的图级别表征sv是通过readout函数获得的。
[0096]
同样的,通过时空权重编码器,可以得到非时序子图的图级别表征以及非空间子图go的图级别表征so。
[0097]
(3)时空对比学习
[0098]
通过对比正负样本,以进行时空权重编码器的训练。具体的对比学习目标是区分时空子图、非时序子图以及非空间子图。对于正样本的选择,本发明将时空子图的中心节点表征和时空子图的图级别表征构成正样本。
[0099]
其次,本发明将非时序子图的图级别表征和时空子图gv的中心节点表征hv构成时间负样本,称为时间负例。时间负样本的损失函数定义为:
[0100][0101]
其中,σ表示sigmoid函数,φ为边际值,表示期望函数,sv为时空子图的图级别表征,hv为时空子图中节点v表征,为非时序子图的图级别表征。
[0102]
此外将非空间子图go的图表征so和时空子图gv的中心节点表征hv构成空间负样本。空间负样本的损失函数定义为:
[0103][0104]
其中,σ是sigmoid函数,是边际值,表示期望函数,sv为时空子图的图级别表征,hv为时空子图中节点v表征,so为非空间子图的图级别表征。因此时空权重编码器的总损失函数为:
[0105][0106]
其中λ为总损失函数的平衡参数。
[0107]
s4、通过总损失函数完成时空权重编码器的训练,最后将动态图中所有的节点送入训练好的时空权重编码器中,得到动态图的节点表征。我们通过将其应用于电商场景中,用以预测用户可能购买的商品。
[0108]
1、本发明为了刻画动态图的时间和空间信息,更高效的建模原始图,本发明提出利用对比学习思想,通过在动态图上采样子图作为辅助图,进一步丰富动态图表示学习过程中的时间和空间信息,具有良好的可解释性。
[0109]
2、针对子图中的节点和边是在动态变化这一特性,本发明提出时空权重编码器,以捕获动态图中的时间和空间特征。
[0110]
3、本发明中所述的时空采样图方法是相对独立的,所产生的子图可作为其它动态图表示学习方法的辅助图,具有较强的可迁移性。
[0111]
4、本发明用于捕获动态图上的时间和空间信息,经实验发现,本发明可以应用于电商场景中,用以预测用户购买的商品。
[0112]
本发明中的实例仅仅是为清楚地说明本发明所做的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。
[0113]
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。