2020WSDM-Time Interval Aware Self-Attention for Sequential Recommendation

作者以及单位

Jiacheng Li, Yujie Wang,Julian J.McAuley (加州大学)
WSDM '20: The Thirteenth ACM International Conference on Web Search and Data Mining

解决问题

Sequential Recommender systems
推荐系统通过探索用户的交互顺序,以基于他们最近所做过的事情的上下文预测他们的下一个动作在提高预测准度上显得越来越重要了。之前有马尔可夫链以及循环神经网络RNN和Self Attention可以解决类似的问题。
但是大多数基于这些的模型都有一个简化的假设,即这些模型都将交互历史视为一个有顺序的序列,没有考虑这个序列中交互物品之间的时间间隔(即只是建模了时间顺序没有考虑实际上的时间戳)。
本文提出的模型叫TiSASRec (Time Interval aware Self-attention based sequential recommendation), 不仅考虑物品的绝对位置(absolute positions),还考虑序列中物品之间的时间间隔。

研究动机

对于一篇论文,最重要的是去理解为什么文章使用了这个方法,有什么意义或作用。以下是我自己的理解:
1.首先这个文章定位是在self-attention机制上。得说清楚self-attention的研究的对象和解决的问题。
1.1 说self-attention一定要谈到SASRec这个文章(Self-Attentive Sequential Recommendation)是2018年发表在ICDM会议上的论文,主要是针对的是召回的工作,提出SASRec序列推荐模型。作者受到Transformer启发,采用自注意力机制来对用户的历史行为信息建模,提取更为有价值的信息。最后将得到的信息分别与所有的物品embedding内容做内积,根据相关性的大小排序、筛选,得到Top-k个推荐。

self-attention的意义:对于下一次的物品推荐,依赖于用户行为序列的各个物品的权重是不同的,这与“推荐场景有关”(context上下文),因为:
用户物品交互较少:在一个稀疏数据集下,用户行为较少,行为相隔时间可能相差几天,甚至几个月,那么“此时相近时间的历史物品信息表现得更为重要”
用户物品交互频繁:在一个密集型数据集下,用户行为多,例如在电商场景下,那么“相近的物品信息就不是非常重要”。例如,对于某个用户,他在电商场景的一个Session中,行为:手机--电脑--衣服---鼠标---裤子,那下一个用户感兴趣的是电子产品、服装都有可能,上述历史行为都很重要。
即,不同环境下(数据集),模型的self-attention机制关注的重点是不同的(这就是这个图的目的)。

SASRec的图

2.下面在说说本文研究的对象。
要理解本文必须先看transformer is all you need和Self-Attentive Sequential Recommendation,否则看本文是云里雾里。
要理解本文必须先看transformer is all you need和Self-Attentive Sequential Recommendation,否则看本文是云里雾里。
要理解本文必须先看transformer is all you need和Self-Attentive Sequential Recommendation,否则看本文是云里雾里。
因为论文提到的Embedding Layer, Self-attention Layer,Feed-Forward Network, Prediction layer为什么有这些,应该有哪些,都是一带而过的,没有交代为什么。因为该部分与Transformer的“编码层”大体上是一致的,是由“多个(或单个)”【自注意力机制+(残差连接、LayerNormalization、Dropout)+前馈网络】组成。

在说回本文研究的对象。其实本文研究的对象在最后的参考链接中对TiSASRec 论文笔记做了细节的解释。在这里,避免上各种公式,我就概括的说一下:为什么有这些对象,有哪些对象,这些对象起到什么作用
2.1 为什么有这些对象

在讲解前,得弄清楚3-4个概念,“end to end端到端”,“RNN和LSTM的问题”,“梯度爆炸和梯度消失”,“无时序”(不弄清楚,下面讲的很难理解)
因为transformer中并没有包含RNN或CNN模块,因此它对物品位置是不能感知的,为了解决这个问题,提出了两个办法:
第一种办法是在输入中添加位置编码,这个编码可以是确定性函数或者是一个可学习的位置嵌入;
另一种解决方案是使用相对位置表示,也就是将两个输入元素之间的相对位置建模成成对关系。

受到第二种用相对位置的self-attention的启发,本文结合了绝对位置和相对位置去设计一个时间感知的self-attention,以此建模物品的位置和时间间隔。 这应该是本文的motivation。

2.2 有哪些对象
TiSASRec共包含四个组件,分别是personalized time interval processing(个性化时间间隔处理),an embedding layer, time-aware self-attention blocks(时间感知的自注意力模块),a prediction layer。我们首先对物品,他们的绝对位置以及相对时间间隔进行embed,然后基于这些embedding计算注意力权重。该模型的目标是捕捉顺序模式 (sequence pattern)并研究时间间隔对于SR的影响。
我认为后面3个和Self-attention套路基本一致。但理解了本文的motivation,就能了解为什么加了第一个组件。

2.3 这些对象有什么用

2.3.1 personalized time interval processing:将交互序列中的时间间隔建模为两个物品之间的关系。有些用户的交互比较频繁,但有些则不,因此在一个用户序列中,我们考虑相对时间间隔长度。因此,对所有时间间隔,我们除以除零以外的最小的时间间隔得到个性化间隔。就重新得到了用户u的关系矩阵M^u。

2.3.2 an embedding layer:我看这个地方篇幅不长,而且也有对应的引用文献,transformer以及SASRec都包含了embedding相应的操作 ,所以贡献不是在这里。本层是为物品创建一个embedding 矩阵。

2.3.3 time-aware self-attention blocks:核心思想-叠加多个自注意力机制层能够学习更复杂的特征转换
然而网络层数越深,会存在一些问题:

-模型更容易过拟合;
-训练过程不稳定(梯度消失问题等);
-模型需要学习更多的参数以及需要更长的时间训练;
因此,作者在自注意力机制层和前馈网络「加入残差连接、Layer Normalization、Dropout」来抑制模型的过拟合。(其实依旧与Transformer类似),下图为Transformer结构做参考:


Transformer blocks

2.3.4 a prediction layer:在堆叠了self-attention block之后,我们得到了物品,位置和时间间隔的组合表示,prediction层用潜因子模型计算用户对物品i的偏好分数。

研究方法

核心的方法应该集中在论文3.1 Problem Formulation 和 3.2 Personalized Time Intervals。
原文的3句话应该概括了核心:
Our model will have different predicted items given different time intervals even if several previous items are the same.
To learn the parameters, we employ a binary cross entropy loss as our objective function.
The goal of TiSASRec is to capture sequence patterns and explore influence of time intervalson the sequential recommendation which
is an unexplored area.
即,几个项目是相同的(图中截图拿出来的3个圆形),在不同的时间间隔内,预测项目也是不同的。研究方法是:用了交叉熵损失作为目标函数来学习这些参数。


核心流程图

创新点

1.提出了将用户的交互历史视为具有不同时间间隔的序列,并将不同时间间隔建模为任意两个交互之间的关系(relation);
2.结合了绝对位置与相对时间间隔编码的优点进行self-attention,并设计了一个新颖的时间间隔感知的self-attention机制去学习不同物品,绝对位置以及时间间隔的权重,以此进行未来物品的预测。

结论

2018ICDM年提出SASRec 基于 self_attention,效果确实会非常好。本篇2020年WSDM提出的TiSASRec,把时间间隔用embedding的方式去融入到self_attention,也能取得稍微更好的结果,但其实它的运行时间我觉得会多不少

参考链接

ICDM2018|SASRec---基于自注意力机制的序列推荐,附tf2.x复现代码:
https://zhuanlan.zhihu.com/p/235081694
论文笔记 Time Interval Aware Self-Attention for Sequential Recommendation
https://blog.csdn.net/weixin_39129550/article/details/105375259
transformer 详细图解
https://zhuanlan.zhihu.com/p/58408041

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

推荐阅读更多精彩内容