アドテクにおけるBandit Algorithmの活用

アドテクにおけるBandit Algorithmの活用

Rakuten Tech Meetupで話した内容です。
https://rakuten.connpass.com/event/124291/
アドテクにおける機械学習の利用とBandit Algorithmのオフライン評価について話しました。

097c045028b149ca7fd4ca42ff859cd9?s=128

Komei Fujita

March 28, 2019
Tweet

Transcript

  1. アドテクにおける Bandit Algorithmの活用 1

  2. 自己紹介 藤田 光明(ふじた こうめい) ◉ CyberAgent 18新卒 ◉ アドテクスタジオのDynalystに所属 ◦

    広告配信アルゴリズムの開発・実装を担当 ◉ Python/R/Scala ... ◉ 学生時代は経済学を勉強していました ◦ 専門は実証IO・計量経済学 2
  3. この発表で話すこと メインで話すこと ◉ アドテクと機械学習 ◉ banditのオフライン評価 以下の話はしません ◉ banditの詳細な解説 ◉

    学習モデル / 特徴量 / ハイパーパラメータ 3
  4. 目次 1. アドテクと機械学習 2. クリエイティブ選択におけるBandit Algorithm 4

  5. アドテクと機械学習 アドテクと機械学習の密接な結び付き 1 5

  6. ウェブページ内の広告 6 注: あくまでイメージ.このページについては RTB は行われていないと思われる これらの一部はRTBで 取引されている (RTB: Real

    Time Bidding)
  7. Adtech x MLの代表例: RTB 数10ms内の広告オークション! Advertiser DSP SSP User /

    Site a b c B C 広告リクエスト 入札リクエスト 広告バナー 入札額,広告バナー 予算、広告素材 100円 80円 50円 7 サイト収益を最大 化するためにオー クションを開催
  8. アドテク x MLの代表例: RTB Advertiser DSP SSP User / Site

    a b c B C 広告リクエスト 入札リクエスト 広告バナー 入札額,広告バナー 予算、広告素材 100円 80円 50円 入札額の決定... クリック率, コンバージョン率の推定 8
  9. アドテク x MLの代表例: RTB Advertiser DSP SSP User / Site

    a b c B C 広告リクエスト 入札リクエスト 広告バナー 入札額,広告バナー 100円 80円 50円 予算、広告素材 広告主の予算をうまく消化する ... 予算ペーシング 9
  10. アドテク x MLの代表例: RTB Advertiser DSP SSP User / Site

    a b c B C 広告リクエスト 入札リクエスト 広告バナー 入札額,広告バナー 予算、広告素材 100円 80円 50円 より効果の高い広告バナー (クリエイティブ)を選ぶ... クリエイティブ選択ロジック Dynalystでは,Bandit Algorithmを使用 10
  11. 機械学習の性能が広告効果に直結 ◉ さまざまなところで機械学習が使われている ◉ クリック率が0.1%でも高いクリエイティブを選べると... → 広告効果UP! → 広告主の売上UP! 11

  12. クリエイティブ選択における Bandit Algorithm Bandit Algorithmの性能評価 2 12

  13. Bandit Algorithmとは 「複数のアームと呼ばれる候補から最も良いものを 逐次的に探すアルゴリズムのこと」 ◉ 「探索」と「活用」 ◦ 「ABテストをする」と「ABテストの結果を使う」を同時に ◉ 今回は,広告主が持つクリエイティブの候補から最もクリック率の高

    いものを探して選ぶ ◦ 累積期待報酬(クリック数)の最大化が目的 13
  14. 新バンディットの導入 ◉ DynalystではMulti-Armed Bandit(MAB)を用いてクリエイティブの選択 を行っていた ◉ このアルゴリズムの改善のため,Contextual Bandit(CB)を導入 ◦ コンテキスト(ユーザの属性

    / 時間 / メディア情報)を考慮したバンディット ◉ 以下では,これらの選択アルゴリズムを “AI” と呼ぶ ◦ アカデミック的には,方策 (policy)と呼ばれることが多い …... candidate AI context 14
  15. AIのオフライン評価 ◉ オフライン評価 … 過去の配信ログを使った評価 ◦ 実配信の前に性能をチェック ◦ 事前のチューニングが可能 ◉

    よくある機械学習タスクでは ... ◦ 配信ログをtrain/testにスプリット ◦ trainで学習してtestで指標(logloss, AUROCなど)を確認 これをbanditで行って本番でABテストすると... 15
  16. ABテストで ... なぜ? ◉ モデルの精度だけでは測れない部分もある ◦ 選択肢の中での精度,分散(探索頻度)の妥当性 ◉ banditは報酬(クリック)で評価すべき 16

  17. 報酬のオフライン評価の難しさ 17 context candidate X1 a,b,c,d,e a d X2 a,b,c

    c c eval NA 1 click 0 1 old AI new AI 旧AIと新AIの選択が異なる場合, クリック有無は観測不可能 一致した場合,クリック有無を観測可能 ◉ 新旧AIが異なる選択肢を選んだ場合,その時の新 AIのクリックは観測不可 ◉ たとえば,選択が一致したものだけで評価を行う ...? Biased!!!
  18. banditをどうオフライン評価するか ◉ 新旧AIの選択が一致したもののみで評価を行う → バイアス ◦ 旧AIのログのデータの分布 ≠ 実際のデータの分布 ◦

    興味の対象は既存AIと新AIが異なる選択をしていたときどういう報酬を得て いたか Dynalystでは,一定割合でクリエイティブをランダムに選択 18 Replay Methodでオフライン評価ができる (ちなみに,AIが確率的に選択肢を選ぶものであれば,既存 AIログを使ってバイア スを除去するような評価も可能. See [Narita, Yasui, Yata, AAAI2019])
  19. Replay Method [Li 2012]とは ◉ ランダム選択から生まれるログを用いる ◉ ランダムの選択と新AIの選択が一致すれば報酬の評価に使う ◦ 一致しなければ使わない

    ◉ ランダム配信ログを用いるためバイアスのない評価が可能 [Li 2012]: https://arxiv.org/pdf/1003.5956.pdf 19
  20. Replay Methodの例 context candidate X1 a,b,c,d,e a d X2 a,b,c

    c c X3 c,d d d X4 a,c,d a a X5 a,d,e,f,g e f eval NA 1 0 1 NA click 0 1 0 1 1 評価に使う 新AIをオフラインで評価した際の CTRは2/3 20 評価に使わない 評価に使わない
  21. Replay Methodでのオフライン評価の流れ 1. Replay Methodで新AIのCTR(クリック率)をシミュレーション 2. 学習モデル / 特徴量 /

    ハイパーパラメータを変えて,よりCTRが高くなる設 定を探す 最も効果が高かった設定での結果 ↓ 青: 新AIのCTR(オフライン) 赤: 既存AIのCTR(オンライン) オンラインでABテストし てみよう! 21 CTR Day
  22. オンラインでABテスト 新AI(CB)が 既存AI(MAB)を圧倒 22 CTR Day

  23. 今後のはなし 3 23

  24. 共同研究 ◉ 慶大星野先生 x AI Lab x Dynalystで共同研究 ◦ Contextual

    Banditの拡張 ◦ 絶賛実験中 ◉ プロダクト側の人間として共同研究にどう取り組むか 24
  25. まとめ ◉ アドテクでは機械学習の性能が広告効果に直結 ◉ banditの評価 ◦ 学習器の指標だけでなく報酬で判断 ◦ オフライン評価の際にはReplay Method等を使う

    25