Yin+'24 Dataset Regeneration for Sequential Recommendation (KDD 2024)
TL; DR
シーケンシャル推薦のためのモデル非依存なデータセット再生成フレームワーク「DR4SR」を提案
良い性質を備えたデータセットを再生成することでモデルの性能向上
ターゲットモデルに最適化したデータセット生成が可能な手法「DR4SR+」でさらに性能向上
Motivation
https://gyazo.com/ee84cac4104074198c7d39fa8aca97be
従来のシーケンシャル推薦システムの研究はモデル中心のアプローチが取られていた
例: 作り込まれたモデルアーキテクチャ
データセットの質の問題は無視されがち
これらは過学習、エラーの増幅などを引き起こす
本研究ではデータ中心AIの立場から、学習データ開発(training data development)の問題を考える
有益で汎化可能な学習データセットをどう獲得するか?
Problem Definition
Definition1. Sequential Recommendation
各ユーザー $ u \in \mathcal{U} に対して次の時刻 $ |s_u|+1 でインタラクションされるアイテム $ v_{|s_u|+1} を予測
ユーザー $ u \in \mathcal{U} のインタラクションシーケンス: $ s_u = [v_1, v_2, \dots, v_t, \dots, v_{|s_u|}]
$ v_t \in \mathcal{V}はユーザーが時刻 $ t にインタラクションしたアイテム
$ |s_u| はシーケンスの長さ(最大 $ N )
ユーザー集合 $ \mathcal{U}
アイテム集合 $ \mathcal{V}
$ |\mathcal{U}| および $ |\mathcal{V}|はそれぞれのユーザー数とアイテム数
Definition2. Training Data Development
従来のモデル学習方法
元のデータセット $ X に対して、$ Y = f’(X)を満たすターゲットモデル $ f’ を学習:
$ Y はユーザーの嗜好
トレーニングデータ開発:
情報豊かで汎用性のあるデータセット $ X’ を学習
$ Y = f(X’) を満たすターゲットモデル $ f を学習
$ f’ よりも $ f の学習が容易になるようにする
Definition3. Dataset Regeneration
シーケンス $ s_u に対して、$ {p_{u1}, p_{u2}, \dots, p_{uK}} = f’(s_u) を満たす1対多のデータセット再生成器 $ f’ を学習:
$ {p_{u1}, p_{u2}, \dots, p_{uK}}は$ K個の有益なパターン
$ f’ はターゲットモデル $ f から独立して学習
すべての再生成パターンを収集し、新しいデータセット $ X’ を生成する
Definition4. (Model-aware Dataset Regeneration).
再生成されたデータセット$ X’ が与えられたとき、パーソナライザー $ g (パラメータ $ \phi )を使用:
スコア行列 $ W \in \mathbb{R}^{|X’|} を生成し、各データサンプルのスコアを評価
$ g の学習はターゲットモデル $ f によってガイド
データセットとスコアのペア $ (X’, W) は、個別化されたデータセットとして機能する
Proposed Method: DR4SR Framework
モデルに依存しないデータセット再生成フレームワーク
データセット生成器を self-supervised に事前学習するのがキモ
Overview
https://gyazo.com/ab33375aa4f42250594c3414186581ae
Model-agnostic Dataset Regeneration
1. 事前学習タスク・データの構築
元データセットからルールベースに有用なパターンを抽出する
https://gyazo.com/d745deb090693d1822d0b6566c8d90c9
サイズ$ \alphaの sliding window で系列を抽出 & カウント
事前学習用の training example:
$ (s_u, p_i)
$ s_u: $ uのインタラクション履歴
$ p_i: $ s_uから抽出された$ i番目のパターン
2. Diversity-promoted Regenerator
encoder-decoder型のTransformer + Diversity-promoter
入出力
Input: $ s_u: $ uのインタラクション履歴
Output: $ p_i: $ s_uから抽出された$ i番目のパターン
Diversity-promoter
ひとつの$ s_uに対して可能な$ p_iが複数ある(one-to-many)ため、そのままでは学習しにくい
one-to-manyの入出力をうまく扱えるようアーキテクチャを修正する
学習時
オリジナルのシーケンス$ s_uをエンコーダに入力して得られる表現$ \mathbf{m} \in \mathbb{R}^Dを$ K個の異なるベクトル空間に射影し$ \{\mathbf{m}_1’, \mathbf{m}_2’, \dots, \mathbf{m}_K’\}, \quad \mathbf{m}_k’ \in \mathbb{R}^Dを得る
ターゲットパターンを別の Transformer encoder に入力し$ \mathbf{h}_{\text{pattern}}^{(l)} \in \mathbb{R}^Dを得る
MLP+Softmaxを通して確率ベクトル$ \pi = \text{Softmax}(\text{MLP}(\mathbf{h}_{\text{pattern}}^{(l)}))を得る
$ \pi = {\pi_1, \pi_2, \dots, \pi_K}
最終的に$ \mathbf{m_{\text{final}}} = \sum_{k=1}^{K} \pi_k \mathbf{m}_k’をdecoderに入力する
※理想的には各$ \mathbf{m}_k’がそれぞれのターゲットパターンに対応する
推論時
推論時はターゲットパターンが参照できないため、$ \piが手に入らない
そこで$ \mathbf{m}_k’の重み付け和を取るのを諦め$ \mathbf{m}_k’をそれぞれ入力する
結果として1つの入力に対して$ K個の生成が手に入る
3. Dataset Regeneration with Hybrid Inference Strategy
2つの生成モードを混ぜて使う
Restrictive mode(活用)
入力シーケンスのサブシーケンスに出力を制限する
Generative mode(探索)
制約なしで生成させる
探索と活用のバランスを取る
$ \gammaの確率でGenerative modeから、$ 1 - \gammaの確率で Restrictive mode からサンプリング
Model-aware Dataset Regeneration (DR4SR+)
モデルに最適なデータセット再生成
Dataset personalizer
$ \mathbf{h}_{i}^{t}をターゲットモデルの潜在表現として、$ \mathbf{z} = g_{\phi}(\mathbf{h}_{i}^{t})を計算し、サンプルの重み$ 𝑤_{𝑖,𝑡}を得る
$ \hat{z} = \text{Softmax}\left( \frac{\mathbf{z} + G}{\tau} \right),$ w_{i,t} = \hat{z}_1,
$ g_{\phi}がDataset personalizer
学習時のloss: $ \mathcal{L}{\text{rec}} = \sum_{i=1}^{|X’|} \sum_{t=2}^{|p_i|} w_{i,t} \mathcal{L}_{\text{next-item}}(i, t).
2段階最適化
$ \phi^* = \arg\min_{\phi} \mathcal{L}_{\text{dev}}(\theta^*(\phi)),
$ \text{s.t.} \quad \theta^*(\phi) = \arg\min_{\theta} \mathcal{L}_{\text{train}}(\theta, \phi),
1回目は Dataset personalizerのパラメータ$ \phiを固定した状態で$ \thetaを求める
dev set で loss が最小になるようなDataset personalizer$ \phi^*を学習
Experiment
実験設定
データセット
Amazon-review dataset: Beauty、Sports、Toys
Yelp
stats
オリジナルのデータセット
https://gyazo.com/c0044f3e6a214698a2f931026210d14d
再生成したデータセット
https://gyazo.com/e55b75a54e52705a6f5a4aea593d57fd
interactionsが増え、平均長が短くなっている
Baselines (Data-centric approach)
∞-AE: an AutoEncoderを利用してユーザーインタラクションデータをサンプリングする手法
MELT: long-tail users/items の改善に焦点を当てた手法
Target model
RNN-based: GRU4Rec
Transformer-based: SASRec
Denoising-based: FMLP
GNN-based: GCE-GNN
Contrastive-learning-based: CL4SRec
評価指標
Recall@10、Recall@20、NDCG@10、NDCG@20
実験結果
overall performance
https://gyazo.com/fff4e5a93730a11254cd04318cde6622
Target model に DR4SR を適用した場合一貫して性能向上
DR4SRが情報豊かで汎用的なデータセットを再生成している
DR4SR → DR4SR+ も一貫して改善している
DR4SR+によってデータセットがモデルに最適化されている
Denoising-basedモデルのFMLPに対しても、DR4SR, DR4SR+で大幅に性能向上している
デノイジングはTraining Data Developmentの一側面にすぎない
Data-centric / model-centric アプローチは相補的
Ablation Study
各ステップの工夫の効果を調査
-diversity: diversity-promoted regeneratorをvanilla transformerに変える
pattern: ルールでオリジナルのデータセットから抽出されたパターンのみを用いる
end-to-end: DR4SR+において2段階最適化ではなくend-to-endに学習する
https://gyazo.com/c12585e0cdeb13b668d3823b52d07260
(A) vs DR4SR+
大幅なパフォーマンス低下
元のシーケンスとパターン間の1対多のマッピング関係をモデル化する必要性を示す
(B) vs SASRec
パターンデータセットのみを使用すると、多くの貴重な頻度の低いパターンが無視されるため、パフォーマンスが低下する
(C) vs DR4SR+
end-to-end学習では、dataset personalizer がすべてのデータサンプルにゼロスコアを割り当てるという単純な解に容易に収束してしまう
Advanced Study
Analysis of efficiency of dataset personalization
2段階最適化を行っても必要な計算機リソースや学習速度はそこまで変わらない
https://gyazo.com/cbb8f8a2873a9f0ddfb59b50ff4610b9
Analysis of data sample scores of different target models
モデルごとに学習された学習サンプル重みの分布
https://gyazo.com/f380f6de40ac49582cb1d39814cee712
モデルが異なると重視するサンプルも異なる
GRU4Recは他の方法と比較してスコアの分散が大きい
自己注意メカニズムやフィルタ強化MLPが、シーケンス内のアイテムの利用をある程度適応的に決定できるため
Analysis of data forms that should be regenerated
データセットにグラフベースデータ拡張を適用した場合のモデル性能挙動
一貫して良いデータを提供できているわけではない
https://gyazo.com/29e047b822f32c59efc0448d17497b1a
Hyper-parameter Sensitivity
diversity factor K & generative decoding probability 𝛾
Kは増やしていくと性能向上 & 一定の値で飽和
𝛾 0.1程度で性能が最大
https://gyazo.com/35fccb2ee5d4825642593f4feeef0f74
他のドメインへの適用
同様に効果が確認できた
https://gyazo.com/85293b7acb055249f6b59abf1fcb2355
Memo
有用そう
具体的にどのようなデータが生成されることで性能が向上するのかの事例を見たい
勝手なイメージ
(コーヒー、レシピ、映画紹介)と(旅行、レシピ)から(旅行、レシピ、映画紹介)や(コーヒー、旅行)が生成される?
なぜモデルごとに最適なデータセットが異なるのか
アーキテクチャ由来?
再生成されたデータセットでシーケンス長が短くなっていることの意味