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

馒头and花卷發表於2024-07-07

目錄
  • 符號說明
  • BSARec (Beyond Self-Attention for Sequential Recommendation)
  • 程式碼

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]

相關文章