SimpleX: 一个简单且有效的协同过滤框架

2022 年 6 月 7 日 机器学习与推荐算法
嘿,记得给“机器学习与推荐算法”添加星标

今天跟大家分享一篇发表在CIKM2021会议上的关于协同过滤框架的论文,该论文总结了一个简单且有效的CF框架,并探索了不同的损失函数以及负采样比率对最终推荐结果的影响。

论文:https://arxiv.org/abs/2109.12613
代码:https://github.com/xue-pai/TwinMatch/blob/master/deem/pytorch/models/SimpleX.py

众所周知,协同过滤(CF)已经成为了推荐系统领域中基础但非常重要的算法簇,以往的研究中侧重于设计全新的算法模块,比如结合多层感知机的NCF以及结合图神经网络的NGCF等。

本文中将协同过滤范式大致分为了三个组件,即交互编码器(Interaction encoder)、损失函数(Loss function)以及负采样(Negative sampling)组件,其中以往的研究侧重于开发和设计全新的交互编码器,而忽略了对于损失函数和负采样比率的研究,因此基于以上动机,本文提出了一个简单且强悍的交互编码器,在此基础上用实验分析了不同的损失函数和负采样比率对推荐结果的影响,并最终提出了一个有效的余弦对比损失。

根据何老师的教程可以大致将交互编码器模块分为表示模块(Representation learning)和匹配模块(Matching function)。其中表示学习模块主要负责学习用户和物品的特征表示,比如MF、Item2vec以及DSSM等,匹配模块主要用来学习两者之间的交互关系,从简单的内积、余弦相似度到复杂的MLP等机制。

其中,基于表示学习的协同过滤代表方法包括DeepMF、AutoRec、CDAE等模型;基于匹配学习的协同过滤代表方法包括NueMF、ConvNCF、TransRec、Wide&Deep以及DeepFM等。

模型结构

下图是本文总结的算法架构图(文中声明其并不novel,因为在多个工作中都有类似的结构,比如YoutubeNet,该文重点是在探索在这样简洁的框架下损失函数和负采样对实验结果的影响),可见其比较简单直白,用户表示方面主要是将用户的隐特征向量与历史交互物品的隐特征向量进行了加权求和,其中历史交互物品的隐特征向量通过多种聚合方式实现,然后通过将用户的特征表示与候选物品的特征表示求余弦相似度进行比较,最终利用余弦对比损失CCL进行模型优化。

其中关于聚合层的细节,本文主要介绍了三种聚合方式(比如average pooling、self-attention以及user-attention等)。假设用户 的历史交互项集合为 ,我们将其最大值设置为 。对于具有不同大小的交互数目的用户,可以相应地应用padding或chunking来进行统一。因此,针对于用户 所交互的物品集合的聚合向量 可以得到:

其中 表示物品 的隐特征向量, 为指示函数, 表示聚合权重。根据聚合方式可以计算聚合权重:

对于 的计算,又可以根据self-attention和user-attention来进行区分:

其中, 是一个全局的查询向量, 是一个针对用户 的查询向量。 表示可学习的参数。最终,用户 的隐特征向量 可以表示为用户隐特征向量 和用户的交互物品集合聚合向量 的加权形式:

其中, 为加权稀疏,一般设为0.5。由于 可能因为average pooling操作导致的维度不对应,因此需要一个映射矩阵 来进行特征变换。个人感觉,在这里将用户隐向量与历史交互集合的物品隐向量进行融合,有些SVD++的思想在里边,只不过这里是用深度学习来进行建模,并且又添加了几种不同的聚合方式以及加权求和等操作。下图表示SVD++的预测函数,在括号内部的表示则为用户的隐特征向量,其中v表示用户向量,q表示物品隐向量。

最终,通过余弦相似度来计算用户 和物品 的相似度:

在本文的实验中,认为平均池化是一种健壮的聚合方法,另外两种通常需要更多的尝试来进行调参,在某些情况下只能带来微小的改进。

余弦对比损失(CCL)

本文提出了结合对比学习的余弦损失函数 ,给定一个正样本对(u,i)和一个负样本对集合 ,余弦对比损失可以表示为:

其中, 为超参数用来控制正样本损失和负样本损失的比例, 为margin用来过滤负样本。当负样本的数量变大时,通常会存在许多冗余而无信息的样本。通过引入margin,它有助于自动识别余弦相似度大于𝑚的困难负样本,从而有利于更好地训练模型。直观地说,CCL用来最大化正样本对之间的相似性,而最小化margin小于𝑚以下的负样本对的相似性。

通过总结可以发现其与经典模型MF、YouTubeNet和GNN-based models的关系。其中,当g=1时可以退化为经典的MF;该框架可以看做没有使用side information的YouTubeNet,只不过YouTubeNet是将多个向量连接在一起,而不是直接加权求和;当聚合方式为user-attention时,可以类比于graph attention layer。而聚合方式为self-attention时,则可类比为NIA-GCN模型。

原文中强调,尽管SimpleX的设计很简单,而且在某种程度上并不novel,但它统一了现有CF模型中的几个关键组件。令人惊讶的是,这样一个简单的模型足以在很大程度上超越最先进的CF模型,这可以为未来的研究提供简单而有力的基线。

试验部分

本文对比了一些经典的损失函数以及余弦对比损失函数CCL,通过实验可以发现,其所提出的CCL损失在多个数据集上的优越性,紧随其后的为交叉熵损失函数。

另外,本文还对比了29个经典的协同过滤模型,其实验结果如下。

本文还分析了负样本数量对实验结果的影响。可以看到BPR损失随着数量的增加性能几乎没啥变化,而所提出的CCL损失则可以比较好的利用数量比较多时的负样本。

本文通过对协同过滤方法的分析,发现大多数研究都集中在交互编码器的设计上,而在很大程度上忽视了损失函数和负采样对协同过滤模型的影响。本文探索了它们的影响,并进一步提出了余弦对比损失,以及一个简单而强悍的CF基线。本文呼吁研究者们除了关注交互编码器的设计部分,还可以在损失函数以及负采样等方面进行更加深入的研究。

更多细节可查阅原文。


欢迎干货投稿 \ 论文宣传 \ 合作交流

推荐阅读

入"坑"推荐系统,从Google这篇课程开始

WWW2022 | Recommendation Unlearning

预训练模型在信息流推荐中的应用与探索

由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。

喜欢的话点个在看吧
登录查看更多
0

相关内容

WWW 2022 :基于纯MLP架构的序列推荐模型
专知会员服务
14+阅读 · 2022年3月20日
WSDM 2022 | 基于图神经网络的协同过滤设计空间研究
专知会员服务
36+阅读 · 2022年1月3日
ICML'21:一种计算用户嵌入表示的新型协同过滤方法
专知会员服务
14+阅读 · 2021年12月31日
【清华大学】图神经网络推荐系统综述论文
专知会员服务
75+阅读 · 2021年10月6日
【WWW2021】双曲图卷积网络的协同过滤
专知会员服务
39+阅读 · 2021年3月26日
专知会员服务
41+阅读 · 2021年3月21日
【CIKM2020】学习表示解决可解释推荐系统
专知会员服务
47+阅读 · 2020年9月6日
【SIGIR2020】LightGCN: 简化和增强图卷积网络推荐
专知会员服务
72+阅读 · 2020年6月1日
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
一文梳理推荐系统中的特征交互排序模型
RUC AI Box
1+阅读 · 2022年4月8日
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
SIGIR2021 | 基于排序的推荐系统度量优化新视角
机器学习与推荐算法
1+阅读 · 2021年12月6日
SIGIR 2021 | 推荐系统中的多行为建模
PaperWeekly
1+阅读 · 2021年10月9日
对比学习+图神经网络=更好的推荐系统?
图与推荐
0+阅读 · 2021年9月16日
基于对比学习的推荐算法总结
机器学习与推荐算法
1+阅读 · 2021年9月16日
Attention机制在深度推荐算法中的总结
机器学习与推荐算法
0+阅读 · 2021年9月15日
“推荐系统”加上“图神经网络”
机器学习与推荐算法
12+阅读 · 2020年3月23日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
6+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Cold-start Sequential Recommendation via Meta Learner
Arxiv
14+阅读 · 2020年12月10日
Arxiv
13+阅读 · 2018年4月18日
Arxiv
12+阅读 · 2018年1月28日
VIP会员
相关VIP内容
WWW 2022 :基于纯MLP架构的序列推荐模型
专知会员服务
14+阅读 · 2022年3月20日
WSDM 2022 | 基于图神经网络的协同过滤设计空间研究
专知会员服务
36+阅读 · 2022年1月3日
ICML'21:一种计算用户嵌入表示的新型协同过滤方法
专知会员服务
14+阅读 · 2021年12月31日
【清华大学】图神经网络推荐系统综述论文
专知会员服务
75+阅读 · 2021年10月6日
【WWW2021】双曲图卷积网络的协同过滤
专知会员服务
39+阅读 · 2021年3月26日
专知会员服务
41+阅读 · 2021年3月21日
【CIKM2020】学习表示解决可解释推荐系统
专知会员服务
47+阅读 · 2020年9月6日
【SIGIR2020】LightGCN: 简化和增强图卷积网络推荐
专知会员服务
72+阅读 · 2020年6月1日
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
相关资讯
一文梳理推荐系统中的特征交互排序模型
RUC AI Box
1+阅读 · 2022年4月8日
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
SIGIR2021 | 基于排序的推荐系统度量优化新视角
机器学习与推荐算法
1+阅读 · 2021年12月6日
SIGIR 2021 | 推荐系统中的多行为建模
PaperWeekly
1+阅读 · 2021年10月9日
对比学习+图神经网络=更好的推荐系统?
图与推荐
0+阅读 · 2021年9月16日
基于对比学习的推荐算法总结
机器学习与推荐算法
1+阅读 · 2021年9月16日
Attention机制在深度推荐算法中的总结
机器学习与推荐算法
0+阅读 · 2021年9月15日
“推荐系统”加上“图神经网络”
机器学习与推荐算法
12+阅读 · 2020年3月23日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
6+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员