Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[NeurIPS2023論文読み会] Generate What You Prefer: Reshaping Sequential Recommendation via Guided Diffusion

Shusuke Takahama
January 17, 2024
360

[NeurIPS2023論文読み会] Generate What You Prefer: Reshaping Sequential Recommendation via Guided Diffusion

2024/1/18に開催されたNeurIPS論文読み会での発表資料です。
"Generate What You Prefer: Reshaping Sequential Recommendation via Guided Diffusion" (Z. Yang et al., 2023 NeurIPS)

Shusuke Takahama

January 17, 2024
Tweet

Transcript

  1. ⾃⼰紹介 ⾼濱 修輔 ML engineer at LY Corp. • 新卒3年⽬

    • LINE公式アカウントやLINE NEWSの記事の推薦などをやってます • 推薦多様性にも興味あります DPP (Determinantal Point Process, ⾏列式点過程) の理論と、推薦シ ステムの多様性向上への挑戦 ‒ Qiita ⼤学では医療画像解析を研究していました • Multi-Stage Pathological Image Classification Using Semantic Segmentation (ICCV 2019 accepted) • Domain Adaptive Multiple Instance Learning for Instance-level Prediction of Pathological Images (ISBI 2023 accepted) • 修論が国際学会ISBI2023に採択されたのでコロンビアのカルタヘナに ⾏ってきた【1泊6⽇】- note (Shusuke Takahama) @grouse324st 1
  2. 論⽂紹介 Generate What You Prefer: Reshaping Sequential Recommendation via Guided

    Diffusion (Z. Yang et al, 2023) https://arxiv.org/pdf/2305.10601.pdf ⼀⾔で⾔うと... 推薦システムに拡散モデルを適⽤してみた (しかも効率的に) Negative/Positiveサンプルのペアからユーザーの嗜好を推定するのではなく、 拡散モデルで直接埋め込みを⽣成してやろうという試み 5
  3. 推薦システム 多くのコンテンツの中から、ユーザーが興味あるであろうものを 優先的に提⽰して意思決定を⽀援する 推薦ロジックの例 • 協調フィルタリング • Factorization Machine •

    Two-tower Model • ⽣成モデルベースの推薦⼿法 • VAE系: CDAE [Wu+, 2016], Mult-VAE [Liang+, 2018] • GAN系: VAEGAN [Yu+, 2019] , SD-GAR [Jin+, 2020] • 過去にユーザーがインタラクション(購⼊・クリック等)した アイテムの履歴を使って学習するのが基本 • アイテム情報(テキスト・画像など)やユーザー情報(デモグラ 情報など)を使うものもある 6 某ECサイトにおけるおすすめの例
  4. 拡散モデル • 画像⽣成等の分野で爆発的に流⾏った⼿法(DALL-E, Imagenなど) • 時間が経つにつれ⼤きくなるノイズを予測するモデルを学習することで、最終的に ノイズから画像を⽣成できるようになる • (⼀般的には)VAEやGANよりも質の⾼い出⼒を安定的に⽣成できるのが強み 何かしらのモデル

    元のデータ 予測された ノイズ 学習 (Forward) ノイズ付与されたデータ (最初はガウシアンノイズ) ⽣成 (Reverse) 時間 t (0 ≤ 𝑡 ≤ 𝑇)で増える ノイズを追加し、 モデルでノイズを推定 時間 𝑇 の分だけ ノイズ除去を繰り返す ノイズ ⊕ 予測された ノイズ 時刻情報 時刻情報 7
  5. 提案⼿法 拡散モデルを使って、推薦したいアイテムのEmbeddingを直接⽣成する Negative Item(インタラクションしてないアイテム情報)を必要としないのが強み 学習 • 逐次推薦において、最後( 𝑛 個⽬)にユーザー がインタラクションしたアイテムを⽣成する

    • アイテムのEmbeddingに、時刻 t でのノイズを 付与し、デノイズされたデータを出⼒ • 元データと出⼒データの差分を損失とする 予測 • ガウシアンノイズからスタートして、デノイズ を 𝑇 回繰り返す • 最終的に⽣成されたEmbeddingに近いアイテム を近傍探索によって推薦する MLPモデル 元データ 予測された でのノイズ ⊕ MLPモデル ノイズ付与 されたデータ 予測された ⽣成 (Reverse) 学習 (Forward) 8
  6. 提案⼿法 このままだとユーザーの好みによらず適当なアイテムが⽣成されてしまう →コンディションを追加する MLPモデル 元データ 予測された ⽣成 (Reverse) でのノイズ ⊕

    MLPモデル ノイズ付与 されたデータ 予測された 学習 (Forward) エンコーダー … エンコーダー … • 直近の過去 𝑛 − 1 回でユーザーが インタラクションしたアイテム 情報を使う • エンコーダーでユーザー履歴の Embedding 𝑐!"# を⽣成し、 MLPモデルに⼊れる • 𝑐!"# を⼊れる/⼊れない場合の バランス(個⼈最適化の度合) を 𝑤 で制御する 9
  7. 提案⼿法 学習 • 逐次推薦において、最後( 𝑛 個⽬)にユーザー がインタラクションしたアイテムを⽣成する • アイテムのEmbeddingに、時刻 t

    でのノイズを 付与し、デノイズされたデータを出⼒ • 元データと出⼒データの差分を損失とする 予測 • ガウシアンノイズからスタートして、デノイズ を 𝑇 回繰り返す • 最終的に⽣成されたEmbeddingに近いアイテム を近傍探索によって推薦する MLPモデル 元データ 予測された でのノイズ ⊕ MLPモデル ノイズ付与 されたデータ 予測された ⽣成 (Reverse) 学習 (Forward) 10 拡散モデルを使って、推薦したいアイテムのEmbeddingを直接⽣成する Negative Item(インタラクションしてないアイテム情報)を必要としないのが強み
  8. 拡散モデルを使って、推薦したいアイテムのEmbeddingを直接⽣成する Negative Item(インタラクションしてないアイテム情報)を必要としないのが強み 提案⼿法 学習 • 逐次推薦において、最後( 𝑛 個⽬)にユーザー がインタラクションしたアイテムを⽣成する

    • アイテムのembeddingに、時刻 t でのノイズを 付与し、デノイズされたデータを出⼒ • 元データと出⼒データの差分を損失とする 予測 • ガウシアンノイズからスタートして、デノイズ を 𝑇 回繰り返す • 最終的に⽣成されたEmbeddingに近いアイテム を近傍探索によって推薦する MLPモデル 元データ 予測された でのノイズ ⊕ MLPモデル ノイズ付与 されたデータ 予測された ⽣成 (Reverse) 学習 (Forward) Negative Itemを使わないのが 推しポイントらしいけど、 そんなに嬉しいの? 11
  9. 提案⼿法 Negative Itemの情報を使わず直接Item Embeddingを⽣成することで • ベクトルサイズが⼤きくなり過ぎたり、モデルが複雑になったりすることを防げる • ノイジーなNegative Itemを使わなくて済み、精度が改善する Negative

    Itemの話は、拡散モデル+推薦の既存研究を意識していそう。例えば、 DiffRec [Wang+, SIGIR 2023] ノイズ ⊕ 0 1 0 … 1 モデル 0.1 0.8 0.6 … 0.8 Item 1 Item 2 Item 3 … Item n 全アイテムについて インタラクションの 有無の0/1ベクトル 再構成された ベクトル • 全アイテム数の次元を持ったユーザ履歴情報の ベクトルを再構成する • アイテム数が多い場合は、ユーザーベクトルを VAE等で圧縮する 12
  10. 実験 データセット 逐次推薦の分野で使われる3つ: YooChoose, KuaiRec, Zhihu ⽐較⼿法 • GRU3Rec, Caser,

    SASRec:深層モデルでembedding推定する系 • S-IPS, AdaRanker:因果推論などを使ってbias除去に注⼒ • CL4SRec:⾃⼰教師あり学習を利⽤ • DiffRec:拡散モデル+推薦の先⾏研究 定量評価 13
  11. 実験 Item Embeddingの可視化 • 提案⼿法が最も⼀様に分布しており、 埋め込み空間を効果的に使えている • Negative Itemを使わないことで、 Embeddingの過度な集中を防げる(らしい)

    個⼈最適化パラメータ𝑤の制御 • パラメータ𝑤で、ユーザーごとに過去の 履歴をどれだけ重視するか制御できる • タスクごとに最適な𝑤が存在する 14
  12. 感想 • 拡散モデルを推薦システムに適⽤し、逐次推薦の次にインタラクションする アイテムのEmbeddingを直接⽣成しようとする研究 • ⼿法⾃体はシンプルなので、過去の⽣成モデル系(VAE, GANなど)の論⽂に 似たようなものがあるのではと思っている(調べきれてない) • ⽣成モデルベースの推薦⼿法が活⽤されている例をあまり知らないので、

    実⽤的な意味で競争⼒があるのかは深掘りしてみたい • Negative Itemを使わないとベクトルサイズが爆発しなくて済む、という利点 は理解できたが、それ以外のメリットはそこまでわからなかった。 効率よくNegative Itemの情報を⼊れられれば性能は良くなるのでは? 15