NIPS2017論文読み会に参加するので論文を読みたいと思います。今回読むのは以下です。
前回は、強化学習の報酬関数を正しくデザインするのは難しい。だから、真の報酬関数がわからないことを認めて、真の報酬関数を推定しようというところまででした。次は、その推定方法を具体的に数式で追っていく、ですね。
そうだったねー。推定方法の前に、まず問題の設定ってゆーか定義を確認していこう。まず、環境モデル(原著: world model を意訳)を以下で定義するにゃー。
- … 環境モデル
マルコフ決定過程 を与えられたときに、それぞれの時間ステップでどの行動を選択していくべきか=方策を求めるのが通常の強化学習ですね。でも、今回は報酬 がわかっていないという立場を取るのですよね。
うん。でも真の報酬に結構近いプロキシ(代理)報酬 は特定できることにするよ(結構近い、の意味は後でねー)。このとき、「逆報酬デザイン(Inverse Reward Design: IRD)」を と定義する。ここで、 は真の報酬になりうる関数がなす空間で、 はプロキシ報酬になりうる関数がなす空間ね(報酬関数がなす空間といっても、今回は報酬関数が とかけるものと仮定しているから、重みベクトルの次元のユークリッド空間 と考えればいいと思うんだけどねー)。 はエージェント。方策と捉えていいんじゃないかなー。この状況を説明するとー、
- … 環境モデルは特定できていて、
- … プロキシ報酬もどーにか特定できていて、
- … その環境モデルとプロキシ報酬の下での方策も特定できている。
報酬関数がわからない立場をとるというのは他で聞いたことのない設定なので慣れませんが、状況は何となくわかりました。では、解法を教えてください。…わくわく。
ふふ、今回も を入れ替えて を求めちゃうよー。これ以降、真の報酬とプロキシ報酬に対応する重みベクトルをそれぞれ と とするね。だから言い直すと を入れ替えて を求めるってことだねー。
入れ替える?…そうか、私たちは真の報酬の下で学習したいのですが、真の報酬はわからない。代わりに利用できるのは、なるべく真の報酬に似せた、プロキシ報酬。それはまるで、なるべく正しく病気かどうかを診断しようとする検査みたいです。と考えれば、さっきのベイズの定理と同じ。だとしたら必要なのは、ある報酬関数 になる周辺確率 と、ある報酬関数 のときにプロキシ報酬 が選択される確率 だぞ。…一ノ瀬さん、 がわかりません。
あ、うん。そこは仮定を置くからねー。まず、方策所与の下で、状態行動系列 が選択される確率を とするんだ。最大報酬が得られる状態行動系列のみ選択されるってほど最適化はされていないけど、各状態行動系列が報酬の大きさに指数関数的に比例するように選択されるんだから、ほぼほぼ最適化されてるって状態だね。それで、プロキシ報酬 は、真の報酬の期待値 を訓練環境 で最大化するべく設計されたって考えるよ。それで、真の報酬に結構近い設計ができることにするんだ。つまり、 が成り立つことにする。 はどれくらいよい設計ができるかのパラメータだけど、もし だったら、訓練環境 で真の報酬の期待値を最大にするプロキシ報酬 が必ず設計できる極限になるね。
あ、 だ。