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

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

3天内不再提示

解决长尾和冷启动问题的基本方法

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

1什么是长尾问题

长尾问题一直是很多场景中最难优化的问题,特别是在推荐系统领域,长尾问题十分常见,却很难优化。在推荐系统中,长尾问题指的是,某些实体在训练数据中出现次数非常少,导致模型对这部分样本打分效果很差。典型的场景包括,新用户没有几条浏览行为,如何准确推荐用户感兴趣的内容;一些商品非常小众,用户反馈很少,如何对这些商品进行推荐等等。长尾在一个成熟的系统中往往服从二八定律,即20%的头部实体贡献了80%的数据,而剩余80%的实体只有20%的数据,实际场景中甚至比二八还要长尾。

长尾问题的难点主要体现在以下2点。首先,长尾实体的样本量太少,模型很难学习这部分样本的规律,例如用户的embedding、商品的embedding等,都是需要大量数据学习的。其次,头部样本在数量上占绝对优势,导致模型偏向拟合头部样本的规律,而尾部样本的规律和头部样本可能有较大差异,导致模型在尾部样本效果不好。

2如何解决长尾问题

那么,如何解决长尾问题呢?业内工作主要包括两种核心优化方法。第一种方法是基于meta-learning解决长尾问题。刚才我们说到,长尾用户或商品的数据量少,模型难学习,那么我们就让模型具备在少量样本上能学的比较好的能力就可以了。而meta-learning正是让模型实现上述能力的方法。我在之前的文章Meta-learning核心思想及近年顶会3个优化方向中对meta-learning的核心思路进行了详细介绍,感兴趣的同学可以进一步深入阅读。第二种方法是基于图学习解决长尾问题。长尾部分的由于数据少无法学到良好的embedding,在图学习中,可以利用丰富的邻居节点信息对长尾实体的信息进行补充,进而学到更好的embedding。

下面,我们分别来看看基于meta-learning的方法和基于图学习的方法解决长尾问题的典型工作。

3基于meta-learning的方法

基于meta-learning的长尾问题解决方法又可以分为两种思路,一种是利用meta-learning生成长尾用户或商品的良好embedding,另一种是利用meta-learning让模型获得在小样本上的快速学习能力。这里分别介绍两个思路的两篇经典文章。

第一篇文章是Improving ctr predictions via learning to learn id embeddings(SIGIR 2019)。这篇文章主要场景是广告的ctr预估,解决的问题是如何提升冷启动广告的预测效果。本文提出了基于meta-learning的冷启动广告embedding学习方法。首先将每个ad的ctr预测看成是meta-learning中一个独立的任务。然后学习一个embedding生成器,生成器的输入是广告的特征,输出embedding。整个过程利用meta-learning的思路进行学习,利用meta-learning中的support set和query set模拟一个冷启动广告生成embedding和使用embedding预测,进而优化embedding生成器。

b9d71712-2cd9-11ed-ba43-dac502259ad0.png

整个meta-learning的过程如下所示,在一个预训练好的模型基础上进行。随机选择一些广告,生成两个batch的数据。使用embedding生成器生成embedding后使用第一个batch计算loss,再利用这个loss更新一步生成器(内循环);然后使用更新后的生成器计算另一个batch上的loss(外循环),并更新最终参数

b9ee5b16-2cd9-11ed-ba43-dac502259ad0.png

第二篇文章是MeLU: meta-learned user preference estimator for cold-start recommendation(KDD 2019)。这篇文章主要也是借助了meta-learning让模型具有快速学习能力,让模型能够在冷启动样本上,只看到少数几个item就能进行快速的更新参数。

ba01e0aa-2cd9-11ed-ba43-dac502259ad0.png

这篇文章重点解决的是user侧的冷启动问题,对于一个user的数据分成support set和query set,在support set内循环后在queryset评估效果并进行全局更新。embedding层不使用meta-learning,只在全连接层进行meta-learning。

ba18ba14-2cd9-11ed-ba43-dac502259ad0.png

4基于图学习的方法

基于图的学习方法通过图建立不同实体之间的关系,进而可以用其他实体的信息丰富长尾实体的信息,缓解由于长尾导致的样本不充分无法学习良好表示的问题。

Learning Graph Meta Embeddings for Cold-Start Ads in Click-Through Rate Prediction(SIGIR 2021)利用图学习解决新ad的embedding生成问题。对于新ad,使用属性特征和图学习生成一个合理的embedding。根据属性重合度构造新ad的相似邻居,并按照属性的重合度排序,得到最相似的几个ad。然后利用GAT进行new ad和其邻居的信息融合,再用全连接生成新ad的向量表示,作为id embedding。这个过程相当于根据属性找到与新ad最相似的旧ad,用旧ad的信息丰富新ad的embedding。在训练方法上,先用旧ad训练一个正常的ctr预估模型,然后固定ctr模型的参数,单独训练新ad表示生成部分的参数,利用meta-learning的方法更新模型参数。

ba3e8a78-2cd9-11ed-ba43-dac502259ad0.png

Graph Intention Network for Click-through Rate Prediction in Sponsored Search(SIGIR 2019)也是一篇比较有代表性的工作。CTR预估中经常需要对历史行为建模提升效果(比如用户历史点击过的商品),但是长尾用户的历史行为比较稀疏。因此这篇文章提出,利用点击行为构造商品和商品之间的图,利用这个图补充历史行为信息。通过商品-商品图,可以挖掘出和当前商品高度相关的其他商品,这些商品虽然没有直接的点击行为,但由于和点击过的商品高度相关,因此用户点击这些商品的概率可能也很高。通过这种基于图扩展信息的方法,解决长尾用户历史行为稀疏的问题。

ba529e64-2cd9-11ed-ba43-dac502259ad0.png

5总结

本文为大家介绍了解决长尾和冷启动问题的基本方法,主要包括meta-learning和图学习两个路线。Meta-learning更侧重于让模型具有在小样本上快速学习的能力;而图学习更侧重于挖掘和长尾实体相关的邻居,用邻居信息补充长尾实体的信息。

审核编辑 :李倩

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

    关注

    8

    文章

    6504

    浏览量

    87445
  • 模型
    +关注

    关注

    1

    文章

    2671

    浏览量

    47571
  • 生成器
    +关注

    关注

    7

    文章

    300

    浏览量

    20113

原文标题:长尾预测效果不好怎么办?试试这两种思路

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

收藏 人收藏

    评论

    相关推荐

    在MCAL中禁用了ALM8 [10] 和 ALM8 [17],为什么SMU AG8在冷启动时仍会报告错误?

    如图所示,我在 MCAL 中禁用了 ALM8 [10] 和 ALM8 [17],但是 SMU AG8 在冷启动时仍会报告这两个错误,而 WDG 工作正常。 但是,如果我使用调试器重置程序,则不会报告这些警报。 我能有一些建议吗? 谢谢。
    发表于 01-18 10:32

    冷启动(Cold boot)流程及阶段划分

    restart--冷启动 reset--热启动 ATF冷启动实现分为5个步骤: • BL1 - AP Trusted ROM,一般为BootRom。 • BL2 - Trusted Boot
    的头像 发表于 11-07 15:17 626次阅读
    <b class='flag-5'>冷启动</b>(Cold boot)流程及阶段划分

    求助! 关于使用自制底板插入创龙IMX8MM 核心板无法启动问

    求助! 关于使用自制底板插入创龙IMX8MM 核心板无法启动问题,使用自制底板烧入程序卡在切换到EMMC设备阶段,使用创龙底板考入系统后,从emmc启动,核心板量3个灯后没反应(估计也是卡在EMMC打开阶段)
    发表于 10-25 15:51

    汽车电子应用中的冷启动

    电子发烧友网站提供《汽车电子应用中的冷启动.pdf》资料免费下载
    发表于 10-20 11:13 0次下载
    汽车电子应用中的<b class='flag-5'>冷启动</b>

    北斗/GPS定位模块冷启动、热启动、温启动有什么区别?

    1.冷启动**   什么条件下GPS冷启动?当设备关机时间超过4小时,或者设备光机状态下移动超过200公里,因为天空的GPS卫星星历参数发生了变化,开机时设备需要重新下载星历。 2.热启动
    发表于 09-14 14:37

    Serverless冷启动:如何让函数计算更快更强?

    Serverless 计算的无状态函数编程在带来高度弹性和灵活性的同时,也导致了不可避免的冷启动问题。由于函数通常在执行完请求后被释放,当请求到达时,如果没有可用实例则需要从零开始启动新的实例处理请求(即冷启动)。
    的头像 发表于 09-03 09:33 311次阅读
    Serverless<b class='flag-5'>冷启动</b>:如何让函数计算更快更强?

    什么是冷启动和热启动 西门子PLC的热启动冷启动有什么区别?

    完全再启动启动类型,启动时过程映像和不保持的标志存储器、定时器及计数器被清除,保持的标志存储器
    发表于 07-14 14:14 572次阅读

    电源播放:不要因为ASIL B和冷启动规格而感到冷脚

    在这篇博文中,我们将回顾TFT-LCD背光设计的主要挑战,重点介绍它们如何满足ASIL安全标准。我们还将研究它们如何在低电池电压(冷启动)下无显示屏闪烁的情况下运行,同时保持低EMI和更小的尺寸。最后,我们将介绍一款满足这些标准的TFT-LCD背光驱动器IC,用于汽车显示器。
    的头像 发表于 06-28 10:14 424次阅读
    电源播放:不要因为ASIL B和<b class='flag-5'>冷启动</b>规格而感到冷脚

    w78E516D写入程序后,冷启动或复位后,程序无法启动运行如何解决?

    两片新唐W78E516D芯片,开始都能通过ISP方式正常写入和执行程序, 后来在某次通过ISP写入程序后,不关机或复位(复位按钮),程序能正常运行, 冷启动或复位后,程序无法启动运行,一块需要
    发表于 06-28 08:04

    CVPR 2023 | 清华大学提出LiVT,用视觉Transformer学习长尾数据

    Transformer 处理长尾分布数据的能力和特性,还有待进一步挖掘。 目前,已有的长尾识别模型很少直接利用长尾数据对视觉 Transformer(ViT)进行训练。基于现成的预训练权重进行研究可能会导致不公平的比较结果,因
    的头像 发表于 06-18 21:30 317次阅读
    CVPR 2023 | 清华大学提出LiVT,用视觉Transformer学习<b class='flag-5'>长尾</b>数据

    如何将MAX15005电流模式控制器用作汽车冷启动条件下的升压电路

    当汽车发动机保持在寒冷的气候中或长时间处于冰冻温度下时,发动机油变得非常粘稠。在低温下,电池的内阻也会从正常值增加。如果在此期间启动发动机,则起动电机需要更多的扭矩,这会从电池中吸收更多电流。由于电流要求的瞬态和高串联电阻,电池电压可降至2.5V。这被称为汽车中的冷启动
    的头像 发表于 06-12 14:43 587次阅读
    如何将MAX15005电流模式控制器用作汽车<b class='flag-5'>冷启动</b>条件下的升压电路

    电动机启动困难及解决方法

    电动机启动困难是指电动机在启动时需要很长时间才能启动,或需要多次尝试才能成功启动的现象。该问题可能出现在各种类型的电动机上,包括单相电动机和三相电动机。以下是电动机
    的头像 发表于 06-03 09:48 4201次阅读

    250mA降压-升压型电荷泵转换器满足汽车冷启动要求

    输出电压 (3.3V 和 5V) 之一,或通过一个反馈分压器设置至 2.5V 至 5.5V 的任何输出电压。最大输出电流为250mA。由于其降压-升压型拓扑,LTC3245 能够调节一个高于或低于输入电压的电压,从而使其能够满足汽车冷启动要求。
    的头像 发表于 04-19 10:45 422次阅读
    250mA降压-升压型电荷泵转换器满足汽车<b class='flag-5'>冷启动</b>要求

    自定义PCB启动问题求解

    我的定制板面临启动问题。如果电源电压超过 3.3V,那么开发板始终以下载模式启动,我在终端中看到以下几行: rst (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT
    发表于 04-13 06:51

    你知道什么是超级电容汽车启动电源吗?

    车内气温高,有自燃的风险。冬天相对气温低,续航又是一个问题,时常因为冷,应急电源无法正常启动车辆。后者天冷启动不了我就遇到过。锂电池和超级电容有什么不同虽然都叫车载应急
    的头像 发表于 04-12 15:32 2626次阅读
    你知道什么是超级电容汽车<b class='flag-5'>启动</b>电源吗?