An Attentive Inductive Bias for Sequential Recommendation beyond the Self-Attention

Shin Y., Choi J., Wi H. and Park N. An attentive inductive bias for sequential recommendation beyond the self-attention. AAAI, 2024.

本文在 attention block 中引入高低频滤波.

符号说明

  • \(\mathcal{U}\), users;

  • \(\mathcal{V}\), items;

  • \(\mathcal{S}^u = [v_1^u, v_2^u, \ldots, v_{|\mathcal{S}^u|}^u]\), sequence;

  • \(\mathbf{E}_{\mathcal{S}^u} \in \mathbb{R}^{L \times d}\), sequence embeddings;

  • attention matrix:

    \[\mathbf{A} = \text{softmax}( \frac{ \mathbf{Q} \mathbf{K}^T }{ \sqrt{d} } ), \quad \mathbf{Q} = \mathbf{E}_{\mathcal{S}^u} \mathbf{W}_Q, \: \mathbf{K} = \mathbf{E}_{\mathcal{S}^u} \mathbf{W}_K. \]

  • \(\bm{f}_j = [e^{2\pi \mathbf{i} (j-1) \cdot 0}, \ldots, e^{2\pi \mathbf{i} (j - 1)(N-1)}]^T / \sqrt{N} \in \mathbb{R}^N\), 维 DFT (Discrete Fourier Transform) 的第 \(j\) 个基底, 这里 \(\mathbf{i}\) 表示 imaginary unit.

BSARec (Beyond Self-Attention for Sequential Recommendation)

  • 首先, 作者对一般的序列推荐模型如 SASRec, FMLPRec 的演进过程中的 embedding 的奇异值变化和 user embedding 的 cosine similarity 进行比较, 可以发现 embedding 主特征值的主导地位相当明显, 而且随着层数的加深, 越发变得相似. 故而, 作者得出结论, 认为现在的主流的序列推荐模型主要是在学习一个 low-pass 的滤波.

  • 令 DFT 的基底矩阵为 \(\mathcal{F}\), 对于任意的向量 \(\bm{x}\) 我们可以得到它的频域上的表示

    \[\bar{\bm{x}} = \mathcal{F} \bm{x}. \]

    并令 \(\bar{\bm{x}}_{lfc} \in \mathbb{C}^c\) 表示 \(\bar{\bm{x}}\) 的最低频位置的 \(c\) 个元素, \(\bar{\bm{x}}_{hfc} \in \mathbb{C}^{d-c}\) 表示 \(\bar{\bm{x}}\) 的最高频位置的 \(d-c\) 个元素.

  • 由此, 我们可以通过 Inverse DFT 得到

    • \(\bm{x}\) 的低频信号:

      \[\text{LFC} [\bm{x}] = [\bm{f}_1, \bm{f}_2, \ldots, \bm{f}_c] \bar{\bm{x}}_{lfc} \in \mathbb{R}^d. \]

    • \(\bm{x}\) 的高频信号:

      \[\text{HFC} [\bm{x}] = [\bm{f}_{c+1}, \bm{f}_{c+2}, \ldots, \bm{f}_d] \bar{\bm{x}}_{hfc} \in \mathbb{R}^d. \]

  • \(\mathbf{X}^{\ell}\) 表示第 \(l\) 层的输入, 则 attention 后的结果为

    \[\alpha \mathbf{A}_{\text{IB}}^{\ell} \mathbf{X}^{\ell} + (1 - \alpha) \mathbf{A}^{\ell} \mathbf{X}^{\ell}. \]

    其中 \(\mathbf{A}^{\ell} \mathbf{X}^{\ell}\) 对应正常的 attention 机制, 而 \(\mathbf{A}_{\text{IB}}^{\ell} \mathbf{X}^{\ell}\)

    \[\mathbf{A}_{\text{IB}}^{\ell} \mathbf{X}^{\ell} = \text{LFC}[\mathbf{X}^{\ell}] + \bm{\beta} \text{HFC}[\mathbf{X}^{\ell}], \]

    其中 \(\bm{\beta}\) 是可训练的参数, 它可以是每个维度设置一个, 也可以不同维度共享一个 (代码里的是这种方案).

代码

[official]

posted @ 2024-07-07 15:21  馒头and花卷  阅读(42)  评论(0编辑  收藏  举报