Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sano tokyowebmining 201625_v04

25,770 views

Published on

広告機械学習最前線 DSPの中身を知る 2016-06-25 @TokyoWebmining. Introduction to online advertising and machine learning

Published in: Data & Analytics
  • Be the first to comment

Sano tokyowebmining 201625_v04

  1. 1. 広告機械学習最前線 DSPの中身を知る Masakazu Sano (佐野 正和), @masa_s3 第54回 TokyoWebmining 6/25(土) @ FreakOut 1
  2. 2. Agenda • イントロダクション • 自己紹介 • まえおき • DSPの概念を知る • DSPの入札ロジック • CTR(CVR)予測モデル • 予算消化コントローラー • 入札価格決定関数 • まとめ ※ CTR: Click through rate, CVR: conversion rate 2
  3. 3. イントロダクション 3
  4. 4. 自己紹介 佐野正和 (Masakazu Sano) @Masa_s3 素粒子物理学理論 -> Fringe81 -> 現在はFreakOutのサイエンスチームリーダー - DSPのパフォーマンス改善(文献調査、入札ロジック・予測器のモデル構築、 オフライン・オンライン検証、本番実装)。 - 調べて作って改善を繰り返す実践重視スタイル。 4
  5. 5. まえおき  TokyoWebminingでは、過去にアドテク関連のトークがたくさんある。似てる ような話は避けたい。  過去トークを個人的独断で大別すると次の二つに分類できる印象。 • 機械学習・統計モデルなどの理論重視トーク • バンディットアルゴリズム • クリック(CTR)予測モデル • アトリビューションモデリング、確率過程 • ・・・ • アドテクビジネス活用事例トーク • アドテク全般の紹介 • ネット広告配信システム全般の紹介 • アドネットワークの紹介 • ・・・  さらに、機械学習モデル個別の解説も巷にはすぐれた解説資料が既にたくさ んある。 5
  6. 6. 本日話したいこと • 機械学習の手法がどのように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
  7. 7. 入札プロセス ログ集計&学習活用プロセス - Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising この流れに沿って説明します -詳細は後のスライドで 7
  8. 8. DSPの概念を知る 8
  9. 9. インターネット広告の主な登場人物 (発表に必要なところのみ) • 広告主:広告を出したい。売上を増やしたい • メディア(媒体): 広告を出すスペース(広告枠)を提供。収益を上げたい • DSP(Demand Side Platform): 広告主が広告を出す(枠の買い付け)手助けを するシステム • SSP(Supply Side Platform): メディアの広告枠をマネタイズを手助けするシ ステム 9
  10. 10. ネット広告売買の世界:Real Time Bidding(RTB) • SSPがimpressionのオークションを仕切って、それに複数のDSPが参加するイメー ジ。1-bid request毎に広告枠の取引が発生する世界。 DSP1 DSP2 DSP3 SSP いくらで配 信するの? ¥10 ¥30 ¥20 DSP2を配信 ユーザID, 広告サイズ等 を開示 10 Bid request Bid response
  11. 11. オークションの参加者が増えると • Media (SSP) • オークションの参加者が多ければターゲットとなりうる広告主に高値で 広告枠を売ることができる。 • 儲かる。 • Advertiser (DSP) • 人×枠で効率良くターゲット層に情報を届けることができる。 • 儲かる。 • ユーザ(広告を見る人) • 必要な広告がタイミングよく出る(理想) • あ、これなんか気になるかもー Media、Advertiser、ユーザにとって良い状況が実現される可能性が高まる。 オークション制だとなにがいいの? 11
  12. 12. ではbidRequestを受け取ったときにDSP内部で行わ れることを覗いてみましょう DSP1 DSP2 DSP3 SSP いくらで配 信するの? ¥10 ¥30 ¥20 DSP2を配信 ユーザID, 広告サイズ等 を開示 12 Bid request Bid response
  13. 13. ………………… SSP Campaign Advertiser 上限日予算を管理 上限入札金額を管理 • DSPは複数広告主の配信を取り扱う。 • 配信するために広告主単位で入稿設計が必要 (セグメントなど) • 通常、広告主単位に複数のキャンペンとその 配下に広告グループが連なる。 • 配信設計がそもそもパフォーマンスに影響す る(機械学習がうまく機能するかにも)。 Adgroup(bid) DSPの内部構造の概略図 DSP 13
  14. 14. ………………… Bid request SSP Pacing/Matching (Ranking) process • SSPからrequestが届く。 • どの広告主の広告を配信するか内部決定す る必要がある。内部オークションの実施。 どれを出そうかな 14
  15. 15. ………………… Bid request SSP Pacing/Matching (Ranking) process チェック項目 • やってきたbid requestに対して予測CTR/CVRが 高いか • 予算消化状況はどうか • 一つの広告主だけ配信が偏らないように する • などなど 15
  16. 16. ………………… Bid request SSPBid price Pricing process 入札金額は • 選ばれた対象の予測CTR/CVR, 消化状況, CPA などを総合評価して決定する。 ※CPA: cost per Acquisition/Action 内部入札が遅れると入札に参加すらできない! 50 msec or die ! 16
  17. 17. ………………… SSP2nd price ad Win ! 17
  18. 18. 入札プロセス ログ集計&学習活用プロセス - Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising 改めてまとめ 18
  19. 19. •CTR(CVR)予測モデル •予算消化コントーローラー •入札価格決定関数 DSPの入札(配信枠購入)ロジックの主な構成要素 19
  20. 20. 各ロジックの解説 Bid-requestが来た後のプロセスをトレースしながら説明 20
  21. 21. CTR(CVR)予測モデル 21
  22. 22. - Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising 22
  23. 23. CTR/CVR prediction • ClickやCVするユーザを予想したい(2値分類)。 • なぜなら無駄な配信を抑制したいから。 • 歴史的にロジスティック回帰(の派生)が良く使われている • 扱いやすい(理論・実装・解釈) • 入札サーバで高速&リアルタイムに予測値を計算できる(50msec or die)。 23
  24. 24. 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
  25. 25. CTR/CVR prediction • Factorization Machines • 大雑把に表すとロジスティック回帰+2次の特徴量相互作用項。 • 素朴に相互作用項を足すと予測能力が向上すると想定される。 • しかしアドテク分野では典型的な特徴量次元はO(2^24)より大きい • 次元削減しなければO(2^27)次元以上 • 広告枠の情報が非常に多い • このため普通に2次項を計算すると、計算量が計算量がO(N×N)増大し、高速で 予測値を計算できなかったり、モデル学習に時間が掛かり過ぎてしまい実用に 耐えない。 25
  26. 26. CTR/CVR prediction • Factorization Machines • FMでは2次の特徴量ウェイト(Matrix)をベクトルのテンソル積に分解すること で計算量がO(kN) (k=o(10-100)) 程度になる。 - Factorization Machines より引用 26
  27. 27. CTR/CVR prediction • Factorization Machines • FMでは2次の特徴量ウェイト(Matrix)をベクトルのテンソル積に分解すること で計算量がO(kN) (k=o(10-100)) 程度になる。 - Factorization Machines O(n) 識別の分解能が上がる。 1次項のみ:#A=O(N)個のウェイトで識別 2次項: (大雑把に) #A*B=O(N*N)個 のウェイトで識別 27
  28. 28. CTR/CVR prediction • Factorization Machines • 精度も高い傾向にある(参照はレコメンデーションの結果)。 - Factorization Machines 28
  29. 29. 予算消化コントーローラー 29
  30. 30. - Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising FM FM 30
  31. 31. なぜ配信(消化)ペースをスムースにするのか Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising より • 広告主はできるだけ安くお客様の購入や資料請求などの消費行動を促したい。 • 安くの指標:CPA = 消化金額 / クリックコバンージョン数 • 高性能なCVR予測で低い予測CVRのリクエストをフィルタしたい。 • 可能な限り滑らかに日予算を消化させたい (機会損失を防ぐ) • 滑らかの意味は1日の途中で予算を使いきり配信されない期間を作らないと同じ意味 31
  32. 32. 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
  33. 33. 素朴な配信スムーシング • CPCやCPAを悪化させないためにはCTR/CVR予測器も活用すればい いのではないかと思いつく(無駄配信を抑制) • しかし、どう活用するかは自明ではない • なぜなら次の前提条件があるため 33
  34. 34. • 前提条件 • Bid requestがやって来た時点でどの広告主のキャンペンを配信対象(入札候補) するか決まっていない(DSPは複数の広告主・キャンペンを扱っている)。 • 配信枠やブラウザの情報など広告主以外のメディア情報のみ届く • Bid requestを受け取った直後、1リクエスト毎にたくさんある広告主の中から配 信すべきキャンペンを1つ決めなければならない。 • 短時間で全ての広告主を探索することは困難なので、効率良く探索する必要が ある(入札に遅れるとオークションに参加できない)。 SSP DSP 特徴量ベクトル 34
  35. 35. 紹介するスムーシング&マッチングロジック 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
  36. 36. Matching process ian Xu et al.(YahooInc.) https://sites.google.com/site/jianxuhome/kdd-smartpacing-slides.pdf?attredirects=0 • キャンペンごとにlayerという概念を定義す る(layer数の決め方の記述は見当たらない) • 基本的にリクエストの品質ごとにレイヤが 決められる。 • 予測CTRで同じことができる。 36
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. 各レイヤのpacing rate r を決めるロジック - Smart Pacing for Effective Online Ad Campaign Optimization 過去の消化状況をみて将来の最適な 予算をスケジューリング Pacing rateの計算 最適化 Feedback (ヒューリスティック) 消化スケ ジュール 残り予算 各時刻ごとの目標消化学 これまでの消化 レイヤーごとの消化 40
  41. 41. Matching process • Online blind A/B test with 50%-50% traffic and budget split; • Baseline: probabilistic throttling with global pacing rate (equivalent to one-layer SmartPacing); • SmartPacing: 8 layers of ad request groups. • Pacing rateによってCTRが高く、かつ 消化が上限までに余裕があるものレイヤ から優先的に配信されるため、CPCが下 がったと思われる。 • 常識的には高CVR/CTRのレイヤは消化が 少ないと思われるので、優先される。 - Smart Pacing for Effective Online Ad Campaign Optimization 41
  42. 42. 入札価格決定関数 42
  43. 43. - Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising FM FM Smoothing with quality 43
  44. 44. pricing せっかく消化状況と予測値の高いリクエストを選んでも、入札価格が低いと オークションで負けてしまう。 • 予測CTR/CVRが高ければ高い金額で入札 • 勝率が上がる • 消化促進&クリック/顧客獲得増加 • ただし、入札金額を高くしすぎると落札額が高まりすぎてCPA/CPCが 悪化するので注意が必要 44
  45. 45. user bid ad だいたいオペレータが設定するCPC単価初期値 • 平均予測CTRより高いリクエストには強く入札する。 • 平均予測CTRより低い入札は控える。 • 実装や運用が簡単 • 予測値の分布が正規分布とは限らないので平均予測値に微調整が必要になる場合がある - Bid Optimizing and Inventory Scoring in Targeted Online Advertising KDD12 (当時)media 6 degrees(->Dstillery) Scaling factor 45
  46. 46. - Bid Optimizing and Inventory Scoring in Targeted Online Advertising strategy2 0.8 1.2 • Strategy0: オペレータの手動調整 • Strategy1: • Strategy2: 論文では3つのstrategyを検証 46
  47. 47. • CVRは向上 • 予測値の高いリクエストを強気で買う戦略が効いている • CPA最適化はベースラインとそれほど変わらず • 良いリクエストを強気で買うことのみ考え 消化の概念が入ってないので当たり前 • このモデルではおそらくPacingは考えられていない • オペレータ強し! • 改善するためには消化効率や勝率なども取り入れる必要がある。 - Bid Optimizing and Inventory Scoring in Targeted Online Advertising 47
  48. 48. まとめ 48
  49. 49. 入札プロセス ログ集計&学習活用プロセス - Real Time Bid Optimization with Smooth Budget Delivery in Online Advertising FM FM Smoothing with quality scaling 49 • DSPの入札ロジックを解説 • 重要な構成要素は • CTR(CVR)予測モデル • 予算消化コントーローラー • 入札価格決定関数 • システム的にはそれぞれ独立にできる点がメリット • 改善サイクルを早く進めれる。 • 機械学習を運用するには可能な限り専用のシステム リソースを確保できることが望ましい。 • 予測器を複数同時に学習させたい • オンライン・オフライン検証を同時並行させた い。 • 機械学習をフルパワーで活用するにためには結構お 金が必要かもしれない。
  50. 50. 参考文献 - 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
  51. 51. 補足資料 51
  52. 52. Matching process - Smart Pacing for Effective Online Ad Campaign Optimization 52
  53. 53. Matching process - Smart Pacing for Effective Online Ad Campaign Optimization 53
  54. 54. Matching process - Smart Pacing for Effective Online Ad Campaign Optimization 54

×