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

逐次推薦 Two-Towerに 関するサーベイとAIを活用した実験

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

逐次推薦 Two-Towerに 関するサーベイとAIを活用した実験

株式会社ZOZO
データ・AIシステム本部 データシステム部 推薦研究ブロック
小倉 勇大

Avatar for ZOZO Developers

ZOZO Developers PRO

April 27, 2026

More Decks by ZOZO Developers

Other Decks in Technology

Transcript

  1. © ZOZO, Inc. 2 目次 • 自己紹介 • 背景 •

    前提 • PoCの進め方 • サーベイ結果 • 実験結果 • まとめ
  2. © ZOZO, Inc. 3 自己紹介 小倉 勇大(あだ名:ぐら) 趣味 • 映画

    ◦ 好きな映画を聞かれたとき、カマしたい時は Trainspotting、カマしたくない時は君の名は。と答 えてます • 音楽 ◦ ここ一年くらいおすすめの音楽を聞かれた時有田咲 花をおすすめしてます ◦ 「ナミビアの砂漠」の山中監督がインタビューで 「去年は有田咲花を聞いてました」と答えていて自 分は間違っていないと確信しました • Kaggle ◦ MABe Challengeで金メダルを取り、念願のMaster 昇格
  3. © ZOZO, Inc. 4 背景:商品詳細面において採用されているレコメンド手法 • 商品詳細面には添付画像のようなおすすめアイテム枠がある • おすすめアイテム枠では、閲覧中商品・ユーザーごとにパーソナライズ •

    パーソナライズにはGoogleのRecommendations-AI (以降 Recs-AI)を使用 おすすめアイテム 商品詳細面おすすめアイテム枠 (イメージ) 閲覧中アイテム
  4. © ZOZO, Inc. 5 Recs-AIを使用した商品詳細面レコメンドの課題とその解決策 課題 • 金額的コストが高い • カスタマイズの制限

    ◦ 社外秘のデータを使用できないため、パーソナライズの品質に制限 • 障害リスク ◦ 実際に去年、数週間にわたって障害が発生。 解決策 • Recs-AIと同等以上の性能の内製モデルの開発
  5. © ZOZO, Inc. 6 前提:2026/04時点の内製モデル開発状況と性能 All Items Candidates Recs 約6000万商品

    800商品 200〜100商品 Candidate Generation ReRank CatBoost • LightGCN • ブランド別人気 • 高遷移確率 • 高エンゲージメ ント Candidates PreRank Two-Tower Embedding ベース 1400商品 • 3stage構成 • 主要指標において、Recs-AIの0.67倍の性能
  6. © ZOZO, Inc. 7 Recs-AIとの差分らしき箇所 と Next Action 差分 Recs-AI

    我々のシステム セッション性の考慮 • Recs-AIは同じ商品の商品詳細 面で同じレコメンドをしない • 直近みたアイテムの関連商品も 推薦される • 3rd Stage(Catboost)で多少セッ ション情報を考慮しているものの、 候補抽出が静的なため、ほとんど同 じレコメンドをされる • 直近見たアイテムに推薦が影響され ない パーソナライズ • ユーザによって推薦結果が変わ る • 3rd Stage(Catboost)でパーソナラ イズしているものの、候補抽出段階 が静的なため、ほとんど同じアイテ ムがレコメンドされる Cold Itemの商品詳細 面における推薦性能 - Recs-AIと比較して結果が悪い →これらを解決する手法のPoC  候補抽出の質に改善の余地がありそうなため、候補抽出モデルのアップデート
  7. © ZOZO, Inc. 8 PoC(実験)の進め方 1. 実験環境の構築 2. サーベイ 3.

    実験 2.3を繰り返す ↑当たり前ですが、 それぞれで得た有用な手法やTipsなどを共有します
  8. © ZOZO, Inc. 9 実験環境の構築 環境:GCE / vCPU 16 /

    メモリ 100GB / Tesla T4 (16GB VRAM) 実験管理方法:1実験1ディレクトリ • Kagglerがよく使用する方法 • 完全な再現性の確保 ◦ 各実験ディレクトリがその実験において必要なコード を自己完結的に保持するため、過去の実験をそ のまま再実行できる。 ◦ 共通ライブラリ化すると、後の変更で過去実験が壊れるリスクがある。 • 差分比較のしやすさ ◦ diff exp034 exp035 のようにディレクトリ単位で比較でき、「何を変えたか」が明確。 ◦ ML実験では1つのハイパラや前処理の違いが結果を大きく変えるため、変更箇所の可視性が重要。 • 直列・並列実行のしやすさ ◦ exp001が終了したらexp002、exp003順次実行したい場合に便利。 実装さえ完了しておけば、直列実行のスクリプトを書いて実行するだけ。 ◦ GPUが複数ある場合は、並列実行も容易 • 各ディレクトリに実験ログ(exp.md)を配置することで、結果の確認が容易 ◦ 各 exp.md に「何を検証したか」「結果」を記録。
  9. © ZOZO, Inc. 10 実験フロー 1 実験作成 • /start-exp Skillを用意

    • やっていることは実験ディレクトリのコピー。 • 手動コピーでの設定ファイルのパス更新漏れや不要ファイルの混入を防ぐ。 2 実装 • Claude Code任せ 3 デバッグ モード • 少量データでパイプラインが一貫して動作することを確認する 4 学習・推論 ・評価 • それぞれのコードは分離させる。 • 推論パラメータ等を変えて再実行時に学習をスキップできる。 5 実験終了 • /finish-exp Skillを用意 • やっていることは実験メモの更新、今までの実験すべてをまとめたコンフル ページの更新 • 実験メモの更新忘れ、実験結果の比較を楽にする まずは、ベースラインを作る(がんばる)
  10. © ZOZO, Inc. 11 サーベイ内容 • サーベイ方針 ◦ 候補抽出段階であればTwo-Towerだろう... ◦

    UserTowerに系列データ処理系の層を入れればそれっぽいものになるだろう... ◦ その他時系列系の推薦モデルの論文も読もう... ◦ 生成的推薦なるものがあるらしい... • サーベイ方法 ◦ Claude Codeにサーベイしたい内容の論文を収集させる ◦ よさそうな論文の落合陽一フォーマット要約と日本語訳をClaude Codeに作らせ ておく ◦ 読む • 実際に読んだ論文 ◦ Two-Tower系・・・YouTubeDNN, SamplingBiasCorrected, MNS, SSLRec, TDM, MIND, SDM, ComiRec, PinnerFormer.. ◦ 時系列系・・・GRU4Rec, SASRec, Transformer4Rec, BERT4Rec, gSASRec.. ◦ 生成的推薦・・・HSTU, OneTrans, HyFormer..
  11. © ZOZO, Inc. 12 実験結果 Item Tower item_i d Emb

    色 Em b tag Emb shop Emb 価 格 商品 性別 Emb concat Liner L2 Norm Item Embedding Query Tower セッション内 エンゲージメント 商品シーケンス 過去30日カート投入商 品 シーケンス 性別 Emb 年齢 GRU GRU concat Liner L2 Norm Query Embedding InfoNCE Loss (In Batch Negative Sampling) • 初手で実装したアーキテクチャ • これだけで、LightGCNの40%改善
  12. © ZOZO, Inc. 13 実験結果:論文をもとに改善した実験 • Sampling-Bias-Corrected Neural Modeling for

    Large Corpus Item Recommendations ※1 ◦ In-Batch Negative Samplingで発生する、人気アイテムに対して過剰にペナルティを 課してしまう問題に補正をかけることで対処する手法 ◦ LightGCNに対して 70% 改善 ◦ これを知らずにいたら 40% 改善程度にとどまっていたと思うと恐ろしい • HSTU ※2 ◦ TransformerのScaled Dot Product Attention のSoftmaxを消し、ユーザの絶対的な 興味を反映できるアーキテクチャ ◦ Transformer Encoder:LightGCNに対して 71% 改善 ◦ HSTU Encoder:LightGCNに対して 73% 改善 • SDM: Sequential Deep Matching Model for Online Large-scale Recommender System ※3 ◦ 最初に考えたアーキテクチャとほぼ同じものだった。 ◦ 長期的なシーケンスと、セッション内シーケンスを単純にConcatinateするのではな く、Gated Fusion機構を通していたので、参考にした。
  13. © ZOZO, Inc. 14 実験結果:論文から取り入れたアーキテクチャとloss設計 Item Tower item_i d Emb

    色 Em b tag Emb shop Emb 価 格 商品 性別 Emb concat Liner L2 Norm Item Embedding Query Tower セッション内 エンゲージメント 商品シーケンス 過去30日カート投入商 品 シーケンス 性別 Emb 年齢 HSTU Layer HSTU Layer concat Liner L2 Norm Query Embedding InfoNCE Loss (In Batch Negative Sampling) (logQ補正) x2 x2 Gated Fusion RoPE RoPE
  14. © ZOZO, Inc. 15 実験結果:論文をもとにしたが改善しなかった実験 • Mixed Negative Sampling for

    Learning Two-tower Neural Networks in Recommendations ※4 ◦ In-Batch Negative Samplingに加え、コーパス内から一様負例サンプリングする ◦ 色々な論文中に使用されていることが記載されていたが、今回の実験ではWorkせず。 うまく使用する方法等あれば知りたいところ... • Deep Neural Networks for YouTube Recommendations ※5 ◦ 論文中にTips集的なものが書かれており、その中の一つで、ヘビーユーザに合わせた モデルにならないように、ユーザあたりの事例数を固定する。 ◦ 各シーケンスから1ステップのみサンプリングして学習してみたがWorkせず。 • Self-supervised Learning for Large-scale Item Recommendations ※6 ◦ GNN系の手法では、SSLでContrastive Learningする手法を良く見るので、Two-Towerで 採用している論文を見つけ、導入した。 ◦ Item Towerの特徴量を2種類の方法でMaskし、Contrastive Learningするだけ。 ◦ 特徴量が少なかったためか、Workせず
  15. © ZOZO, Inc. 16 PoC結果 • AIと共同することで、3週間で40実験ほど行った。 ◦ 休みの日の前には実験コードを書いておき、直列で実験を回せるようにした ◦

    論文手法の実装は、論文を読ませて実装しろといったら大体実装してくれる ◦ AIの提案してくる手法はまだまだ筋が良くないものばかりなので、実験方針は人間が考える必 要あり • 候補抽出段階で使用していたLightGCNでのオフライン評価指標に対して以下の改善 ◦ Warm & Cold Itemに対する推薦 : 73.4% 改善 ◦ Warm Itemに対する推薦 : 73.1% 改善 ◦ Cold Itemに対する推薦 : 276.8% 改善 • 既存3stageでのオフライン評価指標に対しても以下の改善 ※完全に横並びの比較はできていないことに注意 ◦ Warm & Cold Itemに対する推薦:51% 改善
  16. © ZOZO, Inc. 17 まとめ・今後の展望 まとめ • AIと共同して実験を効率的に回した • オフラインでは、PoCを行う動機となった以下の課題感を全て解決するモデルが出来上がった

    ◦ セッション性の考慮不足 ◦ パーソナライズ不足 ◦ コールドアイテムに対する推薦性能の低さ • PoCを行う際の論文サーベイの重要性 ◦ 論文を読まなければ知らなかったインパクトのある手法を知れた ◦ 今回ワークしなかった手法も、今後の実験時の引き出しとして有用 今後の展望 • PreRankerをアップデート • Rankerを系列データ処理系のモデルにUpdate • ABテストでRecs-AIに勝つ
  17. © ZOZO, Inc. 19 Appendix • (※1)Sampling-Bias-Corrected Neural Modeling for

    Large Corpus Item Recommendations • (※2)Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations • (※3)SDM: Sequential Deep Matching Model for Online Large-scale Recommender System • (※4)Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations • (※5)Deep Neural Networks for YouTube Recommendations • (※6)Self-supervised Learning for Large-scale Item Recommendations