回避機能をもつ逆強化学習の論文を読む

NIPS2017で発表されたAbbeel達の回避機能をもつ逆強化学習の下記の論文を読む。

「Inverse Reward Design」https://arxiv.org/abs/1711.02827

この論文は予想外の事象に衝き当った場合の報酬を如何に修正するかの話なので、報酬設定→行動経路→逆強化学習→報酬関数の修正なので逆強化学習の一種として考えられる。

予想外の事象に突き当った場合のロボットが、部分観察MDPの確信度で対処する行動決定とそっくりである。POMDPは確信度が低い場合には、近づいたり、スピードを落としたりして観察がよく出来る様に行動させる場合が多い。

 この論文は、ロボットに目的の動作が出来る様に設定する報酬のデザインが誤ったり配慮が抜けてた場合でも、ロボットが当初の目的通りに動作できる様にするものである。

 論文の下図の様な例では、デザイナーは報酬を目標=1  砂漠=0.1  草原=-1として、溶岩を思いつかなかった場合が示されている。

 現実の世界(本論ではReal World)を相手にすると設計者の意図以外の事象に遭遇する場合が普通であって、この場合溶岩にはまって失敗する。

   f:id:mabonki0725:20180210085859p:plain

この論文の意図はDeepMindの様な理想とする環境での知的動作ではなく、Abbeel達は現実の世界の知的ロボットに関心があるので、この様なアイデアを考えたと思われる。

 デザイナーが与えた報酬で訓練したロボットの経路を逆強化学習して、報酬関数の重みwを以下で計算した場合でも、想定外の事象では重wみの信頼度を下げて、回避しょうとするのがこの論文のアイデアである。

     r = w^T \phi(\xi)  

       ここで

       \xiは動作経路

             \phi(\xi)は特徴量

 

  重みwの信頼度はエネルギー関数を採用してた次式の事後分布としている。

         P(w = w^*|\hat{w},\hat{M}) \propto \frac{\exp \{\beta w^T \hat{\phi} \}}{\hat{Z}(w)} P(w)

          ここで

     w^*は現実世界に対応した真の重み

           \hat{M}はMDP過程

            \xi \sim \pi(\cdot|\hat{w},\hat{M})

   \betaは感応度(ハイパーパラメータ)

         \hat{\phi}(\xi)は特徴量の期待値

                 \hat{\phi}(\xi) =  E[\phi(\xi)]

            \hat{Z}は分配関数

     \hat{Z}(w) = \int_{\hat{w}} \exp \{\beta w^T \hat{\phi} \}d\hat{w}

 

 分配関数Z(w)は算出すべき重みwが不明であるので一般には計算不能であるが、経路\xiを多くサンプリングして近似する場合が多い。

ここではランダムなサンプリング法(sample-Z)と最大エントフィ法で解いた(Maxent-Z)を使って上記の重み信頼度を計算している。

 センサーが未知物体を感知した場合、一つの案として自己位置の認識に下図の様に特徴量\hat{\phi}に多次元のガウスう分布を使って重みの信頼度を計算している。

f:id:mabonki0725:20180210091949p:plain

   

  想定外の場合では特徴量\phiが変化するので、重みwの信頼度が低下し、低い重みで報酬rを計算すると、報酬rが低くなるので、回避することができる。

 実験では分配関数Z(w)をMaxEnt-ZやSample-Zを用いて重みの信頼度を計算した方が、この手当てをしない場合 Proxyより、遥かに溶岩を回避できている。 

  右図は未知物体では重みの信頼度の事後分布で計算した実験

  左図は未知物体に統計モデルを使用した実験

f:id:mabonki0725:20180210092529p:plain

                 Negative Side Effects センサーの想定外検知

                 Reward Hacking  センサー情報の相互矛盾検知

       Raw Ovservation ガウス分布を使って判定する

       Classifyer Feature 識別器を使って判定する