SlideShare a Scribd company logo
1 of 31
Download to read offline
Online Matching and Ad Allocation
8章&9章半分
丸山 哲太郎
株式会社リクルートコミュニケーションズ
2016/07/21
本来ならば本日は秋庭くんと私で8章と9章をやるはずだっ
たのですが、秋庭くんが「さんふらんしすこぅ」なる場所で
リア充生活を満喫しているらしいので、私ひとりで、8章と
9章の半分をえっちらおっちらやっていこうと思います。
要するに、「申し訳ありません」
1/ 30
ちなみに今回解説する8章と9章前半は
今までのまとめみたいな感じです
2/ 30
8. Online Submodular Welfare Maximization
• そもそもこの論文の最初に立ち戻る
• 「オンライン利潤最大化問題」について議論してるんだった
• ユーザーの集合 V 、広告主(プレイヤー)の集合 U(広告主は n 個)
• ある広告主 u の評価関数は、fu : 2V
→ R+
• ユーザー V の全部分集合 2V に対して、(正の実数の)利益なり価値なりが
発生することを表した関数
• オンラインで割り当てられたユーザー(ユーザーに対して表示された広
告)は取り戻しが出来ない
• 一通りの stream(一連の広告表示)が終わった後、広告主 u には Vu ⊆ V
のユーザーが割り当てられている(u の広告が表示されている)
3/ 30
劣モジュラな評価関数
• 本論文で扱うアルゴリズムの目的は、max
∑
u∈U fu(Vu)
• この評価関数 f は以下の性質を持つ
• 単調
• ∀S ⊆ T ⊆ V, f(U) ≤ f(T) ≤ f(V )
• ユーザーが割り当てられるほど、評価が増え、減ることは無い
• 劣モジュラ
• ∀X, Y : f(X ∪ Y ) + f(X ∩ Y ) ≤ f(X) + f(Y )
• ・・・
4/ 30
【余談】劣モジュラ
• 私が見た中で一番分かりやすい劣モジュラの解説
• プリキュアで学ぶ劣モジュラ関数
• 式が違う・・・
• 前ページ:∀X, Y : f(X ∪ Y ) + f(X ∩ Y ) ≤ f(X) + f(Y )
• 上記サイト:X ⊆ Y, i /∈ Y : f(X ∪ {i}) − f(X) ≥ f(Y ∪ {i}) − f(Y )
• 前ページの式で、以下のようにしても ∀X, Y は成り立つはず
• X ∩ Y = Z, X = Z ∪ {x} (x /∈ Y )
• 前ページの式に代入していく
• f(Z) + f(Y ∪ {x}) ≤ f(Z ∪ {x}) + f(Y )
• f(Y ∪ {x}) − f(Y ) ≤ f(Z ∪ {x}) − f(Z)
• Z ⊆ Y, x /∈ Z, x /∈ Y は明らかなので、同じでしたね
5/ 30
【余談】劣モジュラ (Cont.)
• 劣モジュラの意味を「プリキュア・・・」から引用すると
• f を集合の中のプリキュアの色を数える関数とする
• 集合が大きくなればなるほど、色が増え方が鈍っていく
• この場合(広告の場合)は、
• 既に割り当てられたユーザーが多いほど、新しいユーザー v ∈ V に対して、
• 中身は同じ人間かもしれないので、広告をクリックしなくなる
• クリック課金がユニークユーザー単位だった
• いっぱい広告を出すと、だんだん飽きられてくる
• ので、価値の増え方が鈍っていく
• ことに相当すると思われ
6/ 30
【余談】
• ま、すぐ次に
• ∀S ⊆ T ⊆ V, x /∈ T : f(S + x) − f(S) ≥ f(T + x) − f(T)
• って載っているんですが。。。
7/ 30
劣モジュラに対する貪欲法
• 単調劣モジュラな評価関数 f を用いるオンライン利潤最大化問題
• これに対する最もシンプルな解法は、GREEDY なやり方である
• GREEDY = marginal gain を最大化する
劣モジュラに対する貪欲法
Vu を既に各 u ∈ U に割り当てられたユーザーだとすると、
次のユーザー v ∈ V には fu(Vu ∪ {v}) − fu(Vu) が最大になる u に割り当てる
8/ 30
貪欲法の競合比
Theorem 8.1
GREEDY な解法は、Adversarial な到着(何も仮定しない)の場合に、
競合比 1
2
いく
証明は 5.2 章の前半でやってるので省略。
9/ 30
もっと良いもの無いんだっけ?
• 4.2 章でやった、marginal gain に ψ(ru) = 1 − eru−1
(ru は [0, 1] の乱数)
の重みをつけた Perturbed Greedy アルゴリズム(Algorithm 7)は、競合比
1 − 1
e
• 5.2 章の後半でやった、marginal gain に ψ(xu) = 1 − exu−1
の減衰項をつ
けた MSVV アルゴリズム(Algorithm 10)も、競合比 1 − 1
e
• 6 章では、それぞれの双対問題の形式を示した(Algorithm 13 と
Algorithm 11)
• 枝に重みのついた2部グラフマッチングを、前者は重みにランダムな荷
重を加える方法、後者は決定論的な荷重を付ける方法だが
• small bit assamption が必要な所まで、よく似ている
10/ 30
【余談】Display Ad の場合はどうだったっけ
• 前ページの2つのアルゴリズムは、Adwords に関するもの
• Display Ad の場合は、6 章の Free Disposal を使った FKMMP09
(Algorithm 17)が、やはり競合比 1 − 1
e
• 予算が無限大(cu → ∞)という条件もついた上で
11/ 30
んなものはねぇ定理
Theorem 8.2
多項式時間で解けて、競合比が 1
2
を超えるアルゴリズムは、無い
※ small bit assamption を仮定しない場合において
12/ 30
そんなこと言うなよ問題
Open Question 10
small bit assamption 無しで競合比が良い Adwords のアルゴリズム、
free disposal を(あんまり)使わない Display Ad のアルゴリズム、
君も考えてみないかい?
Open Question 11
多項式時間云々を考えなければ、最大の競合比はいくつか興味無い?
13/ 30
Unknown IIDだったら?
Theorem 8.3
やってくるユーザーの分布と枝の重みの分布が分かっている(Unknown IID)
だったら、GREEDY アルゴリズムの競合比は 1 − 1
e
で、これより良いアルゴリ
ズムは存在しない
14/ 30
9.Applications
• 9.1 章では、bid-scaling アルゴリズム(small bit assumption を仮定したア
ルゴリズム)を実際に運用するときのノウハウを示す
• 9.2 章では、実際に運用するときの様々な指標について述べる
• 9.3 章では、企業が発表した bid-scaling アルゴリズムについてまとめる
• (本日はここまでの予定。秋庭くんに良い所を残してやる親心)
• 9.4 章では、ヒューリスティックな方法について述べる
• 9.5 章では、Throttling という手法について述べる
15/ 30
9.1 A Unified View: Bid-Scaling Algorithms
• 今まで扱ってきたアルゴリズム群を”Bid-Scaling Algorighms” と呼ぼう
• 一番大きい重みの枝を選ぶ方法
• その中でも以下のように分類できるよ
• それに更にウェイトを付ける方式
• 決定論的:MSVV 等
• ランダム:Perturbed Greedy 等
• 何に対して重みを付けるのか
• 予算:MSVV 等
• キャパシティ:FKMMP09 等
• 重みの更新は?
• 乱数で:Perturbed Greedy 等
• 指数的に:MSVV 等
• 追加してく:FKMMP09
16/ 30
システム負荷的に見て
• とは言っても、こいつらは GREEDY と大して違わないよ
• GREEDY はメモリ全然要らないよね
• 強いて言えば、広告主毎に予算消費を覚えておくぐらい
• CPU も全然使わないよね
• 各 bid に対して処理するぐらい
• CPU 間の通信もほぼ無いよね
• 予算を同期するぐらい
• だから、凄い使いやすいよね
17/ 30
Adversarial最高
• 今までこの論文で取り上げたモデルは、Adversarial なアルゴリズム
(GREEDY?)かクエリの分布を仮定したものかに分けられる
• 後者は、6.2 章で線形計画法の双対問題を解いたように、仮定したクエリ
の分布が変わらずに来るんだったら、最適な方法だよ
• だけど、GREEDY の強力な利点:
• LP を解くとかやるより、実装超簡単
• 分布を外れたクエリが来ても、最低限の競合比が保証されてる
• ま、本当に分布に従ったクエリが来るんなら、後者がいいんだけどね
18/ 30
9.2 Objective Functions Used in Practice
• 今まで、「2部グラフの最大マッチで、枝の重みの総和=”efficiency”」と
して、これを最大化する目的でやってきた
• この “efficiency” を最大化するってことは、広告主にとっての価値を最大
化することに繋がる
• しかし、その他の指標も考えてみようじゃないか
• ユーザーから見た広告の価値
• “Return on Investment”(ROI)
• 広告主にとっての直近の利潤
• 指標を変えることによって、違うやり方が生まれるかもしれないし
19/ 30
3つの指標
• Quality =
∑
i∈I qi/|I|(ユーザーから見た広告の価値)
• I はインプレッション
• qi はインプレッション i 毎の quality score(例えば、CTRi とか)
• (qi が CTR だとすると色々おかしいが・・・)
• CTR を予測する機械学習とか、良いんじゃないかな
• ROI =
∑
i∈I CTRiCVRiVi
∑
i∈I CTRiCPCi
• Vi はコンバージョン当たりの価格
• どれだけお金を掛けたかに対する、どれだけ効果があったか
• 分子を利益にするならば、ROI =
∑
i∈I CTRiCVRi(Vi−CPCi)
∑
i∈I CTRiCPCi
• Revenue =
∑
i∈I CTRiCPCi
20/ 30
で、どうすんのさ
• 異なる広告主に対して公平に配信する”fairness” なんて指標も重要だろう
• 次の章で企業が発表しているアルゴリズムを紹介するが、
• これらの中には指標として前ページに挙げたものを採用している、ハイ
レベルなものもあるよ
Open Question 12
こういう(”efficiency” 以外の)指標を導入したら、もしくは複数の指標を考
えたら、online matching problem はどう?そして最適解は見つかる?
21/ 30
9.3 Published Results from the Industry
• bid-scaling algorithm の研究は主に Display Ad が対象だよ
• Display Ad ってこんな状況だよね
• 配信主は、広告主の配信対象となるウェブサイト(リタゲ)・デモグラ・ジ
オ等のターゲッティングをする
• 広告主に X 回の impression を保証し、Y の報酬をもらう
• なので、impression が稼げなかったらヤバイ(補償問題になる)
• これは7章での議論に capacity の下限という束縛条件が付くことになる
22/ 30
Google の場合
• Adwords Problem: Online Keyword Matching with Budgeted Bidders under
Random Permutations を Display Ad に応用した
• 5 章で棚橋くんが読み飛ばした箇所にあり
• MSVV と似ているが、双対問題を解く上で出てきた
argminα
{∑
u∈U αuϵBu +
∑
v∈V maxu xuv(1 − αu)
}
を考え、xuv(1 − αu) を最大にする u に貼る(Bu は u の予算)
• (Adwords なのに)Display Ad のように free disposal をする
• 1 ∼ ϵm まで適当に張り、ϵm ∼ m まで上記で頑張る
• Efficiency は GREEDY より 10%ほど良くなった
• fairness という指標も導入した
23/ 30
Google の論文
• Online Stochastic Packing applied to Display Ad Allocation
• 双対問題を解くところは、そこそこ同じなので省略
• “fairness” について
• 広告主の利潤 νu(x) =
∑
v∈V wuvxuv、V (x) =
∑
u∈U νu(x)
• offline で全データをマッチングして得られた最適解を x∗ とする
• fairness =
∑
u∈U
V (x∗)
V (x) νu(x) − νu(x∗)
• online での解が、offline で得られる最適解(Efficiency 最大)より利潤が少
なくなるのは仕方ないにせよ、各広告主毎に依怙贔屓されてないか
• fairness は少ないほど良い
• 各広告主毎の最適解の場合の Efficiency と online の場合の Efficiency の割合
が、全ての広告主において一致するならば、fairness は 0
24/ 30
Google の論文(Cont.)
pd-avg:imp が各広告主で同じになるように、pd-exp:MSVV 的なもの
hybrid:1%のデータで双対問題解くが、その β の項を pd-avg で置き換えたもの
lp weight:offline でマッチングした場合、fair:offline で fair にしたもの
dualbase:本論文の方式
25/ 30
Googleの論文(Cont.)
前のページとは違う状況。広告主毎の maximum possible efficiency が右のグラフの白三角で
表され、その順にソートされている。
要するに、広告主がユーザーをかなり食い合う場合か。
この場合 MSVV 的なものがかなり Efficiency 良い(ただし fairness 悪い)
26/ 30
Microsoft の場合
• Display Ad の impression 補償(capacity の下限)条件のために、Waterlevel
アルゴリズムを導入した
• これも 5 章で棚橋くんが読み飛ばした箇所
• Balance アルゴリズムの、各広告主毎に bid 価格が異なる場合のもの
• Fast Algorithms for Finding Matchings in Lopsided Bipartite Graphs with
Applications to Display Ads
• 上記も Microsoft で、劣モジュラな性質を利用して定式化
• これに対し、CTR*CPC を最大化する双対問題を解く
• Waterlevel よりも向上した
27/ 30
Microsoft の論文
• Real-Time Bidding Algorithms for Performance-Based Display Ad Allocation
• すでに解説が SlideShare に上がってた
• CyberAgent の Tatsuki Sugio さんの SlideShare
• RTB でのユーザーの bid 価格に対して、今までの CTR や予算(impression
補償)から適正価格になるような補正項 α を双対問題を解いて出す
• 補正項で補正した bid 価格に対して、GREEDY に imp する広告を決める
• α は随時アップデートかけていく
28/ 30
Yahoo! の場合
• Optimal Online Assignment with Forecasts
• 基本的には 6 章の双対問題をベースとしているが、特徴が3点
• 評価関数を2階微分可能な凸関数であるとし、(2階微分は 0 だけど)
• その Lagrangian からラグランシュの未定乗数法を用いて最適解をだして
いる
• その KKT 条件と、双対問題(とそこに出てくるスラック変数)との関係を
定義している(ラグランジュ緩和した双対問題)
• どっちかというと、6 章の元になっているのがこの論文じゃないの?
• free disposal (サンプリング)する個数を、双対問題の条件から影響を見積
もって出している
• 元論文のここ、難しくて追えなかったです・・・
29/ 30
秋庭くんが「残しとけよ!絶対残しとけよ!」と言うので、
本当にやらないで今日はここまでにします。
30/ 30

More Related Content

More from Maruyama Tetsutaro

shot note で手書き資料作成
shot note で手書き資料作成shot note で手書き資料作成
shot note で手書き資料作成Maruyama Tetsutaro
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングMaruyama Tetsutaro
 
機械学習向けプログラミング言語の使い分け - RCO の場合
機械学習向けプログラミング言語の使い分け - RCO の場合機械学習向けプログラミング言語の使い分け - RCO の場合
機械学習向けプログラミング言語の使い分け - RCO の場合Maruyama Tetsutaro
 
Mining of massive datasets chapter3
Mining of massive datasets chapter3Mining of massive datasets chapter3
Mining of massive datasets chapter3Maruyama Tetsutaro
 
業務に活かすデータサイエンスとは?
業務に活かすデータサイエンスとは?業務に活かすデータサイエンスとは?
業務に活かすデータサイエンスとは?Maruyama Tetsutaro
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Maruyama Tetsutaro
 
Zshでデキるプロンプト
ZshでデキるプロンプトZshでデキるプロンプト
ZshでデキるプロンプトMaruyama Tetsutaro
 
ランダム・シャッフル
ランダム・シャッフルランダム・シャッフル
ランダム・シャッフルMaruyama Tetsutaro
 
Zipf分布に従う乱数の生成方法
Zipf分布に従う乱数の生成方法Zipf分布に従う乱数の生成方法
Zipf分布に従う乱数の生成方法Maruyama Tetsutaro
 
円錐曲線の極座標表示
円錐曲線の極座標表示円錐曲線の極座標表示
円錐曲線の極座標表示Maruyama Tetsutaro
 

More from Maruyama Tetsutaro (15)

shot note で手書き資料作成
shot note で手書き資料作成shot note で手書き資料作成
shot note で手書き資料作成
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
 
機械学習向けプログラミング言語の使い分け - RCO の場合
機械学習向けプログラミング言語の使い分け - RCO の場合機械学習向けプログラミング言語の使い分け - RCO の場合
機械学習向けプログラミング言語の使い分け - RCO の場合
 
keynoteでslideshare
keynoteでslidesharekeynoteでslideshare
keynoteでslideshare
 
Lambda and rundeck
Lambda and rundeckLambda and rundeck
Lambda and rundeck
 
Mining of massive datasets chapter3
Mining of massive datasets chapter3Mining of massive datasets chapter3
Mining of massive datasets chapter3
 
業務に活かすデータサイエンスとは?
業務に活かすデータサイエンスとは?業務に活かすデータサイエンスとは?
業務に活かすデータサイエンスとは?
 
日本の伝統色
日本の伝統色日本の伝統色
日本の伝統色
 
Gnuplotあれこれ
GnuplotあれこれGnuplotあれこれ
Gnuplotあれこれ
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入
 
Zshでデキるプロンプト
ZshでデキるプロンプトZshでデキるプロンプト
Zshでデキるプロンプト
 
配列数式
配列数式配列数式
配列数式
 
ランダム・シャッフル
ランダム・シャッフルランダム・シャッフル
ランダム・シャッフル
 
Zipf分布に従う乱数の生成方法
Zipf分布に従う乱数の生成方法Zipf分布に従う乱数の生成方法
Zipf分布に従う乱数の生成方法
 
円錐曲線の極座標表示
円錐曲線の極座標表示円錐曲線の極座標表示
円錐曲線の極座標表示
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (9)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

Online Matching and Ad Allocaton 8章&9章半分

  • 1. Online Matching and Ad Allocation 8章&9章半分 丸山 哲太郎 株式会社リクルートコミュニケーションズ 2016/07/21
  • 4. 8. Online Submodular Welfare Maximization • そもそもこの論文の最初に立ち戻る • 「オンライン利潤最大化問題」について議論してるんだった • ユーザーの集合 V 、広告主(プレイヤー)の集合 U(広告主は n 個) • ある広告主 u の評価関数は、fu : 2V → R+ • ユーザー V の全部分集合 2V に対して、(正の実数の)利益なり価値なりが 発生することを表した関数 • オンラインで割り当てられたユーザー(ユーザーに対して表示された広 告)は取り戻しが出来ない • 一通りの stream(一連の広告表示)が終わった後、広告主 u には Vu ⊆ V のユーザーが割り当てられている(u の広告が表示されている) 3/ 30
  • 5. 劣モジュラな評価関数 • 本論文で扱うアルゴリズムの目的は、max ∑ u∈U fu(Vu) • この評価関数 f は以下の性質を持つ • 単調 • ∀S ⊆ T ⊆ V, f(U) ≤ f(T) ≤ f(V ) • ユーザーが割り当てられるほど、評価が増え、減ることは無い • 劣モジュラ • ∀X, Y : f(X ∪ Y ) + f(X ∩ Y ) ≤ f(X) + f(Y ) • ・・・ 4/ 30
  • 6. 【余談】劣モジュラ • 私が見た中で一番分かりやすい劣モジュラの解説 • プリキュアで学ぶ劣モジュラ関数 • 式が違う・・・ • 前ページ:∀X, Y : f(X ∪ Y ) + f(X ∩ Y ) ≤ f(X) + f(Y ) • 上記サイト:X ⊆ Y, i /∈ Y : f(X ∪ {i}) − f(X) ≥ f(Y ∪ {i}) − f(Y ) • 前ページの式で、以下のようにしても ∀X, Y は成り立つはず • X ∩ Y = Z, X = Z ∪ {x} (x /∈ Y ) • 前ページの式に代入していく • f(Z) + f(Y ∪ {x}) ≤ f(Z ∪ {x}) + f(Y ) • f(Y ∪ {x}) − f(Y ) ≤ f(Z ∪ {x}) − f(Z) • Z ⊆ Y, x /∈ Z, x /∈ Y は明らかなので、同じでしたね 5/ 30
  • 7. 【余談】劣モジュラ (Cont.) • 劣モジュラの意味を「プリキュア・・・」から引用すると • f を集合の中のプリキュアの色を数える関数とする • 集合が大きくなればなるほど、色が増え方が鈍っていく • この場合(広告の場合)は、 • 既に割り当てられたユーザーが多いほど、新しいユーザー v ∈ V に対して、 • 中身は同じ人間かもしれないので、広告をクリックしなくなる • クリック課金がユニークユーザー単位だった • いっぱい広告を出すと、だんだん飽きられてくる • ので、価値の増え方が鈍っていく • ことに相当すると思われ 6/ 30
  • 8. 【余談】 • ま、すぐ次に • ∀S ⊆ T ⊆ V, x /∈ T : f(S + x) − f(S) ≥ f(T + x) − f(T) • って載っているんですが。。。 7/ 30
  • 9. 劣モジュラに対する貪欲法 • 単調劣モジュラな評価関数 f を用いるオンライン利潤最大化問題 • これに対する最もシンプルな解法は、GREEDY なやり方である • GREEDY = marginal gain を最大化する 劣モジュラに対する貪欲法 Vu を既に各 u ∈ U に割り当てられたユーザーだとすると、 次のユーザー v ∈ V には fu(Vu ∪ {v}) − fu(Vu) が最大になる u に割り当てる 8/ 30
  • 10. 貪欲法の競合比 Theorem 8.1 GREEDY な解法は、Adversarial な到着(何も仮定しない)の場合に、 競合比 1 2 いく 証明は 5.2 章の前半でやってるので省略。 9/ 30
  • 11. もっと良いもの無いんだっけ? • 4.2 章でやった、marginal gain に ψ(ru) = 1 − eru−1 (ru は [0, 1] の乱数) の重みをつけた Perturbed Greedy アルゴリズム(Algorithm 7)は、競合比 1 − 1 e • 5.2 章の後半でやった、marginal gain に ψ(xu) = 1 − exu−1 の減衰項をつ けた MSVV アルゴリズム(Algorithm 10)も、競合比 1 − 1 e • 6 章では、それぞれの双対問題の形式を示した(Algorithm 13 と Algorithm 11) • 枝に重みのついた2部グラフマッチングを、前者は重みにランダムな荷 重を加える方法、後者は決定論的な荷重を付ける方法だが • small bit assamption が必要な所まで、よく似ている 10/ 30
  • 12. 【余談】Display Ad の場合はどうだったっけ • 前ページの2つのアルゴリズムは、Adwords に関するもの • Display Ad の場合は、6 章の Free Disposal を使った FKMMP09 (Algorithm 17)が、やはり競合比 1 − 1 e • 予算が無限大(cu → ∞)という条件もついた上で 11/ 30
  • 14. そんなこと言うなよ問題 Open Question 10 small bit assamption 無しで競合比が良い Adwords のアルゴリズム、 free disposal を(あんまり)使わない Display Ad のアルゴリズム、 君も考えてみないかい? Open Question 11 多項式時間云々を考えなければ、最大の競合比はいくつか興味無い? 13/ 30
  • 15. Unknown IIDだったら? Theorem 8.3 やってくるユーザーの分布と枝の重みの分布が分かっている(Unknown IID) だったら、GREEDY アルゴリズムの競合比は 1 − 1 e で、これより良いアルゴリ ズムは存在しない 14/ 30
  • 16. 9.Applications • 9.1 章では、bid-scaling アルゴリズム(small bit assumption を仮定したア ルゴリズム)を実際に運用するときのノウハウを示す • 9.2 章では、実際に運用するときの様々な指標について述べる • 9.3 章では、企業が発表した bid-scaling アルゴリズムについてまとめる • (本日はここまでの予定。秋庭くんに良い所を残してやる親心) • 9.4 章では、ヒューリスティックな方法について述べる • 9.5 章では、Throttling という手法について述べる 15/ 30
  • 17. 9.1 A Unified View: Bid-Scaling Algorithms • 今まで扱ってきたアルゴリズム群を”Bid-Scaling Algorighms” と呼ぼう • 一番大きい重みの枝を選ぶ方法 • その中でも以下のように分類できるよ • それに更にウェイトを付ける方式 • 決定論的:MSVV 等 • ランダム:Perturbed Greedy 等 • 何に対して重みを付けるのか • 予算:MSVV 等 • キャパシティ:FKMMP09 等 • 重みの更新は? • 乱数で:Perturbed Greedy 等 • 指数的に:MSVV 等 • 追加してく:FKMMP09 16/ 30
  • 18. システム負荷的に見て • とは言っても、こいつらは GREEDY と大して違わないよ • GREEDY はメモリ全然要らないよね • 強いて言えば、広告主毎に予算消費を覚えておくぐらい • CPU も全然使わないよね • 各 bid に対して処理するぐらい • CPU 間の通信もほぼ無いよね • 予算を同期するぐらい • だから、凄い使いやすいよね 17/ 30
  • 19. Adversarial最高 • 今までこの論文で取り上げたモデルは、Adversarial なアルゴリズム (GREEDY?)かクエリの分布を仮定したものかに分けられる • 後者は、6.2 章で線形計画法の双対問題を解いたように、仮定したクエリ の分布が変わらずに来るんだったら、最適な方法だよ • だけど、GREEDY の強力な利点: • LP を解くとかやるより、実装超簡単 • 分布を外れたクエリが来ても、最低限の競合比が保証されてる • ま、本当に分布に従ったクエリが来るんなら、後者がいいんだけどね 18/ 30
  • 20. 9.2 Objective Functions Used in Practice • 今まで、「2部グラフの最大マッチで、枝の重みの総和=”efficiency”」と して、これを最大化する目的でやってきた • この “efficiency” を最大化するってことは、広告主にとっての価値を最大 化することに繋がる • しかし、その他の指標も考えてみようじゃないか • ユーザーから見た広告の価値 • “Return on Investment”(ROI) • 広告主にとっての直近の利潤 • 指標を変えることによって、違うやり方が生まれるかもしれないし 19/ 30
  • 21. 3つの指標 • Quality = ∑ i∈I qi/|I|(ユーザーから見た広告の価値) • I はインプレッション • qi はインプレッション i 毎の quality score(例えば、CTRi とか) • (qi が CTR だとすると色々おかしいが・・・) • CTR を予測する機械学習とか、良いんじゃないかな • ROI = ∑ i∈I CTRiCVRiVi ∑ i∈I CTRiCPCi • Vi はコンバージョン当たりの価格 • どれだけお金を掛けたかに対する、どれだけ効果があったか • 分子を利益にするならば、ROI = ∑ i∈I CTRiCVRi(Vi−CPCi) ∑ i∈I CTRiCPCi • Revenue = ∑ i∈I CTRiCPCi 20/ 30
  • 22. で、どうすんのさ • 異なる広告主に対して公平に配信する”fairness” なんて指標も重要だろう • 次の章で企業が発表しているアルゴリズムを紹介するが、 • これらの中には指標として前ページに挙げたものを採用している、ハイ レベルなものもあるよ Open Question 12 こういう(”efficiency” 以外の)指標を導入したら、もしくは複数の指標を考 えたら、online matching problem はどう?そして最適解は見つかる? 21/ 30
  • 23. 9.3 Published Results from the Industry • bid-scaling algorithm の研究は主に Display Ad が対象だよ • Display Ad ってこんな状況だよね • 配信主は、広告主の配信対象となるウェブサイト(リタゲ)・デモグラ・ジ オ等のターゲッティングをする • 広告主に X 回の impression を保証し、Y の報酬をもらう • なので、impression が稼げなかったらヤバイ(補償問題になる) • これは7章での議論に capacity の下限という束縛条件が付くことになる 22/ 30
  • 24. Google の場合 • Adwords Problem: Online Keyword Matching with Budgeted Bidders under Random Permutations を Display Ad に応用した • 5 章で棚橋くんが読み飛ばした箇所にあり • MSVV と似ているが、双対問題を解く上で出てきた argminα {∑ u∈U αuϵBu + ∑ v∈V maxu xuv(1 − αu) } を考え、xuv(1 − αu) を最大にする u に貼る(Bu は u の予算) • (Adwords なのに)Display Ad のように free disposal をする • 1 ∼ ϵm まで適当に張り、ϵm ∼ m まで上記で頑張る • Efficiency は GREEDY より 10%ほど良くなった • fairness という指標も導入した 23/ 30
  • 25. Google の論文 • Online Stochastic Packing applied to Display Ad Allocation • 双対問題を解くところは、そこそこ同じなので省略 • “fairness” について • 広告主の利潤 νu(x) = ∑ v∈V wuvxuv、V (x) = ∑ u∈U νu(x) • offline で全データをマッチングして得られた最適解を x∗ とする • fairness = ∑ u∈U V (x∗) V (x) νu(x) − νu(x∗) • online での解が、offline で得られる最適解(Efficiency 最大)より利潤が少 なくなるのは仕方ないにせよ、各広告主毎に依怙贔屓されてないか • fairness は少ないほど良い • 各広告主毎の最適解の場合の Efficiency と online の場合の Efficiency の割合 が、全ての広告主において一致するならば、fairness は 0 24/ 30
  • 26. Google の論文(Cont.) pd-avg:imp が各広告主で同じになるように、pd-exp:MSVV 的なもの hybrid:1%のデータで双対問題解くが、その β の項を pd-avg で置き換えたもの lp weight:offline でマッチングした場合、fair:offline で fair にしたもの dualbase:本論文の方式 25/ 30
  • 27. Googleの論文(Cont.) 前のページとは違う状況。広告主毎の maximum possible efficiency が右のグラフの白三角で 表され、その順にソートされている。 要するに、広告主がユーザーをかなり食い合う場合か。 この場合 MSVV 的なものがかなり Efficiency 良い(ただし fairness 悪い) 26/ 30
  • 28. Microsoft の場合 • Display Ad の impression 補償(capacity の下限)条件のために、Waterlevel アルゴリズムを導入した • これも 5 章で棚橋くんが読み飛ばした箇所 • Balance アルゴリズムの、各広告主毎に bid 価格が異なる場合のもの • Fast Algorithms for Finding Matchings in Lopsided Bipartite Graphs with Applications to Display Ads • 上記も Microsoft で、劣モジュラな性質を利用して定式化 • これに対し、CTR*CPC を最大化する双対問題を解く • Waterlevel よりも向上した 27/ 30
  • 29. Microsoft の論文 • Real-Time Bidding Algorithms for Performance-Based Display Ad Allocation • すでに解説が SlideShare に上がってた • CyberAgent の Tatsuki Sugio さんの SlideShare • RTB でのユーザーの bid 価格に対して、今までの CTR や予算(impression 補償)から適正価格になるような補正項 α を双対問題を解いて出す • 補正項で補正した bid 価格に対して、GREEDY に imp する広告を決める • α は随時アップデートかけていく 28/ 30
  • 30. Yahoo! の場合 • Optimal Online Assignment with Forecasts • 基本的には 6 章の双対問題をベースとしているが、特徴が3点 • 評価関数を2階微分可能な凸関数であるとし、(2階微分は 0 だけど) • その Lagrangian からラグランシュの未定乗数法を用いて最適解をだして いる • その KKT 条件と、双対問題(とそこに出てくるスラック変数)との関係を 定義している(ラグランジュ緩和した双対問題) • どっちかというと、6 章の元になっているのがこの論文じゃないの? • free disposal (サンプリング)する個数を、双対問題の条件から影響を見積 もって出している • 元論文のここ、難しくて追えなかったです・・・ 29/ 30