深夜福利,序列前后滑动的快乐!

2021-05-14 16:47:14 浏览数 (1)

作者:一元,四品炼丹师

MRIF: Multi-resolution Interest Fusion for Recommendation(SIGIR2020)

背景

本文分享阿里的最新的工作,该工作中的aggregator很简单而且在我这还略有提效,希望能对大家也能带来帮助,提前完成年终KPI!

个性化推荐的主要任务是根据用户的历史行为来获取用户的兴趣。推荐系统的最新进展主要集中在使用基于深度学习的方法精确地建模用户的偏好。用户兴趣有两个重要的属性,

  • 用户兴趣是动态的,并且随着时间的推移而演变;
  • 用户的兴趣有不同的分辨率,或者精确地说是时间范围,比如长期偏好和短期偏好。

现有的方法要么使用递归神经网络(RNNs)来解决用户兴趣的漂移,而不考虑不同的时间范围,要么设计两个不同的网络分别对长期和短期偏好进行建模。本文提出了一种综合考虑用户兴趣的多resolution兴趣融合模型。该模型能够捕捉用户兴趣在不同时间范围内的动态变化,为组合多resolution用户兴趣进行预测提供了有效途径。

提出的方案

Interest Extraction Layer

对于一个用户序列, , embedding层将序列投影至一个embedding矩阵, , embedding矩阵是商品embedding的和, , 位置矩阵 , 如果用户的商品序列长度低于,我们就用0进行填充。

用户在每一步的兴趣可以被建模为一个隐藏变量,这个变量不能直接观察到,通过历史行为来估计。以往的研究使用隐马尔可夫模型(HMM)来预测用户的潜在兴趣,通过最大化隐藏用户兴趣下行为序列的概率。然而,HMM模型的状态非常有限,不能有效地表达用户的兴趣空间。DIEN选择基于GRU的RNN作为用户兴趣抽取器,这对于长序列是非常耗时的。有些文章提出的Transformer网络依赖于self-attention而不是recurrence,这是一种更快,更有效的方法。

此处我们使用transformer进行兴趣的收取,预训练的transformer网络来对下一步的商品进行预测。我们先用Multi-head attenion将输入序列投影到的子空间中,然后使用scaled dot product attenion函数,

MultiHead(X) = Concat(head_1(X),...,head_h(X))W \ head_i(X) = Attention(XW_i^Q, XW_i^K, XW_i^V) \ Attention(Q,K,V) = softmax(frac{QK^T}{sqrt{d}})V

我们使用两个纺射转化函数以及RELU函数来增加非线性能力。

FFN(X) = ReLU(XW_1 b_1)W_2 b_2

Transformer网络建立在Multihead Attention和FFN的基础上,增加了dropout、layer normalization和residual链接。Transformer层方程如下:

Trm(X) = LN(Dropout(FFN(SA(X))) SA(X))\ SA(X) = LN(Dropout(MultiHead(X)) X)

其中LN是层正则, 用户的兴趣通过两个transformer层进行堆叠抽取,

H^0 = Trm(Trm(E))

为了准确捕捉用户在每一步的即时兴趣,我们预先训练Transformer网络来预测用户在每一步的下一个行为。

Interest Aggregation Layer

兴趣聚合层的目的是在不同的时间范围内检测用户兴趣,形成一组多resolution的用户兴趣。Interest集成层构建长度为的滑窗,沿着输入嵌入序列一步一步地移动,然后将聚合器应用于窗口嵌入。我们将集成层的输出embedding序列表示为, 在中步骤处的embedding表示为, 在层处的embedding可以通过下面的方式计算得到:

H_i^{l 1} = Agg([H_{i-w}^l, H_{i-w 1}^l, ..., H_{i w}^l])

其中Agg是集成函数,如果小于0或者大于,那么就被设置为0.

本文我们使用三种aggregator。

1. Mean aggregator

MeanAgg([H_{i-w}^l, H_{i-w 1}^l, ..., H_{i w}^l]) = sum_{j=i-w}^{i w} H_{j}^l

2. Max aggregator

MaxAgg([H_{i-w}^l, H_{i-w 1}^l, ..., H_{i w}^l]) = H^l_{~~~~~argmax_{j=i-w}^{i w} ~~~~norm(H_j^l)}

3. Attentional aggregator

AttnAgg([H_{i-w}^l, H_{i-w 1}^l, ..., H_{i w}^l]) = sum_{j=i-w}^{i w} alpha_j H_{j}^l

其中是和embedding位置相关的attention参数。

Attentional Interest Fusion

兴趣聚合层在不同的时间范围内产生一组用户兴趣,注意融合结构将注意力机制应用于每一个兴趣分解中,然后将其相加形成一个组合的兴趣表示:

h = sum_{l} softmax((H^l e_{t 1})^T )H^l

其中, 是我们需要预测的embedding,

mathcal{L} = sum_{u} - log(sigma(h_u^T e_u^ )) - log(1-sigma(h_u^Te_u^-))

其中是用户序列中包含的正向商品, 是用户序列中随机采样的负样本。

实验

效果比较

  • POP方法在所有度量方面表现最差,因为它只考虑项目的流行性,而不考虑用户端信息。
  • BPR和NCF的性能优于POP,这是因为这两个模型使用基于协同过滤的方法来合并用户信息。
  • 在所有指标上,DIN都比BPR和NCF获得更好的结果,因为DIN依赖于注意力机制,并且使用目标项目关注用户的历史行为。
  • GRU4Rec、LSTM4Rec、CASER和SASRec都是顺序推荐方法,它们不仅使用了用户交互过的项目,而且还使用了顺序中项目的相对位置。由于考虑了项目的顺序,顺序方法的性能优于DIN。
  • SASRec在使用自我注意块方面优于其他三种顺序方法。本文的方法优于SASRec,在所有方法中取得了最好的结果。MRIF-attn在电影数据集上除AUC和GAUC指标外,其他指标均达到最佳,说明注意聚合器是最有效的。MRIF-avg的性能比MRIF-attn稍差,因为权重在平均聚合器中是常数。MRIF-max在所提出的三种方法中表现最差,这可能是因为max聚合器执行困难,同时因为我们只选择一个商品从而很多辅助信息都丢失了

小结

本文提出了由兴趣提取层、兴趣聚集层和注意融合结构组成的多分辨率兴趣融合模型,解决了不同时间范围内用户偏好的提取和组合问题。兴趣提取层在每一步都依赖于变换块来提取用户的即时兴趣。兴趣聚合层的重点是找到一组不同分辨率的用户兴趣。提出了三种不同的聚合器:平均聚合器、最大聚合器和注意聚合器。兴趣融合结构采用注意机制,整合多分辨率兴趣进行预测。在七个评价指标下对两个数据集进行了实验,证明了该模型的优越性。

参考文献

  1. MRIF: Multi-resolution Interest Fusion for Recommendation:https://arxiv.org/pdf/2007.07084.pdf

0 人点赞