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

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

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

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

Komei Fujita

March 28, 2019
Tweet

More Decks by Komei Fujita

Other Decks in Technology

Transcript

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

    View full-size slide

  2. 自己紹介
    藤田 光明(ふじた こうめい)
    ◉ CyberAgent 18新卒
    ◉ アドテクスタジオのDynalystに所属
    ○ 広告配信アルゴリズムの開発・実装を担当
    ◉ Python/R/Scala ...
    ◉ 学生時代は経済学を勉強していました
    ○ 専門は実証IO・計量経済学
    2

    View full-size slide

  3. この発表で話すこと
    メインで話すこと
    ◉ アドテクと機械学習
    ◉ banditのオフライン評価
    以下の話はしません
    ◉ banditの詳細な解説
    ◉ 学習モデル / 特徴量 / ハイパーパラメータ
    3

    View full-size slide

  4. 目次
    1. アドテクと機械学習
    2. クリエイティブ選択におけるBandit Algorithm
    4

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. アドテク x MLの代表例: RTB
    Advertiser DSP
    SSP
    User / Site
    a
    b
    c
    B
    C
    広告リクエスト
    入札リクエスト
    広告バナー
    入札額,広告バナー
    予算、広告素材
    100円
    80円
    50円
    より効果の高い広告バナー (クリエイティブ)を選ぶ...
    クリエイティブ選択ロジック
    Dynalystでは,Bandit Algorithmを使用
    10

    View full-size slide

  11. 機械学習の性能が広告効果に直結
    ◉ さまざまなところで機械学習が使われている
    ◉ クリック率が0.1%でも高いクリエイティブを選べると...
    → 広告効果UP! → 広告主の売上UP!
    11

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. 新バンディットの導入
    ◉ DynalystではMulti-Armed Bandit(MAB)を用いてクリエイティブの選択
    を行っていた
    ◉ このアルゴリズムの改善のため,Contextual Bandit(CB)を導入
    ○ コンテキスト(ユーザの属性 / 時間 / メディア情報)を考慮したバンディット
    ◉ 以下では,これらの選択アルゴリズムを “AI” と呼ぶ
    ○ アカデミック的には,方策 (policy)と呼ばれることが多い
    …...
    candidate
    AI
    context
    14

    View full-size slide

  15. AIのオフライン評価
    ◉ オフライン評価 … 過去の配信ログを使った評価
    ○ 実配信の前に性能をチェック
    ○ 事前のチューニングが可能
    ◉ よくある機械学習タスクでは ...
    ○ 配信ログをtrain/testにスプリット
    ○ trainで学習してtestで指標(logloss, AUROCなど)を確認
    これをbanditで行って本番でABテストすると...
    15

    View full-size slide

  16. ABテストで ...
    なぜ?
    ◉ モデルの精度だけでは測れない部分もある
    ○ 選択肢の中での精度,分散(探索頻度)の妥当性
    ◉ banditは報酬(クリック)で評価すべき
    16

    View full-size slide

  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!!!

    View full-size slide

  18. banditをどうオフライン評価するか
    ◉ 新旧AIの選択が一致したもののみで評価を行う → バイアス
    ○ 旧AIのログのデータの分布 ≠ 実際のデータの分布
    ○ 興味の対象は既存AIと新AIが異なる選択をしていたときどういう報酬を得て
    いたか
    Dynalystでは,一定割合でクリエイティブをランダムに選択
    18
    Replay Methodでオフライン評価ができる
    (ちなみに,AIが確率的に選択肢を選ぶものであれば,既存 AIログを使ってバイア
    スを除去するような評価も可能.
    See [Narita, Yasui, Yata, AAAI2019])

    View full-size slide

  19. Replay Method [Li 2012]とは
    ◉ ランダム選択から生まれるログを用いる
    ◉ ランダムの選択と新AIの選択が一致すれば報酬の評価に使う
    ○ 一致しなければ使わない
    ◉ ランダム配信ログを用いるためバイアスのない評価が可能
    [Li 2012]: https://arxiv.org/pdf/1003.5956.pdf
    19

    View full-size slide

  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
    評価に使わない
    評価に使わない

    View full-size slide

  21. Replay Methodでのオフライン評価の流れ
    1. Replay Methodで新AIのCTR(クリック率)をシミュレーション
    2. 学習モデル / 特徴量 / ハイパーパラメータを変えて,よりCTRが高くなる設
    定を探す
    最も効果が高かった設定での結果 ↓
    青: 新AIのCTR(オフライン)
    赤: 既存AIのCTR(オンライン)
    オンラインでABテストし
    てみよう!
    21
    CTR
    Day

    View full-size slide

  22. オンラインでABテスト
    新AI(CB)が
    既存AI(MAB)を圧倒
    22
    CTR
    Day

    View full-size slide

  23. 今後のはなし
    3
    23

    View full-size slide

  24. 共同研究
    ◉ 慶大星野先生 x AI Lab x Dynalystで共同研究
    ○ Contextual Banditの拡張
    ○ 絶賛実験中
    ◉ プロダクト側の人間として共同研究にどう取り組むか
    24

    View full-size slide

  25. まとめ
    ◉ アドテクでは機械学習の性能が広告効果に直結
    ◉ banditの評価
    ○ 学習器の指標だけでなく報酬で判断
    ○ オフライン評価の際にはReplay Method等を使う
    25

    View full-size slide