推荐系统行为序列建模-GRU4Rec

推荐系统行为序列建模-GRU4Rec

    • 1.模型结构
    • 2.优化
        • 2.1 SESSION-PARALLEL MINI-BATCHES
        • 2.2 SAMPLING ON THE OUTPUT
    • 3.Loss

《SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS》论文基于单次会话session进行推荐。

1.模型结构

推荐系统行为序列建模-GRU4Rec_第1张图片
整体结构比较简单,通过RNN的堆叠来抽取序列信息

  • input:单次会话的点击序列 [ x 1 , x 2 , . . . x n ] [x_1, x_2,...x_n] [x1,x2,...xn]
  • output:时间节点i之后的下一个被点击item x i + 1 x_{i+1} xi+1

初始embedding是对会话点击序列的编码,通过最后一层GRU后,获得对当前会话序列的整体建模 w 1 w_1 w1,之后可以视为与候选item编码构成的矩阵 w 2 w_2 w2作用得到对各候选item的推荐倾向

2.优化

为了加速训练,作者提出了两个trick:

2.1 SESSION-PARALLEL MINI-BATCHES

GRU4Rec聚焦于单个Session的演变,碎片化Session没有意义
推荐系统行为序列建模-GRU4Rec_第2张图片
为了保证Session内的连续性和Session间的独立性:

  • 同一Mini-batch并行运算,不同的按序串行
  • 切换Session时,重置GRU隐变量(如 i 1 , 3 i_{1,3} i1,3 i 5 , 1 i_{5,1} i5,1时)
2.2 SAMPLING ON THE OUTPUT

item数量太多负采样困难,选取了同一个batch 中其他 Session 下一个点击的 item 作为负样本,局部负采样

3.Loss

BPR: − 1 N s ∑ j = 1 N s l o g ( σ ( r ^ s , j > r ^ s , i ) ) -\frac{1}{N_{s}}\sum_{j=1}^{N_{s}}log(\sigma(\hat{r}_{s,j} > \hat{r}_{s,i})) Ns1j=1Nslog(σ(r^s,j>r^s,i))
TOP1: − 1 N s ∑ j = 1 N s σ ( r ^ s , j > r ^ s , i ) + σ ( r ^ s , j 2 ) -\frac{1}{N_{s}}\sum_{j=1}^{N_{s}}\sigma(\hat{r}_{s,j} > \hat{r}_{s,i}) + \sigma(\hat{r}_{s,j}^2) Ns1j=1Nsσ(r^s,j>r^s,i)+σ(r^s,j2)

你可能感兴趣的:(深度学习,session)