综述 | 推荐系统里预训练模型(二)

简介: 综述 | 推荐系统里预训练模型(二)

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交互地建模中。


9470c78edfb2e48466d566d9616a54de.png


本文首先根据UIUI、UIAI这两条路径规则采样出N条target user( )到target item( )地路径构建出一个异构子图。


fdf43eeb1cdbf2572167159c7f8cf953.png


随后根据图上不同的节点位于target user的几阶关系上把对应的节点分到对应的slot,并找到对应的slot embedding,然后为了更充分地考虑结构信息,作者还考虑了前继节点的embedding,对于有多个前继节点的节点embedding,用其前继节点的平均和表示。


ddd8ca0852e3980412ab5d15b4e07fb7.png


那么最后就是将节点的ID embedding,Type embedding,Slot embedding,Precursor embedding加起来获得了异构子图上每一个节点的初始化表示。随后再把这个序列送到self-attention layer来进行交互学习到一个完整的图表示。


75c3a0543ae6283fed4ae1243ba8ff73.png


那么整个图的表示就可以用最后一层的目标用户和目标物品的表示拼接后送到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来获得子图的不同视图。


f96cfd05425b717d1b1547c444c02a4c.png


最后也是通过对比学习的方式来学习子图的表示。


整个过程有两个阶段,增量预训练和微调。


在预训练阶段,先在初级课程上预训练,再在高级课程上预训练。微调阶段用预训练阶段训练好的模型参数来初始化模型,并采用推荐任务训练模型。


f3cc2524aa6ba102f84508a0c15aedd5.pngc315649013e81e9548041db5de43a376.png




04. Contrastive Pre-Training of GNNs on Heterogeneous Graphs [CIKM 21]



尽管GNN已经是学习图表示的sota方法,但是他们通常都需要大量的标签数据来使得模型能够训练出满意的性能,而标签数据通常是昂贵且难以获得的。


为了缓解标签稀疏的问题,一些预训练的任务策略开始被应用于GNNs上,来从图的通用结构属性上学习可迁移的知识。


但是,现有的预训练策略都只是为同质图设计的,而本文认为,异构图能够表示更丰富的语义,这是被现有工作所忽视的。


在这篇文章中,我们提出一个新颖的异构图上基于GNN的对比预训练策略(CPT-HG)来用自监督的方式捕获语义和结构信息。特别地,我们在关系级和子图级都设置了对应的语义感知的预训练任务并进一步用对比学习增强他们的表示。


作者将现有的基于自监督地GNN预训练工作分为两类:


1)模型在多个图上预训练然后在一个新的没有见过的图上微调来执行下游任务;


2)模型在一个大规模地图上预训练然后将其学到的知识迁移到剩下的部分来执行下游任务。

设计异构图地图卷积上的预训练面临地两点挑战:


1)怎么在预训练的时候区分不同类型地节点和边;


2)怎么在预训练时进一步保留高阶的语义信息。


2b51a1eb0839116f86e2f2a9df95eb41.png


Relation-level Pre-training Task



这里负样本有两种类型:一种是不相关的节点,也就是如图都是文章p1,但是它和没有连接过的用户匹配了;另一种就是不一致的关系,就是比如如图(p1,c1)它们之间的关系就不是(文章,作者)这种关系。然后正样本我理解的就是满足(文章,作者)关系的节点对。随后在这个任务上使用对比学习来学习关系级别的表示。


Subgraph-level pre-training task



使用元路径的缺点:1)元路径已经被证明对表征丰富的语义和提取高阶结构的能力有限;2)从源节点出发,元路径可以到达的节点数通常都很大,而元图因为更加复杂和限制性的结构,元图可以到达的节点会少很多,这使得元图比元路径更高效。


这里就是学习子图的表示和负样本对应的子图的表示对比,来学习到更好的子图级别的表示。


预训练和微调设置:我们首先预训练一个GNN模型并采用预训练模型的权重来为下游任务初始化模型。然后我们在没有见过的图上微调GNN模型来执行对应的下游任务并评估模型的性能。对于Yelp数据集,随机划分Yelp里3/4的店铺节点和其对应的其他节点到预训练阶段,剩下的到微调阶段。



相关文章
|
机器学习/深度学习 算法 自动驾驶
使用机器学习进行图像分类的简介
在现代技术的发展中,图像处理和图像分类一直是一个热门的领域。随着机器学习的兴起,越来越多的人开始使用机器学习算法来解决图像分类问题。本文将介绍如何使用机器学习进行图像分类,并讨论其中的关键步骤和技术。
340 1
|
1月前
|
机器学习/深度学习 数据采集 自然语言处理
【NLP自然语言处理】基于PyTorch深度学习框架构建RNN经典案例:构建人名分类器
【NLP自然语言处理】基于PyTorch深度学习框架构建RNN经典案例:构建人名分类器
|
5月前
|
机器学习/深度学习 人工智能 算法
机器学习算法综述
机器学习算法综述
105 1
|
6月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
622 1
|
6月前
|
机器学习/深度学习 搜索推荐 算法
【机器学习】推荐系统推荐算法综述
【1月更文挑战第10天】【机器学习】推荐系统推荐算法综述
|
6月前
|
机器学习/深度学习 搜索推荐 TensorFlow
推荐系统:从经典模型到深度学习,你需要掌握什么?
推荐系统:从经典模型到深度学习,你需要掌握什么?
371 0
|
机器学习/深度学习 人工智能 自然语言处理
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
|
机器学习/深度学习 自然语言处理 算法
循序渐进的机器学习:文本分类器
在 Python 中构建监督机器学习文本分类器的指导指南和流程图
136 0
|
机器学习/深度学习 人工智能 移动开发
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
|
机器学习/深度学习 知识图谱
深度学习入门(5)如何对神经网络模型训练结果进行评价
深度学习入门(5)如何对神经网络模型训练结果进行评价
深度学习入门(5)如何对神经网络模型训练结果进行评价
下一篇
无影云桌面