03. Curriculum Pre-Training Heterogeneous Subgraph Transformer for Top- Recommendation [arxiv 21]
HIN里面包含很多复杂并且可能和推荐任务不相关的信息,因此怎么从HIN里面高效地利用有用的信息来提升推荐系统地性能是一个挑战。为了解决上面的问题,本文提出了Curriculum pre-training based HEterogeneous Subgraph Transformer(CHEST)。具体的,作者考虑从HIN里面提取有用的信息来组成交互相关的异构子图,子图包含了充分并且相关的信息来进行推荐。然后本文通过一个一个异构子图transformer来捕获丰富的语义知识。此外,本文还设计了一个curriculum 预训练策略来提供一个初级到高级地学习过程,使得HIN里面学习到的基础的语义知识可以平滑地迁移到user-item交互地建模中。
本文首先根据UIUI、UIAI这两条路径规则采样出N条target user( )到target item( )地路径构建出一个异构子图。
随后根据图上不同的节点位于target user的几阶关系上把对应的节点分到对应的slot,并找到对应的slot embedding,然后为了更充分地考虑结构信息,作者还考虑了前继节点的embedding,对于有多个前继节点的节点embedding,用其前继节点的平均和表示。
那么最后就是将节点的ID embedding,Type embedding,Slot embedding,Precursor embedding加起来获得了异构子图上每一个节点的初始化表示。随后再把这个序列送到self-attention layer来进行交互学习到一个完整的图表示。
那么整个图的表示就可以用最后一层的目标用户和目标物品的表示拼接后送到MLP里进行学习。
有了上面的模型架构,那么接下来就是设计一个专门适用于HIN-based recommendation的表示学习方法。
考虑到HIN 编码复杂和异构的数据关系,本文的想法就是从交互相关的异构子图里逐渐提取和学习从local(node-level)到global(graph-level)的内容。这里使用增量预训练的策略制定了初级和高级的课程。
- 初级课程:初级课程旨在利用从交互相关的异构子图里面利用本地内容信息。设计了 Mased Node Prediction、Masked Edge Prediction 和 Meta-path Type Prediction三个与训练任务,前两个任务专注于增强节点级别的表示,而 第三个任务是用来捕获u-i交互的路径级别的语言。
- 高级课程:初级课程没法学习到整个子图全局一致性,所以这里设计了 子图对比学习的任务来弥补。
这里采用的三种数据增强的方式:Path Removal、Path Insertion、Path Substitution来获得子图的不同视图。
最后也是通过对比学习的方式来学习子图的表示。
整个过程有两个阶段,增量预训练和微调。
在预训练阶段,先在初级课程上预训练,再在高级课程上预训练。微调阶段用预训练阶段训练好的模型参数来初始化模型,并采用推荐任务训练模型。
04. Contrastive Pre-Training of GNNs on Heterogeneous Graphs [CIKM 21]
尽管GNN已经是学习图表示的sota方法,但是他们通常都需要大量的标签数据来使得模型能够训练出满意的性能,而标签数据通常是昂贵且难以获得的。
为了缓解标签稀疏的问题,一些预训练的任务策略开始被应用于GNNs上,来从图的通用结构属性上学习可迁移的知识。
但是,现有的预训练策略都只是为同质图设计的,而本文认为,异构图能够表示更丰富的语义,这是被现有工作所忽视的。
在这篇文章中,我们提出一个新颖的异构图上基于GNN的对比预训练策略(CPT-HG)来用自监督的方式捕获语义和结构信息。特别地,我们在关系级和子图级都设置了对应的语义感知的预训练任务并进一步用对比学习增强他们的表示。
作者将现有的基于自监督地GNN预训练工作分为两类:
1)模型在多个图上预训练然后在一个新的没有见过的图上微调来执行下游任务;
2)模型在一个大规模地图上预训练然后将其学到的知识迁移到剩下的部分来执行下游任务。
设计异构图地图卷积上的预训练面临地两点挑战:
1)怎么在预训练的时候区分不同类型地节点和边;
2)怎么在预训练时进一步保留高阶的语义信息。
Relation-level Pre-training Task
这里负样本有两种类型:一种是不相关的节点,也就是如图都是文章p1,但是它和没有连接过的用户匹配了;另一种就是不一致的关系,就是比如如图(p1,c1)它们之间的关系就不是(文章,作者)这种关系。然后正样本我理解的就是满足(文章,作者)关系的节点对。随后在这个任务上使用对比学习来学习关系级别的表示。
Subgraph-level pre-training task
使用元路径的缺点:1)元路径已经被证明对表征丰富的语义和提取高阶结构的能力有限;2)从源节点出发,元路径可以到达的节点数通常都很大,而元图因为更加复杂和限制性的结构,元图可以到达的节点会少很多,这使得元图比元路径更高效。
这里就是学习子图的表示和负样本对应的子图的表示对比,来学习到更好的子图级别的表示。
预训练和微调设置:我们首先预训练一个GNN模型并采用预训练模型的权重来为下游任务初始化模型。然后我们在没有见过的图上微调GNN模型来执行对应的下游任务并评估模型的性能。对于Yelp数据集,随机划分Yelp里3/4的店铺节点和其对应的其他节点到预训练阶段,剩下的到微调阶段。