Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アドテクと機械学習
Search
Takatomo Torigoe
October 02, 2020
Technology
0
300
アドテクと機械学習
Inspired.Labのオンラインミートアップ資料です。
Takatomo Torigoe
October 02, 2020
Tweet
Share
More Decks by Takatomo Torigoe
See All by Takatomo Torigoe
AIイラスト生成・編集テクニック紹介
piyo7
2
250
PandasAIにおけるLLMを用いた自然言語クエリの仕組み
piyo7
0
350
HdrHistogram紹介:ストリーミングで統計値を算出するための 高速・省メモリなライブラリ
piyo7
0
250
AI画像生成の紹介スライドをAI画像とAIチャットで作ってみた
piyo7
0
300
将棋AI「dlshogi」紹介
piyo7
1
550
軌跡検索エンジンT-Torch論文紹介
piyo7
0
170
DynamicでScalableな空間分割データ構造Bkd-Tree
piyo7
0
730
Let's Simulate a Quantum Computer with Pretty Scala
piyo7
0
30
量子コンピュータでニューラルネットワークな論文紹介
piyo7
0
35
Other Decks in Technology
See All in Technology
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
190
Mastering Quickfix
daisuzu
1
140
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
710
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
SDNという名のデータプレーンプログラミングの歴史
ebiken
PRO
2
130
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
200
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
180
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
160
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
260
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
110
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
330
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
What's new in Ruby 2.0
geeforr
343
31k
What's in a price? How to price your products and services
michaelherold
243
12k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Designing for Performance
lara
604
68k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Statistics for Hackers
jakevdp
796
220k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Designing Experiences People Love
moore
138
23k
Designing the Hi-DPI Web
ddemaree
280
34k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Transcript
Inspired.Lab × TOYOTA Meetup 2020/10/02 アドテクと機械学習 鳥越貴智 トヨタ自動車・大手町ビル6F takatomo_torigoe toyota-tokyo.tech
自己紹介 https://qiita.com/piyo7 構造研究研究所 無線プロトコルシミュレータ開発 C++ Boost OpenMPI QualNet LTE-Advanced トヨタ自動車
工場・走行データ解析 Python TensorFlow LightGBM Scala Spark サイバーエージェント アドテクバックエンド開発 Scala Spark Finagle Python BigQuery Tableau Woven City? 2012 2019 2016
機械学習の実用例として 本日は前職の話をします>< 現職は、まだ仕掛かり中のものが多く……
アドテク と 機械学習 = インターネット広告技術 = 近年のいわゆるAI技術
大規模広告配信プロダクトの今後と課題 (隣のチームにいたエンジニアの発表資料)
担当プロダクト スマホ向け静止画・動画広告アドネットワークの開発チームにいました。 • 一日あたりの広告リクエストは数億。集計対象のログは数十億レコード。 • メディア側のオークション、広告主側の入札、どちらの機能も提供する。 • 機能ごとに1〜3人で、要件定義〜開発〜運用を行う。 • 広告配信が止まると赤字なので、クリティカルな障害は深夜も即対応。
レガシーシステムのコンテナ化に挑戦した話 (同じチームにいたエンジニアの発表資料)
担当ロール データ&機械学習エンジニアと名乗っていました。Scala・Pythonで開発。 • 集計基盤移行 • データパイプライン整備・マイクロサービス化 • オークション・入札のアルゴリズム改善 • 広告効果の分析・予測・可視化(本日の話)
• 予算配分最適化の検証
広告効果の数値感 たとえばスマホゲームの動画広告を100,000円で出稿したとして…… 動画広告の表示 2,000,000インプレッション インプレッション単価:0.05円 視聴完了率:25% 動画広告を視聴完了 500,000視聴完了 ビュー単価:0.2円 インストール率:0.05%
ストアでインストール 250インストール インストール単価:400円 アプリ定着率:20% 1週間後にログイン 50ユーザー 定着ユーザー単価:2,000円
確率予測の基本手法 • ロジスティック回帰 • Factorization Machines • ディープラーニング • 勾配ブースティング決定木
配信に組みこむためには、低レイテンシ・高スループットが求められるため、 今なおロジスティック回帰がベースラインとして重宝される。
確率予測の難所 • コールドスタート(開発例1) ◦ 新しい広告キャンペーンや広告枠についての予測は、いつでも難しい。 似た特徴量を持った既存キャンペーン・枠のデータからある程度は類推 できるが、やはり配信してみないと分からないことも多い。 • 遅れフィードバック(開発例2・3) ◦
広告主が本来知りたい指標(広告費用対売上など)ほど、広告配信から かなりの日数が経たないと観測できないし、学習データも少ない。
開発したもの紹介 ( ・ㅂ・)و 当時の闇と光のポエムはこちら…… 機械学習案件は本運用乗せきってからが本当の勝負 ブラックボックス化したデータ基盤を作りなおすことを決意した貴方へ
開発例1 クリック率の探索と活用
推測するな、計測せよ。 (自分の発表資料)
メディア側の 探索 と 活用 = 様々な広告を配信して 実績データを貯める。 = インプレッション単価の 高い広告のみ配信。
推測するな、計測せよ。
• 広告A ◦ 100インプレッション 3クリック ◦ クリック入札単価 6円 • 広告B
◦ 1000インプレッション 20クリック ◦ クリック入札単価 10円 インプレッション単価の実績値は、広告A(0.18円)より広告B(0.2円)の方が高い。 しかし広告Aの真のクリック率は4%で運が悪かっただけ……かもしれない。 そこで確率分布として幅を持たせ、乱数でサンプリングした値の大きい方を都度選択する。 トンプソンサンプリング
開発例2 インストール率の遅れ推定
遅れインストールの傾向 クリック・視聴完了からある時間経過 した時点のインストール率の確率密度 は、ざっくり指数関数で捉えられる。 減衰する理由は、認知効果の減衰、 Cookieの消失、他の広告プロダクトに 接触して計測を奪われる、など。 動画広告では遅れが顕著。 Modeling Delayed
Feedback in Display Advertising
動画広告のモデル 動画広告の場合、遷移パターンがいくつか あるため指数関数が混合したモデルになる。 途切れているのは、計測打ち切り。 • 赤:クリックから即インストール • 青:視聴完了から遅れてインストール • 黄:クリックから遅れてインストール
この高さや減衰の強さを当てたい。 さらに時間帯の周期性や、広告クリエイティブの枯れ具合も加味しないといけないことも。
(インターン生のゼミ発表資料)
開発例3 アプリ定着率のコホート分析
コホート分析(生存率分析) • インストールN日後のアプリ利用率 を広告やメディアごとに集計のち 可視化。定着ユーザを獲得しやす いものを探す。 • 右上から左下へ傾向が出ている時 は限定ガチャなど、時間経過的な 広告効果ではなく、時期限定的な
アプリ内効果のことが多い。 コホート分析レポート | アナリティクス ヘルプ
振り返って思うこと (=゚ω゚)ノシ 数ヶ月で売上が倍増したり半減したり、慌ただしい日々でした……
アドテクと機械学習の私見 • アドテクは、ビジネス的な機械学習ブームの先陣を切った業界(たぶん) • インターネット上できちんと計測できる(ように見える)広告効果を、細か く大量に競り落とす仕組みのため、機械学習の問題に落としやすい。そして 「全体の予測精度 X %向上!」がそのまま売上・利益に繋がりやすい。 •
オークション方式や入札戦略なども合わせて、Google・Facebook・Criteo などが基本的なベストプラクティスを見出しおわった(気がする) • 運用的には、広告テキスト・画像・動画の自動生成なども期待されている。
ままならない機械学習システム 下図は、機械学習システムを作るときの大変さを語るときによく引用されるが、 ネットで完結しないシステムの場合、ソフトウェアの外にも大きな荒野がある。 応用先が広がるにつれ、くわえて堅牢性・説明性・公平性も取り沙汰されるように。 Hidden Technical Debt in Machine Learning
Systems
機械学習システムの外にあった課題 • アドテクは、オークションの仕組みがとにかく強力で、広告主とメディアの インセンティブをすっきり分解できている(余分な駆け引きもある) • ただし視聴者の隠れた評価……とくにマイナス方向の……「ウザい広告」を 測る方法がほぼ存在しない。長期的には広告主もメディアも信用をなくし、 炎上したり、規制が強くなったりするが……(EUのGDPR、AppleのITP) • 計測が壊れていると、それを元に運用する人間もシステムも誤ってしまう。
• 機械学習の場合、推論なら誤差、強化学習なら報酬、の設計が肝心要。