序列推荐:S3-Rec: Self-Supervised Learning for Sequential Recommendation with Mutual Information Maxim...

前言

  • CIKM2020长文,美团点评团队工作
  • 面向序列推荐任务,利用自监督学习的方法构建推荐模型
  • 序列推荐与前面所读的session-based rec有一定相似性,本质上都是挖掘用户一段时间内的动态短期兴趣。学术界目前并没有一个特别严格的定义和区分。
  • 现有的神经网络模型利用预测损失来学习模型参数或者嵌入表征;训练有这种损失的模型很容易受数据稀疏性影响,因为它过分强调了最终性能,因此上下文数据和序列数据之间的关联或融合一直不太好捕捉并用于序列推荐
  • 为了解决这个问题,文章提出了S3-Rec,表示针对基于自注意力机制的序列推荐的使用自监督学习。主要思想是利用原有数据的相关性来构建自监督信号,并通过预训练方法来增强数据表示,以改善序列推荐
  • 设计了四个辅助的自监督目标,以利用互信息最大化(MIM)原理来学习属性,物品,子序列和序列之间的相关性。MIM提供了一种统一的方法来表征不同类型的数据之间的相关性,这在本文中特别适用。

引言

经典的序列推荐算法包括CNN-based/RNN-based从用户历史行为序列中挖掘序列模式。这些方法存在着两个主要缺点:

  • 主要依靠物品预测损失来学习整个模型。利用上下文数据后,还可以通过唯一的优化目标来学习所涉及的参数。 这种优化方式容易遭受诸如数据稀疏性之类的问题的困扰。

  • 其次,过分强调最终性能,而上下文数据和序列数据之间的关联或融合尚未在数据表示中很好地捕获。越来越多的证据所示,有效的数据表示(例如,预训练的上下文嵌入)已成为提高现有模型或体系结构性能的关键因素。

因此,有必要重新考虑学习范式,来实现更有效的序列推荐系统。

Preliminaries

问题定义
时序交互序列:

子序列定义为:
物品i的相关属性定义为:
文中给出序列推荐的定义为: 给出用户历史行为\{i_1,...,i_n\}以及物品的属性集合,预测用户下个可能交互的物品。

Mutual Information Maximization 互信息最大化

具体定义如下:
直接最大化互信息比较麻烦,可以通过计算I(X,Y)的下限来实现,常见的做法是InfoNCE,基于噪声对比估计(NCE)来实现:
对于每对正样例通过分布q(\hat{Y})来采样生成负样本,当\hat{Y}=Y时,InfoNCE可以转换成标准的交叉损失熵形式:
该方程式表明,InfoNCE与最大化pθ(y | x)有关,并且它通过负采样来近似计算Y中元素的总和。基于此公式,我们可以使用特定的X,Y来最大化原始数据的不同视图之间的互信息,例如,一个物品及其属性,一个序列及其所包含的物品。

模型方法

1. 基础模型 Base Model

嵌入层 包含物品嵌入M_I \in \mathbb{R}^{|I| \times d}和属性嵌入M_A \in \mathbb{R}^{|A| \times d}

对于一个序列,可以得到其物品表征矩阵E和的属性编码表征E_A,考虑输入序列的位置E_I=E+P

自注意力模块 通过多头自注意力机制对上面得到的特征矩阵进行处理:

是基本的自注意力机制计算方式,初始化输入为F^0=E_I此后通过前馈网络来引入非线性处理:
在序列推荐中,只能利用当前时间步之前的信息,因此我们对多头自注意函数的输出应用掩码操作,以删除Qi和Ki之间的所有连接。 受BERT的启发,在预训练阶段,我们删除了掩码机制,以获取物品序列中每个物品的双向上下文感知表示。即没有加mask的自注意力,从两个方向合并上下文对于序列表示学习是有益的

预测 得分计算方式如下

取当前序列的最后一个物品的表征作为序列表征

2. Self-supervised Learning with MIM

Modeling Item-Attribute Correlation. 最大化物品和属性间的互信息,对于每个物品,属性都提供其细粒度信息。 因此通过对物品-属性相关性进行建模来融合物品和属性级别的信息。以这种方式,期望将有用的属性信息融入到物品表示中。

根据前面的InfoNCE公式,构建针对物品-属性相关性损失:对于物品i及其属性A_i

通过简单的双线性网络来计算相关性:

Modeling Sequence-Item Correlation

受BERT [1]这样的Mask-LM语言模型的启发,文中通过完形填空(Cloze)任务对物品序列中的双向信息进行建模。 在每个训练步骤中,随机掩盖输入序列中的一部分物品(即,将它们替换为特殊标记“ [mask]”)。 然后,基于两个方向上的上下文从原始序列中预测被mask的物品。

将前面的base model作为预训练模型,利用MIM来计算

Modeling Sequence-Attribute Correlation
进一步融合序列上下文和物品属性信息,同样通过掩码的方式来实现:

现有方法很少直接对序列上下文和属性信息之间的相关性进行建模。 同时,我们想通过对相关性进行显式建模,构建出更有价值的监督信号,这对于改善多粒度信息的数据表征很有用。

Modeling Sequence-Segment Correlation.
完形填空策略在预训练方法中将序列上下文与目标信息融合在一起。但是,物品序列与单词序列之间的主要区别在于单个物品项目可能与周围环境没有高度关联。例如,用户仅仅因为某些产品就在购买中而购买了它们。 基于此考虑,我们将Cloze策略从单个物品扩展到物品子序列。显然,这样比单个物品反映出更清晰,更稳定的用户偏好。

具体loss形式与上面相近:

\tilde{i}_{j_1,j_2}表示打乱的负子序列

3. 模型训练

模型训练包括预训练和微调两个阶段,预训练过程中利用上面的4个Loss即4个子任务通过无掩码的自注意力机制进行训练,得到高质量的物品表征和属性表征

微调阶段,则利用单向Transformer来构建表征,通过pairwise loss来训练模型:

4. Discussion

这篇工作提供了一种新颖的自监督方法,可以通过预训练模型从输入中捕获固有数据相关性,并将其作为附加信号。这种方法非常通用,因此许多现有方法都可以包含在此框架中。
基于特征的方法(例如,分解机和AutoInt)主要通过上下文特征的交互来学习数据表示。根据用户和商品特征之间的实际交互结果做出最终预测。在S3-Rec中,没有明确建模属性之间的交互。相反,我们专注于捕获属性信息与项目/顺序上下文之间的关联。我们工作的主要区别在于将特征交互作为附加的监督信号来增强数据表示,而不是进行预测。

诸如GRU4Rec和SASRec之类的序列模型主要集中于对上下文物品和目标物品之间的顺序依赖性进行从左到右的建模。 S3-Rec还包含一个预训练阶段,该阶段利用四种不同类型的自我监督学习信号来增强数据表示。特别地,上面通过掩码物品来预测损失与捕获顺序依存关系具有相似的效果,除了它还可以利用双向顺序信息。

实验情况

总体对比R3-Rec提升显著:

消融实验:

小结

本文提出了利用自监督学习来提升序列推荐的R3-Rec,设计了四种自监督任务,通过MIM最大化互信息的方式来进行自监督训练,辅助构建高质量的物品/属性嵌入。在模型训练上为后续研究提供了新思路,MIM的使用也值得借鉴,总体是一篇值得多读的好论文。

END

本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容