©PaperWeekly 原创 · 作者 | 唐作立
单位 | 武汉大学硕士生
研究方向 | 推荐系统
引言
在推荐系统中,由于用户具备多种兴趣的特点,使用多兴趣学习(Multi-interest Learning)对用户进行建模能够带来显著的性能提升,在序列推荐中是一种流行的方法。最近,基于语言模型的预训练推荐方法利用语言构建不同领域间的信息桥梁,在跨领域数据集上进行预训练序列建模模型,在没有利用多兴趣学习的下获得了较大的性能提升。
然而,跨领域构建多兴趣预训练推荐方法并不是一件简单的事情,不同领域用户的兴趣点并不相同,用户兴趣数也是不尽相同的。因此本文提出了一个名为 Miracle(Multi-Interest Pretraining with Sparse Capsule Network,基于稀疏胶囊网络的多兴趣预训练)的新方法,其中包含基于文本表征的商品编码器模块与基于稀疏胶囊激活的多兴趣学习模块,其中商品编码器模块使用商品文本信息获取商品表征,基于稀疏胶囊激活的多兴趣学习模块能够动态的判断用户序列中的兴趣数目并聚合用户兴趣。
论文标题:
Towards Multi-Interest Pre-training with Sparse Capsule Network
论文作者:
唐作立,王琳,邹立新,张晓露,周俊,李晨亮
作者单位:
武汉大学,蚂蚁集团
论文链接:
https://dl.acm.org/doi/10.1145/3539618.3591778
代码链接:
https://github.com/WHUIR/Miracle
方法
2.1 问题定义
在序列推荐系统中,存在用户集 与商品集 ,针对用户集 中的任意用户 ,可以将其交互序列按照交互的时间先后组织成有序序列 ,其中 代表了用户 的第 个交互商品。每个商品 都会关联一段文本信息 ,包括商品名称,商品描述等。推荐模型形式化的被定义为一个打分函数 ,其计算商品 与用户 的相似度分数,因此序列推荐系统的目标是根据用户 与不同商品之间的分数,生成 Top-k 推荐列表。
更多的,在预训练推荐系统中,存在两种类型的数据集: 和 ,分别代表预训练数据集与下游微调数据集。推荐模型的参数首先在预训练数据集 上使用预训练目标 预热,然后在下游数据集上使用微调目标 微调并验证模型性能。通常来说, 是一个资源丰富的数据集,而 只有少量数据。
2.2 基于文本的商品表征
我们的目标是进行推荐系统的预训练,考虑到商品 ID 在跨领域时无语义信息以及文本信息天然具备的可迁移性,我们首先利用预训练语言模型(如 BERT)将商品的关联文本编码至固定维度的表征。然后为了能够从不同的领域中抽取信息,我们采用了 MoE 结构来区分不同领域的知识,并将其映射到统一的语义空间。然后我们使用双向 Transformer 作为序列编码器来构建深度上下文化的商品潜入。
2.2.1 基于预训练语言模型的文本编码器
我们使用 Bert-base 来提取商品的描述文本中的语义信息。与一般使用 BERT 进行语义抽取的方法类似,我们在 前放置一个 符号,然后将组成的句子输入到 BERT 中,最后取 [CLS] 位置在最后一层 Transformer 的输出作为的 语义表征:
2.2.2 基于混合专家网络的适配器
为了获得一个数据丰富的预训练数据集,并将来自不同领域的知识与项目的文本表示共享,我们将多个领域数据集混合形成预训练数据集 。然而,正是由于商品来源于不同领域,所以其描述文本经过 BERT 后的语义空间相差较大(称为领域偏差),直接将其输入到后续的序列编码器中并不合理,需要将不同领域的文本嵌入转换同一语义空间。因此我们借鉴 [1] 的做法,使用 MoE 结构来消除领域偏差:
其中 是第 个专家网络的门控权重。门控 与专家网络表示如下:
2.2.3 上下文编码器
经过 MoE 网络后,可以得到商品序列的文本表征 ,我们使用 层双向 Transformer 作为商品的上下文编码器:
其中 为 Position Embedding,(Feed Forward Network)和 (Multi-Head Attention)是 Transformer 的组成部分。我们称第 层 Transformer 的输出的商品表征为 。
2.3 稀疏兴趣胶囊网络
在获得有上下文信息的商品表征后,我们设计了一个稀疏的兴趣胶囊网络来提取用户在交互序列中的多个兴趣。需要注意的是在胶囊网络中表征与胶囊的含义是相同的。与之前的基于胶囊网络的多兴趣学习方法 [2, 3] 相比,我们为胶囊网络设计了稀疏兴趣胶囊激活机制,在动态路由阶段前其能够动态的确认用户序列含有的兴趣数量以及有效初始化胶囊之间的耦合系数。
2.3.1 稀疏兴趣胶囊激活
在训练时,我们首先随机初始化一个兴趣胶囊嵌入池 ,其包含个 个兴趣胶囊, 是维度。对于一个特定的用户交互序列,兴趣胶囊池中仅有一部分胶囊会根据商品的上下文嵌入与未激活的兴趣胶囊的相似度 被激活:
其中 分别代表了交互序列中第 个商品和兴趣胶囊池中的第 个胶囊。 为内积。 为高斯噪音。因此,在获得序列商品与兴趣胶囊的相似度矩阵 后,我们为每个商品激活一个兴趣胶囊,同时生成胶囊激活向量:
需要注意的是,每个商品仅会激活一个兴趣胶囊,而一个兴趣胶囊可以被多个商品激活。在胶囊激活向量 中, 代表第 个胶囊会被商品序列激活。
2.3.2 位置相关的胶囊网络
在以往的基于胶囊网络的多兴趣学习方法中 [2, 3],其主要强调如何获取多兴趣表征,从而忽略了兴趣序列中的序列信息,序列推荐的一个基本共识是,交互时间越相近的商品其相关性就会越高。因此,我们利用注意力机制来动态的计算不同位置上商品的重要性:
其中 是另一个为多兴趣学习而设置的 Position Embedding。
2.3.3 多兴趣提取网络
我们使用动态路由作为多兴趣提取网络,动态路由的目标是在给定商品胶囊的情况下迭代的计算兴趣胶囊值,其可以自适应的将类似的商品聚合为兴趣。我们首先使用含有残差连接的全连接网络以及 LayerNorm 将语义空间从商品转化为兴趣:
然后,我们获取第 个兴趣胶囊的表征,其是所有商品胶囊的权重和:
其中 是第 个商品胶囊与第 兴趣胶囊之间的耦合系数。 代表了第 个商品的重要性。耦合系数是在激活过的兴趣胶囊上经过 归一化得到:
其中 是第 个商品胶囊与第 个兴趣胶囊之间的相似度。在以往工作基于胶囊网络的多兴趣工作中, 通常是全零初始化或随机初始化,这可能会导致不同兴趣之间的混合,因此我们使用在稀疏兴趣胶囊激活中已经计算好的相似度 来初始化第一轮的兴趣相似度。然后使用非线性压缩函数将 的模长压缩到 之间,从而得到用户第 个兴趣胶囊的表征 :
然后,基于得到的兴趣胶囊,可以更新商品胶囊与兴趣胶囊之间的相似度:
我们重复上述过程次来获得更准确的用户兴趣, 代表了用户的兴趣表征且 。
2.4 模型训练与部署
2.4.1 兴趣级预训练
在这一节中,我们设计了一个兴趣级的对比学习任务来增强序列编码器以及多兴趣提取网络的性能以及鲁棒性。具体来说,我们使用特殊的 符号 随机掩盖序列中的商品得到增广序列,在原序列中使用 表示该商品所激活的兴趣胶囊所代表的兴趣,在增广序列中使用 表示被掩盖商品激活的兴趣胶囊所代表的兴趣,我们将 与 视为正样本,Batch 内其它序列被掩盖的商品所激活的兴趣胶囊所代表的兴趣视为负样本。
然而,由于序列所激活的兴趣受到稀疏胶囊激活机制的控制,增广序列所激活的兴趣可能与原序列并不一致,即 与 对应的不是同一个兴趣。因此,我们强迫增广序列的胶囊激活向量 与原序列的胶囊激活向量 一致从而使得增广序列与原序列所激活的兴趣是一致的,对比损失计算如下:
其中, 代表了 Batch 内被掩盖的商品总数。
2.4.2 下一项预测
基于兴趣级对比损失外,在预训练阶段我们还有常规的推荐损失。负样本采样策略为基于流行度的负采样,其使用将 Batch 内其它样本作为负样本来实现,使用交叉熵作为损失函数:
其中 是第 个用户与第 个商品的推荐得分:
2.4.3 胶囊正则化
在极端情况下,兴趣胶囊池 内所有的兴趣胶囊含义相同,或所有的商品激活同样的兴趣胶囊,这会使得多兴趣提取网络无法提取多兴趣信息,因此有必要保证兴趣之间的正交性以及兴趣胶囊间的均衡分配。我们首先通过如下的损失强迫兴趣胶囊池 内的兴趣胶囊满足正交性:
其次,我们通过如下的损失来增强胶囊间的均衡分配:
预训练:最终的预训练损失是上述四个损失的线性相加:
其中 是超参数。
2.4.4 微调
在下游数据集微调阶段,我们固定序列编码器的所有参数,同时保持其它网络参数可训练。我们使用交叉熵作为损失函数。需要注意的是,在微调时商品 ID 是可以使用的,因此我们为下游数据的商品创建了一个嵌入表 。对于商品 ,我们将其文本表征 与对应的 ID 嵌入 相加作为商品表征。微调时的推荐损失以及最终损失如下:
实验
3.1 实验设置
预训练数据集:由 Amazon Review 下的 Food,CDs,Kindle,Movies,Home 五个数据集混合组成
下游微调数据集:与预训练同平台跨领域的 Scientific, Pantry, Instruments, Arts, Office 以及跨平台的 Online Retail
在预训练时将五个领域的数据混合训练,在测试时在六个数据集上分别微调测试。采用 5-core 的数据清洗方法,采用 leave-one-out 的训练集,验证集与测试集的划分方法,在验证集上验证,采用 Early-stop 策略
采用 Recall 与 NDCG 作为评价指标
3.2 实验结果
上图展示了在六个下游数据集中我们与基线方法对应的结果,从实验结果中我们可以发现 Miracle 相对于基线方法获得了稳定的性能提升。
3.3 预训练效果验证
Inductive Recommendation:在下游微调时,我们使用了商品的 ID 嵌入,考虑到冷启动商品可能不具备较好的 ID 嵌入,我们在微调时按照预训练的方式,仅仅使用商品文本表征表示商品,称为 Inductive setting,我们选取了 SASRec,FDSA 以及 UniSRec 作为对比,由于 SASRec 与 FDSA 必须要使用 ID 代表商品,所以其不满足 Inductive 设定,而 UniSRec 在 Inductive Setting 条件下评估,实验结果如下图:
Zero-shot Recommendation:考虑到文本的通用性,我们测试了在不进行下游微调时模型的推荐性能,即满足 Zero-Shot 情况下进行推荐。我们选取 Random,Popularity Based,UniSRec 方法作为对比。Random 代表了模型的推荐的下限,而 Popularity Based 方法是一个最简单的有训练数据的方法,实验结果如下图:
可以看到在 Scientific 与 Arts 数据集上,我们的方法超过了 Popularity Based 方法与 UniSRec,但是在跨平台数据集 Online Retail 上并没有取得很好的结果,一个可能的原因是不同平台的文本数据结构并不一致,导致文本表征的分布偏差较大,所以效果不佳,但是其仍然获得了远超 Random 的效果,是能够执行有效推荐的。
3.4 消融实验
我们设置了以下三种消融实验:
没有稀疏胶囊激活模块(w/o SS)
没有位置相关模块(w/o PW)
没有兴趣级对比学习模块 (w/o IC)
实验结果如上图所示,可以发现所有的模块对性能的提升都是有用的。
总结
在本文中,我们提出了一种新的用于序列推荐的多兴趣预训练框架。我们分别利用 MoE 结构和双向 Transformer 来融合跨领域知识和模型上下文信息。此外,我们解决了以前的多兴趣学习方法中用户兴趣计数的数量应该预先定义的限制,并对动态路由中的时序信息进行了建模。在几个跨领域数据集和一个跨平台数据集上的经验结果表明,我们的模型比最先进的基线表现更好。
参考文献
[1] Yupeng Hou, Shanlei Mu, Wayne Xin Zhao, Yaliang Li, Bolin Ding, and Ji-Rong Wen. 2022. Towards Universal Sequence Representation Learning for Recommender Systems. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 585–593
[2] Chao Li, Zhiyuan Liu, Mengmeng Wu, Yuchi Xu, Huan Zhao, Pipei Huang, Guoliang Kang, Qiwei Chen, Wei Li, and Dik Lun Lee. 2019. Multi-interest network with dynamic routing for recommendation at Tmall. In Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2615–2623.
[3] Controllable multi-interest framework for recommendation. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2942–2951.
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·