0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于谷歌中长尾item或user预测效果的迁移学习框架

深度学习自然语言处理 来源:圆圆的算法笔记 作者:圆圆的算法笔记 2022-09-19 11:18 次阅读

推荐系统经常面临长尾问题,例如商品的分布服从幂率分布导致非常多的长尾样本只出现过很少的次数,模型在这部分样本上的效果比较差。对长尾样本增加权重,或者通过采样的方法增加长尾样本,又会影响数据分布,进而造成头部样本效果下降。针对这类问题,谷歌提出了一种可以实现头部样本知识迁移到尾部样本的迁移学习框架,使推荐系统中长尾预测问题效果得到显著提升,并且头部的预测效果也没有受到损失,实现了头部尾部双赢。

文中提出的迁移学习框架主要包括model-level transfer和item-level transfer。其中model-level transfer通过学习一个多样本模型和一个少样本模型,并学习一个二者参数的映射函数,实现模型参数上的迁移;item-level transfer通过对模型训练流程的优化,让映射函数同时能够学到头部item和尾部item之间的特征联系。

1

Model-level Transfer

Model-level Transfer的核心思路是学习many-shot model和few-shot model的参数映射关系,这个思路最早来源于2017年NIPS上的一篇文章Learning to Model the Tail(NIPS 2017)。比如下面的例子中,living room是头部实体,可以利用living room结合不同的样本量,学到模型参数是如何从one-shot(theta1)变换到two-shot(theta2)一直到many-shot(theta*)。那么对于一个tail实体library,模型只能通过few-shot学到一个模型参数,但是可以利用在many-shot上学到的参数变化经验推导出library上的参数变化。通过不断增加数据,模型参数发生变化,模型学习的是数据增强的过程如何影响了模型参数变化。

41a76436-373d-11ed-ba43-dac502259ad0.png

在推荐系统中也是同理,给定一个item和user的反馈信息,模型隐式的学习如何增加更多user的反馈信息帮助这个item的学习,也就是从少数据到多数据的模型参数变化过程。

41bc8f0a-373d-11ed-ba43-dac502259ad0.png

基于上述思路,本文通过一个meta-learner学习这种参数随着shot增加的映射关系。首先构造两种类型的数据集,第一种数据是利用头部商品构造的many-shot训练数据,用来训练一个base-learner;第二种数据是在头部数据中进行下采样,模拟得到的few-shot训练数据。Meta-learner是一个函数,输入few-shot模型的参数,预测出many-shot模型的参数,即学习这个映射关系,损失函数如下,第一项是预测many-shot参数的损失,第二项是在few-shot数据上模型的预测效果:

41dd63f6-373d-11ed-ba43-dac502259ad0.png

其中,本文主要优化的部分是base-learner在user和item网络中的最后一层参数,因为如果学习全局参数的映射关系,计算复杂度太高。

41ef03fe-373d-11ed-ba43-dac502259ad0.png

2

量Item-level Transfer

在model-level transfer中我们提到,需要构造一个many-shot数据集和few-shot数据集。一种常用的方法是根据头部数据(例如样本数量大于一定阈值的)构造many-shot数据,同时利用头部数据做下采样构造few-shot数据。但是在推荐系统中,尾部item的数量众多,只根据头部item这个参数的映射关系可能在尾部item上效果不好。因此本文提出了一种curriculum transfer的方法。

具体的,在数据集的构造上,many-shot使用了包括头部和尾部所有item的数据构成(如上图中的黄色区域),few-shot使用了头部item下采样加所有尾部item构成(如上图中的蓝色区域)。这种方式保证了many-shot和few-shot模型在训练过程中都能充分见到长尾样本,提升item表示的学习效果,同时也能在few-shot训练时,保证尾部数据的分布仍然是接近初始的长尾分布,缓解分布变化带来的bias。同时在损失函数中,引入了logQ correction,根据样本量平衡头部样本和尾部样本对模型的影响,曾经在Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations(2017)等论文中应用过。

3

模型预测

在预测过程中,会融合base-learner得到的user表示,以及经过meta-learner根据few-shot学到的参数融合到一起进行预测,通过一个权重平衡两个表示,公式如下:

420499a8-373d-11ed-ba43-dac502259ad0.png

对于长尾user,也可以利用相似的方法解决。此外,文中也提出可以采用多阶段的meta-learner学习方法,例如从1-shot到2-shot再到many-shot,串行学习多个meta-learner,这与Learning to Model the Tail(NIPS 2017)提供的方法比较相似。

4215f4b4-373d-11ed-ba43-dac502259ad0.png

4

实验结果

作者在多个数据集上对比了一些解决长尾问题的方法效果,实验结果如下表。可以看到,本文提出的MIRec方法效果要明显好于其他方法。作者的实验基础模型是一个user侧和item侧的双塔模型,具体的长尾优化对比模型包括re-sampling类型方法(如上采样和下采样)、损失函数方法(如logQ校准、classbalance方法,二者思路都是在损失函数中引入不同样本频率加权样本)、课程学习方法(Head2Tail,即先在全量样本上预训练,再在尾部样本上finetune,Tail2Head是反过来的操作)、基于Meta-learning的方法(MeLU)。

422c07e0-373d-11ed-ba43-dac502259ad0.png

423f6d6c-373d-11ed-ba43-dac502259ad0.png

从上面的实验结果可以看出几个关键点。首先,sampling-based方法效果非常差,这主要是由于sampling改变了数据本身的分布,而推荐系统中,模型的效果对于数据分布是非常敏感的,使用真实分布的数据训练效果会更好。其次,基于loss加权的方法如ClassBalance和LogQ,对于长尾的效果提升非常明显,但是对于头部item有明显的负向影响。最后,MIRec在头部和长尾都实现了效果提升,这是其他模型很难做到的。

5

总结

本文介绍了谷歌提出的解决推荐系统中长尾item或user预测效果的迁移学习框架,通过many-shot到few-shot的参数规律变化学习,结合对数据分布的刻画,实现了头部、尾部双赢的推荐模型。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5839

    浏览量

    103232
  • 数据
    +关注

    关注

    8

    文章

    6509

    浏览量

    87559
  • 函数
    +关注

    关注

    3

    文章

    3859

    浏览量

    61297

原文标题:谷歌MIRec:头部尾部双赢的迁移学习框架

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深度学习预测和健康管理中的应用

    深度学习预测和健康管理中的应用综述摘要深度学习预测和健康管理(PHM)引起了浓厚的兴趣,因为它具有强大的表示能力,自动化的功能学习能力以
    发表于 07-12 06:46

    迁移学习

    的基本原理和编程思想。理解在一个新的场景数据集下,何时以及如何进行迁移学习。利用PyTorch加载数据、搭建模型、训练网络以及进行网络微调操作。给定迁移场景,利用daib库和生成对抗
    发表于 04-21 15:15

    机器学习简介与经典机器学习算法人才培养

    思想。理解在一个新的场景数据集下,何时以及如何进行迁移学习。利用PyTorch加载数据、搭建模型、训练网络以及进行网络微调操作。给定迁移场景,利用daib库和生成对抗技术独立完成图像
    发表于 04-28 18:56

    sequence item实际应用中应该包含哪些东西

    sequence item是什么,而会介绍sequence item是实际应用中应该包含哪些东西。01 Seq Item 框架Sequence it
    发表于 09-23 14:42

    卷积神经网络长尾数据集识别的技巧包介绍

    1、卷积神经网络长尾数据集识别的技巧包  最近,长尾识别持续引起关注,产生了很多不同的方法,这些方法属于不同的范式,度量学习,元学习和知识迁移
    发表于 11-30 15:26

    基于多误差指标的电力中长期负荷组合预测

    中长期负荷预测受大量不确定性因素的影响,如何在预测模型中综合考虑各种误差的影响,对预测准确性至关重要。通过一种客观赋权的熵权法来进行电力负荷预测
    发表于 05-28 14:51 17次下载

    中长期负荷预测协调思路_胡强

    中长期负荷预测协调思路_胡强
    发表于 03-19 11:41 0次下载

    谷歌FHIR标准协议利用深度学习预测医疗事件发生

    使用电子健康记录(EHR)数据的预测建模预计将推动个人化医疗并提高医疗质量。谷歌发布消息称已经开源该协议缓冲区工具。谷歌FHIR标准协议利用深度学习
    发表于 03-07 17:14 7850次阅读
    <b class='flag-5'>谷歌</b>FHIR标准协议利用深度<b class='flag-5'>学习</b><b class='flag-5'>预测</b>医疗事件发生

    迁移学习Finetune的四种类型招式

    迁移学习广泛地应用于NLP、CV等各种领域,通过在源域数据上学习知识,再迁移到下游其他目标任务上,提升目标任务上的效果。其中,Pretrai
    的头像 发表于 04-02 17:35 2578次阅读

    一个基于参数更新的迁移学习的统一框架

    它提出一个基于参数更新的迁移学习的统一框架,建立多种参数优化方法之间的联系,从而方便理解不同方法背后的关键设计,进而设计出只更新更少参数同时取得更好效果的参数优化方法。
    的头像 发表于 09-26 10:29 991次阅读

    一个通用的时空预测学习框架

    。这篇论文介绍了一种用于高效时空预测的时间注意力单元(Temporal Attention Unit,TAU)。该方法改进了现有框架,对时间和空间上的依赖关系分别学习,提出了时间维度上的可并行化时序注意力单元
    的头像 发表于 06-19 10:27 958次阅读
    一个通用的时空<b class='flag-5'>预测学习</b><b class='flag-5'>框架</b>

    视觉深度学习迁移学习训练框架Torchvision介绍

    Torchvision是基于Pytorch的视觉深度学习迁移学习训练框架,当前支持的图像分类、对象检测、实例分割、语义分割、姿态评估模型的迁移
    的头像 发表于 09-22 09:49 441次阅读
    视觉深度<b class='flag-5'>学习</b><b class='flag-5'>迁移</b><b class='flag-5'>学习</b>训练<b class='flag-5'>框架</b>Torchvision介绍

    python里item的用法

    item是Python中一个非常重要的概念,它可以用于多种数据结构和算法的实现。在Python中,item通常用于表示一个集合或序列中的一个元素。本文将详细介绍item的用法,并探讨它在列表、字典
    的头像 发表于 11-21 15:09 1466次阅读

    谷歌模型框架是什么?有哪些功能和应用?

    谷歌模型框架(Google Model Framework)并不是一个特定的框架,而是指谷歌开发的一系列软件框架,用于支持机器
    的头像 发表于 02-29 18:11 634次阅读

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlow。TensorFlow是一个开源的机器
    的头像 发表于 03-01 16:25 220次阅读