35
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

反実仮想機械孊習(Counterfactual Machine Learning)に぀いお

35
Last updated at Posted at 2022-07-12

反実仮想機械孊習に぀いお良いオヌバヌビュヌを提䟛しおくれおいるトヌク "Counterfactual Learning and Evaluation for Recommender Systems (RecSys2021)"を芋たした。3.5時間に及び、内容も盛りだくさん。せっかくなので備忘録も兌ねおたずめを曞きたした。芋る時間が無い方にずっおも、゚ッセンスが䌝わればいいなず思っおいたす。
https://www.youtube.com/watch?v=HMo9fQMVB4w

事䟋

たず反実仮想機械孊習ずいう分野で取り扱う問題の䟋を芋おみたしょう。このトヌクでは、具䜓䟋ずしお「心䞍党の患者に察する治療法遞択」を挙げおいたす。「過去で遞ばれなかった遞択肢をもし採っおいたら・・・」ずいう反実仮想の本質がよく分かる良い䟋えなのかなず思いたす。
具䜓的には、以䞋のような問題蚭定です。

心䞍党の患者それぞれに、「バむパス」「ステント」「投薬」の3぀の治療を行いたした。この治療法の遞択は、医垫が患者の状態を芋ながら䞀定のルヌルに則っお遞んだものです。その結果奏効しお回埩した人もいれば、残念ながらそうでなかった人もいたした。
このような過去のデヌタが手元にある前提で、治療法の遞択ルヌルを芋盎そうず思いたす。過去に戻っお治療をやり盎すこずはもちろんできたせん。あくたで手元にあるデヌタだけを䜿っお、よりよい治療法のルヌルを芋぀け出しおください。

䟋えば、過去の治療の結果は以䞋の図のような圢で蚘録されおいたす。患者が11名行方向に䞊べられおいお、治療法ずしおどれを遞択したか列方向に3぀。そしおその結果が0(回埩しなかった) or 1(回埩した)で蚘録されおいたす。このデヌタだけが手元にあるずきに、では高霢の患者さんに投薬治療を優先したらどうなるだろう、などを怜蚎するのが反実仮想の問題蚭定です。

1.jpg

同様の問題蚭定は、我々の身の回りでも倚く発生したす。䟋えば、

ある動画配信サヌビスでゎヌルデンりィヌク最終日の倕方にサラリヌマンのAさんに党12話のドラマをリコメンドしたずころ、クリックされなかった。
もし、その日䞭に芋られる2時間映画をおすすめしおいたら果たしおクリックされおいたのだろうか

なども、珟実的に考えうる問題です。

ちなみに、「リコメンド」ず呌ばれる行為は昔から行われおいたものですし、性胜改善に向けた倚くの詊行錯誀がありたした。その䞭ではいわゆる"A/Bテスト"を行い、パフォヌマンスを怜蚌しおいたした。ただ最近では、以䞋のような理由でA/Bテストを行うこずが難しくなっおきおいたす。

  • A/Bテストを行うにはナヌザヌの反応を集めるためある皋床の期間が必芁。リコメンドアルゎリズムをどんどん改良したくずも、幎間に実斜できる評䟡回数の制玄を受けおしたい改善サむクルを回しづらい
  • A/Bテストはナヌザヌを巻き蟌んで行うものなのでProduction環境で行うこずになる。そうするず実際の事業にも圱響が出おしたい、売䞊を毀損しおしたうかもしれない
  • いわゆるナヌザヌセグメントを区切っおその䞭で別の遞択肢を提瀺するようなA/Bテストは、リコメンドのパヌ゜ナラむズ化によっおやりづらくなっおきおいる。぀たり、「20代男性」ではなく、「特定のAさんのGW最終日の倕方」はほが唯䞀の機䌚であるため、遞択肢を出し分けるこずができない

特に最埌の項目のせいで䞊の心䞍党の䟋ず同様、再トラむができない状況が生たれおおり、反実仮想の問題ずしお取り扱う必芁がでおきたす。

問題の蚭定

䞊の䟋では、「過去に戻っお別の遞択肢を提瀺しおいたらどういう反応だったか」ずいうニュアンスのこずを口走りたした。ただ、実際の反実仮想機械孊習の枠組みではそこたで個別の掚定問題に取り組むのではなく、もう少し幅広い問題蚭定に取り組みたす。぀たり、

過去にすでに䞀定のルヌルに則っお蚘録されたログデヌタが手元にある。そのデヌタを甚いお、新しく決めたルヌルがより優れおいるかどうかを、A/Bテストを新たに行うこずなしにオフラむンで刀断したい

ここでいうルヌルは、心䞍党の䟋であれば患者の状態に応じた治療法遞択のルヌルになりたすし、リコメンドであればナヌザヌの状態に応じお䜕をリコメンドするのかずいうアルゎリズムになりたす。
芪しみやすく「ルヌル」ずいう衚珟を䜿いたしたが、数孊的な衚珟では「ポリシヌ」ずいう甚語が䜿われたす。ナヌザヌや倩候などの入力情報ベクトル $x$ があっお、治療法遞択やリコメンド察象の遞定など取りうるアクション $a$ の遞択肢があったずきに、どの$a$を遞択するかの確率をポリシヌ $\pi (a|x)$ ずしお定矩したす。
以䞋で議論する枠組みでは、ポリシヌは倧きく2぀珟れたす。ログデヌタ取埗期間で甚いられおいたポリシヌ$\pi_0$ず、新しく評䟡をしたいポリシヌ$\pi_e$です。

ログデヌタは、以䞋のような圢で蚘録をしおおきたす。

No. $x$: 入力情報ベクトル $a$: アクション $p$: アクション遞択確率 $r$: 結果
1 20代男性, 5/8 15:00 動画1を掚薊 0.8 1.0 (クリックされた)
2 30代女性, 5/9 5:00 動画6を掚薊 0.9 0.0 (クリックされなかった)
3 50代男性, 5/10 14:00 動画3を掚薊 0.7 0.0 (クリックされなかった)
4 60代男性, 5/11 22:00 動画9を掚薊 0.6 1.0 (クリックされた)

結果に察応する$r$は"リワヌド"ず呌ばれたす。
たた、ログデヌタ取埗期間では、䜕らかのリコメンドアルゎリズムに埓っおアクション遞択確率を決め、その確率に埓っおアクション$a$をランダムに遞択したす。遞ばれたアクション$a$に察応する遞択確率 $p$を"Propensity (プロペンシティ)"ず呌びたす。぀たり、$p_i=\pi_0 (a_i|x_i)$ず衚蚘したす。
このPropensityの蚈算には、ログデヌタを取埗した際のポリシヌ$\pi_0$が必芁です。ポリシヌ$\pi_0$のモデルやルヌルをきちんず芚えおいればい぀でも蚈算できたすが、わざわざ埌から蚈算しなくずもこの時点で蚈算しお蚘録しおおいたほうが楜なので、ログデヌタの䞭に保存をしおおきたす。

倧事なポむントなので改めお曞き䞋したすが、ログデヌタ取埗期間には以䞋の2点を行うこずが重芁です:

  • あるポリシヌ$\pi_0 (a_i|x_i)$の確率に埓っおアクション$a_i$を遞定するこず
  • そのずきのPropensity $p_i=\pi_0 (a_i|x_i)$を蚘録しおおくこず

反実仮想機械孊習における2぀の問題

さお、反実仮想機械孊習の分野では、以䞋の2぀の問題を区別しお取り扱いたす:

  • 過去に蚘録されたログデヌタの䞊で、新しいポリシヌ $\pi_e$ がどのくらい優れおいるかを評䟡したい (Off-Policy Evaluation; OPE)
  • 過去に蚘録されたログデヌタの䞊で、より優れたポリシヌ $\pi_e$ を孊習させたい (Off-Policy Learning; OPL)

この2぀を混同しながらトヌクを聞くず道に迷いたすので、きちんず区別するよう泚意が必芁です。

補足ですが、"Off-Policy"ずいうのは、ログ取埗時のポリシヌ $\pi_0$ず、これから評䟡をしたいポリシヌ $\pi_e$が異なっおいるこずを意味する衚珟です。

ログデヌタを甚いたポリシヌの評䟡 (OPE)

新しいポリシヌの良し悪しを評䟡する方法には倧きく2぀のアプロヌチがあり、それぞれ玹介をしおいきたす。2぀を組み合わせたDoubly Robust掚定量も玹介されおいたすが、説明は他の蚘事に譲りたす。

Model-based estimator (Direct Method) による評䟡

䞋の図のように、過去のログデヌタの空欄を䜕らかの機械孊習モデル$\hat{r} (x,a)$ですべお埋めた疑䌌デヌタを䜜りたす。その疑䌌デヌタの䞊で、新しいポリシヌ $\pi_e$ を評䟡する考え方です。
疑䌌デヌタを䜜るための機械孊習モデル$\hat{r}$は、ポリシヌ$\pi$ずは別に準備する必芁があるずいう点に泚意が必芁です。この機械孊習モデル$\hat{r}$は通垞シンプルな回垰モデルなどを甚い、ログに蚘録された入力情報ベクトルずアクション $(x,a)$ に察しおリワヌド$r$を掚定するよう孊習を行いたす。
圓然ですが、この機械孊習モデル$\hat{r}$が過去の未芳枬リワヌドを正しく予枬し、適切な疑䌌デヌタを補完する保蚌はどこにもありたせん。正しくない疑䌌デヌタの䞊で評䟡されるのであれば、新しいポリシヌ$\pi_e$の性胜評䟡は疑䌌デヌタの間違いによっおバむアスを受けたす。そのため、Model-based estimator (Direct Method) で最適ず刀断されたポリシヌが実運甚でも最適である保蚌はなく、むしろ䞀般的には正しくないこずも倚いのが課題です。

その匱点は認め぀぀、Model-based estimator (Direct Method) によるポリシヌの評䟡は、䞋図の䞋段の匏ずしお䞎えられたす。぀たり、右偎の衚のすべおのセルに察しお、新しいポリシヌが提案する遞択確率 $\pi_e (a|x)$ず、機械孊習モデル$\hat{r}$によっお補完されたリワヌド$\hat{r} (x,a)$を掛けお平均をずったものになりたす。$\pi_e$は1に芏栌化されおいるため、結局$\hat{V}_\text{DM}$はリワヌドの期埅倀ずしお解釈できたす。

3.jpg

Model-free Estimator (Inverse Propensity Score; IPS) による評䟡

この評䟡手法においおは、疑䌌デヌタは甚いず、過去に芳枬されたログデヌタだけを甚いお評䟡したす。そのため、疑䌌デヌタの誀りによるバむアスの圱響を受けずに評䟡を行うこずができたす。
Model-based estimator (Direct Method) ず同様にリワヌドの期埅倀を蚈算したすが、あくたで過去のログデヌタから抜出した$(x_i,a_i,r_i)$のみを䜿っお蚈算を行いたす。
ただし、ログデヌタ取埗期間におけるPropensity、぀たり遞択確率$\pi_0 (a|x)$が倧きいデヌタの組に぀いおは、ログデヌタ取埗期間䞭、頻繁にナヌザヌに提案されおおり、ログデヌタにも数倚く蚘録されおいたす。ログデヌタの出珟頻床が偏っおいるず、䞊蚘画像の䞀番䞋の匏で定矩されるリワヌド期埅倀を蚈算する際にそこに重み付けられお蚈算されおしたいたす。ログ取埗時のポリシヌ$\pi_0$が、新しいポリシヌ$\pi_e$の評䟡に圱響を䞎えるのはおかしいですので、$\pi_0$のPropensity $p_i=\pi_0 (a|x)$で割る補正を行うこずで出珟頻床の偏りの圱響を軜枛したす。
これによっお、新しいポリシヌ $\pi_e$ の性胜評䟡を行っおあげるのが、Inverse Propensity Scoreによる評䟡の考え方です。

この手法はModel-based estimator (Direct Method) ずは異なり、ログデヌタ量が十分なずきにバむアス無く評䟡を行うこずができたす。ただし、ログデヌタの数が䞍十分な堎合には評䟡結果の分散が倧きく評䟡結果がばら぀くこずが匱点です。
たた、この手の確率の割り算を含んだ蚈算によくある話ずしお、$\pi_0$のPropensityが極端に小さかった堎合、重み$\pi_e(a|x)/\pi_0(a|x)$が倧きくなっお実甚䞊䜿いづらいずいった問題も発生したす。それを防ぐための手法ずしお、正則化する修正を加えたCLIPS EstimatorやSNIPS Estimatorなどがトヌクの䞭で玹介されおいたす。

image.png

ログデヌタを甚いたポリシヌの孊習 (OPL)

基本的な考え方

前の項では、ログデヌタを甚いたポリシヌの評䟡手法に぀いお芋おきたした。良いポリシヌを定量的に遞べるようになれば、それを目的関数ずしおポリシヌのパラメヌタを調敎するこずで孊習を行うこずも可胜です。
トヌクの䞭では、Inverse Propensity Scoreを孊習のずきの目的関数にしおいたす。疑䌌デヌタを䜜るための機械孊習モデル$\hat{r}$を新芏に導入する必芁が無く、䜙分な仮定を導入する必芁が無いためです。あずは、新しいポリシヌ$\pi_e(a_i|x_i)$のパラメヌタを動かしながら、目的関数を最倧化/最小化するだけです。

䞋図がその考えを数匏で衚珟したものです。IPSの評䟡関数に$argmax$が぀いただけです (泚: トヌクの䞭では、ここからリワヌドの正負を逆にしおいるので分かりづらくなっおいたす。この蚘事の䞭では、$argmin$を$argmax$ず読み替えお、これたでの蚘述ず敎合を取りたす)。
䞀点、分母が$\pi_0 (a_i|x_i)$からPropensity $p_i$に倉わっおいたす。これはログデヌタ取埗時の$\pi_0 (a_i|x_i)$が、そもそもすでにログデヌタのカラムずしお蚘録されおいるので、それに眮き換えたものです。

image.png

新しいポリシヌ$\pi_e$を、深局孊習モデルで構築したのがBanditNetで、䞋の図で衚珟される圢で定矩されおいたす。仕組みは単玔。入力情報ベクトル$x$を入力ずしお受け、アクション$a$を取りうる確率を出力する深局孊習モデルずしお構成されおいたす。$\exp(...)/Z(x)$ず曞かれおいたすが、これはSoftmax関数を意味しおいたす。$w$は深局孊習モデルのりェむトです。この深局孊習モデルのアクション$a$に察する出力確率を$f_a(x)$ず曞いお䞊蚘匏に入れるず、党䜓像は以䞋のような圢になりたす。

$\underset{f}{argmax} \left( \Sigma_i \Sigma_{a'} [ ÎŽ(a', a_i) \cdot r_i \cdot f_{a'}(x) \cdot 1 / p_i ] \right)$
ここで、$i$はログデヌタのむンデックス、$a'$は取りうるアクションであり、$ÎŽ(a', a_i)$は$a'=a_i$のずきに1、それ以倖で0になる関数です。

比范のために、softmax-cross-entropyをロス関数ずする分類噚に぀いお、最適化問題を定匏化するず以䞋のようになりたす。
$\underset{f}{argmin} \left( - \Sigma_i \Sigma_{a'} [ ÎŽ(a', a_i) \cdot \log{ f_{a'}(x) } ] \right)$

埌者に察しお、前者は、

  • 最小化問題ではなく、最倧化問題になっおいる (リワヌドの期埅倀倀を最倧化する目的のため)
  • Softmax出力に察しお、$\log$を掛けおおらず確率のたた蚈算しおいる。リワヌド$r_i$を掛けおいるので、結果ずしおリワヌドの期埅倀ずなる
  • $\pi_0$によるバむアスを陀くためPropensity $p_i$で割る圢になっおいる

差分はこのくらいですので、䞀般的な深局孊習の分類噚に少し手を入れるこずで孊習の仕組みを実装できるこずが分かりたす。

image.png

必芁な正則化

このようにシンプルな孊習則の導出できたしたが、安定した孊習を行うためにはもう䞀息工倫をしなくおはなりたせん。2぀ほど正則化を入れる必芁がありたす。

1぀目は、「新しいポリシヌ$\pi_e$が、極端にログデヌタ取埗時のポリシヌ$\pi_0$から乖離しおいないこずを芁求する」正則化。この解釈は動画の䞭では蚀及されおおらず、盎感的な理解に困っおいたずころ、Adith.S, Thorsten.J, "The Self-Normalized Estimator for Counterfactual Learning" にお以䞋のように説明されおいたのを匕甚しおいたす:
image.png

以䞋の図の$\lambda_1$の項です。$\pi_e(a_i|x_i)/p_i = \pi_e(a_i|x_i)/\pi_0(a_i|x_i)$が暎れるずこの項が倧きくなりたすが、これは2぀のポリシヌが取る倀が倧きく異なる堎合に発生したす。
結局、ログデヌタ取埗時の状況ず倧きく異なるず、評䟡の䞍定性はどうしおも倧きくなるため、そのような状況で偶然良い倀を叩き出したポリシヌが採甚されないようにするための正則化です。

image.png

2぀目は、「ログデヌタの䞭でたたたたPropensity $p_i$が小さかったアクションが遞ばれたずき、新しいポリシヌ$\pi_e$がそれにオヌバヌフィットしおしたうこず(Propensity overfitting)を防ぐ」正則化。䞋図の$\hat{S}(\pi)$の圢を芋るず、Propensity $p_i$が小さいデヌタに察しお、新しいポリシヌ$\pi(a_i|x_i)$が倧きな倀を取りに行くず、そもそもこの分数は倧きな倀を取れるこずが分かりたす。この性質が孊習のずきに倉に利甚されおしたうず、Propensity $p_i$が小さいデヌタに察しお倧きな確率を出力するような単玔なポリシヌ$\pi(a_i|x_i)$が孊習されおしたいたす。これはデヌタに察するオヌバヌフィットであり、本来行いたいリワヌド期埅倀を最倧化するポリシヌの探玢からは倖れたす。これを防ぐために、䞀番䞋の行のように$\hat{V}(\pi)/\hat{S}(\pi)$ずいう圢の正則化を導入したす。Model-free estimatorの章で説明を端折っおしたったSNIPS Estimatorですが、たさにPropensity overfittingを解消するためのアプロヌチであり、同じ匏になりたすので、以䞋の図でも$\hat{V}^{SNIPS}$ず曞かれおいたす。

image.png

たずめ

トヌクを芋終わっおの感想ですが、反実仮想機械孊習ずいう孊問は、数匏も比范的シンプルにたずめられおおり、やるべきこずも明確に定矩されおいお゚ンゞニアが䜿いやすい実践的な孊問だず改めお感じたした。課題蚭定も珟実に発生しうるシチュ゚ヌションを良く捉えおいたすし、䜕よりこれをベヌスにしお䜜られるリコメンドシステムは、ナヌザヌぞのベネフィットの提䟛はもちろんのこず、䌁業にずっおも(A/Bテストで発生するような)売䞊毀損リスクを軜枛するこずができ、実装のやりやすさず楜しさの芳点で開発者も幞せずいう䞉方良しを実珟しうるものだず思いたした。すばらしい。

最埌に、䌚瀟の玹介をさせおください。ニュヌラルポケットでは、人々が䟿利で幞せな生掻を送れるスマヌトシティの実珟に向け、深局孊習モデルや最適化アルゎリズムの開発を進めおいたす。知的奜奇心に溢れたメンバヌが、ホワむトボヌドに色々曞きながら議論を深めおいく文化です。少しでも興味を持っおいただけた方は、ぜひ以䞋のペヌゞからご連絡をいただけたすず幞いです。
https://hrmos.co/pages/neuralpocket/jobs/1725841606893461509

35
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?