连续迁移学习跨域推荐排序模型在淘宝推荐系统的应用

简介: 本文探讨了如何在工业界的连续学习的框架下实现跨域推荐模型,提出了连续迁移学习这一新的跨域推荐范式,利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,设计了一个轻量级的Adapter模块实现跨域知识的迁移,并在有好货推荐排序上取得了显著业务效果。

背景


近些年随着深度模型的应用,工业界的推荐系统的推荐效果取得了显著的提升,随着模型的持续优化,使得仅依赖场景内数据优化模型结构和特征变得较为困难。在淘宝这样的大规模电商平台上,为了满足不同用户的多样化需求,存在一系列不同规模大小的推荐场景,如信息流推荐(首页猜你喜欢)、有好货、购后推荐、聚划算等,这些场景共享淘宝商品体系,但在具体的选品池、核心用户和业务目标等方面存在显著差异,且不同场景的规模差异极大。我们的场景有好货是淘宝精选商品的导购场景,和信息流推荐、主搜索等场景相比规模相对较小,因此如何利用迁移学习、跨域推荐等方法提升模型效果一直以来是有好货排序模型优化的重点之一。淘宝不同业务场景的商品和用户虽有重合,但由于场景差异显著,信息流推荐等大场景的排序模型直接应用于有好货场景上效果不佳。因此,团队在跨域推荐方向做了相当多的尝试,包括利用预训练-微调、多场景联合训练、全域学习等一系列已有方法。这些方法要么效果不够明显,要么在实际上线应用中存在相当多的问题。连续迁移学习项目就是针对这些方法在业务中应用的一系列问题,提出的简单有效的新的跨域推荐方法。该方法利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,并在淘宝有好货推荐排序上取得了显著业务效果。


本文详细版本Continual Transfer Learning for Cross-Domain Click-Through Rate Prediction at Taobao已发布在ArXiv https://arxiv.org/abs/2208.05728


方法


▐  现有工作及其不足

分析现有的学术界和工业界的跨域推荐(Cross-Domain Recommendation, CDR)的相关工作,主要可分为两大类:联合训练(Joint Learning)和预训练-微调(Pre-training & Fine-tuning)。其中,联合训练方法同时优化源域(Source Domain)和目标域(Target Domain)模型。然而,这一类方法需要在训练中引入源域的数据,而源域样本通常规模很大,从而消耗巨大的计算和存储资源,很多较小业务难以承担如此大的资源开销。另一方面,这一类方法需同时优化多个场景目标,场景之间的差异也可能带来目标冲突的负面影响,因此预训练-微调类方法在工业界很多场景有着更广泛的应用。
工业界推荐系统一个重要的特点是模型训练遵循连续学习(Continual Learning)范式,即模型需要使用最新的样本,利用离线增量更新(Incremental Learning)在线学习(Online Learning)等方式学习最新的数据分布。对于本文研究的跨域推荐任务而言,源域和目标域的模型都是遵循连续学习的训练方式。我们由此提出了一个学术和工业上将有广泛应用的新问题:连续迁移学习(Continual Transfer Learning),定义为从一个随时间变化的领域到另一个也随时间变化的领域的知识迁移。我们认为,现有的跨域推荐和迁移学习方法在工业推荐系统、搜索引擎、计算广告等的应用应当遵循连续迁移学习范式,即迁移的过程应当是持续的、多次的。原因在于数据分布变化较快,只有通过连续的迁移才可以保证稳定的迁移效果。结合这一工业推荐系统的特点,我们可以发现预训练-微调在实际应用上的问题。由于源域和目标域的场景差异,通常需要用大量样本才可以利用源域模型微调得到一个效果较好的结果。而为了实现连续迁移学习,我们需要每隔一段时间都利用最新的源域模型重新微调,造成了非常巨大的训练代价,这样的训练方式也是难以上线的。此外,利用这些大量样本微调也可能使得源域模型遗忘掉保留的有用知识,避免模型出现灾难性遗忘(Catastrophic Forgetting)问题;利用源域模型参数去替换掉原有的目标域已经学好的参数也丢弃了原有模型历史上获得的有用知识。因此,我们需要设计一个更加高效,适用于工业推荐场景的连续迁移学习模型。
本文提出了一个简单有效的模型CTNet(Continual Transfer Network,连续迁移网络)解决了上述问题。不同于传统的预训练-微调类方法,CTNet的核心思想是不能遗忘和丢弃所有模型在历史上获取的知识, 保留了原有的源域模型和目标域模型的所有参数。这些参数中保存了通过非常久的历史数据学习得到的知识(例如淘宝有好货的精排模型已经连续增量训练两年以上)。CTNet采用了简单的双塔结构,利用了一个轻量级的Adapter层将连续预训练(Continually Pre-trained)的源域模型中间层表示结果映射并作为目标域模型的额外知识。不同于预训练-微调类方法需回溯数据以实现连续迁移学习,CTNet只需要增量数据进行更新,从而实现了高效的连续迁移学习。

方法
无需利用大量的源域样本

不受源域场景目标影响

只需要增量数据即可实现连续迁移学习

联合训练



预训练-微调



本文提出的CTNet




表1:CTNet和现有的跨域推荐模型的对比

▐  问题定义


本文探讨的是连续迁移学习这一新问题:

给定随时间持续变化的源域和目标域,连续迁移学习(Continual Transfer Learning)希望能够利用历史或者当前获得的源域和目标域知识提升在未来目标域上的预测准确率。


我们将连续迁移学习这一问题应用在淘宝的跨域推荐任务上。该任务具有如下特点:

  1. 不同推荐场景规模相差很大,可以利用较大的源域训练的模型的知识提升目标域的推荐效果。
  2. 不同场景的用户和商品共享同一个大底池。但不同场景由于精选商品池、核心用户、图文等展示效果不同存在较为明显的领域差异。
  3. 所有推荐场景的模型都是基于最新数据持续增量训练的。

image.png

image.png

如图2所示,我们提出的连续迁移网络(Continual Transfer Network, CTNet)模型在原有的目标域的精排模型中嵌入了源域模型的全部特征及其网络参数,形成一个双塔的结构,其中CTNet的左塔为源塔(Source Tower),右塔为目标塔(Target Tower)。不同于常见的只利用源域模型最终打分分数或只利用一些浅层表示(如Embedding)的方法,我们通过一个轻量化的Adapter网络将源域模型MLP的所有中间隐藏层(特别是源域MLP深层蕴含的user和item的高阶特征交互信息)的表示结果映射到目标推荐域,并将结果加入到Target Tower的对应层image.png中(下面公式表示了image.png的情况)。CTNet效果提升的关键就是利用了MLP中深层表征信息的迁移。借鉴Gated Linear Units(GLU)的思想,Adapter网络采用了门控的线性层,可以有效实现对源域特征的自适应特征选择,模型里有用的知识会做迁移,而与场景特点不符的的信息可被过滤掉。由于源域模型持续不断的使用最新的源域监督数据进行连续预训练,在我们的训练过程中,Source Tower也将持续不断的加载最新更新的源域模型参数并在反向传播过程中保持固定,保证了连续迁移学习的高效进行。因此,CTNet模型非常适用于连续学习范式,使得目标域模型持续的学习到源域模型提供的最新知识以适应最新的数据分布变化。同时由于模型仅在目标域数据上进行训练,保证了模型不受源域训练目标的影响,且完全不需要源域数据训练,避免了大量的存储和计算开销。此外,这样的网络结构采用了加法的设计方法,使得迁移过程中无需改变原始模型MLP层的维数,Target Tower完全由原有的目标域线上模型初始化,避免MLP层重新随机初始化,可以在最大程度上保证原有模型的效果不受损害,仅需较少增量数据就可得到很好的效果,实现了模型的热启动。

image.png

image.png

实验


▐  离线效果

image.png

如上表所示,我们在有好货业务的两个子场景(表中Domain B和C)的对应的生产数据集上进行了一系列离线实验,其中源域(表中Domain A)为首页信息流推荐场景。可以看出,直接利用信息流推荐(首页猜你喜欢)排序模型打分结果(表中的Source Domain Model)在有好货业务上效果并不好,对比线上全量模型分别有绝对值GAUC-5.88%和GAUC-9.06%的显著差距,证明了场景之间存在的差异。我们还对比了一系列传统的跨域推荐的Baseline方法,包括常见的预训练-微调类方法和联合训练的方法(如MLP++、PLE、MiNet、DDTCDR、DASL等),提出的CTNet在两个数据集上均明显优于已有方法。对比线上全量主模型,CTNet在两个数据集上分别取得GAUC+1.0%和+3.6%的显著提升。
我们进一步通过实验分析了连续迁移(Continual Transfer)相比单次迁移的优势。在CTNet的框架下,单次迁移带来的效果提升会随着模型的增量更新有所衰减,而连续迁移学习可以保证模型效果的稳定提升。

image.png

下表展示了传统的预训练-微调的效果,我们使用完整的源域模型在目标域数据上训练。由于领域之间的差异,需要非常多的样本(如120天样本)才可以将模型的效果调到一个和线上全量Base模型相当的水平。为了实现连续迁移学习,我们需要每隔一段时间都利用最新的源域模型重新调整,每一次调整带来的巨大代价也使得该方法不适用于连续迁移学习。此外,该方法并没有在效果上超越无迁移的Base模型,主要原因是使用海量的目标域样本训练也使得模型遗忘掉了原有的源域的知识,最终训练得到的模型效果也近似于一个只在目标域数据训练的效果。在预训练-微调的范式下,只加载一些Embedding参数的效果反而比复用所有参数更好(如表2所示)。

image.png

▐  线上效果

CTNet最早在2021年底完成,于2022年2月在有好货推荐业务全量上线。在两个推荐场景上相比上一代全量模型分别取得显著业务指标提升:B场景:CTR+2.5%,加购+6.7%,成交笔数 +3.4%,GMV+7.7%C场景:CTR+12.3%, 停留时长+8.8%,加购+10.9%,成交笔数+30.9%,GMV+31.9%

CTNet采用了并行的网络结构,为了节省计算资源我们共享了部分Attention层的参数和结果,使得Source Tower和Target Tower相同部分的Attention层只需计算一次。和Base模型相比,CTNet的线上响应时间(RT)基本持平。

总结和展望

本文探讨了如何在工业界的连续学习的框架下实现跨域推荐模型,提出了连续迁移学习这一新的跨域推荐范式,利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,设计了一个轻量级的Adapter模块实现跨域知识的迁移,并在有好货推荐排序上取得了显著业务效果。这一方法虽针对有好货的业务特点实现,但也是较为通用的建模方式,相关的建模方式和思想可以应用于诸多其他类似业务场景的优化。由于现有的CTNet的连续预训练的源域模型仅利用信息流推荐场景,未来我们考虑将连续预训练的源域模型升级为包括推荐、搜索、私域等更多场景在内的全域学习预训练模型。


相关文章
|
3月前
|
机器学习/深度学习 搜索推荐 算法
优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
157 0
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
346 0
|
19天前
|
机器学习/深度学习 数据采集 存储
机器学习在推荐系统中的应用
【7月更文挑战第31天】随着机器学习技术的不断发展和普及,推荐系统在电子商务、社交媒体、新闻资讯等领域的应用越来越广泛。机器学习算法的应用为推荐系统优化提供了全新的思路和方法,使得推荐系统能够更加智能化和个性化地为用户提供服务。未来,随着数据量的不断增加和算法的不断创新,推荐系统将会变得更加精准和高效,为用户带来更加优质的体验。
|
2月前
|
机器学习/深度学习 搜索推荐 算法
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
登录注册 热门图书 图书分类 图书推荐 借阅图书 购物图书 个人中心 可视化大屏 后台管理
13030 2
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
|
1月前
|
机器学习/深度学习 数据采集 搜索推荐
Python数据分析与机器学习在电子商务推荐系统中的应用
Python数据分析与机器学习在电子商务推荐系统中的应用
71 5
|
1月前
|
机器学习/深度学习 数据采集 搜索推荐
打开黑盒神经网络!港大推出全新会说话的推荐系统大模型XRec,从黑盒预测到可解释
【7月更文挑战第2天】港大研发XRec模型,将可解释性引入推荐系统。XRec结合大型语言模型的语义理解与协同过滤,生成推荐的文本解释,提升透明度。该模型无关设计允许与各类推荐系统配合,增强用户体验。然而,计算资源需求高、数据质量和用户理解能力可能影响其效果。[查看论文](https://arxiv.org/pdf/2406.02377)**
44 11
|
1月前
|
机器学习/深度学习 搜索推荐 算法
深度学习在推荐系统中的应用:技术解析与实践
【7月更文挑战第6天】深度学习在推荐系统中的应用为推荐算法的发展带来了新的机遇和挑战。通过深入理解深度学习的技术原理和应用场景,并结合具体的实践案例,我们可以更好地构建高效、准确的推荐系统,为用户提供更加个性化的推荐服务。
|
3月前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
155 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
3月前
|
机器学习/深度学习 数据采集 搜索推荐
探索机器学习在推荐系统中的应用
【5月更文挑战第15天】本文探讨了机器学习在推荐系统中的应用,强调其在数据预处理、个性化建模、内容过滤及解决冷启动问题中的作用。协同过滤、矩阵分解、深度学习和强化学习是常用算法。尽管面临数据处理、准确性与多样性平衡、兴趣变化等挑战,但未来机器学习有望通过结合先进算法提升推荐系统性能,同时需关注隐私和伦理问题。
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
497 1