2023.1.15 学习周报


摘要

This week, I read a paper about the self-attention mechanism, the main content of this paper is to model the time stamps of interactions within a sequence modeling framework to explore the influence of different time intervals on the prediction of the next project. To this, the paper proposes a serial recommendation model, TiSASRec, which takes into account both the absolute location of items and the time interval between them. Finally, experimental results show that the proposed method is superior to various advanced sequential recommendation models in sparse data sets, dense data sets and different evaluation indexes. In the study of self-attention, I learn about multi-head self-attention, try to explain why qkv was set, and show the understanding of self-attention that I have learned.

本周我阅读了一篇关于自注意力机制相关的论文论文主要内容是在一个序列建模框架内对交互的时间戳进行建模以探索不同时间间隔对下一个项目预测的影响。对此论文提出了一种时间间隔感知自我注意力的序列推荐模型TiSASRec它既考虑到项目的绝对位置也考虑到它们之间的时间间隔。最后通过实验结果表明在稀疏数据集和稠密数据集以及不同评价指标上该方法均优于各种先进的序列推荐模型。在对self-attention的学习中我学习了多头注意力self-attention试图解释了为什么会设置qkv以及展示了自己学习到的对self-attention的理解。


文献阅读

1.题目

文献链接Time Interval Aware Self-Attention for Sequential Recommendation

2.摘要

Sequential recommender systems seek to exploit the order of users’ interactions, in order to predict their next action based on the context of what they have done recently. Traditionally, Markov Chains (MCs), and more recently Recurrent Neural Networks (RNNs) and Self Attention (SA) have proliferated due to their ability to capture the dynamics of sequential patterns. However a simplifying assumption made by most of these models is to regard interaction histories as ordered sequences, without regard for the time intervals between each interaction (i.e., they model the time-order but not the actual timestamp). In this paper, we seek to explicitly model the timestamps of interactions within a sequential modeling framework to explore the influence of different time intervals on next item prediction. We propose TiSASRec (Time Interval aware Self-attention based sequential recommendation), which models both the absolute positions of items as well as the time intervals between them in a sequence. Extensive empirical studies show the features of TiSASRec under different settings and compare the performance of self-attention with different positional encodings. Furthermore, experimental results show that our method outperforms various state-of-the-art sequential models on both sparse and dense datasets and different evaluation metrics.

3.介绍

背景在电子商务、朋友建议、新闻推荐等应用程序中对顺序交互进行建模是必不可少的。以下有两条重要的工作线试图挖掘用户的交互历史时间推荐和顺序推荐其中时间推荐侧重于对绝对时间戳进行建模以捕获用户和商品的时间动态。

问题基于马尔科夫链的方法已经成功地被采用来捕捉短期的项目转换以进行推荐。它们通过强有力的简化假设在高稀疏度环境中表现良好但在更复杂的情况下可能无法捕捉到错综复杂的动态变化。RNN也被应用于这种环境虽然RNN模型在用户的偏好上有很长的 “记忆”但它们需要大量的数据特别是密集的数据才能优于最简单的基线。

方案为了解决马尔科夫链模型和基于RNN模型的缺点受到机器翻译的Transformer的启发提出将self-attention机制应用于顺序推荐问题。

论文中认为用户交互序列应该被建模为一个具有不同时间间隔的序列。如下图所示交互序列有不同的时间间隔其中一些时间间隔可能很大。以往的工作省略了这些时间间隔及其对预测项目的影响。为了解决上述局限性在相对位置表征的self-attention的启发下论文提出了一个时间感知的self-attention机制。这个模型不仅考虑了SASRec中的绝对位置而且考虑了任意两项之间的相对时间间隔。通过实验结果表明论文提出的模型在稠密和稀疏数据集上都优于最先进的算法。

4.本文贡献

1论文建议将用户的交互历史视为一个具有不同时间间隔的序列并将不同的时间间隔建模为任意两个交互之间的关系。
2论文结合了用于self-attention的绝对位置和相对时间间隔编码的优点并设计了一种新颖的时间间隔感知self-attention机制以学习不同项目的权重、绝对位置和时间间隔来预测未来项目。
3论文进行了全面的实验以研究绝对位置和相对时间间隔以及不同组件对TiSASRec性能的影响并表明它在两个排名指标上优于最先进的基线。

5.PROPOSED METHOD

TiSASRec包含四个组件分别是personalized time interval processing, an embedding layer, time-aware self-attention blocks, a prediction layer。TiSASRec的目标是捕获序列模式并探索时间间隔对序列推荐的影响。

5.1 Problem Formulation

U和I分别表示用户集和项目集在time-aware SR中对每个用户u有一个用户的行为序列Su=(S_u,1, S_u,2, … ,S_u,|Su|)其中S_u,t∈I还有一个与行为序列对应的时间序列Tu = (T_u,1, T_u,2, …, T_u,|Tu|)。在训练过程中模型在时间步t上根据先前的t个物品以及物品i和j之间的时间间隔r_u,ij预测下一个物品。模型的输入(S_u,1, S_u,2, …, S_u,|Su-1|)和序列中任意两个物品之间的时间间隔Ru其中Ru∈N(|Su|−1|×|Su|−1)期望的输出是(S_u,2, S_u,3, …, S_u,|S^u|)。

5.2 Personalized Time Intervals

对于原始输入序列Su和Tu首先将它们的长度固定为n如果大于n则截取最近n个如果小于n则用最左边的物品及其对应的时间戳补齐至n。

论文将交互序列中的时间间隔建模为两个物品之间的关系。有些用户的交互比较频繁但有些则比较少因此在一个用户序列中考虑相对时间间隔长度。因此对于所有时间间隔我们除以零以外的最小时间间隔得到个性化间隔。具体来说就是给定一个固定长度的用户时间序列t = (t1, t2, …, tn)。两个物品i和j之间的时间间隔定义为|ti - tj|时间间隔集表示为Ru这样一个用户u的最小时间间隔为r_u,min=min(Ru)。进行伸缩变换后的时间间隔为r_u,ij=(|ti - tj|/r_u,min)向下取整。因此我们得到了用户u的关系矩阵Mu
在这里插入图片描述

5.3 Embedding Layer

论文为物品创建一个embedding矩阵MI∈R(| I |×d)d是latent dimension。因为固定物品序列的长度为n所以如果长度大于n则需要通过embedding look-up操作截取前n个物品的embedding然后将它们堆叠在一起形成矩阵EI∈R(n×d)如果长度小于n则用零向量进行补全。
在这里插入图片描述
论文使用两个不同的可学习的positional embedding矩阵M_P,K∈R(n×d), M_P,V∈R(n×d)分别对应self-attention中的keys和values通过学习可以得到
在这里插入图片描述
论文为相对时间间隔学习两个embedding 矩阵分别为
在这里插入图片描述

5.4 Time Interval-Aware Self-Attention

5.4.1 Time Interval-Aware Self-attention Layer

对一个固定长度为n的输入序列EI = (m_s1, m_s2, …, m_sn)计算一个新的序列Z = (z1, z2, …, zn)这里zi和m_si∈Rd.Z的每个元素zi计算公式为
在这里插入图片描述
其中每个zi就是线性变化的输入和关系以及位置嵌入的加权和权重系数的计算公式为
在这里插入图片描述
WQ∈R(d×d)\ WK∈R(d×d)分别是query和key的输入映射根号d是为了避免内积的值过大。

5.4.2 Causality

由于序列的性质在预测第t+1个物品时是需要知道前t个物品的。因为时间感知的self-attention层的第t个输出包含所有输入信息所以为了避免穿越问题禁止所有Qi和Kjj>i之间的联系。
在这里插入图片描述

5.4.3 Point-Wise Feed-Forward Network

时间感知的自注意层可以自适应地选择权重合并所有前面的物品绝对位置和相对时间信息但它是通过线性组合实现的。为了使模型具有非线性在每个time-aware self-attention层之后应用两个以ReLU为激活函数的线性变换。
在这里插入图片描述
将self-attention和feed-forward堆叠起来后就会出现过拟合、梯度消失和训练时间长等问题因此通过使用layer normalizationresidual connections和dropout regularization技术去解决这些问题
在这里插入图片描述
其中⊙是元素的乘积μ和σ是x的均值和方差α和β是学习的比例因子和偏差项。

5.5 Prediction layer

在堆叠self-attention block后就会得到了物品位置和时间间隔的组合表示之后用潜因子模型计算用户对物品i的偏好分数
在这里插入图片描述
其中M_i,I是物品i的embeddingZ_t是给定前t个物品(s1, s2, …, st)以及它们与第t+1个物品之间的时间间隔(r_u,1(t+1), r_u,2(t+1), …, r_u,t(t+1))得到的表示。

5.6 Model Inference

给定物品序列S_u = (S_u,1, S_u,2, …, S_u,|Su|-1)和时间序列T_u = ( T_u,1, T_u,2, …, T_u,|T^u|-1)就会得到固定长度为n的两个序列s=(s1, s2, …, sn)和t=(t1, t2, …, tn)最后期望输出o = (o1, o2, …, on)。
在这里插入图片描述
因为用户交互式隐数据所以不能直接优化偏好分数R_i,t。模型式给出一个物品排名列表所以采用负采样去优化物品排名。对每一个期望输出oi我们采样一个o’_i不属于S_u去生成一组成对的优先顺序。论文选择cross entropy为损失函数并使用sigmoid函数将分数限制在(0, 1)用Adam优化器优化并使用mini-batch SGD加速。
在这里插入图片描述

6.实验

6.1 数据集

论文在来自三个真实世界平台的六个数据集上评估提出的方法这些数据集有不同的域、大小和稀疏度并且都是公开可用的。
在这里插入图片描述

6.2 评估指标

论文采用两个常用的Top-N指标Hit Rate@10和NDCG@10来评估推荐性能Hit@10统计了ground-truth条目在前10个条目中的比例NDCG@10考虑位置并将更高的权重分配给更高的位置。对于每个用户u随机抽取100个负面项目并将这些项目与ground-truth项目进行排序最后根据这101个项目的排名计算Hit@10和NDCG@10。
在这里插入图片描述

6.3 比较方法

论文将TiSASRec与以下方法进行比较这些方法包括不考虑顺序模式的经典通用推荐如POP、BPR、基于一阶马尔可夫链的方法如FPMC、TransRec和基于神经网络的方法如GRU4Rec+、Caser和MARank。

6.4 实现细节

论文在验证集上使用tensorflow和微调超参数实现TiSASRec使用了两个时间间隔感知的self-attention层并在嵌入层和预测层中学习了位置嵌入和间隔嵌入以及共享项目嵌入。所有数据集的learning rate为0.001batch size为128dropout为0.2。

6.5 实验表现

在所有密集数据集和稀疏数据集上TiSASRec在两个指标上都比最好的基线方法有所改进。一方面论文的模型利用了注意力机制可以根据不同的项目、绝对位置和时间间隔来调整权重而以前的模型只考虑前两者。另一方面TiSASRec利用了注意力机制使得可以在不同的数据集上适应性地关注不同范围内的项目。

7.结论

论文提出了一种时间间隔感知的序列推荐自注意力模型TiSASRec对项目之间的相对时间间隔和绝对位置进行建模以预测未来的相互作用。在稀疏数据集和稠密数据集上大量实验结果表明模型优于最新的基线并且证明了相对时间间隔对下一个项目预测任务的影响。

深度学习

1.多头注意力self-attention

上周学习的self-attention每个单元只有一个q k v如果每个单元有多个q k v我们就把它称为多头注意力多个q k v是指在第一个q k v计算之后再进行一次矩阵运算分割成多个q k v来实现
在这里插入图片描述
然后不同头的q k v分别进行和单头一样的运算。
第一个
在这里插入图片描述
第二个
在这里插入图片描述
以两个头为例进行矩阵运算来降维得到最后的结果
在这里插入图片描述
多头与单头相比多头中每个头关注点可能不一样有的头会比较关注周围词的信息有的头会比较关注长距离信息。

2.为什么要设置q k v

其实可以将q k v设置为一样但是这样会遇到一个问题我们将三个信息设置一样那么模型就没有其它未能想到的可能性。

如果在模型中加入w权重矩阵让模型自己去构造和学习这三个信息就会出现多种可能性并且还能设置不同的权重矩阵和增加多头就能让模型更加丰富。其实这里也就是构建一个线性模型对信息向量进行一个线性模型运算公式为y = w[0] * x[0] + w[1] * x[1] + … + w[n] * x[n] +b

3.self-attention理解

自注意力机制计算公式
在这里插入图片描述
除去归一化和除维度操作简化公式为
在这里插入图片描述
1计算得分score表示这个字与内部其它字的关系。
2计算注意力值Attention value表示”学“的加权值”习“的加权值。
3这样计算的作用是突出内部关联性强的字。
在这里插入图片描述
从上图中可以看出学学的关联性比学习的关联性强那么在最后的计算中”学学 * 学 + 学习 * 习“中的学学 * 学就会主导计算结果这个字与其余字的关联性。在模型训练过程中如果学习位于一句话中间假设“学”相比“习”与label的关联性更大那么”学学 * 学 + 学习 * 习“就会有更大的权重从而使模型注意力集中。


总结

self-attention的优点是self-attention的计算基本都是矩阵计算不包含任何RNN和CNN结构可以解决序列的长依赖问题同时矩阵计算可以并行化使得计算非常快速。self-attention的缺点是self-attention中没有任何部分可以处理序列信息因此需要额外的positional encoding模块矩阵维度是n的平方如果序列较长会非常消耗内存虽然self-attention能对长依赖问题有效处理但是对短程的上下文信息反而处理的不好。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6