Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

報酬のオフライン評価の難しさ 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!!!

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

今後のはなし 3 23

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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