nogawanogawa / paper_memo

4 stars 0 forks source link

Transformers4Rec: Bridging the Gap between NLP and Sequential / Session-Based Recommendation #35

Closed nogawanogawa closed 2 years ago

nogawanogawa commented 2 years ago

論文URL

https://dl.acm.org/doi/abs/10.1145/3460231.3474255

(paper) https://github.com/NVIDIA-Merlin/publications/blob/main/2021_acm_recsys_transformers4rec/recsys21_transformers4rec_paper.pdf

(blog) https://medium.com/nvidia-merlin/transformers4rec-4523cc7d8fa8

著者

Gabriel de Souza Pereira Moreira, Sara Rabhi, Jeong Min Lee, Ronay Ak, Even Oldridge

会議

RecSys '21

背景

近年の推薦システムでは、時間とともに変化する嗜好やコンテキストをより良く反映して推薦する、シーケンシャル推薦のアプローチが注目されている。多くの場合、このアプローチでは推薦の際の最新のインタラクションが評価されている。

このアプローチに対して、過去10年では自然言語処理に習ったアプローチが提案されている。 これは、セッションベースの推薦でのインタラクションを逐次的に処理していく過程が、RNNベースの自然言語処理などに類似していることに依る。 近年では、自然言語処理で広く使用されるTransformerも推薦システムに適用され始めている。

目的

この研究での目的は下記3点としている。

  1. NLPとシーケンシャルな推薦の関係を俯瞰し、アルゴリズムの類似点と相違点を明確にする
  2. Transformers4Recを提案、公開する
  3. セッションベース推薦のタスクのために最新のNLPベースのトランスフォーマーアーキテクチャによる実装で実験を行い、一般的なベースラインと比較する

アプローチ

nogawanogawa commented 2 years ago

背景

近年の推薦システムでは、時間とともに変化する嗜好やコンテキストをより良く反映して推薦する、シーケンシャル推薦のアプローチが注目されている。多くの場合、このアプローチでは推薦の際の最新のインタラクションが評価されている。

このアプローチに対して、過去10年では自然言語処理に習ったアプローチが提案されている。 これは、セッションベースの推薦でのインタラクションを逐次的に処理していく過程が、RNNベースの自然言語処理などに類似していることに依る。 近年では、自然言語処理で広く使用されるTransformerも推薦システムに適用され始めている。

nogawanogawa commented 2 years ago

目的

この研究での目的は下記3点としている。

  1. NLPとシーケンシャルな推薦の関係を俯瞰し、アルゴリズムの類似点と相違点を明確にする
  2. Transformers4Recを提案、公開する
  3. セッションベース推薦のタスクのために最新のNLPベースのトランスフォーマーアーキテクチャによる実装で実験を行い、一般的なベースラインと比較する

アプローチ

nogawanogawa commented 2 years ago

NLPと推薦システムの関係の比較

これまで、シーケンシャルな推薦はNLPの発展の後を追うように研究されてきた。

image

NLPではTransformerによって大きな発展がなされ、シーケンシャルな推薦においてもそれを推薦に適用しようとする動きが出ている。

Sequential Recommendation

AttRecではself-attentionを利用して、ユーザの過去のインタラクションからアイテム間の関係を推測し、ユーザの行動履歴における各アイテムの重みを推定する。 また、ユーザの長期的な嗜好をモデル化するために、協調メトリック学習コンポーネントを採用している。

BERT4Recでは、Masked Language Modelアプローチでネットワークの学習精度を改善した。 BERTでは、単語表現ベクトルを学習するための事前学習段階としてMLMを使用し、その後、下流タスクの評価のために事前学習済みモデルを微調整していましたが、BERT4Recでは、学習と評価のためのエンドツーエンドタスクとしてMLMを使用している。 このアプローチは、学習時に将来の情報を漏らすため、推論時にシーケンスの最後の項目のみがマスクされることを保証し、次クリック予測タスクとの互換性を持たせている。

その他、補助情報を使用したり、マルチモーダルに適用したりと、応用の範囲は多岐に渡っている。

Session Base Recommendation

セッションベースでの推薦にも応用されている。 セッションの中には、ユーザの嗜好にそぐわないものや、モデリング の邪魔になるものが含まれている可能性がある。 そのため、セッション内のアイテムに対するユーザの嗜好をよりよく捉えるために、自己注意に基づく嗜好認識マスクが提案されていたりする。

その他、self attentionによる短距離・長距離の関係性を捉えてセッション情報の強化を図ったり、補助情報を使用する研究などが進んでいるらしい。

nogawanogawa commented 2 years ago

Transformer4Rec

全体のパイプライン

Transformer4Recの全体概要は下記の様になっている。

image

まず、前処理は推薦における共通のボトルネックであるが、NVTabularを使用して高速化する。

モデルの学習はHFのNLPタスクになぞって、predict() と evaluate() メソッドにオーバーライドすることで機能を提供している。

アーキテクチャ

実際のモデルのアーキテクチャは下記の様になっている。

image

入力された特徴ははじめに正規化され、embeddingへと変換される。更にMasked Language modelのように後続の学習方法に合わせてマスク処理が行われ、様々なTransformer blockに対して入力できるようになっている。

特徴的なのは、アイテムの埋め込みとユーザーやセッションの最終表現との間に行列分解演算が導入されることである。 これによって、珍しいアイテムの埋め込みを学習ステップごとに出力層をより直接的に更新することができる。

nogawanogawa commented 2 years ago

評価

image

先行研究より、NDCG@20で優れている。

また、学習方法に関しては、MLMはNDCG@20の全てのデータセットにおいて、XLNetモデル(PLM)が用いたオリジナルの事前学習アプローチを上回り、文脈が限定されている場合にMLMがより良い性能を発揮することを示唆している。 XLNet(RTD)はXLNet(MLM)にRTDタスクを追加し、シーケンス内の全てのアイテムから学習することで、より効果的に学習できていることがわかった。

nogawanogawa commented 2 years ago

評価のところはいまいちよくわからんが、コンペ勝ってるから多分良いんだと思ったので終了。