打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
购物篮推荐场景太复杂?没有商品相关性标签?看作者运用对比学习统统解决


论文标题:

The World is Binary: Contrastive Learning for Denoising Next Basket Recommendation


论文作者:

Yuqi Qin, Pengfei Wang, Chenliang Li


收录情况:

SIGIR 2021 Full Paper


代码链接:

https://github.com/QYQ-bot/CLEA

背景

首先介绍一下这篇论文的 task,也就是下一个购物篮推荐,也就是根据用户的历史购物篮序列,来推荐用户在下一次可能购买的商品集合。

与传统的下一个商品推荐不同的是,在购物篮推荐中,由于用户行为的多样性与随机性,很多风格迥异的商品可能同时出现在同一个购物篮中,并非所有的购物篮都对预测用户下一次的行为有帮助,因此对购物篮进行去噪以及挑选出真正可信赖的相关商品就显得很有必要。

同时,由于一个购物篮中往往包含了超过一个的商品,对于目标购物篮中不同的目标商品,他们的相关商品也是不一样的,因此去噪过程应该是上下文感知的,这样历史商品相关性应该依赖于目标商品。(如图 1,目标购物篮 B=3,对其中的 grape 来说,pear 和 orange 才是相关商品;而对于 footbal 来说,footbal shoe 和 football shirt 才是相关商品
然而现有的一些方法主要关注于利用完整的历史序列进行序列建模,并且缺少了针对不同目标商品的上下文感知,这样将会导致引入很多的噪声,影响推荐性能。当然,为了减少噪声的影响,大家将注意力机制引入到序列建模中来,根据商品的相关性给不同商品分配不同的权重,但这种方式仍然不能显式的挖掘出可信的序列模式。

挑战

但是由于商品的相关性学习是没有直接 label 的,因此很难去训练出一个有效的去噪模型。同时用户行为的随机性与多样性加剧了学习的困难程度。

模型

基于上述分析的种种原因,作者提出了一个对比学习模型来自适应的挑选出与目标商品相关联的部分商品用于下一个购物篮推荐。
模型主要分为了 2 个部分:子购物篮序列生成器也就是去噪模块下文编码器

3.1 去噪模块

第一个去噪模块相当于一个二分类器 ,决定了历史序列中某商品 是否与目标商品 相关,主要用来显式的从每个购物篮中挑选出与目标商品相关的商品。

当 时,;当 时,;
但由于 hard-coding 方式是不可微的,因此作者通过使用 gumbel-softmax 方式来解决这个问题,其中 是从 gumbel 分布中采样的随机数。
当 时, 趋向于 0 或 1;当 时, 趋向于 0.5。
对于购物篮 中的商品 ,若 ,则将商品 归为正子购物篮 中;反之,归为负子购物篮 中。经过此过程后,便可以将完整的购物篮序列拆分成两个互不相交的子购物篮序列。
3.2 上下文编码器
将第一阶段得到的子购物篮序列输入到第二阶段的基于 gru 的上下文编码器,将子购物篮序列编码为一个固定长度的向量,用来表示用户对目标商品的相关偏好亦或者是用户对目标商品的无关偏好。最后用该向量计算出一个 0-1 之间得分,用来表示用户下一次将会购买该目标商品的概率。
首先通过 pooling 的方式得到购物篮的表达:

将购物篮表达输入到 GRU 编码器:
, 同理。
最后输出的隐状态作为用户对目标商品 的偏好。并计算得分:
, 同理。

3.3 基于锚指导的对比学习

为了更好的对商品相关性进行建模,作者还提出了用于相关性建模的对比学习过程——将正的子购物篮序列算出的分数称为 , 将负的子购物篮序列算出的分数称为 , 完整的购物篮序列算出的得分称为 也就是锚点。
普通的交叉熵 Loss 为:

为了保证去噪模块得到有效学习,防止去噪模块的劣等学习被通过更新上下文编码器或偏好嵌入等其他参数来轻松修复,设计了基于锚指导的 loss 函数,让:

, 让,loss 函数为:
,   为 sigmoid。
并且为了减小模式的训练难度,作者还提出了一个两阶段的学习过程:第一个阶段称为预训练阶段,直接将完整的购物篮序列输入到上下文编码器模块,最后算出得分 ,用 也就是交叉熵目标函数训练让 越来越大,直至收敛,是为了获得一个预训练好的上下文编码器。在第二个阶段,也就是交替训练阶段。
我们首先使用上一阶段训练好的上下文编码器,通过上述提出的对比学习 loss 函数 来只更新去噪生成器直至收敛;然后再固定去噪生成器,使用同样的 loss 函数来只更新上下文编码器直至收敛。并将此交替训练过程过程一直循环。
实验效果
4.1 主实验


4.2 分组实验


4.3 loss函数对比

其中, 为普通的交叉熵 Loss,可以看出作者提出的基于锚指导的对比学习 loss 学习起来效果更佳。
4.4 gumbel-softmax的模拟退火参数影响
,其中 为全局的迭代次数,每迭代 500 次温度系数 便按照上述公式衰减一次。
可以看出,需要一个较大的初始温度系数 来保证在开始时有更大的搜索解空间,继续提高初始温度时,整体性能下降,其原因是较高的温度加剧了模型收敛的困难。对于衰减系数也有出相似的发现,较小的 会使 CLEA 难以汇聚,较高的 限制了在更广阔的采样空间中探索的能力。实验结果表明,初始 , 时比较好。
4.5 模型的3个变体结果对比
其中, 为删掉去噪模块的 模型变体; 为只根据 作为 attention 系数来得到相关的子购物篮的表示; 为不采用作者提出的两阶段的训练方式进行训练,直接采用联合训练。可以看出 效果最佳。
4.6 维度影响
可以看出,在小维情况下都达到了最佳性能,这也体现了去噪的作用。

4.7 case study


小结与展望

本文针对下一篮推荐场景中的去噪问题,提出了一种对比学习模型(CLEA)来自动提取与下一篮推荐目标相关的商品。具体地说,我们首先设计一个去噪模块来自适应地识别历史购物篮中的每个物品是否与目标物品相关。

通过将初始篮子分解为两个子篮子,再通过基于 gru 的上下文编码器得到它们的表示,该编码器表示与目标项目相关的兴趣或无关的噪声。然后,一个新的锚指导的对比学习过程被设计,在不需要任何商品级的关联监督的同时来指导这个关联学习过程。

这是为下一个篮子推荐以端到端方式对篮子执行商品级去噪的第一个工作。作为未来的工作,作者计划利用弱监督信号更好地理解项目之间的相互作用,以进一步改进。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
完全图解GPT-2:看完这篇就够了(一)
注意力的动画解析(以机器翻译为例)
如何提升深度学习算法效率,谷歌有这些绝招
如何将知识图谱特征学习应用到推荐系统?
基于Blackfin533的H.264编码
Transformer
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服