RecSys 2019 にいってきた 2019/09/19 Day 4

チュートリアル: 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