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
310
アドテクと機械学習
Inspired.Labのオンラインミートアップ資料です。
Takatomo Torigoe
October 02, 2020
Tweet
Share
More Decks by Takatomo Torigoe
See All by Takatomo Torigoe
AIイラスト生成・編集テクニック紹介
piyo7
2
270
PandasAIにおけるLLMを用いた自然言語クエリの仕組み
piyo7
0
360
HdrHistogram紹介:ストリーミングで統計値を算出するための 高速・省メモリなライブラリ
piyo7
0
260
AI画像生成の紹介スライドをAI画像とAIチャットで作ってみた
piyo7
0
300
将棋AI「dlshogi」紹介
piyo7
1
570
軌跡検索エンジンT-Torch論文紹介
piyo7
0
180
DynamicでScalableな空間分割データ構造Bkd-Tree
piyo7
0
750
Let's Simulate a Quantum Computer with Pretty Scala
piyo7
0
31
量子コンピュータでニューラルネットワークな論文紹介
piyo7
0
38
Other Decks in Technology
See All in Technology
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
310
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
160
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
330
ハイテク休憩
sat
PRO
2
140
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
280
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
KATA
mclloyd
29
14k
Scaling GitHub
holman
458
140k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Designing Experiences People Love
moore
138
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Facilitating Awesome Meetings
lara
50
6.1k
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) • 計測が壊れていると、それを元に運用する人間もシステムも誤ってしまう。
• 機械学習の場合、推論なら誤差、強化学習なら報酬、の設計が肝心要。