Sequential Recommendation via Stochastic Self-Attention

发布时间 2023-04-07 13:49:19作者: 馒头and花卷

Fan Z., Liu Z., Wang A., Nazari Z., Zheng L., Peng H. and Yu P. S. Sequential recommendation via stochastic self-attention. International World Wide Web Conference (WWW), 2022.

Stochastic embeddings 和 Wasserstein attention.

符号说明

  • \(\mathcal{U}\), users;
  • \(\mathcal{V}\), items;
  • \(\mathcal{S}^u = [v_1^u, v_2^u, \ldots, v_{|\mathcal{S}|^u}^u]\), sequence;
  • \(p(v_{|\mathcal{S}^u| + 1}^{(u)} = v | \mathcal{S}^u)\), next-item 预测概率.

Motivation

  • 一般的序列推荐模型采用'固定'的 embedding 表示 \(\mathbf{M} \in \mathbb{R}^{|\mathcal{V}| \times d}\), 但是这种方式不能很好地表示用户兴趣或者产品特征的不确定度.

  • 此外, 一般的 Attention 一般如下形式:

    \[\text{SA}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d}}) \mathbf{V}. \]

    但是作者认为, 这种 '内积' 不是并不是合格的距离度量 (不满足三角不等式), 所以难以正确度量序列的先后关系.

STOSA

  • 为了度量结点的不确定性, 作者将每个结点建模成一个高斯分布:

    \[\mathcal{N}(\bm{\mu}_v, \Sigma_{v}). \]

  • 具体的, 我们构建两个 embedding table: \(\mathbf{M}^{\mu} \in \mathbb{R}^{|\mathcal{V}| \times d}, \mathbf{M}^{\Sigma} \in \mathbb{R}^{|\mathcal{V}| \times d}\), 故 (这里我们省略位置编码)

    \[\bm{\mu}_v = \bm{m}_v^{\mu}, \: \Sigma_v = \text{diag}(\mathbf{m}_v^{\Sigma}). \]

  • 可以这么认为, \(\bm{\mu}_v\) 是结点 \(v\) 的基本表示, \(\Sigma_v\) 融合了结点 \(v\) 的一个不确定度.

  • 为了替换一般的基于内积的 attention, 作者采用 Wasserstein attention:

    1. 给定两个结点, 假设它们的分布分别为 \(\mathcal{N}(\bm{\mu}_u, \Sigma_u), \mathcal{N}_v(\bm{\mu}_v, \Sigma_v)\), 则二者的 (unnormalized) attention 为:

    \[\mathbf{A}_{uv} = -W_2(u, v) = -(\|\bm{\mu}_u - \bm{\mu}_v\|_2^2 + \text{tr}(\Sigma_u + \Sigma_v - 2(\Sigma_u^{1/2}\Sigma_{v}\Sigma_{u}^{1/2})^{1/2})). \]

  • 需要注意的是, 在 feed-forward 的过程中, 每个结点的分布在改变, 此时, 为了保证 \(\Sigma\) 有意义 (即满足半正定性), 每次需要对特征进行后处理:

    \[\text{ELU}(\cdot) + 1 \in [0, +\infty]. \]

  • 因为不像 SASRec, STOSA 每次返回的是 \(\hat{\bm{\mu}}, \hat{\Sigma}\), 相当于是一个分布, 所以计算 score 的时候, 需要再计算它和其它结点的Wasserstein 距离.

代码

[official]