はじめに
以下の論文が気になったので、ざっと読んでみたのでまとめます。
概要
- 複数の個別処置効果HTEを推定し施策の最適化を行いたいが、用いられるモデルはブラックボックスになることが多い
- 複数のHTEモデルを一つのマルチタスク決定木に蒸留することで、解釈可能な個別施策を推定する
- サンプルデータセットとMetaのサービスにおけるUI改善で有効性を確認
Interpretable Personalized Experimentation
イントロ
各個人に最適な治療/施策を提供することを目的としたアプローチが増加している。
パーソナライゼーションに使用される現在の最先端のHTEモデルは、gradient boosted treeやニューラルネットワークなどのブラックボックスモデルが中心である。
説明可能な施策をパーソナライズできるHTEモデルの作成を目指す
問題点
作成したシステム
システムは、HTEモデル解釈ステージと解釈可能なポリシー生成ステージに分けられる
解釈可能なHTEモデルの作成は、ブラックボックスHTEモデルがどのようにパーソナライゼーション(各ユーザーにどの治療グループを割り当てるかを決定すること)を行っているかを製品チームが理解するのを助ける役割を担っている。
私たちの解釈可能なポリシー生成アプローチは、パーソナライゼーションから得られる潜在的な利益を得るために、異なる治療グループを推奨する個人のセグメントを生成します。
その後、製品チームは、ブラックボックスポリシー(ブラックボックスHTEモデルによって暗示される)または我々の手法によって生成された解釈可能なポリシーのどちらを展開するかを選択することができます。
モデル解釈法を検討する場合の考慮事項
- HTEモデルは頻繁に更新され、再トレーニングされる可能性があるため、様々なタイプのHTEモデルに適用できる包括的なメソッドであること
- 複数の治療グループと複数の結果を扱えるものでなければならない
- 出力結果はエンジニア、データサイエンティスト、プロダクトマネージャが理解できるようなものでなければならない
手法
マルチタスク決定木(MTDT)
アウトカムを予測する複数のHTEモデルの出力を用い、単一のスカラー損失関数に結合することによって得られる(シングルタスク決定木の拡張版)
MTDTでは、各ノードで複数のアウトカムにおける因果効果が出力される
解釈可能な最終的な出力として、各ノード(セグメント)ごとの推定因果効果を棒グラフで表現する
目的関数の設計
HTEモデルに依存しない方法でMTDTモデルを学習するために、HTEモデルを教師、MTDTモデルを生徒として、モデル蒸留を行う。 この時の最適化基準は以下のようになっている。
ここでは対象の特徴量を入力で得られたアウトカムのMTDTの出力、はベースのHTEモデルの予測値である。
また、はアウトカムが全体の損失にどれだけ寄与するかを表現する重みであり、基準は各施策の損失の重みつき和になる。
この基準を用いHTEモデルの予測値に近づくようにMTDTを学習することで蒸留を行う。
ロバスト性の向上のために以下のことを行なっている。
- 該当データが不均衡なノードを刈り込み
- 各ノード内の治療効果について信頼区間を提供
- Honesty criterion : ツリーの分割作成と効果量の推定には異なるデータで行う
ポリシー生成
例えば、下図の棒グラフから導かれる方針は次のようになる。
治療A対コントロールに対する治療効果の予測が負である赤色のセグメントについては、コントロールに割り当てる。緑色のセグメントには、治療Aを割り当てる。
複数の治療がポジティブな効果があった場合は、重みを利用した治療のトレードオフや多目的最適化を行う。
なお、重みはMTDTを学習した時のもとを用いるか、利用者の製品チーム(モデル利用担当)が決定する。
説明可能なポリシー生成
説明性のある施策を得る時の考慮事項
- 複数の施策やアウトカムを一つの決定木で管理することができ、運用管理が行いやすくなる
- 高速でチューニングが行いやすい
- 数百万のレコードと数百の特徴を持つ大規模なデータセットを扱える
この考慮事項を満たす方法を複数提案している。
(1) 最適木探索手法を貪欲なヒューリスティックで近似する手法(GreedyTreeSearch-HTE)
- 最大深さ固定
- 親よりもアウトカムが改善する限り幅優先で分割していく
(2) ブラックボックスHTEモデルを蒸留法で近似する手法(Distill-Policy)
- 推定したHTEが最も良い施策(教師データ)を割り当て、それを予測するように決定木の蒸留する
(3) データから直接ポリシーを学習する手法(NoHTE)
個人レベルを予測する正確な HTE モデルの学習ができない場合に有効であり、2種類が提案されている
greedy implementation:親よりもアウトカムが改善する限り幅優先で分割していく
iterative implementation:何度か分割を繰り返し最も治療効果が大きいセグメント/ノードを取り出す. これを繰り返し治療効果の高いノード(に該当する対象データ)を取り出すことを繰り返す
(4) 複数のポリシーを解釈可能なままアンサンブルする手法(GUIDE)
上記のようなモデルでは、異なるポリシーでは異なる強さ(?)を示す可能性があり、単に木を複雑にするだけでは、政策が改善されるとは限らない。
これを回避するためにアンサンブル手法を提案
GUIDE-OPE:以下の図のように、特定属性の状態で別のポリシーを割り当てる
- GUIDE-ExploreExploit:個々の解釈可能なポリシーを"腕"として扱い、contextual banditsと同様に最適なポリシーを選択する別のポリシーを学習
公開データによる結果比較
比較モデル
- Distill-HTE 法:HTEモデルにはT-learner with GBDTを利用
- T-learner:GBDTとDT / ブラックボックスモデルに該当
- Virtual Twins :
- R2P:セグメント内分散とセグメント間分散を考慮した推定を行う
利用データ
- COVIDデータセット
- Synthetic A
評価方法
仮説
- segment内ではPEHEの分散は小さい
- segment間ではPEHEの分散は大きい
結果
- 制約が少ないGBDT T-Learnerが最も推定精度は良い
- セグメント内/間の分散に関しては直接最適化しているR2Pが最も良いが精度は悪い
- T-LearnerDTよりDistill-HTEの方が精度良く蒸留の効果がある(?)
METAのサービスでの利用
適用例1
UXデザインにおける施策において適用を行っている。
検討したのは2つのUXデザインのどちらを適用するか。
処置1:特定のコホートでゴール指標を増加させ、ガードレールメトリックは中立のまま
処置2:ゴールメトリックを大幅に増加させるが、ガードレールメトリックを著しく減少させる
X-learnerをベースに提案した手法で、説明可能な施策推定を行なった。
結果として、同様のメディアコンテンツをほとんど見たり関わったりしない個人には処置1を、同様のコンテンツを消費した履歴のある個人は処置2を受けるべきであることが示された。
OPEの結果をみると改善幅は小さいが、わずかな改善でも実用的であるため提案手法を採用した。
適用例2
Metaのアカウントログインフローの問題に対して、提案HTEモデル手法の適用を検討。
通知をクリックしても自動的にアカウントにログインされない場合、3つの体験のうち1つに誘導される可能性があります。
(1) 従来のログイン画面
(2) メールやテキストメッセージでコードを送信してユーザーを認証するワンクリックログインフロー
(3) ワンクリックログインか二次認証フローかをユーザーが選択できるようにする二次ログイン画面
製品チームとしては、ガードレールの指標を中立に保ちつつ、ログインの成功率を高めたい
Distill-HTE メソッドを使用して、ユーザーベースに存在する異質性を検討
- 従来のログイン画面を好むユーザー
- 主にウェブブラウザサイトで活動するユーザー
- ワンクリックログインフローを好むユーザー
- アプリを利用するユーザー
- 二次ログイン画面を好むユーザー
- 最近パスワードに失敗した人、所有していないデバイスを使用している人
- 最近パスワードに失敗した人、所有していない端末を使用している人
- 最近ログインしていない人
- 端末を共有している場合
実験中に特徴量が正しく記録されていない問題があることが判明しまし、適切な特徴量を設計する必要がある。
感想
決定木の蒸留という方法やマルチタスク決定木という考え方があることを知れたことは大きい
決定木が効果的に利用されており、活用しやすい