WWW2021 | 基于对偶迁移学习的长尾物品推荐

A Model of Two Tales: Dual Transfer Learning Framework for Improved Long-tail Item Recommendation [1]

Google, Inc

背景

长尾(The Long Tail)这一概念是由“连线”杂志主编克里斯·安德森(Chris Anderson)在2004年十月的“长尾” 一文中最早提出,用来描述诸如亚马逊和Netflix之类网站的商业和经济模式[2]。

高度倾斜的长尾物品分布在推荐系统中非常常见。它显著影响模型的性能,特别是尾部物品。举个例子,在Netflix网站中,Star Wars IX这样的电影大部分人都喜欢看,这类电影属于头部电影,电影数量少,但每一个电影都有大量的评分信息;而Star Trek: Nemesis这样的电影属于尾部电影,尾部电影数量极其多,但每一个电影都只有少量的评分信息。

目前长尾分布的一些处理方式包括:

  • 重采样(resampling)[3]:包括对头部欠采样/尾部过采样来平衡训练样本。

  • 重加权(reweighting)[4]:对尾部类别给更大的权重。

  • 利用辅助信息来增强物品的表示,例如物品属性、名称和跨域信息。

然而,大多数现有的长尾推荐模型只关注尾部,而没有考虑与头部(流行物品)的联系—头部包含丰富的用户反馈信息和与尾部相关的可转移上下文信息(例如属于同一类型)。

将知识从头部到尾部地传递是一项挑战,也是一项重要工作。具体来说,它提出了两个关键挑战:

  • 第一,许多现有的迁移学习方法都是在源任务上预先训练的,然后在最终的目标任务上进行微调。其基本假设是源任务和目标任务之间相似的数据分布保证了高质量的知识转移。这一假设不适用于头尾部物品分布差距较大的长尾环境。因此,一个重要的问题是如何在不平衡的分布背景下提取有用的知识,并能很好地转移到尾部物品?

  • 第二,推荐模型通常要处理大量不同物品的类别。头尾部物品在用户偏好和内容特征上都表现出显著的差异。因此,另一个关键挑战是如何在改进尾部切片的同时避免牺牲整体模型性能。

模型概述

为了改进长尾项推荐,谷歌进行了将知识从头部转移到尾部的研究,利用了头部中丰富的用户反馈以及头尾部之间的语义联系。具体地说,谷歌提出了一个新的对偶迁移学习框架,它可以从模型层和物品层协同学习知识迁移。model-level模型级知识迁移建立了模型参数从few-shot模型到many-shot模型的通用元映射(meta-mapping)。它在模型层次上捕捉隐式的数据增加,以提高尾部的表示学习。item-level物品级知识迁移通过item-level feature连接head和tail物品,确保从head item到tail item的元映射平滑传输。结合这两种迁移方式,确保头部学习的知识能够很好地应用于长尾分布环境下的尾部表示学习。

首先看一下整个对偶迁移学习结构:

model-level模型级知识迁移:学习通用的元迁移器,即学习如何从few-shot时的参数????1到many-shot的参数????∗. (图中橙色部分)

item-level物品级知识迁移:学习电影之间的特征联系,比如电影《Star Wars IX》和电影《Star Trek: Nemesis》之间的语义关系。(图中绿色部分)

模型细节

符号定义:

模型细节:

模块1:跨模型的迁移学习: 元层次的知识迁移

尾部物品的推荐性能通常会受到影响。其中一个主要原因是缺少数据点,从而导致弱物品表示(尾部物品表示不足)。另一方面,我们有相当丰富的信息和足够的数据点的物品。受到元学习的激励,我们提出通过模型参数,探究仅使用少量训练样本学习的模型与相同物品使用足够训练样本学习的模型之间的联系(即元学习者)。

元层次的学习可见模型图下部分。元层次知识转移中有两个关键学习者:

(i) base-learner ????(x????, y???? ; ????): 基础学习器用于学习用户对物品的偏好。它以用户????和物品????的一对特征向量x????和y????作为输入,学习模型参数????。输出是用户对物品????的偏好得分。通过使用不同的训练数据,将????(x????,y????; ????)应用于few-shot模型学习和many-shot模型学习。

(ii) meta-learner F (????;????): 它学习了从few-shot的模型参数到many-shot的模型参数的元映射。它的输入是????(x????,y????; ????)中的模型参数????(由Ω(????)训练),学习元学习器模型参数????。

Base-Learner: 通过双塔模型得到的user和item的embedding,然后使用内积的方式得出预测的score.

训练数据为(user,item,lable)三元组:

这篇文章主要处理的推荐问题是多分类问题,所以对预测结果做一个softmax。

因此,基础学习者????(·)的损失函数可以表示为:

Meta-Learner:通过基础学习者????(·)学会的few-shot模型和many-shot模型,我们引入了映射两种模型参数的元学习器F(·),以捕获元级知识:添加更多训练示例后,模型参数会更改。 

为此,我们首先计算many-shot模型参数????∗。然后,我们介绍了最终的目标函数,该函数同时训练了几次few-shot模型和元映射。要学习????∗,我们通过使用Ω∗作为训练集来优化????(·):

对于????∗和Ω(????),最终目标函数为:

这里 |·| 是l2范数。????是正则化参数平衡两项loss。

第一项loss是要求F(????;????)预测的many-shot model parameter与最优的many-shot model parameter ????∗尽量接近。

模块2:跨物品迁移学习: 课程迁移

首先要谈一下如何构造两个学习器的训练数据:training dataset Ω(????) for few-shot model 和 Ω∗ for many-shot model起着关键作用,以确保通过F(·)获得的高质量学习模型迁移。

一种传统的方式就是,选择至少有K个样本的数据头部物品来构造,这些物品的所有日志信息用来当作many-shot model的训练数据.  然后随机采样一个固定数量的日志信息作为few-shot model的训练数据。因此,模型参数演化的元知识仅基于头部物品。由于将学习到的元映射直接应用于尾项items (用户反馈少于k个的物品的集合)的few-shot模型,因此直接映射的基本假设头部和尾部的元映射相同。

但是,与许多其他分类问题(例如,图像分类)不同,推荐系统的物品(即classes,也即itemid的个数)的数量差异极大。另外,没有反馈信息的尾部物品比头部物品更多。在这种情况下,仅基于头部学习的元映射将限制大量尾部表示的映射,从而导致次优性能。

具体而言,我们提出了一种长尾分布感知课程策略(LTCur),该策略既可以很好地将学习到的特征从头部物品转移到尾部物品,同时又可以相对保持原始分布以减轻分布偏差的影响。因此,我们构造了两组Ω∗和Ω(????),以确保在训练阶段对头部和尾部进行训练。

在LTCur中,many-shot模型的训练集Ω∗定义为:

也就是Ω∗包括来自头部和尾部的所有用户反馈。

为了在Ω∗上训练????(·),考虑到大量的尾部,我们添加logQ校正:

????????是校正的权重。????????是项目????的抽样概率,通常由物品i的频率除以训练样本总数得出。

对于用于训练few-shot模型参数的训练集Ω(????),我们将其构造为:

也就是说,我们考虑了所有用户对尾部的反馈。

1) 新构造的训练集Ω∗和Ω(????)可确保在many-shot模型和few-shot模型中都对尾部物品进行完全训练,以确保在many-shot和few-shot模型中学习物品的高质量表示。它可以进一步充当高性能元映射的基石。

2) 在few-shot模型训练中,尾项的分布相对保持与原始分布相同。它可以减轻新分布带来的尾部之间的偏差。

算法框架

可以看到是分为两阶段训练的,先训练好base learner模型,直至收敛。再训练meta learner模型。

框架预测

当添加更多训练数据时,元级知识迁移将学习模型参数的演化。因此,其目标是改善对包含少量用户反馈的尾部物品的学习。

与尾部物品不同,头部物品包含丰富的用户反馈。由于学会了F(·)与????∗匹配,因此基础学习者可以提供更好的头部表示,而不是通过元映射来表示。因此,为了预测用户对头部和尾部的偏好,我们结合了从基础学习者和元映射基础学习者那里学习到的表示形式。

集成其表示以进行用户偏好学习的一个示例是:

其中????????用于平衡基于元映射的模型和基于many-shot的模型用户偏好表示。

实验

需要回答下列问题:

RQ1:与最新方法相比,对偶迁移学习框架MIRec的性能如何? 

RQ2:MIRec的不同组成部分(元学习和课程学习)如何分别执行?他们可以互补吗?RQ3:我们建议的课程学习策略与替代方法相比如何? 

RQ4:除了下游任务的执行,我们是否真的在学习尾部项目的更好表示?我们可以从视觉上看到差异吗?

实验数据集

由分布图可知两个数据集的item均为长尾分布。

  • 训练:验证:测试集划分方式

采用leave-one-out evaluation, 最后交互的item当作测试集,倒数第二交互的当作验证集,剩下的为训练集。

  • 头尾部物品划分方式:

我们将Movielens1M中前20%的最频繁物品和Bookcrossing 4中的0.1%的物品划分为头部物品,其余项视为尾部物品。

  • 实验结果(细节可以看原文):

RQ1:与最新方法相比,对偶迁移学习框架MIRec的性能如何? 

  • 首先,与最先进的双塔模型相比,MIRec在尾部和头部都有很大的改进。

  • 其次,在解决长尾分布问题的不同策略(例如重新采样,重新加权和迁移学习)中,MIRec达到了最佳性能。

  • 第三,与常用的课程学习策略(Head2Tail,Tail2Head)和最新的元学习(MeLu)相比,MIRec获得了更好的性能。

embedding维度的影响:

  • 考虑不同的嵌入维度,MIRec始终优于其他方法。

RQ2:MIRec的不同组成部分(元学习和课程学习)如何分别执行?他们可以互补吗?

????????????????????????:这仅考虑了MIRec中的元学习部分。

????????????????????????:仅考虑MIRec中的课程学习部分。

????????????????????-????????????????:我们使用????(????????,????????)来计算用户对商品的偏好,而不是基于logQ校正的????^????(????????,????????)。

????????????-????????????????????2:MIRec使用many-shot模型和meta映射模型来预测用户偏好。

  • MIRec胜过其他版本。这是可以预期的,因为我们希望所有不同的组件都有助于提高性能。

  • 比较仅使用一种迁移学习的????????????????????????和????????????????????????,我们发现使用meta learning学习方法的performs表现较差。这表明直接应用仅在头部上学习的元映射可能会限制对各种尾部表示形式的学习。它还强调了考虑物品之间课程转移以使学习的元映射适用于尾部的重要性。

  • 此外,通过将MIRec与MIRec进行比较,MIRec可获得更好的性能,这证明logQ校正可以通过添加基于物品频率的校正来进一步帮助长尾物品分布中的知识传递。

  • 最后,对于????????????-????????????????????2,尽管它包含的学习参数数量与MIRec相似,但与MIRec相比,????????????-????????????????????2在尾部物品和整体性能方面表现较差。一个可能的原因是,????????????−????????????????????2中的两个????????????-????????????????????组合模型很容易导致尾部物品的过度拟合。它进一步显示了转移知识在长尾物品分配中对改进尾部物品推荐的重要性。

RQ3:我们建议的课程学习策略与替代方法相比如何? 

提出的课程学习-长尾分布感知课程(LTCur)在MIRec的头尾部之间传递知识方面起着关键作用。

x轴表示the epoch index,y轴表示loss values。

RQ4:除了下游任务的执行,我们是否真的在学习尾部项目的更好表示?我们可以从视觉上看到差异吗?

在本节中,我们通过可视化嵌入来研究从MIRec获得的表示形式,并定性地检查MIRec的性能。首先,我们使用t-SNE(图6)从基线(两塔模型)和MIRec可视化学习到的尾部物品嵌入,并以不同的颜色突出显示电影体裁。我们观察到,与基线模型相比,来自MIRec的电影簇更连贯。电影类型信息。这表明,可以将MIRec的性能提高归因于更好地捕获尾项的语义信息。

接下来,我们进一步研究MIRec将哪些电影群集在一起,并按图7中的电影标题可视化群集。在这里,我们观察到相似的电影被群集在一起。例如,与人们生活息息相关的“比利的假期”和“朱诺和佩考克电影”就聚在一起。可视化结果显示,尽管尾部物品包含的协作信息较少,但MIRec仍可以根据尾部物品的内容信息很好地将它们聚集在一起。这进一步验证了我们先前在MIRec上的发现。

总结

在这项工作中,我们解决了在长尾物品分配中提出推荐的挑战。我们提出了对偶转移学习框架MIRec,该框架整合了(i)元学习以在模型之间转移知识,以及(ii)课程学习以在物品之间转移知识。

参考文献

[1] A Model of Two Tales: Dual Transfer Learning Framework for Improved Long-tail Item Recommendation. arXiv:2010.15982.

[2] 推荐系统中常说的长尾分布是什么意思?

https://blog.csdn.net/weixin_45459911/article/details/105279828

[3] Learning from imbalanced data. TKDE, 2009. 

[4] Classbalanced loss based on effective number of samples. CVPR, 2019. 

[5]Learning to model the tail. NIPS, 2017.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值