Press "Enter" to skip to content

WSDM 2022最佳论文候选:港大提出多行为对比元学习的推荐系统

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

©PaperWeekly 原创 · 作者 | 韦玮

 

单位 | 香港大学

 

研究方向 | 推荐系统

 

 

论文标题: Contrastive Meta Learning with Behavior Multiplicity for Recommendation

 

论文来源:

 

WSDM 2022

 

论文链接:

 

https:// arxiv.org/p df/2202.08523.pdf

 

代码链接:
https://github.com/weiwei1206/CML.git

 

Data Intelligence Lab主页:

 

https://sites.google.com/view/chaoh

 

 

研究背景

 

在各类的用户平台推荐系统中,user 通常与 item 以各种的方式进行交互(比如:浏览,收藏,加入购物车,以及购买)。当前大部分推荐模型往往专注于对 user 和 item 间单一的交互行为进行建模,从而忽略了推荐场景中多行为的交互数据。考虑到多行为推荐场景中,用户的目标行为(比如购买行为)往往是较为稀疏的,通过有效地设计学习范式将多行为中的辅助行为中有用的信息迁移到目标行为的预测中,一定程度上可以有效地缓解数据的稀疏问题。

 

与此同时,在进行多行为用户建模时,多行为的交互模式往往是因人而异的,即不同的用户有基于不同行为的偏好。 因此在设计多行为推荐系统时,需要实现不同用户个性化的多行为关系建模,从而更好地进行用户和商品的表征学习。

 

 

模型方法

 

2.1 多行为用户数据表示

 

数 据集有用户集合和物品集合,它们之间的交互构成邻接矩阵,表示 user 和 item 之间针对第 k 中行为存在交互。数据集有多个行为(总数为 K)。基于用户和商品的交互图,模型输入多行为的邻接矩阵,输出 user 和 item的 embedding 用于最终推荐任务。最终测试任务是预测在用户在目标行为上的交互。

 

 

▲ 我们的CML推荐模型由三个主要模块组成:i)behavior-aware 消息传递的 GNN。ii)通过多行为建立不同 view,并通过自监督信号使 auxiliary 行为帮助稀疏的 target 行为的对比学习。iii)能够学习个性化行为偏好的 meta contrastive encoder 和 meta learning 训练框架。

 

2.2 多行为图神经网络
为了在 u-i 关系建模的时候注入高阶连通关系,CML 设计了一个多行为的 GNN。在同一行为类型下,每个节点都通过 sum pooling 的方式直接从异质节点获取信息(LightGCN)。聚合方式如下:

 

 

在每层 GNN layer 中,本层的 embedding 将通过上一层的表征得到,多行为表征会先聚合再传入下一层。

 

 

2.3 多行为的对比学习范式
为了可以捕捉到不同行为间的关联性,我们的 CML 模型将不同的用户行为作为对比学习中不同的视图。每种辅助行为都会和目标行为进行关联性建模。具体而言,CML 模型将相同用户的辅助行为与目标行为作为正样本,其他的表征 pair 将作为对比学习中的负样本。用户的每个辅助行为都会和目标行为通过 InfoNCE 计算相应的互信息。

 

 

其中, 是相似度函数用户计算表征间的相似性,可以是 embedding 内积或者余弦相似度; 作为温度系数可以对自监督学习中的负样本挖掘进行调整。在得到目标行为与其他辅助行为间的对比学习损失函数之后,多行为的总体对比学习损失函数表示如下:

 

2.4 对比元学习范式
考虑到不同的用户会有不同的多行为偏好,为了有效地建模个性化的多行为关联性,CML 模型通过将基于元学习的编码器引入到对比学习框架中,从而实现用户个性化的多行为信息聚合。

 

随后模型会将提取出来的 meta knowledge 送入基于元学习的权重网络(meta weight network)中,从而学习出多行为聚合函数中用户定制化的损失函数权重。

 

 

2.5 模型训练
通过 nested meta learning 优化过程,我们将得到有助于本次训练的权重信息,使得在真正梯度下降并更参数的过程,是在学到有效的权重参数的指导下进行:

 

 

其中, 是多行为 GNN 的模型参数, 是 meta weight network 的模型参数。整个训练过程分为三步:1)clone GNN 和 meta weight network 一起训练,让 meta contrastive encoder 的优化方向和训练数据相关;2)基于元数据和 1)中得到模型参数得到有效的 weights;3)在有效的 weights 的指导下进行 GNN 主网络的优化。整个过程使得模型学会学习 user 多行为的偏好。

 

 

Recommendation 任务的优化是通过 CML 输出的 user 和 item 的 embedding,结合,BPR 损失函数,加上用于防止过拟合的 L2 正则进行训练优化:

 

 

 

实验结果

 

3.1 整体模型效果 我们在三个真实的数据集(Tmall,IJCAI,RetailRocket)上,通过与 12 个属于不同子技术领域(普通推荐,自监督,多行为推荐)的模型做了比较。结果表明我们的 CML 优于各个 baseline。

 

 

3.2 消融实验 我们设计了 CML 的三种变体, 以证明 CML 关键部件的合理性与有效性。w/o-CLF 去掉了对比学习,只利用 GNN 捕捉多行为关系,而它的实验结果表明了 CML 的多行为对比学习的有效性和对比起到的知识迁移的效果;w/o-MCN 是为了探究行为偏好的影响,如果使得多行为对比有一样的权重,则实验结果表明 meta contrastive 网络可以自动区分 target-auxiliary 行为对之间的影响。

 

为了验证 metaknowledge encoder 的影响,w/o-MKE 去掉了 meta contrastive weight network,而用一个权重门控机制生成统一的权重,实验结果表明了 customized 行为偏好的重要性。

 

 

3.3 模型对稀疏数据的鲁棒性 为了说明的 CML 能够一定程度地缓解稀疏性的问题,我们将 user 按照交互数量区间分组(如:“<7” and “<60”)并与其他 baseline 进行比较。结果表明,多行为的模型总是会表现更好,CML在不同程度的稀疏数据下相较于其他模型具有明显的优势。

 

 

3.4 参数学习 作者对三个模型的主要参数做了实验:i)GNN 的层数 ii)embedding 的大小 iii)meta batch size&train batch size。实验结果表明当 GNN 层数增加,embedding 会得到更高阶的交互信息进而使得模型的结果提升,但是过多的层数会导致 oversmoothing 问题而带来结果的下降;当 embedding 的大小增加时,表征能表示更丰富的信息,进而带来结果提升;我们分别从 {128、256、512、1024、2048} 和 {256、512、1024、2048} 范围内搜索 CML 的 meta batch size 和 train batch 的大小,在 3D 图中,颜色越深表示性能越好。当 meta 网络的采样批量小于基图网络时,模型性能更好。

 

 

3.5 样例分析 我们采样了一些 CML 建模的用户,并可视化了 meta contrastive 学到的权重,它们表示了个性化的 user 多行为偏好。不同的 user 学到不同的 weights 表明该模块的有效性。

 

 

Embedding 可视化实验针对 CML 和 w/o-CLF,说明了 CML 在缓解数据稀缺问题方面的有效性并再次证明:多行为的 contrastive learning 框架的可以最大化行为间的互信息,引入自监督信号,进行跨不同类型行为的知识迁移。

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。