基于迁移学习的推荐系统设计与研究

2023-12-31 00:00:00莫杰智
电脑迷 2023年14期

【摘 "要】 推荐系统旨在挖掘用户历史兴趣偏好训练模型,再用模型为用户提供个性化推荐。模型的好坏主要取决于模型的记忆及泛化能力。要想充分挖掘用户兴趣偏好,常见的做法包括通过特征迁移学习挖掘用户在多个场景下的兴趣。如果目标场景样本量不足,模型容易陷入过拟合。实验表明可以通过样本迁移学习、基于对抗式的迁移学习及基于多任务联合训练迁移学习等方法解决此问题。其他包括但不限制于用户物品冷启动问题,推荐系统的重排策略等,均可对迁移学习方法进行优化。总而言之,迁移学习与推荐系统存在密不可分的关系。

【关键词】 推荐系统;迁移学习;特征挖掘;个性化推荐;多任务模型

迁移学习研究的是如何利用已有知识来解决新的问题,广泛用于物品识别、风格转化、推荐系统等领域[1]。本文主要研究迁移学习在推荐系统的应用,通过一个比较典型的案例,分析案例中源场景及目标场景的差异,结合目标场景的线上业务目标,分别介绍使用何种迁移学习方案提升目标场景业务指标以及为何使用该方案;使用改方案存在什么问题,以及如何对当前方案进行修改升级,从而保留当前方案的优点、摒弃缺点;使用不同迁移学习方案下实验的离线及在线效果评估;对比不同解决方案效果进行分析,最终凝练知识,形成方法论。

一、背景

目标场景为新上线的短视频推荐场景(下文称为目标场景)。目标为优化短视频场景下双塔召回模型[2]。由于该场景新上线,没有累计足够多的场景内用户行为信息,导致模型预估精度偏低。考虑信息流图文场景(下文称为源场景)运营足够成熟,源场景下用户行为丰富。待优化的目标用户(目标场景下用户)与源场景下用户交集占96%,且这部分用户在源场景下人均使用时长大于5分钟,加上源场景与目标场景同属于内容消费相关场景,具备极大的迁移价值。因此可通过迁移学习的方式,充分利用用户源场景下知识,弥补由于目标场景下用户行为不足无法充分表征用户内容兴趣的问题。充分利用源场景下样本量丰富的特性,选择合适的迁移学习方法提升目标场景模型预估能力。

二、相关工作

(一)基于特征的迁移学习

考虑用户在目标场景下行为不足,统计用户在目标场景对不同Tag类目视频的偏好也不全面。源场景与目标场景同属于内容消费相关场景。对源场景及目标场景下Item选择相同Tag分类规则,采样统计用户在源场景及目标场景下Tag偏好,发现尽管源场景和目标场景内容呈现形态不同(图文内容、视频内容),但单个用户对内容Tag兴趣存在很大的关联性及一致性。因此希望挖掘统计用户在源场景下对不同内容Tag类目偏好构造特征,然后把这部分特征作为用户特征加入目标场景模型中来。具体流程:先使用目标场景内容理解模型对源场景下Item划分所属Tag类目及相关性,譬如item1:才艺0.4;教育0.4;舞蹈0.2,item2:美食0.7;母婴亲子0.3。统计每个用户近30天在源场景下对内容Item的有效消费(阅读时长超过指定阈值或浏览长度超过整篇图文内容占比超过指定阈值)。再对这些Item按其Tag类目及权重占比加权,得到用户在源场景下Tag偏好及打分。最后对其按打分进行降序排序,选择出用户最感兴趣的N个Tag类目作为特征。同理使用与目标场景内容理解模型对源场景下Item抽取关键词,再根据用户近30天在源场景下对内容Item有效消费统计用户感兴趣的TopM个关键词作为特征。最后把这些特征作为用户实时动态画像特征加入目标场景模型中参与训练及线上预估。

训练样本与基线训练样本一致,只是用户侧特征增加用户在源场景下的兴趣特征。

(二)基于多任务模型联合训练迁移学习

由于目标场景下目标模型整体为DNN结构。模型的底层输入特征会先通过hash再随机构造低纬稠密向量Embedding[3]。分析目标场景下总样本量偏少,导致模型对底层输入特征Embedding训练不充分。即使直接在模型中加入用户在源场景下的兴趣特征,也会因为样本量不足影响特征表现。而源场景下样本量大,希望联合源场景下样本一起训练模型。利用多任务模型的参数共享特性[4],模型通过梯度下降共同优化底层输入特征Embedding。源场景样本除了可以实现优化新引入的用户源场景兴趣特征,亦可同时训练用户在短视频场景下独有特征(Session播放列表特征等)以及其他用户静态画像特征(UserId、性别、年龄等),从而间接迁移学习源场景知识提升模型的表达能力。

模型采用多任务双塔召回模型,结构如图1所示。由于目标场景下Item与源场景下Item不同,所以分别构建Item tower子网络。Item tower输入特征为对应Item物料画像特征(ItemId、Tag、OCR、上线日期等)以及Item动态画像特征(统计类特征)。Item tower分别输出一个64维的Item Embedding。User Tower输入特征为用户静态画像特征、用户目标场景动态画像特征(Session播放列表、统计类特征等)以及用户源场景动态画像特征(感兴趣Tag类目、感兴趣Key word特征等)。User tower输出一个64维的User Embedding。两个待优化任务模型共享User Embedding及User tower子网络。logit=cosine(User Embedding,Item Embedding)。最后使用交叉熵损失函数计算loss。

目标场景训练样本选取:目标场景正样本选取用户在目标场景下有效播放样本,采用正负样本比为1:20的对全局Item随机采样进而构建负样本。

源场景训练样本选取:选取近120天在目标场景有消费行为的用户在源场景下有效阅读样本作为正样本,采用正负样本比为1:20的对全局Item随机采样进而构建负样本。

训练流程:训练流程方案可以分成两种:把所有样本随机打散进行模型训练(MODEL2-1)。也可以先全部训练源场景样本再训练目标场景样本(MODEL2-2)。最终评估样本为目标场景样本,因此猜测第二种训练流程方案在离线及在线表现会优于第一种。

(三)基于特征Embedding提取的迁移学习

基于多任务模型联合训练迁移学习中共用User Tower及User Embedding,充分利用源场景样本对底层输入特征Embedding训练的同时,也导致User Tower及User Embedding需要平衡拟合不同任务下不同空间域的Item Embedding。这会导致模型的User Tower及User Embedding无法专注于拟合短视频场景任务下的Item Embedding。考虑到目标仅为优化目标场景下召回模型,而不需要优化源场景下的召回模型。这种情况会给最终目标带来负向效果。可以设置这两项任务目标的权重,通过模型训练时降低源场景任务权重,从而令User Tower及User Embedding更加倾向于贴合目标场景Item Embedding。但是这样做也会影响引入源场景样本优化训练User Tower底层输入特征Embedding的效果。

可以把多任务模型拆解成两个独立模型。源场景模型用于训练学习User tower输入特征Embedding。再把充分训练过的User tower输入特征Embedding合并到目标场景模型的User tower的输入层作为迁移知识的输入。最后再用近7天目标场景样本对迁移模型(最终目标场景模型)进行Fine tune。既保留源场景样本训练学习输入特征Embedding的优点,又规避了由于User Tower及User Embedding直接共享所带来的缺陷。各模型结构及迁移合并训练的训练流程如图2所示。

(四)模型上线及线上serving

天级别训练源场景样本双塔模型,天级别更新合并迁移模型,使用近7天目标场景样本对迁移模型进行Fine tune。每隔一个小时使用最近一小时目标场景样本对当前模型进行增量模型训练得到实时模型。使用最新版本模型对Item做离线预估出Item Embedding推送更新到Faiss索引文件。模型Serving对线上用户实时预估User Embedding。Faiss服务根据User Embedding检索TopN ItemId返回作为本次模型召回内容。

三、实验及效果评估

(一)模型离线训练集与测试集

模型离线训练集采用相同周期内源场景及目标场景120天样本。离线评估测试集为目标场景第121~127天样本。

(二)模型离线及线上效果评估

模型离线评估指标为AUC。模型线上实验流量按UserId进行随机划分。在线评估指标统计相同上线周期内一周线上效果。评估指标有Video View占比、人均播放时长以及次日留存率,且均采用基线BASE提升百分百统计。

(三)对照组及实验组模型设计

1. BASE是不做任何迁移学习的基线模型。2. MODEL1是章节(二)介绍的在基线模型基础上加上用户源场景兴趣特征模型。3. MODEL2-1是章节(二)介绍的训练流程采取所有样本随机打散训练的模型(含用户源场景兴趣特征)。4. MODEL2-2是章节(二)介绍的训练流程采取先训练源场景样本再训练目标场景样本的模型(含用户源场景兴趣特征)。5. MODEL3是章节(三)介绍的迁移学习模型(含用户源场景兴趣特征)。

(四)不同模型离线及线上效果比较

表1展示了在选择不同迁移学习模型的情况下离线及在线的效果。

(五)结果

1. 对比MODEL1与BASE,挖掘迁移用户源场景兴趣特征确实能提升模型预估准确性。2. 对比MODEL2-1与MODEL1,叠加对源场景样本的迁移学习,模型可以在不添加额外特征的情况下取得较大的提升。3. 对比MODEL2-1与MODEL2-2,离线及在线效果差异不大。可能是因为模型都是按天级别进行迭代训练,且样本回溯训练周期为120天,不同训练流程下真正影响的只有最近一天数据,对模型影响不大。4. 对比MODEL2-2与MODEL3,独立出源模型用于训练学习User tower输入特征Embedding,确实能给模型预估带来更大的提升。

四、结论和展望

研究结合了源场景和目标场景均同属于内容消费相关场景的特性,可以使用基于特征的迁移学习模型。利用目标场景模型(双塔召回模型)具备DNN模型对输入特征Embedding学习的特点及User Tower和Item Tower分离的特性,可使用基于特征Embedding提取的迁移学习以及基于多任务模型联合训练的迁移学习。当然迁移学习不仅仅局限于以上方法,目前我们也在尝试使用基于样本权重的迁移学习、基于异构的迁移学习以及基于对抗式的迁移学习。

参考文献:

[1] 王晋东,陈益强. 迁移学习导论[M]. 北京:电子工业出版社,2021:135-145.

[2] Yi X,Yang J,Hong L,et al. Sampling-bias-corrected neural modeling for large corpus item recommendations[C]. Proceedings of the 13th ACM Conference on Recommender Systems,2019:269-277.

[3] 王喆. 深度学习推荐系统[M]. 北京:电子工业出版社,2020:103.

[4] Ma J,Zhao Z, Yi X,et al. Modeling task relationships in Multi-task learning with Multi-gate Mixture-of-Experts[C]. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery amp; Data Mining,2018:1930-1939.