チュートリアル: Recommendations in a Marketplace
本会議は昨日で終わり。 9/19 からの二日間は部屋に別れて チュートリアルやワークショップが行われた。 この Marketplace のチュートリアルのみ参加。
チュートリアルは、サーベイ論文みたいな位置付け。 この分野の対象、問題、それをとく様々な手法などをまとめて伝えてくれるもの。ハンズオンとかはない。ワークショップとの違いはわからない。
参加者はindustrial が7割、3割くらいの人がいま実際にMarketplace のRecSys に携わってる。ということで、スピーカーがびびってた(.. 学生が少なく、ガチ勢ばかりなので)
https://recsys.acm.org/recsys19/tutorials/#content-tab-1-4-tab Material: https://rishabhmehrotra.github.io/recs-in-marketplace/
全体的に課題や姿勢には共感しかなく、2. の最適化あたりまでとても楽しめた。近道はないんだなーと思いました。 あと、オフライン検証って実際のところどうやるのよ、というのは気になっていたので、4. もpracticalで参考になった(というかなりそう。理解が追いついていない)
Bandit がメインでMethodology など途中で気を失ってしまったので、資料公開されたら読み返したい。
1. Introduction
Traditional RecSys Approaches CF -> TF Latent variable models Neural Embeddings -> NCF Variants ( short vs long , cold start & cohort based, multi-view & multi-interest , multi-task ) いっぱいあるけど、共通なのは UserCentric (model / evaluation for user satisfaction) 十分にユーザのことケアしてる? multiple stakeholders → ユーザだけみてちゃだめ Marketplace : 複数のエージェントによる経済的相互作用 marketplace is everywhere modern marketplace : udemy/indeed/aibnb/amazon/uber いーーぱいある marketplaces の進化:walmart->amazon->uber ->... Marketplace の例 participants (b2bとかC2C とか) / horizontal vs vertical / Offerings (情報、もの、サービス、お金..)/ 機能(中央集権 vs 分散) / 管理形態(無法, ちょっと管理, 超管理)/ 1回か繰り返しか Marketplace の成功 ~ 消費者と供給者のマッチング User centric の推薦だとstakeholderのニーズを満たせない → strategy を変えないといけない Marketplace powered Recommendations Stakeholders & Objectives / Methods for Multi-Objective Recommendation / Experimentation & Evaluation
2. Optimization Objectives in a Marketplace
Stakeholders + Objectives UberEats Eaters / Restaurant-partners/Delivery-partners (Q プラットフォームもステークホルダーじゃない?A. YES!) 需要と供給をみたすよう全てがアクティブじゃないと市場が衰退しちゃう 目的:eater CVR / diversity/ レストランの露出 / デリバリーパートナーの収入 / ピックアップとデリバリーの時間... いーーっぱいある On-Demand Delivery Solutions Etsy : Buyers / Sellers / Platform (しらん AirBnb Hosts/Guests Spotify : Artists / Fans 、レーベルもある P2P Lending : Funding Circle : お金の貸し借り Crowdfunding : Fancy tech vs health vs art / Time sensitivity クラウドファンディングと一括りにしても時間とか額とかばらんばらん Families of Objectives User Centric / Supplier Centric / Content aspects / Business centric いっぱいあるのをどうバランスとったらいいの? 目的どうしの関係 : 相関ある、ニュートラル、逆相関 残念ながら 逆相関がほとんどだったりする この場合、、どうする? 例えば、airbnb で new hits にoptimize したら、どっちもLift した! " What a system optimizes is very very important." Q : long term のdiversity をどうおもう ? 違うカテゴリの音楽を聞かせたらその人が好きになってくれる、とか A: Netflix にいたときのテーマだった! platform にとって、short term ではCVさがるかもだけど、long term ではinsentive になるはず。だけど、測定するのは難しいよね QA : ホームページはPFがコントロールできる余地が多いが検索はそんなにない(だってクエリにマッチしないとだめだから)。だからステークホルダーの目的だけじゃなくて、パーソナライズもPF の制約もある。
3. Methods for Multi-Objective Ranking & Recommendations
パレート最適化 他人がわるくなるような改善はしない "allocated in most economically efficient manner" パレート フロンティア : パレート効率性をみたすもの Multi-Objective Methods Balancing Two Objectives ( 例えば relevance と fairness) relevance / fairness / probabilistic policy / trade-off relevance & fairness <- これに注目! Scalarization : aggregation 関数, non-decreasing / optimized sum / weighted sum / min max/ weighted Cyebyshev norm / ordered ... とかいろいろあるよ Multi-Task Learning 共通のパラメータ → タスクSpecific なLayer で推定 → 線形結合 Soft parameter training (共通のパラメータのshare のしかたがちょっとちがう Sluice network : AAAI 2019 - Latent muti-task architecture learning ( ごちゃごちゃのやつ、きた いろんなやり方がある Cross-Stitch Network / Joint Many-Task Model / Weighting losses with uncertainty (2018 CVPR のPaper) / Hierarchical Multi-task Learning ( Layer の中間でmulti-task を反映させてる Multi-Task Learning as Multi-Objective Optimization balancing the losses → Karush-Kuhn-Tucker conditions をつかうのだ NeurIPS 2018 の論文 multi-objective でのパフォーマンスを可視化するのに、雲の図 Multi-objective Contextual Bandits MA bandits : how to choose a policy to minimize regret? Contextual bandits : context を観察、それにあわせて次を選ぶ Multi-object にするにはどしたら? ステークホルダーいっぱい → Generalized Gini Index ( ジニ) Proposed: MO Contextual Bandits via GGI strategy を知りたい! ( バンティットとか... 無理... 式は簡単なんだけど 論文でよくみるしきー Multi-Objective RL 2つの戦略: Scalarized approach/ Pareto approach いろんなやりかたがあるんだよ(それをまとめたサーベイ論文があるんだよ) Pareto Following Algorithm : 1. 1つのobjective からスタート 2. Exploration (Improve -> Correct) Dynamic Weight in Deep RL : outputs coniditioned on relative importance of objectives(w) <- Q-networkのoutput → Weights change across states → Hot-start learning Resources : あとで共有される資料をみてね Application Recommendation with Capacity Constraints : 在庫ぎれにならないように推薦するのだ! LinkedIn : Email Volume Optimization : メール送信数をしぼって成果をあげるのだ! 他にもいっぱいあるよʕ´•ᴥ•`ʔ
4. Experimentation & Evaluation
スピーカー交代 A/B Testing control vs variation : random assignment is very important! A/A Testing : metrics のvariance がおおきかったら?ほんとにrandomized でちゃんとできるの? Metrics : シンプソンのパラドックスに注意 Significance Testing : Null hypothesis significance testing : 帰無仮説、それほんとに意味あるの?? 他にも、A/B テスト大事だけど、結構難しいよ Contextual Bandits Contextual Bandits にはアクションを選ぶステップがある Natural Experiments User "Uncertainty" : ユーザとかアイテムのスコアって結構動くよね Opportunity from Uncertainity : Offline evaluation バンディットのオフライン評価(ログとかから仮説を確かめる)方法を具体的に説明 Counterfactual analysis : 安全な方法だけど、exploration data を使うことができない : でも強力なツール Key concepts : counterfactual analysis をどうやるか、の図。仮説検証だよ Estimating reward : Idea: " hallucinate " outcome of h by replicating impressions from π → reward を比較する(全然わからん... Estimating reward in context : さらにこれにContext をいれて検証する 最後、IPS をみて、仮説が正しいかどうかみる
まとめ
訳してない
Summary 1. Important to consider objectives& metrics from different stake holders 2. Different ML methods for multi-stakeholder modeling 3. Need for multi-sided evaluation Take-aways * Trading off{ Relevance <- SAT -> Fairness} is better than blindly optimizing for relevance * Optimizing for multiple interaction metrics performs better for each metric than directly optimizing that metric * Not Necessarily a Zero -Sum Game. perhaps we "can" get tains in business objectives without loss in user centric objectives