Sano tokyowebmining 201625_v04

54
広広広広広広広広広 DSP のののののの Masakazu Sano ( のの のの ), @masa_s3 の 54 の TokyoWebmining 6/25( の ) @ FreakOut 1

Transcript of Sano tokyowebmining 201625_v04

Page 1: Sano tokyowebmining 201625_v04

広告機械学習最前線 DSP の中身を知る

Masakazu Sano ( 佐野 正和 ), @masa_s3

第 54 回 TokyoWebmining 6/25( 土 ) @ FreakOut

1

Page 2: Sano tokyowebmining 201625_v04

Agenda• イントロダクション

• 自己紹介• まえおき

• DSP の概念を知る• DSP の入札ロジック

• CTR(CVR) 予測モデル• 予算消化コントローラー• 入札価格決定関数

• まとめ

※ CTR: Click through rate, CVR: conversion rate

2

Page 3: Sano tokyowebmining 201625_v04

イントロダクション

3

Page 4: Sano tokyowebmining 201625_v04

自己紹介佐野正和 (Masakazu Sano) @Masa_s3

素粒子物理学理論 -> Fringe81 ->

現在は FreakOut のサイエンスチームリーダー - DSP のパフォーマンス改善 ( 文献調査、入札ロジック・予測器のモデル構築、オフライン・オンライン検証、本番実装 ) 。- 調べて作って改善を繰り返す実践重視スタイル。

4

Page 5: Sano tokyowebmining 201625_v04

まえおき TokyoWebmining では、過去にアドテク関連のトークがたくさんある。似てるような話は避けたい。 過去トークを個人的独断で大別すると次の二つに分類できる印象。

• 機械学習・統計モデルなどの理論重視トーク• バンディットアルゴリズム• クリック (CTR) 予測モデル• アトリビューションモデリング、確率過程• ・・・

• アドテクビジネス活用事例トーク• アドテク全般の紹介• ネット広告配信システム全般の紹介• アドネットワークの紹介• ・・・

さらに、機械学習モデル個別の解説も巷にはすぐれた解説資料が既にたくさんある。 5

Page 6: Sano tokyowebmining 201625_v04

本日話したいこと• 機械学習の手法がどのように DPS の入札ロジックに活用されているか、全体像を説明します ( 個別ロジックの詳細には立ち入りません ) 。• 米アドテクノロジー企業 Turn が発表した論文に沿って具体的に説明します。

• こちらの論文ではクリックやコンバージョン予測器や入札金額調整がどのようにロジックに組み込まれているか DSP 全体の簡易フレームワークを提案しています。• 発表では上記論文のフレームに沿いつつ、予測器など各機能は別論文を参照しながら進行させていただきます。

- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising, ADKDD '13 Proceedings of the Seventh International Workshop on Data Mining for Online Advertising

6

Page 7: Sano tokyowebmining 201625_v04

入札プロセス

ログ集計&学習活用プロセス- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising

この流れに沿って説明します - 詳細は後のスライドで

7

Page 8: Sano tokyowebmining 201625_v04

DSP の概念を知る

8

Page 9: Sano tokyowebmining 201625_v04

インターネット広告の主な登場人物 ( 発表に必要なところのみ )

• 広告主:広告を出したい。売上を増やしたい• メディア ( 媒体 ) : 広告を出すスペース ( 広告枠 ) を提供。収益を上げたい• DSP(Demand Side Platform): 広告主が広告を出す ( 枠の買い付け ) 手助けをするシステム• SSP(Supply Side Platform): メディアの広告枠をマネタイズを手助けするシステム

9

Page 10: Sano tokyowebmining 201625_v04

ネット広告売買の世界: Real Time Bidding(RTB)• SSP が impression のオークションを仕切って、それに複数の DSP が参加するイメージ。 1-bid request 毎に広告枠の取引が発生する世界。

DSP1

DSP2

DSP3

SSP

いくらで配信するの?

¥10

¥30

¥20

DSP2 を配信

ユーザ ID, 広告サイズ等を開示10

Bid request

Bid response

Page 11: Sano tokyowebmining 201625_v04

オークションの参加者が増えると• Media (SSP)

• オークションの参加者が多ければターゲットとなりうる広告主に高値で広告枠を売ることができる。• 儲かる。

• Advertiser (DSP)• 人 × 枠で効率良くターゲット層に情報を届けることができる。• 儲かる。

• ユーザ ( 広告を見る人 )• 必要な広告がタイミングよく出る ( 理想 )• あ、これなんか気になるかもー

Media 、 Advertiser 、ユーザにとって良い状況が実現される可能性が高まる。

オークション制だとなにがいいの?

11

Page 12: Sano tokyowebmining 201625_v04

では bidRequest を受け取ったときに DSP 内部で行われることを覗いてみましょうDSP1

DSP2

DSP3

SSP

いくらで配信するの?

¥10

¥30

¥20

DSP2 を配信

ユーザ ID, 広告サイズ等を開示12

Bid request

Bid response

Page 13: Sano tokyowebmining 201625_v04

……

……

……

SSP

Campaign

Advertiser

上限日予算を管理

上限入札金額を管理

• DSP は複数広告主の配信を取り扱う。• 配信するために広告主単位で入稿設計が必要

( セグメントなど )• 通常、広告主単位に複数のキャンペンとその配下に広告グループが連なる。• 配信設計がそもそもパフォーマンスに影響する ( 機械学習がうまく機能するかにも ) 。

Adgroup(bid)

DSP の内部構造の概略図

DSP

13

Page 14: Sano tokyowebmining 201625_v04

……

……

……

Bid request SSP

Pacing/Matching (Ranking) process

• SSP から request が届く。• どの広告主の広告を配信するか内部決定する必要がある。内部オークションの実施。

どれを出そうかな

14

Page 15: Sano tokyowebmining 201625_v04

……

……

……

Bid request SSP

Pacing/Matching (Ranking) process

チェック項目• やってきた bid

request に対して予測 CTR/CVR が高いか• 予算消化状況はどうか

• 一つの広告主だけ配信が偏らないようにする• などなど

15

Page 16: Sano tokyowebmining 201625_v04

……

……

……

Bid request SSPBid price

Pricing process

入札金額は• 選ばれた対象の予測 CTR/CVR, 消化状況 , CPAなどを総合評価して決定する。

※CPA: cost per Acquisition/Action

内部入札が遅れると入札に参加すらできない!

50 msec or die !

16

Page 17: Sano tokyowebmining 201625_v04

……

……

……

SSP2nd price

ad

Win !

17

Page 18: Sano tokyowebmining 201625_v04

入札プロセス

ログ集計&学習活用プロセス- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising

改めてまとめ

18

Page 19: Sano tokyowebmining 201625_v04

•CTR(CVR) 予測モデル•予算消化コントーローラー•入札価格決定関数

DSP の入札 ( 配信枠購入 ) ロジックの主な構成要素

19

Page 20: Sano tokyowebmining 201625_v04

各ロジックの解説Bid-request が来た後のプロセスをトレースしながら説明

20

Page 21: Sano tokyowebmining 201625_v04

CTR(CVR) 予測モデル

21

Page 22: Sano tokyowebmining 201625_v04

- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising 22

Page 23: Sano tokyowebmining 201625_v04

CTR/CVR prediction• Click や CV するユーザを予想したい (2値分類 ) 。• なぜなら無駄な配信を抑制したいから。•歴史的にロジスティック回帰 ( の派生 ) が良く使われている

• 扱いやすい ( 理論・実装・解釈 )• 入札サーバで高速 & リアルタイムに予測値を計算できる (50msec or die) 。

23

Page 24: Sano tokyowebmining 201625_v04

CTR/CVR prediction• より高性能な予測器

• Factorization Machines (model) + ftrl (follow the regularized leader) (optimizer)

• 最近だと FM は Hivemall に実装されている• Ftrl は精度を大きく下げずに次元削減してくれる。実用上良い性質を持つ

- Ad Click Prediction: a View from the Trenches

FTRL: クラシックな機械学習の入門 7. オンライン学習, オンライン機械学習過去の全 round の損失を最小 化するような w を選ぶ ( 正則化項入り )最適化手法

24

Page 25: Sano tokyowebmining 201625_v04

CTR/CVR prediction• Factorization Machines

• 大雑把に表すとロジスティック回帰+2次の特徴量相互作用項。• 素朴に相互作用項を足すと予測能力が向上すると想定される。• しかしアドテク分野では典型的な特徴量次元は O(2^24) より大きい

• 次元削減しなければ O(2^27) 次元以上• 広告枠の情報が非常に多い

• このため普通に2次項を計算すると、計算量が計算量が O(N×N) 増大し、高速で予測値を計算できなかったり、モデル学習に時間が掛かり過ぎてしまい実用に耐えない。25

Page 26: Sano tokyowebmining 201625_v04

CTR/CVR prediction• Factorization Machines

• FM では2次の特徴量ウェイト (Matrix) をベクトルのテンソル積に分解することで計算量が O(kN) (k=o(10-100)) 程度になる。

- Factorization Machines より引用 26

Page 27: Sano tokyowebmining 201625_v04

CTR/CVR prediction• Factorization Machines

• FM では2次の特徴量ウェイト (Matrix) をベクトルのテンソル積に分解することで計算量が O(kN) (k=o(10-100)) 程度になる。

- Factorization MachinesO(n)

識別の分解能が上がる。1 次項のみ: #A=O(N) 個のウェイトで識別2 次項: ( 大雑把に ) #A*B=O(N*N) 個 のウェイトで識別

27

Page 28: Sano tokyowebmining 201625_v04

CTR/CVR prediction• Factorization Machines

• 精度も高い傾向にある ( 参照はレコメンデーションの結果 ) 。

- Factorization Machines 28

Page 29: Sano tokyowebmining 201625_v04

予算消化コントーローラー

29

Page 30: Sano tokyowebmining 201625_v04

- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising

FM

FM30

Page 31: Sano tokyowebmining 201625_v04

なぜ配信 ( 消化 ) ペースをスムースにするのか

Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising より

• 広告主はできるだけ安くお客様の購入や資料請求などの消費行動を促したい。• 安くの指標: CPA = 消化金額 / クリックコバンージョン数

• 高性能な CVR 予測で低い予測 CVR のリクエストをフィルタしたい。• 可能な限り滑らかに日予算を消化させたい ( 機会損失を防ぐ )

• 滑らかの意味は1日の途中で予算を使いきり配信されない期間を作らないと同じ意味

31

Page 32: Sano tokyowebmining 201625_v04

AdWords and Generalized On-line Matching, Metha, Saberi, Vazirani and Vazirani, JACM2007

Total budget of bid i

amount of money spent by bid i

Bid price of bidiオペレータが設定する初期入札値

• 素朴には、消化が未達で入札金額が高めのものから優先的に配信するとスムーシングされると考えられる。• 消化しやすさだけ考えて配信順序を決めるので効率が下がる可能性がある (CPC, CPA悪化 ) 。

素朴な配信スムーシング

32

Page 33: Sano tokyowebmining 201625_v04

素朴な配信スムーシング

• CPC や CPA を悪化させないためには CTR/CVR 予測器も活用すればいいのではないかと思いつく (無駄配信を抑制 )

• しかし、どう活用するかは自明ではない• なぜなら次の前提条件があるため

33

Page 34: Sano tokyowebmining 201625_v04

• 前提条件• Bid request がやって来た時点でどの広告主のキャンペンを配信対象 ( 入札候補 ) にするか決まっていない (DSP は複数の広告主・キャンペンを扱っている ) 。• 配信枠やブラウザの情報など広告主以外のメディア情報のみ届く• Bid request を受け取った直後、 1 リクエスト毎にたくさんある広告主の中から配信すべきキャンペンを1つ決めなければならない。

• 短時間で全ての広告主を探索することは困難なので、効率良く探索する必要がある ( 入札に遅れるとオークションに参加できない ) 。

SSP DSP特徴量ベクトル

34

Page 35: Sano tokyowebmining 201625_v04

紹介するスムーシング & マッチングロジックSmart Pacing for Effective Online Ad Campaign Optimization Xu, Lee, Li, Qi, Lu (Yahoo inc.) KDD2015 ( 当時 Yahoo inc.)

• 論文の特徴• 消化ペースと CTR/CVR/CPA を同時評価するモデル。• ヒューリティクスを許容したシンプルで実用重視のフレーム• 各時刻での最適予算を計算• Feedback制御を活用して配信対象を抽出 (Optimal ではない )

• 良い CVR/CTR 予測モデルがすでにあることが前提。35

Page 36: Sano tokyowebmining 201625_v04

Matching process

ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0

• キャンペンごとに layer という概念を定義する (layer 数の決め方の記述は見当たらない )

• 基本的にリクエストの品質ごとにレイヤが決められる。• 予測 CTR で同じことができる。

36

Page 37: Sano tokyowebmining 201625_v04

Matching process

ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0

For each campaign

• Layerごとに off-line で pacing rate を計算

• 基本的に高い予測値が割り当てられる high responding layer に高い pacing rate が割り当てられる (厳密には消化も加味される ) 。• レイヤーの中には複数のキャンペンが含まれる• 各レイヤで含むキャンペンは異なる• キャンペンが大量にあるのでリクエスト毎に全てのキャンペンの予測値を計算できない。• レイヤーを選択して、その中のキャンペンに絞って予測値を計算。• もし、予測値がレイヤーの許容

CVR/CTR以下ならば入札をやめる。

Pacing rate

37

Page 38: Sano tokyowebmining 201625_v04

Matching process

ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0

For each campaign• サンプリングしてレイヤーを決める• Paching rate が高いと選ばれやすい

38

Page 39: Sano tokyowebmining 201625_v04

Matching process

ian Xu et al.(YahooInc.)https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0

For each campaign 入札候補

。。。。。。

pCTR or pCVR

39

Page 40: Sano tokyowebmining 201625_v04

各レイヤの pacing rate r を決めるロジック

- Smart Pacing for Effective Online Ad Campaign Optimization

過去の消化状況をみて将来の最適な予算をスケジューリング

Pacing rate の計算

最適化Feedback (ヒューリスティック )

消化スケジュール残り予算

各時刻ごとの目標消化学

これまでの消化

レイヤーごとの消化

40

Page 41: Sano tokyowebmining 201625_v04

Matching process

• Online blind A/B test with 50%-50% traffic and budget split;

• Baseline: probabilistic throttlingwith global pacing rate(equivalent to one-layerSmartPacing);

• SmartPacing: 8 layers of ad request groups.

• Pacing rate によって CTR が高く、かつ消化が上限までに余裕があるものレイヤから優先的に配信されるため、 CPC が下がったと思われる。• 常識的には高 CVR/CTR のレイヤは消化が少ないと思われるので、優先される。

- Smart Pacing for Effective Online Ad Campaign Optimization 41

Page 42: Sano tokyowebmining 201625_v04

入札価格決定関数

42

Page 43: Sano tokyowebmining 201625_v04

- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising

FM

FM

Smoothing with quality

43

Page 44: Sano tokyowebmining 201625_v04

pricingせっかく消化状況と予測値の高いリクエストを選んでも、入札価格が低いとオークションで負けてしまう。

• 予測 CTR/CVR が高ければ高い金額で入札• 勝率が上がる• 消化促進&クリック /顧客獲得増加• ただし、入札金額を高くしすぎると落札額が高まりすぎて CPA/CPCが悪化するので注意が必要

44

Page 45: Sano tokyowebmining 201625_v04

user

bid

ad

だいたいオペレータが設定する CPC単価初期値

• 平均予測 CTR より高いリクエストには強く入札する。• 平均予測 CTR より低い入札は控える。• 実装や運用が簡単• 予測値の分布が正規分布とは限らないので平均予測値に微調整が必要になる場合がある

- Bid Optimizing and Inventory Scoring in Targeted Online Advertising KDD12 (当時 )media 6 degrees(->Dstillery)

Scaling factor

45

Page 46: Sano tokyowebmining 201625_v04

- Bid Optimizing and Inventory Scoring in Targeted Online Advertising

strategy2

0.8 1.2

• Strategy0: オペレータの手動調整• Strategy1:

• Strategy2:

論文では3つの strategy を検証

46

Page 47: Sano tokyowebmining 201625_v04

• CVR は向上• 予測値の高いリクエストを強気で買う戦略が効いている

• CPA最適化はベースラインとそれほど変わらず• 良いリクエストを強気で買うことのみ考え消化の概念が入ってないので当たり前

• このモデルではおそらく Pacing は考えられていない• オペレータ強し!• 改善するためには消化効率や勝率なども取り入れる必要がある。

- Bid Optimizing and Inventory Scoring in Targeted Online Advertising 47

Page 48: Sano tokyowebmining 201625_v04

まとめ

48

Page 49: Sano tokyowebmining 201625_v04

入札プロセス

ログ集計&学習活用プロセス- Real Time Bid Optimization with Smooth Budget Delivery in Online A

dvertising

FM

FM

Smoothing with quality

scaling

49

• DSP の入札ロジックを解説• 重要な構成要素は

• CTR(CVR) 予測モデル• 予算消化コントーローラー• 入札価格決定関数

• システム的にはそれぞれ独立にできる点がメリット• 改善サイクルを早く進めれる。

• 機械学習を運用するには可能な限り専用のシステムリソースを確保できることが望ましい。• 予測器を複数同時に学習させたい• オンライン・オフライン検証を同時並行させたい。

• 機械学習をフルパワーで活用するにためには結構お金が必要かもしれない。

Page 50: Sano tokyowebmining 201625_v04

参考文献- Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising

- Smart Pacing for Effective Online Ad Campaign Optimization

- Bid Optimizing and Inventory Scoring in Targeted Online Advertising

- Feedback Control of Real-Time Display Advertising

- Optimal Real-Time Bidding for Display Advertising

- Factorization Machines

- Ad Click Prediction: a View from the Trenches

- Review :Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising

- WSDM 2016 勉強会: Feedback Control of Real-Time Display Advertising

- [SLIDE]Smart Pacing for E ective Online Ad Campaign Optimization 50

Page 51: Sano tokyowebmining 201625_v04

補足資料

51

Page 52: Sano tokyowebmining 201625_v04

Matching process

- Smart Pacing for Effective Online Ad Campaign Optimization52

Page 53: Sano tokyowebmining 201625_v04

Matching process

- Smart Pacing for Effective Online Ad Campaign Optimization53

Page 54: Sano tokyowebmining 201625_v04

Matching process

- Smart Pacing for Effective Online Ad Campaign Optimization

54