メタ学習による実世界での変異や誤差に対応した学習の論文を読む

 ゲームの世界と違って実世界では次の様な実際の環境の変化に柔軟に対応して制御する必要がある。

 ・接触摩擦 視覚ノイズ モータ誤差 地面の凹凸・勾配 空気抵抗 加速時間

この様な課題に対して、自動運転の場合は移動に誤差が生じ自己位置が不明になるので、センサーで逐次的に自己位置を修正する粒子フィルターやSLAM(Sumiltaneous Localizaion and Mapping)[1]と云う理論がある。一方ロボッテクスでは、実際の駆動誤差を最適に制御する現代制御理論とタスクの最適化をする機械学習を統合したGuided Policy Search[2]がある。

 今回読んだ論文は、報酬を最大化する強化学習として上記の様な変異に柔軟に対応するため、過去の経験から構築したメタ知識を変化に応じてon-line型で変更するモデルである。

[1803.11347] Learning to Adapt in Dynamic, Real-World Environments Through Meta-Reinforcement Learning

(1)  モデル

 過去の経験から更新規則u_\psiを使ってメタ知識の損失\mathcal{L}を最小化する次式を示している。

  min_{\theta,\psi} \mathbb{E}_ {\tau \sim p(\tau)} [ \mathcal{L}(D_\tau^{test},\theta') ]   s.t.    \theta' = u_\psi(D_\tau^{train},\theta)      (1)

        ここで

            \mathcal{L}(D_\tau^{test},\theta')はメタ知識を使った損失を示す

   D_\tau^{test}は経路\tauでの新たな経験

            D_\tau^{tarin}は経路\tauでの過去の経験

   u_\psi(D_\tau^{train})は過去の経験によるパラメータの更新規則

 よって(1)式はパラメータ\psiをもつ更新規則u_\psiが過去の経験D_\tau^{train}に基づいてメタ知識のパラメータ\thetaを更新し、これを後続の経験D_\tau^{test}で試した場合の損失\mathcal{L}を最小にするモデルと云える。

 (1)式の最適パラメター\theta\psiを解くには以下の2方法を示している。

  ①勾配法メタ学習(Gradient-based meta-learning)

    u_\psi(D_\tau^{train},\theta) = \theta - \psi \nabla_\theta \mathcal{L}(D_\tau^{tarin},\theta)

        ②再帰的メタ学習法(Reccurent-based meta-learning)

            これは深層学習RNNを使う方法で、深層学習RNNがパラメータ\theta\psiを決定してくれるので楽である[3]。

 (1)式について時間[i \sim j]の経路データ\tau_\varepsilon(i,j)を定義して損失関数\mathcal{L}を正確に記述する。

        min_{\theta,\psi} \mathbb{E}_{\tau_\varepsilon(t-M,t+K) \sim D} [\mathcal{L} (\tau_\varepsilon(t,t+K),\theta'_\varepsilon) ]     st  \theta'_\varepsilon = u_\psi (\tau_\varepsilon(t-M,t-1),\theta)

  \mathcal{L}(\tau_\varepsilon(t,t+K),\theta'_\varepsilon) \approx - \frac{1}{K} \sum_{k+t}^{t+K} \log \hat{p}_{\theta'_\varepsilon} (s_{k+1}| s_k,a_k)  (3)

  ここで

   \tau_\varepsilon(t-M,t+K)は環境\varepsilonでの時刻tで過去の時刻Mから先の時刻K後までの経路データ

   MKはハイパーパラメータで、t-Mが既存のパラメータ\theta_\varepsilonを使った訓練時間で、t+Kが新パラメータ\theta'_\varepsilonで試した時間

   \hat{p}_{\theta_\varepsilon}(s_{k+1}|s_k,a_k)は行動a_kによる状態の遷移確率

  即ち(3)式の損失関数\mathcal{L}はパラメータ\theta'_\varepsilonを使った遷移確率の負の対数尤度のK時間平均の値を示していて、遷移確率\hat{p}_{\theta_\varepsilon}の尤度が高ければ損失が低い事を意味している。

    パラメータ\theta_\varepsilonの更新ルールu_\psiも負の対数尤度を使って次式としている。

  \theta'_\varepsilon = u_\psi\tau_\varepsilon(t-M,t-1),\theta) = \theta_\varepsilon + \psi \nabla_\theta \frac{1}{M} \sum_{m=t-M}^{t-1} \log \hat{p}_\varepsilon(s_{m+1} | s_m,a_m)  (5)

 環境の変化が想定できない場合はModel-freeの様なモデルでは環境から適切な特徴量が得られないので、最適行動の推定が困難である。そのため、この論文では遷移確率\hat{p}_{\theta_\varepsilon}を最適化するModel-baseのモデルとしている。さらに変化に即応するためアルゴリズム2で示すmodel-basedのMPPI(model predictive path integration)[4]による強化学習で経路を生成し、これから最適な遷移確率\hat{p}_{\theta_\varepsilon}を求めている。

 

(2) アルゴリズム

 この擬似コードは(5)式のGrBAL(Gradient-Base Adaptive Learning)を示している。RNN型のReBAL(Reccurent-Base Adaption Learner)は全てRNN型深層学習によって学習されるのでアルゴリズムは示されていない。

  (4)式から判明する様に損失関数は時間Kの遷移確率\hat{p}_{\theta_\varepsilon}の負の対数尤度の平均なので、下図の注の様に損失関数の最適化するパラメータ\theta_\varepsilonは遷移確率\hat{p}_{\theta_\varepsilon}の尤度を最大化することになっている。

 アルゴリズム2はModel-Basedとして局所的な強化学習である。過去のK時間の履歴より最適な遷移確率\hat{p}_{\theta_\varepsilon}を求めてから報酬を最大化できる行動を選択している。この手法はMPPI(Model Predictive Path Integral)と云う[4]。ここでHは計画時間 n_Aは説明がない。

 下記の13、14行についての微分式の記述は無い。パラメータ\theta\psiの最適化は深層学習行っているので、深層学習の最上位層から逆伝播する場合の差分値を採っていると思われる。

f:id:mabonki0725:20190123181933p:plain

 (3)実験

  実験としては下図の6種で成果を示している。何れも通常の状態から突然環境が変化した場合に対応できるかが課題である。

      f:id:mabonki0725:20190123200358p:plain


  仮想上の環境の実験

   ①上左図:赤い部分が正しく連結していないチータの学習

   ②上右図:赤い部分の足が短小になった蟻の学習

   ③中央左図:平地から起伏を走るチータ

   ④中央右図:平地から水面に浮かぶ道を走るチータ

  実世界での実験

   ⑤下左図:発泡スチロールの上を移動する6足ロボット

   ⑥下右図:芝の上を移動する6足ロボット

  比較するモデルとしては以下を使っている。

   ・GrBAL+MPPI:Meta学習はアルゴリズム1でアルゴリズム2のMPPIを使う

   ・ReBAL+MPPI:Meta学習はReccurentモデルとアルゴリズム2のMPPIを使う

   ・TRPO:Model-free型

   ・MAML-RL[5]:Model-free型のMeta学習

   ・MB+MPPI:Model-Baseの強化学習+アルゴリズム2でMPPIを使う

   ・MB+DE+MPP:MB-MPPIにDynamic Evaluation(DE)を追加したもの

 (3-1)実験結果:M時間でパラメータを更新する効果

  pre-updateはパラメータの更新するまえのエラーの分散 post-updateは更新後のエラーの分散で、更新後のエラーの分布が0(左端)によっていることが分る    

    f:id:mabonki0725:20190123222715p:plain

 

  (3-2)実験結果:Model-Based と Model-freeとの比較

  左図は①の課題 右図は③の課題での各モデルの報酬を示す。

  環境が変わる場合はModel-Basedの方がModel-freeより驚異的に学習することが分かる。図中の鎖線はModel-freeで2,3日学習させて場合のreturnである。Model-basedでは数時間でこのレベルに達していることが分る。

   f:id:mabonki0725:20190123221533p:plain

 (3-3)実験結果:実機での性能試験

  実機ロボットは下図の様に左右に3足あり片側3足は同時に動く。中央のロボットは移動中に足が外れた状態を示している。このロボットには24次元の状態を持ち、行動は2次元で、左右の3足のスピードが調整できる。

f:id:mabonki0725:20190124074301p:plain

実機では以下の環境変化での報酬を比較した。

 ・勾配登り ・足の欠損 ・前方牽引 ・右側牽引 ・姿勢変化 
何れもGrBALが優れている。 

f:id:mabonki0725:20190124073559p:plain

  さらに環境の復元状態を進行方向]tex:x]と横方向yで示している。鎖線は正等な移動状態を示す。何れもGrBALでの横方向の誤差が少ない。

  左図から 足の欠損 横方向の勾配 姿勢の誤補正回数 左右の牽引

 

f:id:mabonki0725:20190124073716p:plain

(4) 感想

 予想し得ない環境変化が想定され場合は、環境から特徴量を作成して最適な行動を推定するModel-freeでは対処が困難である。この論文では予想し得ない環境に対処するためModel-Baseの手法である遷移確率の尤度の最大化による方法を採用している。また環境の変化に即応するため、メタ知識としての既存の遷移確率を直近の観測からOn-line手法を採用して逐次的に改善している。この手法の成果は(3-2)の図が示す様にModel-freeとは驚異的な性能の差で現れている。しかし遷移確率の尤度の最大化が報酬の最大化とは直接的ではなく、この間のモデル化はMPPIと記述されているだけで明瞭な記述がなく残念である。

 またこの(3-2)の図で特筆すべきは、RNNネットワークの構成だけでGrBALの勾配法と同じ性能を示していて、深層学習によるメタ学習は優良な学習能力を持つことが分かる。この理由については資料[4]が参考になる。

 実機での強化学習モデルとして、この論文は想定し得ない事象に柔軟に対処する効果的方法を提案したものである。複雑環境で様々なミッションを遂げるロボットを考える場合は、この提案手法の様な考え方は効果的と考えられるが、さらに環境の変化に即応できる様な手法が必要と思われる。
 

[1] S.Thrun et al.[probabilistic Robotics]

      https://docs.ufpr.br/~danielsantos/ProbabilisticRobotics.pdf

[2]S.Levine et al.[1504.00702] End-to-End Training of Deep Visuomotor Policies

[3]言語解析で使うAttention型の深層学習がメタ学習を示す論文を読む - mabonki0725の日記

[4] G.Williams et al.[1509.01149] Model Predictive Path Integral Control using Covariance Variable Importance Sampling

[5]C.Finn et al.[1710.11622] Meta-Learning and Universality: Deep Representations and Gradient Descent can Approximate any Learning Algorithm