NIPS2017論文読みメモ: Inverse Reward Design(その2)

NIPS2017論文読み会に参加するので論文を読みたいと思います。今回読むのは以下です。

Dylan Hadfield-Menell, Smitha Milli, Pieter Abbeel, Stuart Russell and Anca Dragan. Inverse Reward Design. arXiv: 1711:02827, 2017. https://arxiv.org/abs/1711.02827
※ 以下、キャラクターが会話します。それぞれの原作とは関係ありません。論文内容の解釈誤りは本ブログ筆者に帰属します。
前回:その1 / 次回: その3
f:id:cookie-box:20180101155951p:plain:w60

前回は、強化学習の報酬関数を正しくデザインするのは難しい。だから、真の報酬関数がわからないことを認めて、真の報酬関数を推定しようというところまででした。次は、その推定方法を具体的に数式で追っていく、ですね。

f:id:cookie-box:20180101155919p:plain:w60

そうだったねー。推定方法の前に、まず問題の設定ってゆーか定義を確認していこう。まず、環境モデル(原著: world model を意訳)を以下で定義するにゃー。

  •  \tilde{M} = \langle \mathcal{S}, \mathcal{A}, T, H \rangle … 環境モデル
 \mathcal{S} は状態集合、 \mathcal{A} は行動集合、 T=T(s_{t+1}|s_t, a) はある状態である行動をとったときに次の状態がどうなるかの確率分布、 H \in \mathbb{Z}_{+} はエピソード終了までのステップ数だね。この環境モデルに報酬  r: \mathcal{S} \to \mathbb{R} も加えるとマルコフ決定過程  M = \langle \mathcal{S}, \mathcal{A}, r, T, H \rangle になるねー(あ、この論文では、報酬を状態行動系列  \xi の特徴ベクトル   \phi(\xi) w で重み付けした線形和として  r(\xi; w) = w^{\top} \phi(\xi) とかけるものと仮定するよー)。

f:id:cookie-box:20180101155951p:plain:w60

マルコフ決定過程  M を与えられたときに、それぞれの時間ステップでどの行動を選択していくべきか=方策を求めるのが通常の強化学習ですね。でも、今回は報酬  r がわかっていないという立場を取るのですよね。

f:id:cookie-box:20180101155919p:plain:w60

うん。でも真の報酬に結構近いプロキシ(代理)報酬  \tilde{r} は特定できることにするよ(結構近い、の意味は後でねー)。このとき、「逆報酬デザイン(Inverse Reward Design: IRD)」を  \langle \mathcal{R}, \tilde{M}, \tilde{\mathcal{R}}, \pi(\cdot | \tilde{r}, \tilde{M}), \tilde{r} \rangle と定義する。ここで、 \mathcal{R} は真の報酬になりうる関数がなす空間で、 \tilde{\mathcal{R}} はプロキシ報酬になりうる関数がなす空間ね(報酬関数がなす空間といっても、今回は報酬関数が  r(\xi; w) = w^{\top} \phi(\xi) とかけるものと仮定しているから、重みベクトルの次元のユークリッド空間  \mathbb{R}^d と考えればいいと思うんだけどねー)。 \pi(\cdot | \tilde{r}, \tilde{M}) はエージェント。方策と捉えていいんじゃないかなー。この状況を説明するとー、

  •  \tilde{M} … 環境モデルは特定できていて、
  •  \tilde{r} … プロキシ報酬もどーにか特定できていて、
  •  \pi(\cdot | \tilde{r}, \tilde{M}) … その環境モデルとプロキシ報酬の下での方策も特定できている。
こんな状況だね。この状況で、真の報酬  r^{\ast} の分布を求めるのがゴールになるよ。

f:id:cookie-box:20180101155951p:plain:w60

報酬関数がわからない立場をとるというのは他で聞いたことのない設定なので慣れませんが、状況は何となくわかりました。では、解法を教えてください。…わくわく。

f:id:cookie-box:20180101155919p:plain:w60

その前に、瑞希ちゃん、ベイズの定理は覚えてるかにゃー?

f:id:cookie-box:20180101155951p:plain:w60

ベイズの定理ですか。はい。よく、病気の検査を受けて陽性だった人が本当に病気である確率は?などという例で説明されますね。知りたいのは  P(病気 |陽性) なのですが、これは以下がわかれば求まります。

  • その病気である周辺確率:  P(病気)
  • 病気のときに陽性と診断される確率:  P(陽性 |病気)
  • 病気でないのに陽性と診断される確率:  P(陽性 |病気 ^C)
つまり、 P(陽性)=P(病気)P(陽性 |病気)+P(病気 ^C)P(陽性 |病気 ^C) と陽性と診断される確率に周辺化でき、あとは  P(病気 |陽性)=P(陽性 \cap病気) / P(陽性 )=P(陽性 |病気)P(病気) / P(陽性 ) とするだけです。このような式変形をベイズの定理といいます。…式の右辺と左辺で、縦棒 "given" の前と後ろが入れ替わるんだな。

f:id:cookie-box:20180101155919p:plain:w60

ふふ、今回も  P(\tilde{r} | r^{\ast}) を入れ替えて  P(r^{\ast} | \tilde{r}) を求めちゃうよー。これ以降、真の報酬とプロキシ報酬に対応する重みベクトルをそれぞれ  w^{\ast} \tilde{w} とするね。だから言い直すと  P(\tilde{w} | w^{\ast}) を入れ替えて  P(w^{\ast} | \tilde{w}) を求めるってことだねー。

f:id:cookie-box:20180101155951p:plain:w60

入れ替える?…そうか、私たちは真の報酬の下で学習したいのですが、真の報酬はわからない。代わりに利用できるのは、なるべく真の報酬に似せた、プロキシ報酬。それはまるで、なるべく正しく病気かどうかを診断しようとする検査みたいです。と考えれば、さっきのベイズの定理と同じ。だとしたら必要なのは、ある報酬関数  w になる周辺確率  P(w) と、ある報酬関数  w のときにプロキシ報酬  \tilde{w} が選択される確率  P(\tilde{w} | w) だぞ。…一ノ瀬さん、 P(\tilde{w} | w) がわかりません。

f:id:cookie-box:20180101155919p:plain:w60

あ、うん。そこは仮定を置くからねー。まず、方策所与の下で、状態行動系列  \xi が選択される確率を  \pi(\xi | \tilde{w}, \tilde{M}) \propto \exp (\tilde{w}^{\top} \phi(\xi)) とするんだ。最大報酬が得られる状態行動系列のみ選択されるってほど最適化はされていないけど、各状態行動系列が報酬の大きさに指数関数的に比例するように選択されるんだから、ほぼほぼ最適化されてるって状態だね。それで、プロキシ報酬  \tilde{w} は、真の報酬の期待値  E[ w^{\ast \top} \phi(\xi) | \tilde{w}, \tilde{M} ] を訓練環境  \tilde{M} で最大化するべく設計されたって考えるよ。それで、真の報酬に結構近い設計ができることにするんだ。つまり、 P(\tilde{w} | w^{\ast}, \tilde{M}) \propto \exp \bigl( \beta E[ w^{\ast \top} \phi(\xi) | \tilde{w}, \tilde{M} ] \bigr) が成り立つことにする。 \beta はどれくらいよい設計ができるかのパラメータだけど、もし  \beta \to \infty だったら、訓練環境  \tilde{M} で真の報酬の期待値を最大にするプロキシ報酬  \tilde{w} が必ず設計できる極限になるね。

f:id:cookie-box:20180101155951p:plain:w60

あ、 P(\tilde{w} | w) だ。

f:id:cookie-box:20180101155919p:plain:w60

そーだね。ここで、 w^{\ast} は期待値の外に出すことができるから、 \tilde{\phi} = E[ \phi(\xi) | \tilde{w}, \tilde{M} ] と定義するよー。すると、求める真の報酬の分布は、ベイズの定理より以下のようにかける。

 \displaystyle P(w=w^{\ast} | \tilde{w}, \tilde{M}) \propto P(\tilde{w} | w, \tilde{M}) P(w) = \frac{\exp (\beta w^{\top} \tilde{\phi})}{\int_{\tilde{w}} \exp (\beta w^{\top} \tilde{\phi} ) d \tilde{w} } P(w)
ここで、さっき瑞希ちゃんが説明してくれたときのように、 P(\tilde{w} | \tilde{M}) での規格化はしてないよ。ただ、 P(\tilde{w} | w, \tilde{M}) に対しては規格化が必要で、上の式の分母の積分がそれだね。この積分が厄介なんだ。これにどう対処しようかって話を、次回以降していくねー。

つづく