動画の状態推移を予測する強化学習の論文を読んでみる

動画から系列型のVAE方式による状態推移を予測する強化学習として、優秀な学習効率を達成したモデルの論文である。

[1811.04551] Learning Latent Dynamics for Planning from Pixels

系列型VAEの強化学習モデルWorld Modelを最初に発表したDavid Haも著者になっているので、このモデルはWorld Modelの発展型もしれない。

この成果については下記のICMLの口答発表がある。

Learning Latent Dynamics for Planning from Pixels

GitHubにも著者らの実装と動作した動画が揚がっている

GitHub - google-research/planet: Learning Latent Dynamics for Planning from Pixels

 

この強化学習ではエージェントが一部しか観察o_tできないPOMDP(Partial Observable Markov Dicision Process)となっていて、次の分布のパラメータ推定をELBO(evidence lower bound)の最大化で推定している。従ってこれらの分布は全て多変量ガウシアンである。

推移モデル p(s_t|s_{t-1},a_{t-1})

観察モデルp(o_t | s_t)

報酬モデルp(r_t|s_t)

Encoder    p(s_t| o_{\leq t},a_{\leq t}) 状態s_tは潜在変数となっている

摂動          p(\epsilon)

論文にある全体のアルゴリズムとしては潜在変数の最適化とサンプリングの組合せで以下となっている。

アルゴリズム1

  以下を収束まで繰り返す

  次の潜在変数の最適化を繰り返す

   保存された行動軌跡図からバッチ分Dをランダムに取り出す

   ELBO(Equation3)で\mathcal{L}(\theta)を解き事後分布の状態潜在変数のパラメータ\thetaを求める

      パラメータを更新する\theta \leftarrow \theta - \alpha\nabla_\theta\mathcal{L}(\theta)

     サンプリングを繰り返す

   状態潜在変数をEncoderq(s_t|o_{\leq t},a_{\leq t})で推定する

   推定された状態に行動計画plannerより最適行動を求め、これに摂動を与える

               a_t \leftarrow planner(q(s_t|o_{\leq t},a_{\leq t}),p) アルゴリズム2参照

      行動をR回繰り返し、

     報酬r_tと観察図o_tを得る。

    繰返した観察図より軌跡図として保存する

 

アルゴリズム1中にあるs_tの推定の理論は(Equation3)として以下に手案されている。(式の展開は付録8式参照)

左辺の対数尤度を右辺では潜在変数とs_tを介在させて q(s_t| o_{\leq t},a_{\leq t})が一致する様にELBOを解いている。

f:id:mabonki0725:20200217073926p:plain

しかし長い系列のELBOは容易でないので、RNNを採用したRMMSで実装している。

著者らは下図の状態遷移SMMとRNNを合成したRSSM(Recurent State Space Model)を提案している。即ち非線形の状態遷移では誤差が大きく再帰的なRNNの経路を追加して安定化を図っている。ここでSSM(統計的過程)とRNNを(決定的過程)を合成したと言っている。

f:id:mabonki0725:20200216211809p:plain

よってRNNの隠れ変数h_tを使って以下で推定している。

  f:id:mabonki0725:20200216211911p:plain

上記を使って便宜的に変分qを以下に簡略している。

q(s_t| o_{\leq t},a_{\leq t})=\Pi_{t+1}^T q(s_t|h_t,o_t)

 

さらにEquation3での1step毎の推論をdステップ毎の推論(Latent Overshooting)に拡張している。

f:id:mabonki0725:20200217081424p:plain

下図はlatent Overshootingのd=3の実装図である。左端が1step毎で右端が3step毎の予測となっている。

f:id:mabonki0725:20200217081200p:plain

 

・行動計画(planner)行動分布の推定

 探索型の価値関数を使わず今まで良い報酬が得られた行動の分布q(a)とd-step先の予測から、最適な行動分布を求めている。これについては付録にアルゴリズム2として次の様に記述されているが、要は報酬が良かった行動を集め、このガウス分布を求めているだけである。

 行動軌跡を記録する

        良い報酬が得られた行動のガウス分布qから行動aをサンプリング

    a_t \sim q(a_{t:t+H})

   d-step先の予測

     s_{t:t+H+1} \sim q(s_t| o_{\leq t},a_{\leq t}) \Pi _{\tau=t+1}^{t+H+1} p(s_\tau | s_{\tau-1} , a_{\tau-1})

       d-step迄の報酬

         R=\sum_{\tau=t+1}^{t+H+1} \mathbb{E}(p(r_\tau | s_\tau)

  行動軌跡から報酬が高いK個のベストの行動軌跡を取り出す。

     ガウス 行動推分布q(a_{t:t+H})の平均と分散を計算する

   平均 \mu_{t:t+H} = \frac{1}{K} \sum_{k \in K} a_{t:t+H}

           分散\sigma_{t:t+H} = \frac{1}{K-1} \sum_{k \in K} |a:{t:t+H}-\mu_{t:+H}|

   q(a_{t:t+H}) \leftarrow \mathcal{N}(\mu_{t:t+H},\sigma_{t:t+H})

 


 ・実験結果

 実験対象としては行動が実数領域で制御できる下図のDeepMindの6個の課題としている。

f:id:mabonki0725:20200217081841p:plain

実験結果は何れの課題でも200個程度の学習で10万回学習したD4PGのレベルに達しており学習効率が優れていることを示している。

f:id:mabonki0725:20200217082529p:plain

注)DP4Gは実数領域のActor-Critic版のDDPG(Deep Determistic Policy Gradient)を改良したもの

 

・感想

 このモデルの特質は動画より状況を予測して効率のよい強化学習を達成していることである。

 しかしモデルはVAEのELBOで解く為、潜在変数も行動分布も全てガウシアンになっている。この様な分布が適用できるのは状態推移が一様な課題しか適用できず、ゴールがある様なゲームは容易でないと思われる。しかし実務上の課題は最適な一様状態に達する工夫であり、この様な状態に移行する学習には適用できると考えられる。

  

 

 

Z-Forcing 再帰深層学習に導入した潜在変数の適合を強いる論文を読む

深層生成モデルを使った強化学習が発表されており、この安定化のためZ-Forcingなるモデルを使っていたので、この論文を読んでみる。

深層ベイズモデルによる長期予測での強化学習の論文を読む - mabonki0725の日記

VAEを発展させ再帰深層学習(LSTM)にも潜在変数z_tを導入して系列での生成モデルを構築する試みがある。このモデルでもVAEと同じ潜在変数を多変量ガウシアンで仮定し、この最適解(平均と分散)は変分ベイズをつかったELBO(Evidence Lower Band)の最大化より求める手法は同じである。しかし長期の系列の潜在変数は適切な収束が難しいのでより学習データに接近させるため、拘束的なZ-Forcingなる手法が提案されている。

[1711.05411] Z-Forcing: Training Stochastic Recurrent Networks

この手法で講演音声の解析や手書き文字の予測、および自然言語の生成を行っていて、特に音声の解析では優秀な結果を出している。

まだ試していないが著者の一人Sordnoniの実装がgithubに揚げている。

GitHub - sordonia/zforcing: ZForcing Repo

生成過程と推定過程を繰返し潜在変数を精緻化するVAEと同様に、次に示す様に再帰的深層生成でも後進時の状態b_tを使って潜在変数z_tを精緻化している。

 

入力x_t→(生成過程)→潜在変数z_t←(推定過程)←状態b_t

 

しかし系列なので潜在変数が安定的に収束しないため、後進時の状態b_tと潜在変数z_tとにガウシアンな強制的関係を補助コストとして導入しようとするのが本論文の手法である。

f:id:mabonki0725:20200213161846p:plain

左図が従来型の潜在変数z_tを使った系列学習で、右図が本提案のグラフィカル図である。相違としては潜在変数z_tが推定過程の状態b_tに依存し、状態b_tが入力x_tに拠っていることが分る。青い2重線はその依存関係を示す。

本論では次の様に定式化されている。

・生成過程   

 h_t = \vec{f}(x_t,h_{t-1},z_t)

     \vec{f}再帰深層学習 

  h_tは隠れ変数

・潜在変数の事前分布

    p_\theta(z_t | x_{i:t},z_{1:t}) = \mathcal{N}(z_t:\mu_t^{(p)},\sigma_t^{(p)})

         ここで  [\mu_t^{(p)},\sigma_t^{(p)}] = f^{(p)}(h_{t-1})

                      f^{(p)}は対角ガウス分布

・推定(逆)過程

  b_t=\overleftarrow{f}(x_{t+1},b_{t+1})

    q_\phi(z_t | x_t) = \mathcal{N}(z_t:\mu_t^{(q)},\sigma_t^{(q})

      ここで  [\mu_t^{(q)},\sigma_t^{(q)}] = f^{(q)}(h_{t-1},b_t)

                   f^{(q)}は深層学習

・補助コスト

    q_\xi(b_t | z_t) = \mathcal{N}(z_t:\mu_t^{(a)},\sigma_t^{(a})

      ここで  [\mu_t^{(a)},\sigma_t^{(a)}] = f^{(a)}(z_t)

                   f^{(a)}は深層学習

 

潜在変数z_tの学習は次の下位限界の最大化となるが、

   \mathcal{L}(x;\theta,\phi,\xi) = \sum_t  \mathbb{E}_{q_\phi(z_t|x_t)} [\log p_\theta(x_{t+1}|x_{1:t},z_{1:t}) + \alpha \log p_\xi(b_t|z_t) ] - \mathcal{D}_{KL}(q_\phi(z_t|x_{1:T}) || p_\theta(z_t|x_{1:t},z_{1:t-1}))

 ELBOの定式化するため補助コスト項\alpha \log p_\xi(b_t|z_t) は期待値から便宜的に外に出し次式で下位限界を最大化する。

   \mathcal{L}(x;\theta,\phi,\xi) = \sum_t  \mathbb{E}_{q_\phi(z_t|x_t)} [\log p_\theta(x_{t+1}|x_{1:t},z_{1:t}) ]+ \beta \log p_\xi(b_t|z_t) - \mathcal{D}_{KL}(q_\phi(z_t|x_{1:T}) || p_\theta(z_t|x_{1:t},z_{1:t-1}))

 

・実験結果

 (a)スピーチ

  2つのスピーチの認識実験について最大対数尤度を達成している。

   Bizzardは1人の300時間の英語のスピーチ TIMITは630人による6300個のスピーチである。対数尤度は実測の出現分布と予測分布で求められている。

    f:id:mabonki0725:20200213220602p:plain

       aux:補助コストモデル  kla:焼き鈍しKLモデル
  モデル構成 1024-2048 LSTM  潜在変数の次元256

 (b)文字認識

  再帰方式による手書き文字MNISTの認識で最大の負の対数尤度を達成

    f:id:mabonki0725:20200213220644p:plain

モデル構成 1024 LSTM  


     (c)自然言語生成(文章の混合例)

  自然言語生成の評価としてのPerplexity(正解の確率の逆数:低い方が良い)の比較は示されていない。ここではELBOとIWAE(Important Weight Autoregression)との比較のみ表示している。

    f:id:mabonki0725:20200214081026p:plain


本実験は潜在変数による文章の生成をおこなっている。次の映画評価の異なる上下の文章の潜在変数を内挿\alphaして中間文章の生成をしている。従って最初の例では\alphaに応じて「酷い映画」と「良い映画」との中間の文章を生成している。\alphaが小さいと上段、大きいと下段に寄る文章を生成している。左は確率の高い言葉のみでの文章で、右はランダムに抽出した文章を生成している。内挿値に従った文章が生成しているのが分かる。

次の例は「暴力」と「楽しい」の間の文章を生成した結果である。

f:id:mabonki0725:20200213221113p:plain

 モデル構成はLSTM(500の隠れ変数)言葉は300次元にコード化 潜在変数の次元は64である。

 

・感想

 GitHubにある実装で試してみなければ評価できないが、長い系列でのAutoEncoderでの潜在変数の解は不安定であると推察される。この論文Z-forcingでは補助コストで入力と潜在変数を拘束して安定化を図っている。しかし文章の様な系列では構造があるのでZ-forcingに頼る必要はないと思われる。この様な手法は非構造的な現象には便利で強化学習での場面の予測には都合がいいかもしれない。

 

 

 

 

    

 

 

 

 

深層ベイズモデルによる長期予測での強化学習の論文を読む

深層ベイズ(深層生成)モデルは複雑な事象の変化が背後に潜在変数の変動によるものと仮定し、深層ネットワークで最適な潜在変数の変動を解くものである。この論文は潜在変数の変動をデコードして事象を再現し、これを長期予測として強化学習に適用したものである。

[1903.01599] Learning Dynamics Model in Reinforcement Learning by Incorporating the Long Term Future

深層ベイズのVAEは静止画を対象とするが、この論文の課題はAgentが自立的に行動して状況変化する動的場面の予測して強化学習を最適化するものである。

動的なLSTMとVAEを使った強化学習ではDavid HaのWorld Modelがあるが、

夢で学習する強化学習モデルの論文を読む - mabonki0725の日記

このモデルは正則化項やコスト関数を入れ長期の予測を考えたものである。 

 

この論文のモデルでは潜在変数z_tを使った2つのモデルで構成されている。左図のLSTMと潜在変数を使った行動a_tと観察o_tの生成モデル。右図は逆伝播b_t変数を使ったd潜在変数z_tの推定モデルである。

f:id:mabonki0725:20200210142405p:plain


 動的な時系列はゲームの熟練者による軌跡から次式のLSTMで学習される。

    h_t =f(o_t,h_{t-1},z_t)

動的な行動と観察の予測生成モデルは次式のDecoderで逐次的に算出される。

f:id:mabonki0725:20200210143622p:plain

上記のdecoderとpriorは条件付確率でありVAEと同様に正規分布を仮定している。

潜在変数z_tを安定的にするため、次式のLSTMの逆伝播パラメータb_tを使った正則化法を入れている。

  b=g(ot,b_{t+1})

潜在変数z_t正則化項をいれた次式のELBO(Evidence Lower Band)を最大化することによって算出される。

f:id:mabonki0725:20200210151157p:plain

 さらに未読だが次式のZ-forcing手法(文献参照)による外部コスト関数を導入して、収束しやすくしている。

f:id:mabonki0725:20200210151741p:plain

[1711.05411] Z-Forcing: Training Stochastic Recurrent Networks

 


・実験結果1

下記は3つのゲームの試行毎の報酬である。提案手法が最も改善が見られる。論文には図示がないが、CarRacingではこのモデルが道路のコーナを予測再現していることが述べられている。

f:id:mabonki0725:20200210144738p:plain

f:id:mabonki0725:20200210145009p:plain

 

・実験結果2

部屋の探索ゲーム(BabyAI)でのサブゴールからゴール検出結果

ゲームの熟練者による1000回の軌跡を学習した後、このモデルが長期予測によってサブゴールが認識できることを示している。

三角がAgentで灰色がAgentの認識領域、青が左右の部屋のドアで右部屋の薄い青がゴールである。

下図の推移からサブゴールである青いドアを認識してゴールに至っていることが分かる。

また最下の折れ線は推移毎のゴールに至るコスト値であり、サブゴール探索には高いコストを費やしており通りすぎると急激に低減していることが分かる。

f:id:mabonki0725:20200210145235p:plain

 

・感想

 VAEに代表される潜在変数の空間で一旦抽象化してモデル化する手法は人間の様々な具象を抽象化する能力に似ているとされている。これを使ったものとしてDavid Haの世界モデルやDeepMindの2Dから3Dを推定するGQNがある。この流れはVAEをかなり複雑な動的な事象にも適用しようとするもので、実装が極端に難しくなっている気がする。理論も実装も相当実力が要る時期になってきた。

 

室内画面の生成する階層型VAEの論文を読む

系列環境での強化学習を考えるため、まず環境を生成するモデルとして下記を読んでみる。

この論文は室内画面を多数生成するモデルで階層型のVAEを使っている。

[1807.09193] GRAINS: Generative Recursive Autoencoders for INdoor Scenes

f:id:mabonki0725:20200206142128p:plain

階層型のVAEはSocherが自然言語で2011年に既に発表していてこの日記にも書いている

Socherの本格的な意味解析の論文 - mabonki0725の日記

Socherはこの階層型を画像の認識でも適用して3D物体の分解も試みている

https://papers.nips.cc/paper/4773-convolutional-recursive-deep-learning-for-3d-object-classification.pdf

 

この論文は多数の室内の写真について以下の手続きで階層を学習させている

①写真のラベル付け(これは画像識別のモデルを使っている

②壁の近い方から物体の位置関係を階層木で構成している。これは一種の構文解析となっている

 root  → 壁1→ソファ→クッション

          →植木

      壁2→ベッド→右ランプ

                                   →左ランプ

 

③この階層には位置関係と相対距離が入っている

f:id:mabonki0725:20200206145008p:plain

④階層のノードと相対位置および階層関係をベクトル化する

⑤上記のベクトルをVAEで潜在変数にエンコードする

 VAEの潜在変数は全て多変量正規分布とする

⑥潜在変数をデコードして階層を復元する

⑦ ⑤と⑥が一致する様に潜在変数を最適化する

f:id:mabonki0725:20200206150509p:plain


⑧最適化された潜在変数をランダムに抽出して様々な階層木を作成し

 階層ノード毎の画像により2Dの室内図を生成する

 

f:id:mabonki0725:20200206150638p:plain

⑨2Dの室内図より3Dの画像を生成する

f:id:mabonki0725:20200206152342p:plain


この論文の特徴としては

①階層ノードをベクトル化したこれをVAEで近似していて、画像をVAEで学習しているのではない

②階層木の各ノードの位置関係より室内図を再現している。

 

 

 

微細な手型実機ロボットでの強化学習の論文を読む

実機ロボットとしては歩行型ロボットや自律型操作ロボット(PR2)[1]があるが、今回の論文のロボットは微細な操作ができる手形のロボットの強化学習である。

[1808.00177] Learning Dexterous In-Hand Manipulation

       f:id:mabonki0725:20190425124105p:plain


この手形ロボットでは微細な操作で下図の様に立方体や角柱を回させて目的の面(E)を出す一連の動作で、物体を落とすことがなく連続して早く回転させる事を目指している。

f:id:mabonki0725:20190423073245p:plain

上図では各指にモーションキャプチャーを装着していおり、さらに中央のロボットの回りに状態監視のため16個のカメラと3個の高画質カメラを配置した下図の様な大型の装置になっている。

f:id:mabonki0725:20190425121817p:plain


この手形ロボットは「Shadow Dexterous Hand」の名称で人間の手と同じ操作ができる様に2005年に製造され販売されているが、余りにも制御が複雑で普及されていない。

本論文の目的は計算機上の手型ロボットのシュミレータで十分に強化学習の訓練を行い、この結果で実機の手型ロボットで目的の操作を試してみる事である。

シュミレータで訓練し実機で試す方法の長所と短所は以下である。

(A) シュミレータで訓練を行う長所

 1)実機では行えない程の訓練を繰返すことが可能である。

 2)特にLSTMを使った記憶型の強化学習モデルでは相当な学習データが必要になる。

(B)一方シュミレータの短所は以下である。

 1)計算機上の訓練成果は摩擦やモータ誤差や重力が無く、訓練成果が実機で適応できるか不明である。

 2)この「Shadow Dexlerous Hand」では接触や圧力を感知するセンサーが付いているがシュミレーションではこのデータが生かせない。

 

本論文では短所の1)に対して、シュミレーション上で様々な摂動を与えて訓練することで、学習には時間が懸かるが現実でのギャップを対処しようとしている。しかし短所の2)の触覚データの無視して観察だけでの学習は、人間が鉛筆やハンドル操作の学習の殆どに触覚に頼っている事を考えると、本論文での学習は致命的な欠陥を有していることが分る。

シュミレータでは意図した訓練が繰返しできるが、このシュミレータには触覚や嗅覚の様なセンサー情報が反映できず、意図した以外の訓練も不可能である。

 

(1)手法

この手型の学習は、実機での転移を考慮して摂動を与えたシュミレータ上で以下の強化学習を採用している。

実機で様々な影響を考えた訓練は数年かかるが、この摂動を入れるシュミレーションによって数時間で訓練できるとしている。

  f:id:mabonki0725:20190425132638p:plain

 1) 学習アルゴリズム: 

  ・PPO (Proximal Policy Optimization)   方策と価値で2種類の深層学習を使用

   (Table 2では各々の深層学習に異なる特徴量を設定している)

  ・様々な摂動を与えたシュミレーションでは384個のPPOで並列学習している

  ・価値の学習では記憶としてLSTMを導入

    2)報酬r_t

  ・最適な角度と実際の角度との相違d_tを11の区分で離散化して、報酬は回転後の改善角度との差とする。

   (但し最適な角度とは何を示すか論文では不明である)

         時刻tでの報酬 r_t=d_t - d_{t+1} 

           ゴールに達する(目的の面に至る)と+5の報酬で、

           物体を落とすと-20の罰則がある。

   3)状態認識方法

   ・非視覚認識:指に装着したモーションキャプチャーやセンサーによる状態認識

   ・視覚認識:複数のカメラの画像をCNNで特徴量化した状態認識

 4)シュミレーション上のパラメータに与える摂動

  ・観察誤差 

  ・モデルで把握できない誤差 

  ・視覚パラメータ誤差

  ・物理パラメータ誤差(重力反映も含む)

 5)深層学習にに投入する特徴量  

  f:id:mabonki0725:20190425130502p:plain

 (2)結果

  実験結果とし定性的と定量的で検討している

 1) 定性的な検討

  この実験では強化学習で人間の細かい指の動きを再現できたとするが、次の相違が見られたとしている。

  ・人間に比べ小指を多用している傾向がある。

   これは小指が端にあるので自由度が大きいからとしている。

  ・下図の様に人間は指先を使うが、指先に力が入らない幼児と同じ様に実機では水色の部分を使って回転させる事が多いとある

  ・リストに衝撃が当たる場合があるので、リストを固定する方策は実機でもうまく行った(下表の3行目 locked wristに該当する)

  ・物体を落とすのは最初が多い。またフリーズする場合もある。

       f:id:mabonki0725:20190425145604p:plain

 2)定量的な検討

 定量的な評価として、物体を回転させて物体が落ちるか時間切れまでの物体の連続回転数を指標に使っている。

 上段はシミュレーションで100回試行し、下段は実機での10回の試行での実績である。

 Block(state)は立方体のセンサーによる状態観察で、Block(vision)は視覚での状態認識での実験である。Ocagonal Prizmは八角注での回転である。

 実機での連続回転は少ないが、シュミレーションでの学習成果が実機でも生かせている事が分かる。

   また視覚による状態認識は視覚誤差によって劣化している。
f:id:mabonki0725:20190425140030p:plain

 次の実験はシュミレーション上で様々な摂動を入れた訓練の場合と、摂動を除いて訓練した場合の比較である。

これによると摂動を除くと性能が劣化している事が明瞭で、シュミレーションで摂動を入れた訓練が効果的である事が分かる。

f:id:mabonki0725:20190425140225p:plain

 次の実験は記憶を反映したLSTMを使うモデルの優位性を示したものである。FFはFeed Fowardモデルを示す。過去のトレンドを反映した訓練の優位性が分かる。

f:id:mabonki0725:20190425140333p:plain

 下記の結果はシュミレーション環境 UnityとMujoCo及び実像を使った実機での誤差を示したものである。実像では観測誤差があるので劣化しておりUnity上の訓練が優れてる事を示している。

f:id:mabonki0725:20190425140433p:plain

(3) 感想
 本論文は以下の有効性を示したものである。
 ①シュミレーション上の訓練は莫大な試行回数を行えるので効果的である。

  特に大量のデータを要するLSTMには有効と思われる。
 ②シュミレーションと実機との環境の相違はシュミレーション上で摂動を与えることである程度解消できる。

 ③しかし指に圧力がかかる触覚等がシュミレーションでは反映できず限界が明瞭である。

  この点については実際の触覚センサーと状態データとの相関が得られれば或る程度反映が可能と考えられる。

 

 [1][1504.00702] End-to-End Training of Deep Visuomotor Policies

 

 


 

 

 

因果関係を捉える強化学習の論文を読む

因果推論では2つの流派(ルービンとパール)があり、同じ因果を扱っているが方法が異なるので混乱してしまう。ルービンはスコア法に代表される因果推論であり、パールはベイジアンネットに代表される非巡回有向図(DAG:Directed Acyclic Graph)を用いる因果推論となっている。下記の記事はさらに心理学(キャンベル)を追加した区分について記述している。

統計学における因果推論(ルービンの因果モデル) – 医療政策学×医療経済学

 

機械学習での因果推論では、データから因果を推定する次の様な方法があるが、介入という操作を使えず本当の因果は判定できないものである。

 (i) データの3次以上のモーメントを使う独立成分分析で因果方向を推定する方法 

       http://www.padoc.info/doc/kanoIca.pdf

  http://padoc.info/doc/sas2015_bn_structer.pdf

  但しデータの高次のモーメントを使うのでデータにノイズがあると正確に判断できない。

(ii)因果の向きをMDL(最小記述)尤度で判定してベイジアンネットを生成する方法

  http://padoc.info/doc/jsai2015BayesNetNoname.pdf

 次に示す論文のintervention(介入)実験に示した様に最尤法による因果の方向の推定は介入より劣っている事が示されている。ここにデータから生成するベイジアンネットの限界があると思われる。

 

今回読んだ論文はDAG上でエージェントが様々な介入を行ってその結果から効率的に因果関係を把握する学習についての論文である。

[1901.08162] Causal Reasoning from Meta-reinforcement Learning

強化学習についてはメタ学習Learn to Learn[1]を強化学習に適用したメタ強化学習[2]を使っている。学習はActor-Critic法だがbaselineやsoftmaxのパラメータはメタ学習で行っている。具体的な方法については論文中に殆ど記述がない。

 

(1)モデル

   (1-1) 対象ノード数

  対象となるDAGのノード数を5個に限定している。これはノード数が増えるとDAGグラフの数は爆発して計算不能になるためである。例えばノード3個の場合下図の様に11通りのDAGになる。ノードが10個だと4.8億通りDAGとなり事実上計算不能になる。

   f:id:mabonki0725:20190318093148p:plain

  従って本論文では5個のノードを有する58749通りのDAGがを対象としている。

  (このうち300個は試験用でその他の殆どは学習用にしている)

  (1-2) 生成されたDAGの各ノードの値

     ランダムに生成された5ノードのDAGでは、rootノードの情報は隠されているが、それ以外の親ノードを持たないノードは標準偏差0.1の乱数で値が設定されている。各矢印の重みw_{ij}には{-1,0,1}の何れかがランダムに設定されている。即ちノードの値は以下の乱数で設定されている。

 親ノードが無い場合

       p(X_i) = \mathcal{N}(\mu=0.0,\sigma=0.1)

    親ノードがある場合

  p(X_i|pa(X_i) ) =\mathcal{N} (\mu = \sum_j w_{ji} X_j,\sigma=0.1)  

     pa(X_i)はノードX_iの親ノード全部を示す

 

 (1-3) DAGからの情報

  rootノード以外の各ノードの値とノード間の相関係数はエージェントに伝えられる。しかし連結状態はエージェントには分からない。 

 

    (1-4) 介入(intervention)とは

  選択したノードに強制的に値を設定して、下図の様に介入したノードが因果の影響を与える全てのノードの値を変更する。下図には示されていないが変更されたノードはさらに因果の方向に変更を伝播させる。但し介入ノードは独立となり親ノードの影響を受けなくなる。

  

f:id:mabonki0725:20190318203618p:plain

介入の例(E=e)

 (1-5) DAGの学習方法

  この論文ではDAGの構造理解への学習フェーズは2過程に分かれている。

  (i) Information Phase (状況提供フェーズ)

        エージェントはノード数の数だけ介入しノードに値(5点)を設定することができる。この介入操作でDAGの各ノードの値は因果の方向に沿って伝播して変更されれ、エージェントはこの結果を収集することができる。

    (ii) Quiz Phase (問合せフェーズ)

   上記の情報フェーズ後、エージェントは影響が一番大きい(相関が一番大きい)ノードに(-5点)設定して、その負の介入によりDAG内で最大の値を持つノードを選択してこれを報酬とする。下図はDAG構造を推定して最大値(0.0)のノードを報酬とした例である。

  学習は上記の2フェーズをランダムに生成したDAGで報酬を得て、その報酬よりActor-CriticでQ関数を改善するが、パラメターはメタ学習で行う。

          f:id:mabonki0725:20190318153953p:plain

  (2) 実験

   以下の3種の実験を行い、どの様に観察するとエージェントが高い報酬を得られるか試行している。

   (i)  Information Phaseで介入操作が行われない場合(Observasional:観察のみ)

   (ii) Information Phaseで介入操作が行われる場合(Interventional:介入操作)

   (iii) Information Phase で介入が行われ、その値に摂動を与える場合(counterfactual:反証的操作)

 (2-1 ) Observasional実験

 Information Phaseで介入は行われないので、Quiz Phaseでの介入だけでの観察となる。

    この実験でのエージェントの観察方法

  Passive-Cond:5点のノードが見つかれば、そこから低い値の近傍へ因果の矢印があると解釈する

  Optimal-Assoc:互いに相関係数が高いノードが関連していると解釈する

        Obs.Map:全てのノードの因果方向について最尤となる構造を仮定する。

       これはデータからのベイジアンネットの推定と同じ方法

 図(c)の様にPassive-condの方が因果方向を捉えているのでQuiz Phaseではより高いノード(0点)を選択できている。また図(a)より最尤法の解釈は曖昧であることが分る。図(b)は親ノードが無い場合(Oprhan)は高い値を持つノードが判断しやすい事を示している。

 

f:id:mabonki0725:20190318210712p:plain

  (2-2)Interventional実験

 Information Phaseでは介入操作が行われ、その結果はエージェントが観測できる。

 この実験でのエージェントの観察方法

  Passive-Int:介入操作によって大きく値が変わったノードへ因果矢印があると解釈する

  int. Map:介入操作によって変化した状態を満たし最尤となる構造を推定する

 図(c)にある様に介入操作で矢印関係を正確に掴んでQuiz Phaseでノードを選択しているが少ない値を選んでいる。図(a)では介入による解釈が有意である事を示している。

f:id:mabonki0725:20190318211708p:plain

  (2-3) Counterfactual実験

  介入以外に反証的な操作として有り得ない値を設定している。
  この実験でのエージェントの観察方法

  Passive-CF:一連の介入と観察の最後にさらに+5を加点した介入をして観察して因果方向を解釈している

        Optimal-CF:反証的な介入での観察から最尤法によるDAGの解釈

 図(c)の左では介入だけでは同じ値で最大値を選択できていないが、反証的操作によって差ができて最大値ノードを選択できている。

f:id:mabonki0725:20190318212801p:plain

 

  (3) 感想

 一般に因果の方向を正しく推定するには介入や反証的介入が必要とされているが、項目数が多いと介入実験が複雑になってくる。この論文はこれをロボットに置き換えて自動化を試みたものといえる。しかしロボットを使った問題として介入毎に全ノードの観察データを取得してロボットに示さなければならず、またノードが増えた場合にはより膨大な処理時間が必要となると思われる。しかし正確な因果をロボットで試みるのは新しい考え方ではある。

  

[1][1606.04474] Learning to learn by gradient descent by gradient descent

[2][1611.05763] Learning to reinforcement learn

 

最難問ゲーム「Montezuma逆襲」でぶちぎりの得点を出したUberの論文を読む

下図の様にDeepMindDQN[1]でAtariゲームで最難問と云われる「Montezuma逆襲」でぶちぎりの得点を弾き出したUberの論文を読んでみる。(Uberはネットでのタクシー手配提供会社)

f:id:mabonki0725:20190118085207p:plain

この論文は下図の様に隔絶した得点を出したことが2018年末報告されており、その論文がやっと年初に出たので読んでみる。但し論文にはゲーム[Pitfall]の実験成果も報告されているが省略する。

[1901.10995] Go-Explore: a New Approach for Hard-Exploration Problems

このUberのモデル(以下Go-exp)は人間のゲーム知識を入れた得点(67万点)が赤枠で囲ったもので、青は人間のゲーム知識を入れない得点(4万4千点)である。

f:id:mabonki0725:20190303151510p:plain

上図の下辺を拡大した下図(スケールに注意)に示す様にゲームの知識を入れないモデルの比較でも隔絶した得点をたたき出していることがわかる。緑丸のRNDは2018年に出された好奇心で探索する画期的な「Random Network Distillation」[2]モデルで、これも相当凌駕している。

f:id:mabonki0725:20190303153407p:plain

 この様にどうして隔絶した得点を出せたかについて論文を読んでみる。

・モデル

 上述した様にRNDは内発的動機IM(intrinsic motivation)をモチーフにして探索するが、Go-expでも前方探索に[detachment]としてIM使い、後方探索として容易な戻り[derailment]が出来る方式を採用している。

Go-expはよく練られた2つのパイプライン(phase1 phase2)で構成されている。

f:id:mabonki0725:20190303154324p:plain

 phase1は要点(cell)の設定と要点間ルートの探索と保存を行い、phase2は保存された最適なルートを逆に辿って最大報酬が得られる様に強化学習[3](PPOモデル[4])をしている。

 phase2とphase1に分て次の様なアイデアで高得点を実現している。

 <phase2 >
 ①以前から複雑なミッション(例えば鍵のある部屋の探索等)ではゴールから逆向きに

  学習すればよいと云われていたが、phase2はゴールに達した保存されたルートから逆に辿って実現している。

 <phase1>

 ①phase1では探索がし易い様に、画像の次元を落として灰色の粗い画像上で行っている。 f:id:mabonki0725:20190303161559p:plain


 ②phase1の要点(cell)とは画像の各点の重要度が高い所を意味し、

  この設定は次の新規の重要な要点が発見しやすい所に高い要点の重みを設定している。

  即ち全く訪れていない場所の近くや重要な要点の近くに高い重みを設定している。

  (これについてはAppendex5を参照 論文中で唯一式が出てくる所)

 

 ③要点から別の要点を探索しており、要点間では複数のルートが生成されるが、

  ルート長やその間の報酬を評価して、優良なルートに入替えている。

  当然Goalに達すると探索は終了する。

  驚くべき事に要点設定とルート探索では全く深層学習を使っていないと言っている。

 ④phase1での要点間ルートの保存によって、エージェントが簡単に前の要点に戻れる

  工夫がなされている。即ち無駄な後戻り探索を抑止している。

 ⑤phase1の要点設定では、人間の知識を入れた要点の重みを設定することができる。

  (例えばエージェントが鍵のある部屋に入った場所の要点の価値を高くする)

  この効果で66万点を実現しているが、この設定をしなくても隔絶した得点を実現している。

 

・感想

  論文ではphase1はルート生成で、phase2はこのルートを逆向きに強化学習により統計的なイベントに対して頑健(robust)なモデルにしていると述べている。例えば「Montezumaの逆襲」ではランダムに現れる敵の攻撃を回避する必要がある。

 Go-expの最大の成果は以下と考えられる。

 ①phase2でGoalからの逆向きの探査で無駄な探索を排除したこと

 ②phase1で場所の価値を要点として設定でき、要点間を最適なルートで繋いだこと

 ③要点間は簡単に戻れることにより無駄な探索を省いたこと 

       これは木構造探索で末端で失敗すれば、元に戻って別の枝に移れるイメージであろう。

しかしGo-expの様に要点間連結と逆向きの強化学習は、ゴールが見えている2次元迷路探索には効率的だが、RNDの様な内発的動機の方が人間の志向に近いと思われ、ゴールが定かでない課題が一般的なので、内発動機の方が様々な分野に応用できそうな気がする。

 

[1] [1312.5602] Playing Atari with Deep Reinforcement Learning

[2][1810.12894] Exploration by Random Network Distillation

[3][1812.03381] Learning Montezuma's Revenge from a Single Demonstration

[4]【強化学習】実装しながら学ぶPPO【CartPoleで棒立て:1ファイルで完結】 - Qiita