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
240
PandasAIにおけるLLMを用いた自然言語クエリの仕組み
piyo7
0
340
HdrHistogram紹介:ストリーミングで統計値を算出するための 高速・省メモリなライブラリ
piyo7
0
240
AI画像生成の紹介スライドをAI画像とAIチャットで作ってみた
piyo7
0
290
将棋AI「dlshogi」紹介
piyo7
1
550
軌跡検索エンジンT-Torch論文紹介
piyo7
0
170
DynamicでScalableな空間分割データ構造Bkd-Tree
piyo7
0
720
Let's Simulate a Quantum Computer with Pretty Scala
piyo7
0
28
量子コンピュータでニューラルネットワークな論文紹介
piyo7
0
35
Other Decks in Technology
See All in Technology
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.5k
IaC運用を楽にするためにCDK Pipelinesを導入したけど、思い通りにいかなかった話
smt7174
1
110
【若手エンジニア応援LT会】AWS Security Hubの活用に苦労した話
kazushi_ohata
0
160
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.6k
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
130
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
2
320
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
使えそうで使われないCloudHSM
maikamibayashi
0
170
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
330
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Why Our Code Smells
bkeepers
PRO
334
57k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Language of Interfaces
destraynor
154
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
Documentation Writing (for coders)
carmenintech
65
4.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Code Review Best Practice
trishagee
64
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
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) • 計測が壊れていると、それを元に運用する人間もシステムも誤ってしまう。
• 機械学習の場合、推論なら誤差、強化学習なら報酬、の設計が肝心要。