论文名称:基于自监督学习的大规模项目推荐

论文地址:Self-supervised Learning for Large-scale Item Recommendations | Proceedings of the 30th ACM International Conference on Information & Knowledge Management


论文主要内容:

本文主要提出了 SSL 框架,采用对比学习的方式用于推荐中召回模型的训练,使模型取得更好的效果。

动机:

自监督学习再 CV 和 NLP 领域取得很好的效果,是否在推荐系统上也能获取更好的效果。

贡献:

  • 提出 SSL 框架,用于辅助学习;
  • 数据增强;

1. 自监督学习在 CV 和 NLP 领域比较常用,因为做起来较为方便。在 CV 领域,直接对图像进行旋转、裁剪等操作,就能进行数据增强;而在 NLP 领域,通过类似于 Word2vec 的方式,mask 掉句子中某个词语,就能做到 SSL。

2.对于推荐系统来说,其数据会很稀疏,原因包括:

  • 数据分布是高度倾斜度的,长尾分布,这样导致长尾项目不能被充分的学习;
  • 用户反馈的缺失,只有模糊隐含的正反馈,不够细致化。

3.SSL 框架图如下图所示, xi 和 xj 经过两种数据增强的方式(h 和 g),得到 yi、yi'、yj、yj',对应的 emb 是 zi、zi'、zj、zj',优化的方向是 maximize (zi 和 zi' 的相似度),minimize (zi 和 zj 的相似度),minimize (zi 和 zj' 的相似度)。传统上,针对 item 的 数据增强,是采用随机特征掩膜(RFM)。

4.作者尝试通过数据增强的方法,把同一个商品 xi 变成两种不同的输入 yi 和 yi', 并得到两 emb,借助自监督 Loss,提升模型对商品特征的辨别能力。基于以上正负样本,给出自监督 Loss 为

是温度系数,N 是batch size)

5.文中提出的数据增强的方法包括:

  • Dropout:对于 multi-hot 的特征,通过对每一维特征设置 dropout 实现增强
  • Masking:通过设置掩膜,将 item 的部分类目特征设为默认值(即输入为默认的emb),该步骤也可以看作对某个特征做了100% 的 dropout

6.对于 masking的方式,作者希望将特征划分为无重叠的两部分,并为此提出了2种划分方法:

RFM(Random Feature Masking): 随机掩膜,但在输入特征里,本身就可能存在相关度较高的特征,该方法划分出的2个输入,特征见可能相关性较大,导致自监督任务太简单,对模型没有增益

CFM(Correlated Feature Masking):随机选一个种子 feature,计算每个特征与它的互信息,将 TopK 个相似的特征与种子特征融合,作为一个输入,其他特征作为另一个输入;这里,作者的TopK为实际特征维度的一半,公式如下:

7.双塔模型

模型总的来说可以分成三层结构,分别是输入层、表示层和匹配层。

  • 输入层 :将用户、物品的信息转化为数值特征输入;

  • 表示层 :进一步用神经网络模型学习特征表示;

  • 匹配层 :计算用户特征向量与物品特征向量的相似度。

8.模型结构

模型架构:带有 SSL 的两塔模型。在 SSL 任务中,我们对项目特征应用特征掩码和 dropout 来学习项目嵌入。整个项目塔(红色)与监督任务共享。

9.多任务学习

作者把 SSL 作为一个辅助损失,编码器(H、G)复用 item 塔的网络;整体 loss 为

其中,{ qi,xi } 为原双塔模型的训练数据(监督样本),{ xi } 是自监督的训练样本。作者这里构建了两条样本流分别对不同 loss 做训练,自监督 loss 没有复用监督样本得原因是长尾商品在监督样本中出现的频率低,监督样本中商品为长尾分布,自监督 loss 的一个作用就是充分学习长尾商品的表达,因此才用均匀分布从商品库中提取自监督的训练样本 { xi }。

10.实验

数据集:

Baseline:

  • 双塔DNN;
  • Feature Dropout (FD):在item塔进行feature dropout,没有联合学习;
  • Spread-out Regularization (SO) :没有数据增强,有联合学习;

Result:

Self-supervised Learning for Large-scale Item Recommendations (CIKM 2021)相关推荐

  1. Free Lunch for Few-Shot Learning: Distribution Calibration(ICLR 2021)

    论文笔记 FSL 7]Free Lunch for Few-Shot Learning: Distribution Calibration(ICLR 2021) 下载地址 | 论文源码

  2. Introducing DataFrames in Apache Spark for Large Scale Data Science(中英双语)

    文章标题 Introducing DataFrames in Apache Spark for Large Scale Data Science 一个用于大规模数据科学的API--DataFrame ...

  3. A Multi-task Learning Framework for Opinion Triplet Extraction (EMNLP 2020)阅读记录

    目录 摘要 介绍 框架 问题建模 OTE-MTL 框架 句子编码 方面和观点表示 多任务框架 三元组解码 参考文献 观点三元组抽取的多任务框架 摘要 ABSA达到sota效果,主要在探测方面词和情感极 ...

  4. 【论文简述及翻译】FlowNet: Learning Optical Flow with Convolutional Networks(ICCV 2015)

    一.论文简述 1. 第一作者:Alexey Dosovitskiy等 2. 发表年份:2015 3. 发表期刊:ICCV 4. 关键词:光流估计.端到端训练.CNNs.数据集 5. 探索动机:卷积神经 ...

  5. 【推荐算法论文阅读】Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations

    一.背景 工业界现有的推荐系统都需要从一个超大规模的候选集中拉取item进行打分排序.解决数据稀疏和指数级候选集分布的一种通常做法是从item的内容特征中学习出item的稠密表示.这里很自然地就想到了 ...

  6. Concept Learners for Few-Shot Learning笔记(ICLR 2021)

    Concept Learners for Few-Shot Learning Background -- Few shot learning meta-learning Few-Shot learni ...

  7. Deep learning for arts——王乃岩(图森科技)

       主持人刘劲扬:下面首先请王乃岩老师给我们做关于"深度学习的艺术应用",这两天我们看了,好像画画的那例子.       王乃岩:大家好!我叫王乃岩,来自图森科技,非常荣幸能在这 ...

  8. 【Maching Learning】深度学习常用评价指标(分类+回归)

    深度学习分类.回归问题评价指标 一.分类评价指标 1.1混淆矩阵 1.2准确率(Accuracy) 1.3精确率(Precision) 1.4召回率(Recall) 1.5 F1{F}_{1}F1​分 ...

  9. Hands On Machine Learning with Scikit Learn and TensorFlow(第十章)

    Oscar帮助你寻找好的超参数组合. 每个隐藏层神经元的数量应该是逐渐减少的,因为第一层学到的低阶特征,可以在第二层组合成高阶特征 .

最新文章

  1. CIKM投稿数量1700篇,图神经网络成热门方向,最佳论文纷纷进行图研究
  2. 于计算机交朋友教案,三年级上册信息技术教案-2与计算机交朋友|人教版 (2)
  3. CrazyDiskInfo硬盘检测工具 安装记录
  4. 浅谈Nginx负载均衡与F5(硬件)的区别
  5. python定时爬虫_python 每天如何定时启动爬虫任务(实现方法分享)
  6. xmapp mysql启动失败 Attempting to start MySQL service...
  7. 沙盘游戏模型的基本象征
  8. css图片压缩不变形
  9. Hadoop MR 分区(partition)和全排序(WritableComparable)
  10. 2022年CSDN粉丝总数前100名博主
  11. restframework的 createmixin 的 serializer.save() 问题
  12. 【计算机视觉】数字图像处理(三)—— 图像变换原理分析
  13. Numpy:np.all() np.any()
  14. 全媒社:新闻媒体适合产品宣传吗
  15. Threejs 拓展之二进制数组
  16. java源文件是由什么组成_java源文件由什么组成?
  17. PVE系统+NAS+WEB 折腾笔记 :3-安装黑群晖
  18. kali-linux教程 ssh密码暴力破解和防御实战
  19. C语言学习,VScode下载、安装、环境变量配置、编写调试hello word
  20. 生产线是什么意思_AOI是什么意思?详解自动光学检测设备aoi

热门文章

  1. BIM在工程中的20种典型应用
  2. Centos7的yum安装报错Error: Nothing to do
  3. 一分钟学会看k线图_教你一分钟怎样学会看k线图(纯干货)
  4. 51Nod——T 1631 小鲨鱼在51nod小学
  5. android串口通信——身份证识别器
  6. 使用Python制作二维码生成软件
  7. 计算机科学核心知识体系
  8. 月入10万的人,他们都掌握哪些秘密?
  9. 2019.12.29 BMR计算
  10. SCU - 4110 - PE class