$30 off During Our Annual Pro Sale. View Details »

バンディットと因果推論

 バンディットと因果推論

バンディットアルゴリズムを用いて意思決定の自動化を行う事は近年様々なビジネスで適応されるようになってきました。 しかし、バンディットアルゴリズムから生まれたログデータがどのような性質を持ち、どのような分析を行う事が出来るのかはあまり知られていません。この発表ではバンディットアルゴリズムのログデータを利用したPolicyの学習や因果推論への応用などについて解説します。

Shota Yasui

July 10, 2019
Tweet

More Decks by Shota Yasui

Other Decks in Research

Transcript

  1. バンディットと

    因果推論

    Shota Yasui

    @CFML勉強会 #1


    View Slide

  2. 自己紹介

    名前:安井翔太(31)
    職業:Economic Research Scientist
    経歴:
    2011年 立教大学 経済学部卒業
    2013年 Norwegian School of Economics MSc in Economics
    2013年 Cyberagent 入社(総合職, 微妙な分析の量産)
    2015年 アドテク部門へ異動(専門職, MLの応用)
    2017年 AILabへ異動(研究職, ML + CI回りの応用)
    2
    @housecat442


    View Slide

  3. 今日の前談

    そもそものバンディットの話

    3

    View Slide

  4. 考えるお題

    あるユーザーに対してどちらの広告テンプレートを見せるべきか?


    4
    slot_1 slot_2 slot_3
    slot_1
    slot
    _2
    template_id: 26 template_id: 75

    View Slide

  5. Adaptiveな実験としてのバンディット

    あるユーザーに対してどちらの広告テンプレートを見せるべきか?

    →クリックがより起きそうな方を都度選ぶべき

    (クリックを増やしたいなら

    5
    slot_1 slot_2 slot_3
    slot_1
    slot
    _2
    template_id: 26 template_id: 75

    View Slide

  6. Thompson Sampling MAB

    6
    model for 26
    model for 75
    ベータ分布

    α:5

    β:35

    ベータ分布

    α:3

    β:12

    0.2
    0.4
    sampling

    sampling

    arg
    max slot_1
    slot
    _2
    template_id: 75
    clickされたらα=α+1 

    clickされなければβ=β+1 

    と更新する


    View Slide

  7. Adaptiveな実験としてのバンディット

    あるユーザーに対してどちらの広告テンプレートを見せるべきか?

    →クリックがより起きそうな方を選ぶべき(クリックを増やしたいなら

    →機械学習で予測して、予測値が大き方を選べば良いのでは?

    7
    slot_1 slot_2 slot_3
    slot_1
    slot
    _2
    template_id: 26 template_id: 75

    View Slide

  8. Thompson Sampling Contextual Bandit

    8
    model for 26
    model for 75
    特徴量xから予測する(ex. logistic regression

    y = f(x)

    特徴量xから予測する

    y = g(x)

    0.2
    0.4
    sampling

    sampling

    arg
    max slot_1
    slot
    _2
    template_id: 75
    yを観測したらgを更新

    都度更新ではなく1日1回のケースも

    男性には26だけど女性には75が良いといった傾向が汲み取れる


    View Slide

  9. Thompson Sampling Contextual Bandit

    9
    model for 26
    model for 75
    特徴量xから予測する

    y = f(x)

    特徴量xから予測する

    y = g(x)

    0.2
    0.4
    sampling

    sampling

    arg
    max slot_1
    slot
    _2
    template_id: 75
    yを観測したらgを更新

    都度更新ではなく1日1回のケースも

    Policy

    男性には26だけど女性には75が良いといった傾向が汲み取れる


    View Slide

  10. 今日の前談

    バンディット=累積因果効果最大化

    10

    View Slide

  11. 商品レコメンドを考える

    11
    ● 3つの商品しかないサイトとする 

    ● 3つの商品のどれかを推す 

    ● 報酬は売り上げで何が買われても良い 


    View Slide

  12. 累積の因果効果を最大にする

    選択肢aの効果を以下のように考える

    aが選ばれた時の

    aの売上

    aが選ばれない時の

    aの売上

    aが選ばれた時の

    報酬

    選択肢aを選ぶときの報酬は以下のようになる

    ※ 行動した後の売上を全て報酬とする

    ※ aを選択した場合にはb,cには影響がないとする

    12

    View Slide

  13. 報酬最大化

    以下のような報酬を推定して比較する

    13

    View Slide

  14. 報酬最大化

    Rを推定して比較するのは、因果効果を比較するのと同じ。

    14
    Contextual BanditではITEの比較と同じ。 


    View Slide

  15. バンディットがそもそも面白い点

    ● 意思決定までを意識した機械学習の応用

    ○ 予測がゴールでは無い

    ○ 意思決定して報酬がもらえてなんぼ

    ● それ自体で因果効果を大きくする

    ○ RCTの拡張

    ○ 因果推論→意思決定 の流れを自動化している

    ● ログデータを実験データとして捉えられる

    ○ 今日のお話

    15

    View Slide

  16. 本題その1

    Off-Policy Evaluation, OPE


    16

    View Slide

  17. ここでの前提

    ● Batched Contextual Bandit

    ○ Policyの学習はバッチで行われる

    ○ 数時間/1日ごとに学習が行われる


    ● Policyの意思決定は確率的

    ○ Thompson Sampling

    ○ Epsilon-Greedy

    ○ etc...

    17
    この辺の仮定は研究が進めばいらなくなりそう 


    View Slide

  18. AD Template Selection

    18
    x
    candidates
    a,b,c,d
    b Y
    ● ユーザーに対して見せる広告を決定する
    ● ユーザーの情報Xを得て、選択肢{a,b,c,d}に対してCTRの予測を行う。
    ● 予測値が最大の選択肢を選ぶ (上の例ではb)
    ● Clickを観測する(Y)
    Predict + decision
    (Contextual Bandit)
    slot
    _1
    slot
    _2
    slot
    _3
    slot_1 slot
    _2

    View Slide

  19. model update

    19
    x
    candidates
    A = {a,b,c,d}
    b Y_b
    Predict + decision
    dataset
    X, A, Y
    x
    candidates
    A = {a,b,c,d}
    b Y_b
    Predict + decision
    モデルの学習と更新
    1日この仕組みを回す
    更新したモデルで回す
    データの蓄積
    new system
    c Y_c
    ex)線形回帰→DNN
    counterfactual!

    View Slide

  20. Research Question

    How to compare two AI systems?

    20

    View Slide

  21. Golden Standard Research Design

    21

    View Slide

  22. RCT(ABテスト)はコストが高い

    ● Policyの実装はそもそも大変

    ● 微妙なPolicyを投入するリスク

    ● 試せるアイデアの数に限界がある

    = なるべくABせずに検証したい

    22

    View Slide

  23. 評価データの特徴

    23
    X Y
    X1 1 a b
    X2 1 c c
    X3 0 b b
    X4 1 a a
    X5 1 b c
    ● 得られているデータは 

    ○ X:特徴量

    ○ Y:報酬(click)

    ○ A:選択された腕

    ○ A以外の腕を選んだ時のYは未知 


    ● 新規のPolicyを走らせる 

    ○ Xを入力するとA’が得られる 

    ○ A’ = AならYがわかる

    ○ それ以外ではYは欠損 


    View Slide

  24. ここでやりたいこと

    24
    X Y
    X1 1 a b
    X2 1 c c
    X3 0 b b
    X4 1 a a
    X5 1 b c
    ● 全データでYを観測した時の評価をしたい 



    ● 実際にYを観測できるのは A’=Aの時のみ



    ● 得られたデータから全体をどう推測するか? 

    ○ Importance Sampling 

    ○ Propensity Score

    A’=Aなら1になる

    View Slide

  25. Inverse Propensity Score, IPS

    ←本当に欲しい評価 

    ←Unbiasdnessをもつ 

    既存のPolicyにおいて

    aが選ばれる確率で割る

    評価の算出を行う時に傾向スコアの逆数で重みをつければ良い 

    25

    View Slide

  26. 26
    傾向スコア = 既存のPolicyが選ぶ確率

    x
    candidates
    a,b,c,d
    {a = 0.2, b = 0.3, c = 0.1, d = 0.4}

    Thompson Sampling/ Epsilon Greedy 

    ではここの確率は決まっている。 

    X, Aのデータから確率予測を行う
    →傾向スコア / Importance Weight
    シミュレーションでEmpiricalな確率を得る
    →いわゆる真の傾向スコア

    View Slide

  27. どっちでやる?

    真の傾向スコアを使うケース 

    ● 文脈付きバンディットでは面倒 

    ● ログの設計も面倒

    ● 計算量多いけど分析者が考える事が少ない 

    ○ BQ+JavaScriptで出来る 

    傾向スコアを推定するケース

    ● 選択肢が増減すると使えない 

    ● チューニングが面倒 

    ● 分散は小さくなる

    27
    Narita, Yusuke, Shota Yasui, and Kohei Yata.
    "Efficient Counterfactual Learning from Bandit Feedback." AAAI 2019.

    View Slide

  28. 因果推論とオフライン評価

    X Y_A
    X1 1 a c
    X2 1 c c
    X3 0 b c
    X4 1 c c
    X5 1 b c
    ● 常にcを選ぶPolicyを評価する
    ○ cが選ばれた部分から全体の期待値を考える
    ○ 別の選択肢の結果との差分は ATE
    ● 因果推論のIPW(Holvitz Thompson Estimator)は
    オフライン評価のIPSの特殊な形?
    28

    View Slide

  29. 余談

    29
    Doubly Robust Estimator


    View Slide

  30. Doubly Robustも使われる

    30
    何かしらのモデルでの報酬予測 
 モデルの誤差

    ● 傾向スコアと予測モデルを使ったアプローチ 

    ● 報酬予測/傾向スコア どちらかがあっていれば良いという評価方法 

    Dudík, Miroslav, et al. "Doubly robust policy evaluation and optimization."
    Statistical Science 29.4 (2014): 485-511.

    View Slide

  31. More Robust Doubly Robust, MRDR

    ● Yをどの様なモデルで学習するか?

    ● Doubly Robustの分散が最小になる様に学習する

    31
    Farajtabar, Mehrdad, Yinlam Chow, and Mohammad Ghavamzadeh.
    "More Robust Doubly Robust Off-policy Evaluation." International Conference on Machine Learning. 2018.
    分散の制御可能な部分 


    View Slide

  32. 本題その2

    バンディットの事後的な分析を考える

    32

    View Slide

  33. Unconfoundedness / CIAが成立する

    ● 確率的に腕を選択しているので・・・

    ○ Xの値が固定されている時

    ○ Potential Outcomeと腕の選択は独立


    ● XはPolicyで使われている特徴量なので既知

    ○ 因果推論ではどの変数を使うか悩むケースが多い

    ○ ここではバンディットで使うものを使えば良い

    腕の選択

    33

    View Slide

  34. 後から因果推論を使う意味はあるのか?

    ● そもそもバンディットはTreatment Effectを最大化する

    ● 文脈付きは特徴量 x を加味してこれを行う

    ● 今更 因果推論する意味とは・・・?

    34

    View Slide

  35. 意味はきっとある

    ● バンディットでも説明責任がある場合

    ○ どんな時にどんな選択肢が優れているのか?(ITE/HTE)


    ● 報酬以外のKPIへの因果効果を考える場合

    ○ 売上は増えたけど、ユーザー体験は?


    ● 他にも多分あるはず

    ○ 実際まだよくわかってない

    ○ 是非みなさんと議論したい

    35

    View Slide

  36. 模索しながらCAでやっている事

    ● Off-Policy Evaluation

    ○ アドテクにおけるBandit Algorithm by Fujita Komei

    ○ Efficient Counterfactual Learning from Bandit Feedback

    (AAAI2019) with Yusuke Narita, Kohei Yata


    ● 選択肢のATE/HTEの推定

    ○ Bandit with Causality by Shota Yasui

    36

    View Slide

  37. さいごに

    37

    View Slide

  38. 理想的にはこんな感じにしたい

    Policy
    log
    state

    action

    off-policy

    evaluation

    Interpretation

    Incentive Design

    Causal Inference

    報酬を最大化する

    MLエンジニアなみなさん

    事後的な分析に従事する

    データアナリスト/社会科学なみなさん

    reward

    38

    View Slide

  39. しかし、悲しい現実

    39

    View Slide

  40. 悲しい現実2

    40

    View Slide

  41. 確率的に意思決定にしよう!

    ● 確率的にすれば色々始まる

    ○ Off-Policy Evaluation/learning

    ○ ATE/HTE推定等の因果推論


    ● 事後分析以外のメリットもちらほら

    ○ feedback loop

    41

    View Slide

  42. 参考資料

    42
    ● SIGIR 2016 Tutorial: Counterfactual Evaluation and Learning

    ● Cornell University CS7792: Counterfactual Machine Learning

    ● KDD 2018 Tutorial: Real World Interactive Learning


    View Slide