• 对比学习《Selfsupervised Learning for Largescale Item Recommendations》


    背景

    在推荐系统中存在用户行为稀疏的问题,特别是在召回阶段,用户有过交互的item只占非常少的一部分,只有这部分数据我们能用来训练,但是serving时要serving全库item,这可能会导致倾向热门的item,特别是对冷启动非常不友好。这篇论文引入来在CV、NLU中取得成功的对比学习方法,通过一个辅助任务来帮助主任务模型和底层embedding得到更充分的训练。

    方法

    这篇论文的重点就在于辅助任务的样本是如何构造的?损失函数是如何设计的?

    辅助任务样本的构造方法(论文中也被称为数据增强)

    主要的步骤就是 mask + dropout

    对于一个样本我们会mask掉它的部分embedding,然后随机dropout掉部分embedding,这两步操作可以看作样本的一次变换

    同个样本经过不同变换得到的两个样本构成正例

    不同样本经过不同变换得到的两个样本构成负例

    在这里有两种mask方法:

    1. 随机mask

    2. 线随机选取一个feature,然后选取和它互信息最大的一半feature一起mask

    损失函数设计方法

    我们会在一个batch内计算损失,最大化同个样本经过不同变换后得到的两个样本之间的余弦距离,最小化不同样本经过不同变换后得到的两个样本之间的余弦距离

    联合训练

    论文中会把这个主任务和辅助任务一块训练,损失函数是:

    主任务和辅助任务可以共享部分/全部 embedding 和 nn 参数 

  • 相关阅读:
    直道相思了无益 你既无心我便休
    c#与XML
    ASP.NET读取Excel文件的三大方法浅析
    当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。
    比较这2段HTML代码
    编码的一点思维
    代码修改的一个范例
    在aspx.cs中不出现中文?
    规则先行
    设计模式——UML简介
  • 原文地址:https://www.cnblogs.com/xumaomao/p/15922498.html
Copyright © 2020-2023  润新知