言語解析で使うAttention型の深層学習がメタ学習を示す論文を読む

この論文は汎用翻訳モデルBertで使われるAttentionを使ったRNN型構造の深層学習が問題の構造に依らずメタ学習ができ、高次元のパターン認識強化学習でも驚異的な性能を示したとするICRL2018報告である。

 [1707.03141] A Simple Neural Attentive Meta-Learner

(1)SNAILモデル

 この手法[以下SNAIL:Simple neural attentive lerner)は下図の様なAttention層とCNN層を相互に挟んだRNN構造をしている。CNN層は一定幅のデータの特徴抽出をAttention層は可変長のデータを一定幅の特徴ベクトルに変換する役割を相互で行い、逐次的に投入される入力と出力データからパターンを学習して、入力を条件として出力を予測するものである。左図は教師ありデータの予測で右図は強化学習の行動予測で両者とも同じ構造で実現している。

 このSNAILの深層学習による学習は、全てのTask\tau_iの一連の入力x_tと出力a_tについて以下の損失関数\mathcal{L}_\thetaを最小にする様に調整している。

  min_\theta \mathbb{E}_{\tau_i \sim P(\tau)} [ \sum_{t=0}^{H_i}  \mathcal{L_\theta}_i(x_i,a_i) ] 

  但し

        s_i \sim P_i(x_t |x_{t-1},a_{t-1})  a_t \sim \pi(a_t|x_1,\dots,x_t;\theta)

   \tau_iはtask

           x_tは入力、

           a_tは出力

 ここで云うメタ学習とは同じモデルで異なる課題を学習できる事を示している。Taskの構造が異なっても、正解が判明している場合や学習済みの一連の入出力データをTaskとして生成し、これを逐次的にSNAILに通すことによってTaskが持つデータパターンを学習し、これを繰返す毎にその予測精度を向上させるものである。

f:id:mabonki0725:20190121215508p:plain


(1)アルゴリズム

    下記の①と②のプログラムは上図のネットワークの部分に対応している。ここでは言語解析で使う次の特徴抽出機能でデータを変換している。

 ①は入力を2の乗数毎に分割してCNNで特徴行列を作成している

 ②は自己注意(self-attension)を使って入力の特徴(Attension)を取出している。

     入力をk個で要素に分解した2つのデータに変換し、これらの内積(matmul)を計算して各要素の生起確率(Softmax)を計算した後、一定の数Vでの特徴量に変換している。

  (論文 Attension is All you need[1]参照)

f:id:mabonki0725:20190121215553p:plain

 (3-1) 教師ありデータの識別実験

 手書き文字OmniglotとImageNet画像の分類結果をSNAILに投入して驚異的な識別精度を示すことができている。両課題とも投入条件として、N個の分類毎にK個のデータでK×N個セットを1ブロックとしてランダムにSNAILに投入し繰り返し学習させている。 

・手書文字Omniglotの教師あり識別実験

 OmniglotはLakeが生成モデルによる文字の構造認識[2]に使った下図の様な手書き文字で、これの1200種を学習させ、その結果を教師データとしてSNAILに投入している。

f:id:mabonki0725:20190120175125p:plain

Omniglot

  SNAILによるOmniglotの文字種類の識別予測結果(N-way : Nは分類数 K-shot::Kは分類毎の学習データ数)では全てにおいて最良の結果が得られている。

f:id:mabonki0725:20190121123036p:plain

 ・ImageNetの画像の教師あり識別実験

  ImageNetは下図の様に分類別に画像をダウンロードできる。これもN分類毎にK個のデータでN×KのセットをSNAILへの投入を繰り返し学習させる。

f:id:mabonki0725:20190121132028p:plain

鳥の画像のダウロード画面

  ImageNetのSNAILでの識別結果(N-way : Nは分類数 K-shot::Kは分類毎の学習データ数)では全てにおいて最良の結果が得られている(±は95%信頼区間)。

 

                 f:id:mabonki0725:20190121131929p:plain

(3-2)強化学習での行動予測実験

 以下の4種類の課題について、何れも強化学習済みのTaskが生成する状況と行動をSNAILに投入して、次期の行動を予測する。この課題に使った強化学習は何れもTRPO/GAEモデルである。

    ①複数のスロットマシン(N腕バンディット問題)

          ②タブレット上の移動(省略)

    ③チータとアリの移動(省略)

    ④3D迷路での宝探し

 ①N腕バンディット問題

  K個のスロットマシンでそれぞれ当たる確率が異なる場合、定められた試行回数Nで最大の当たる回数(得点)を求める課題である。

f:id:mabonki0725:20190121145343p:plain

 ベイズモデルのGittenを無限回行うと理論解になる事が判明していて、SNAILでは試行回数が少ない場合はGittenより良い結果を出していることが分る。

f:id:mabonki0725:20190121145518p:plain

各モデルでの得点比較(N:試行回数 K:台数)

  ④3D迷路での宝探し

   下図の左橋図の様に自分視点(first person)の3D迷路と宝は強化学習用のツールであるVizDoomでランダムに生成されたものである。ここでは簡単な迷路と複雑な迷路の2種類でSNAILの性能を試している。ここで報酬は宝を得る(+1)、罰則は一歩毎(-0.01)と壁に当たると(-0.001)としている。

f:id:mabonki0725:20190121152722p:plain

   下表の迷路探索の結果は宝を見つけるまでの平均の歩数である。2つのエピソードの内epsortd2はepsortd1と同じ迷路での探索でepsort1の探索の学習を使っているので短く済んでいる。上図の赤線はepsord1で青線はepsort2で近道をしている事が分かる。

    f:id:mabonki0725:20190121152801p:plain

(4)感想

 全く異なった構造をしている教師付きラベルや強化学習の行動が同じ構造を持つSNAILで学習できる事は驚異的である。しかも高次元の画像でもよい性能を示している。人間の無意識での識別や行動決定は、課題別に解いてはエネルギーを費やすので、同じ様なメタモデルで経験的にパターンを学習して反応していると考えられる。著者達は最近このメタ学習モデルを実際のロボットに適用した報告している[3]。


[1]A.Vasawani et al. [1706.03762] Attention Is All You Need

[2]B.Lake et al. https://cims.nyu.edu/~brenden/LakeEtAl2011CogSci.pdf

[3]A.Nagabandi et al.[1803.11347] Learning to Adapt in Dynamic, Real-World Environments Through Meta-Reinforcement Learning


:

 

 

 

 

 

封建的階層型の強化学習の論文を読んでみる

上位レベルはoption(サブゴールへの方策)を使った戦略、下位レベルはサブゴールまでを最適に行動する。この様に上位下達の封建的な分業関係を使った強化学習の論文(以下FuNs)を読んでみる。 

[1703.01161] FeUdal Networks for Hierarchical Reinforcement Learning

(1) モデル

    この論文は封建的強化学習(1992)[1]の構想をoption(局面的方針)に適用したとものと言える。

 上位レベル(以下Master)と下位レベル(以下Worker)別に学習方法を記述する。

 (1.1) Master(上位レベル)の学習

  この論文ではoptionの終端はcステップで固定になっている。

  Masterのoptionを使った方策は移転方策(TP:Transfer Policy)と云い、次式の様にoption\mu(s,\theta)を条件とするcステップ先の分布になっている。

        \pi^{TP}(s_{t+c} | s_t) = p(s_{t+c} | s_t,\mu(s,\theta))     (1)

     但し

         \mu(s,\theta):option関数  \thetaのパラメータを持つ

     方策勾配法[2]よりoptionの最適な\thetaは方策\pi^{TP}の勾配で更新できる。

  即ちFuNsでのoptionの関数\mu(s,\theta)はパラメータ\thetaに対して微分可能を前提にしている。

   \nabla_\theta \pi_t^{TP} = \mathbb{E} [(R_t - V(s_t)) \nabla_\theta \log p(s_{t+c} | s_t,\mu(s_t,\theta)) ]     (2)

         \theta = \theta + \alpha \nabla_\theta \pi_t^{TP}

           ここでV(s_t,\theta)は価値関数である。

  この移転方策\pi_t^{TP}でのWorkerに対する擬似報酬g_tを以下で改善する。

   \nabla g_t = A_t^M \nabla_\phi d_{cos}(s_{t+c} - s_t,g_t(\phi))    (3)

         ここで 

     A_t^M = R_t - V_t(s_t,\theta)は利益関数

              d_{cos}はコサイン類似度で以下で定義される。

              d_{cos}(\alpha,\beta) = \frac{\alpha^T \beta}{|\alpha||\beta|}

   ここで擬似報酬g_tは状態の移転差s_{t+c} - s_tと擬似報酬g_tとのコサイン類似度によって増減し、同じ方向なら増幅されることになる。

 (1.2) Worker(下位レベル)の学習

  Workerの内部報酬r_t^IはMasterで設定した以下の擬似報酬の平均である。

    r_t^I = \frac{1}{c} \sum_{i=1}^c d_{cos} (s_t - s_{t-i},g_{t-i})       (4)

   Workerの方策は以下の方策勾配法で改善される。

       \nabla_\vartheta \pi_t = A_t^D \nabla_\vartheta \log \pi(a_t | x_t;\vartheta)    (5)

         ここでA_t^DはWorkerの利益関数で内部報酬r_t^Iで計算される。

             A_t^D = (R_t + \alpha r_t^I - V_t ^D(x_t,\theta))

  実装では上記の精緻化は下記の(a)-(c)の深層学習を使っている。

    (a) 状況s_tはWorkerでの観測値x_tを深層学習で特徴ベクトル化したものとしている。

     z_t = CNN(x_t)

             s_t = Neuro(z_t)  完全結合のニューロ

    (b) 式(3)の擬似報酬g_tは実装上では過去の隠れ変数を使用したLSTMで改善している。

   但しLSTMは拡張(dilated)されており、隠れ変数は剰余演算t \% rを使って更新単位rの残りのベクトルを入れている。論文ではこの拡張による学習効果を実証している。

    g_t = LSTM(s_t,h_{t-1}^{t\%r},\phi^{LSTM})

    (c) 式(5)のWorkerの方策の改善でも過去の隠れ変数を使用したLSTMを使っている。

    \pi_t = SoftMax(U_t,r_t^I)

            U_t = LSTM(z_t,h_{t-1})

 

 モデルの全体図は以下となる。但し赤字は自分の解釈である

f:id:mabonki0725:20190117103022p:plain

FuN構成図(赤字は解釈)



 (3) 実験

   FuNsの実験ではA3C(Actor-Criticの並列計算)システムを使ったと記述があるので、(2)モデルで示した\nabla \pi_t^{TD} \nabla \pi_t V_t^M V_t^Mは全てActor-Criticで最適計算したと思われる。

 ここではATTARIゲームの以下を使ってFuNsの有効性を示している。

  ①Montezuma's revenge

  ②記憶の再現 (non-match T-maze Water maze)

  ③option-Criticモデルとの比較

  ④10種類のATTARIゲームの学習効率

  ⑤optionの視覚化

 比較対象としてRNN-LSTM  BPTT(Backpropagation Though Time)を使っている。

 

 実験①Montezuma's revenge

     下図の様にこのゲームは2013年にDeepMindDQNを発表した際、一番解けなかったゲームで、敵を回避して数々の仕掛けをクリアーし鍵を入手して次の場面に進むので様々なアイテムを認識する必要がある。

f:id:mabonki0725:20190118085207p:plain

  下図の様にこのゲームを攻略するため様々なモデルが編み出され多大な発展に寄与してきた[4]。(図中のRND[5]は現在では最強でない )

f:id:mabonki0725:20190118201251p:plain

モデルの変遷とスコア


  下図の様に実験結果を示している。
   左図は学習効率の比較(数字は割引率)

   右図は学習過程でのサブゴールに達した回数(ピークは適切なサブゴールを示す)

    ピークの所はゲーム中では梯子を渡る場面や鍵を取る所に対応していて明示的な設定せずともoptionが認識されている事がわかる。

f:id:mabonki0725:20190117171534p:plain

  実験②記憶の再現

   記憶をOptionと認識する課題である。

   non-match(左図)はロボットが下段の部屋にある物体の形状を覚え、ボタンを押下すると上段の部屋に移動する。そこで下段の部屋の物体と異なるものを選択すれば正解である。  

   T_maze(中央図)はT字路先の得られる報酬と物体の形状を覚え、リセットした後記憶を辿り報酬を得られるかの課題である。

   何れも形状の記憶をoptionとして認識させており、早期に学習に繋がっている。

f:id:mabonki0725:20190117184222p:plain

   Water maze(下図)は円型プール中で複数の見えないゴールを探る課題である。左図と中央図では緑の経路が見えないゴールを探索して迷走している状態だが、これに続く黄・青・赤の経路はゴール探索をOptionとして認識してるので経路が短くなっている。右端はゴールの位置(プールの壁から位置)までもOptionとして認識しているので、同心円を描く様に探索している状態を示している。

f:id:mabonki0725:20190117185157p:plain

  実験③Option-Cliticモデルとの比較

   Actor-Criticをoptionに適用したモデルOption-Criticはサブゴールの終端までを認識する優れたものである[3]。一方FuNsはサブゴールはcステップ先として固定である。やはりoptionの認識と終端の両方を認識するのは難し様で下記の2種類のゲームではFuNsが優れていることが報告されている。

f:id:mabonki0725:20190117190155p:plain

  実験④10種類のATARIゲームでの学習効率の比較

   上段の枠内はFuNsが優れているゲームで、下段の枠内は劣っているゲームである。論文では下段の様に単純なゲームではFuNsは役に立たないと述べている。

f:id:mabonki0725:20190117191348p:plain

  実験⑤optionの視覚化

   FuNsでは潜水艦ゲームでoptionの視覚化を下図の様に示しているが、解釈が容易でない。論文では下図の分布図はサブゴールを固定してWorkerの動作を記録したとある。右端の分布は左端のゲーム場面で潜水艦が酸素補給のため浮上している所とある。

f:id:mabonki0725:20190117215115p:plain


(3) 感想

 昔から上下関係で強化学習を戦略と実行を分業化するのは、複雑なミッションを行うには合理的と考えられてきたが[1]、確かに上図にあるシステム図は下からは環境データ上位からは擬似報酬とシンプルで説得力がある。しかしこの分業が可能かは残念ながらFuNsの実験が示す様に課題やその難易度に拠っている段階である。FuNsではoptionが\thetaの連続関数であるので最適解が微分で得られているが、この連続値のoptionが明瞭でなく解釈が難しい。またサブゴールがcステップ先として固定である事と下位の擬似報酬がコサイン類似度を使っている2点は合理的な理由が論文では示されていない。サブゴールの終端の認識はOption-Critic[3]で示されているが学習が難しいと云われている。またコサイン類似度を使う擬似報酬でMontezmaゲームの様な渡橋や鍵が入手できるのが不思議である。戦略と実行とで分業するのは複雑なゲームより様々なモーターを使い誤差の制御が難しいロボッテックスの方が切実と考えられる。その点DeepMindの論文は全てゲームを対象としており実世界からは離れている。最近ではロボッテクスに適合した階層型分業モデル[6]の研究も報告されている。

 

[1] P.Dayan G.Hinton (1992) Feudal Reinforcement Learning

[2]  ①方策勾配法 反証的な複数エージェントの強化学習を読む - mabonki0725の日記

[3] 報酬に依らず暗示型optionを使った強化学習の論文を読んでみる - mabonki0725の日記

[4] Reinforcement Learning with Prediction-Based Rewards

[5][1810.12894] Exploration by Random Network Distillation

[6][1805.08296] Data-Efficient Hierarchical Reinforcement Learning

 

 

 

   

 

相互情報量を使ったOptionを認識する論文を読んでみる

Open-AIの強化学習のリスト[1]でVariational(変分)のカテゴリィにあった論文だが、環境から得られる相互情報量を変分を使っての最大化し、Optionを認識しようとするものである。

[1611.07507] Variational Intrinsic Control

 この論文はoptionの始点s_0と終点(サブゴール)s_fとの相互情報量(mutial information)の最大化によってOptionを環境から認識しようとする論文[2]をLSTMを使って拡張したものである。

 この論文はサブゴールを認識対象としているオプションのモデル[3]と異なり、サブゴールが明示されているもので、多数のサブゴールがあるオプションの中から有意なものを相互情報量で認識するモデルである。

 相互情報量を使ってOptionを認識する方法は数理的に完成されたものなので醍醐味があり、この方法について説明する。

 (LSTM版はこの相互情報量の最大化と同じであるが、この強化学習による動作をLSTMで過去の情報を利用しただけなので割愛する。しかしこの方法によってより高次元の問題を解ける様になったと述べている)

 

(1)モデル

 現在点s_0を条件としてオプション\Omegaとその終点s_fとの条件確率と相互情報量を考える。

  条件確率     p(\Omega,s_f | s_0)

     相互情報量 \mathcal{I}(\Omega,s_f | s_0)

 この相互情報量を最大化することは現時点s_0と様々なOptionのサブゴールs_fについての分布に差が大きくなることである。この方法で同様なOptionを排除して相異なるOptionを認識しょうとするアイデアである。

 

   また同時確率はベイズを使って次に変形できる。

  p(\Omega,s_f | s_0)=p^J(s_f | s_0,\Omega) p^C(\Omega | s_0)

       ここでp^J p^Cと記述するのは違いを明示しているだけである。

 

   相互情報量はエントロフィの同時確率なので次の定理がある。

  \mathcal{I}(X,Y) = H(X,Y) = -H(X)+ H(X|Y)

   これを使うと相互情報量は次式で展開できる。

  \mathcal{I}(\Omega,s_f|s_0) = H(\Omega | s_0) - H(\Omega | s_f,s_0)    

        ところでエントロフィの定義から

         H(\Omega | s_0) = \sum_\Omega p^C(\Omega | s_0) \log p^C(\Omega | s_0)

   H(\Omega | s_f,s_0) = \sum_{\Omega,s_f} p(\Omega | s_f,s_0) \log p(\Omega | s_f,s_0)

            \sum_{s_f}  p(\Omega | s_f,s_0) = \sum_{s_f} p(s_f  | s_0,\Omega) p(\Omega|s_0)

       なので論文の記述が得られた。

    \mathcal{I}(\Omega,s_f|s_0)= - \sum_\Omega p^C(\Omega | s_0) \log p^C(\Omega | s_0) + \sum_{\Omega,s_f} p^J(s_f |s_0,\Omega) p^C(\Omega| s_0)  \log p(\Omega | s_f,s_0)

 この相互情報量を最大化するため変分\log p(\Omega | s_f,s_0) \to \color{blue}{\log q_\phi(\Omega | s_f,s_0)}を導入する。

 またoptionのサンプリング確率p^C(\Omega,s)\thetaをパラメータとして与えると、変分相互情報量は以下で表現できる。

 \mathcal{I}_{\theta}^{VB}(\Omega,s_f|s_0)= - \sum_\Omega p_\theta^C(\Omega | s_0) \log p_\theta^C(\Omega | s_0) + \sum_{\Omega,s_f} p^J(s_f |s_0,\Omega) p_\theta^C(\Omega| s_0)  \color{blue}{\log q_\phi(\Omega | s_f,s_0)}

  Appendex2に従って変分相互情報量\mathcal{I}_{\theta}^{VB}を最大化するため\theta微分してみる。

     \nabla_\theta \mathcal{I}^{VB} = - \sum_\Omega\{(\nabla_\theta p_\theta^C (\Omega | s_0) \log p_\theta^C(\Omega | s_0) +   p_\theta^C (\Omega | s_0) \nabla_\theta \log p_\theta^C(\Omega | s_0) \} + \sum_{\Omega,s_f} \{p^J(s_f | s_0,\Omega) \nabla_\theta p_\theta^C(\Omega | s_0) log_\phi(\Omega | s_0,s_f) \}

 ここで次の式を使うと論文の記述が得られる。

  \nabla_\theta p_\theta^C(\Omega|s_0) = p_\theta^C(\Omega|s_0) \nabla_\theta \log(\Omega | s_0)

     \nabla_\theta \mathcal{I}^{VB} = - \sum_\Omega p_\theta^C(\Omega | s_0) \{ -1 - \log p_\theta^C(\Omega|s_0) + \sum_{s_f} p^J(s_f | s_0,\Omega) \log_\phi(\Omega,s_f) \} \nabla_\theta \log p_\theta^C(\Omega|s_0)

     \nabla_\theta \mathcal{I}^{VB} = - \sum_{\Omega,s_f} p^J(s_f | s_0,\Omega) p_\theta^C(\Omega | s_0) [-1 - \log p_\theta^C(\Omega|s_0) + \log q_\phi(\Omega | s_f,s_0)] \nabla_\theta \log p_\theta^C(\Omega|s_0)

ここで 擬似報酬r_Iを考え、以下と置く

 r_I  = \log q_\phi(\Omega|s_0,s_f) - \log p_\theta^C(\Omega|s_0) - b(s_0)と置くと

    \nabla_\theta \mathcal{I}^{VB} = - \sum_{\Omega,s_f} p^J(s_f | s_0,\Omega) p_\theta^C(\Omega | s_0) [ r_I - e(s_0)] \nabla_\theta \log p_\theta^C(\Omega|s_0) 

よって 相互情報量を大きく改善するには擬似報酬r_Iを大きく得る方策を採ればよいことが分る。

    但し b(s_0)はベースラインでAppendix2では任意の値を設定しても0値になることが示してあり、実装上では回帰で算出される。

    擬似報酬は次式なので、option \Omegaが稀にサンプリングされるが、始点s_0とサブゴールs_fとでそのoptionの発生確率が高ければ擬似報酬は大きい値をもつ。(注):言語解析で稀に出る単語で結び付きの高い単語があれば有意な関連を持つのと同じである。

 r_I = \log q_\phi(\Omega|s_0,s_f) - \log p_\theta^C(\Omega|s_0) = \log\frac{q_\phi(\Omega|s_0,s_f)}{p_\theta^C(\Omega|s_0)}

 ここでサブゴールs_fで報酬r_Iを得る方策\pi(a|\Omega,s_0)を考える。この方策\piは報酬の多寡によってサブゴールへの効率が異なる。またサブゴールs_fに至る確率p^J(s_f | s_0,\Omega)は観測できるものである。

 以上により相互情報量\mathcal{I}(\Omega,s_f|s_0)を最大化するアルゴリズムが構築できる。

 

(2) アルゴリズム

 Agent の初期位置s_0とする

 以下をM回繰返す 

  \Omega \sim p_\theta^C(\Omega|s_0) optionをサンプリングする 

  \Omegaで設定されたサブゴールs_f\pi(a |\Omega,s)の方策で向かう。

    (注)方策の訓練が十分でない場合は効率が悪く(迂回して)s_f点に至ることになる。

       観測されたs_0,s_fでoption\Omegaを回帰して\color{blue}{q_\phi(\Omega|s_0,s_f)}のパレメータ\phiを改善する。

  r_I \gets \log q_\phi(\Omega | s_0,s_f) - \log_\theta^C(\Omega|s_0) 擬似報酬を得る

  \Omegaで設定したサブゴールで擬似報酬r_Iを得る方策\pi(a | \Omega,s_0)強化学習モデルで訓練する

  擬似報酬が高いと方策\pi(a | \Omega,s_0)がよく訓練され効率がよくなる。

  \theta \gets \theta + \alpha \nabla_\theta I_\theta^{VB}(\Omega,s_f,s_0)で更新する

  p_\theta^C(\Omega|s_0)を更新する

  s_0 \gets s_f

 上記の様な繰返で、選択されたopitonに従って移動しながら次の3つの確率を精緻化して相互情報量を最大化している。その結果、相互に有意なoptionを識別していることが分る。

    方策\pi(a | \Omega)

    optionの優先選択p_\theta^C(\Omega | s_0)

    変分 \color{blue}{q_\phi(\Omega | s_0,s_f)}  

 

(3) 実験結果

  実験①30点のoptionで互いに離れている位置への到達の学習

     グリッド上は20%の確率でランダムに移動する。  左図の中央から30点が互いに離れている位置への移動の学習で右図の20画面の明るい所がサブゴールを示す。

f:id:mabonki0725:20190114010654p:plain

 実験②間違った方向を採ると左上隅に落ちるグリッド

  グリッドワードの青色は壁で、チェックの上下の領域では、赤字で示す様に上側は左右、下側は上下に動くとペナルティとして左上隅に落込んで暫く動けない。またある確率でランダムに移動するので、少し動くとどの領域にいるか分らなくなる。

  最下段は領域の区別をしない学習で、左上隅に落ち込まない様に真ん中を避けてサブゴールを設定する様子を表している。

  1段目と2段目は自分がどの領域に居るか識別できている学習で、次のサブゴールを示している。 

f:id:mabonki0725:20190114011151p:plain

(4) 感想

 サブゴールが明示的なOptionの場合は、相互情報量を使わず全オプションを評価した方が簡単で効率的でないかと思えるが、実験②の様に2つの領域が突然変化する場合は、環境からの相互情報量を使うモデルが有効である事が分る。なお著者が述べている様に、このモデルには課題が低次元で近似関数も線形が使われている。高次元でも学習するにはLSTMを使った拡張版が必要なのかもしれない。  

 

[1]Key Papers in Deep RL — Spinning Up documentation

[2] C.Salge et al. 2014  [1611.07507] Variational Intrinsic Control

[3] P.Barcon et al. 2016 [1609.05140] The Option-Critic Architecture

報酬に依らず暗示型optionを使った強化学習の論文を読んでみる

 強化学習を定式化したR.Suttonが2000年にOptionという重要な概念を提供しており[1]これを知らなかったとは相当な勉強不足と認識せざる得ない。

 強化学習では長い迷路を経てゴールに達する場合や非常に稀に得点が入る場合には、相当の試行を重ねる必要がある。そこでサブゴールの様なものを考え、これを環境から推定できれば試行回数を減らせえるというアイデアである。もう一つの利点はゴールが多少移動した場合や環境からの雑音が多くなってもサブゴールを学習していれば到達し易いことである。昼間に要所に目印を付けてゴールすれば、暗くなっても簡単に辿り付けると云う理屈と同じである。

 このOptionには明示的なもと暗示的なものがあり、明示的なOptionは経験的に設定するもので階層型モデルとして使われている様である[2]。しかし暗示的Optionはこの認識が大きなテーマであり変分法を使うものもある[3]。暗示的Optionは、報酬による外的動機付と対立する考えで、内発的動機付(IM:Instrinsic Motivation)に位置づけられ、報酬とは関わりなく動作する自律Agentモデルで使う重要なものの一つである[4]。

 Actor-CriticをOption用に拡張したOption-Critic(2016)は暗示的なoption(以下intra-option)の学習の一つで下記の論文を読んでみる。

[1609.05140] The Option-Critic Architecture

 

 論文によればintra-optionは\omega \in \Omegaで表記され次の組で定義されるものである。

   [ I_\omega,\pi_\omega(\theta),\beta_\omega(\vartheta)]

  ここで

   I_\omegaはoptionの開始の状態sを示す

   \pi_\omega(\theta)はoptionの方策

            \beta_\omega(\vartheta)は終了関数と云い(サブゴールの確率を示す)

            \theta\varthetaはOptionのパラメータで勾配により最適化の対象

 このoptionを統合したMDPをSemi-MDP(SMDP)とも云う。

 具体な例として、下図の様に4部屋あり通路を通ってゴールに達する課題の場合、学習が進むと終了関数\beta_\omega(\vartheta)(サブゴール)の確率分布は下図の明るい色で表示され、下図では上下の通路がサブゴールとして認識されていることが分る。

 

f:id:mabonki0725:20190109165707p:plain

4部屋と通路

(1) モデル

    intra-optionでは、この方策と終了関数(サブゴール)が求まればよいことになる。この論文ではintra-optionの行動価値関数Q_\Omegaを最適化するパラメータを勾配法で求めている。

  まずintra-optionの行動価値関数は行動aについて価値関数を総和して消去している。

  Q_\Omega(s,\omega) = \sum_a \pi_{\omega,\theta}(a | s) Q_U(s,\omega,a)    (1)

       Q_U(s,\omega,a) = r(s,a) + \gamma \sum_{s'} P(s' | s,a) U(\omega,s')    (2)

       U(\omega,s') = (1 - \beta_{\omega,\vartheta}(s'))Q_\Omega(s',\omega) + \beta_{\omega,\vartheta}(s')V_\Omega(s')     (3)

  U(\omega,s')は終了関数(サブゴール)の確率\beta_{\omega,\vartheta}で按分された価値である。前項はサブゴールへの途中intra-option:\omegaを採った価値で後項はサブゴールに至っておりoptionを採らない状態価値となる。

    ここで

  \gammaは割引率

       P(s' | s,a)は行動aで状況sから状況s'への遷移確率

 

 このintra-ptionのパラメータ\theta\varthetaの最適化は、intra-optionの方策\pi_{\omega,\theta}と終了関数\beta_{\omega,\vartheta}を使ったintra-optionの行動価値関数Q_\Omega(s,\omega)について、それぞれ偏微分して勾配を求めてパラメータを更新して行っている。

 intra-optionの行動価値関数Q_\Omega(s,\omega)\thetaでの偏微分は(1)と(2)式より微分して

  \frac{\partial Q_\Omega(s,\omega)}{\partial \theta} = [ \sum_a \frac{\partial \pi_{\omega,\theta} (a | s) Q_U(s,\omega,a)}{\partial \theta} ] + \sum_a \pi_{\omega,\theta} (a | s) \sum _{s'} \gamma P(s' | s,a) \frac{\partial U(\omega,s')}{\partial \theta}

  これを本論文のAppendixのoption方策勾配定理を使うと以下で表される。

  \frac{\partial Q_\Omega(s,\omega)}{\partial \theta} = \sum_{s,\omega} \mu_\Omega(s,\omega | s_0,\omega_0) \sum_a \frac{\partial \pi_{\omega,\theta}(a | s)}{\partial \theta} Q_U(s,\omega,a)

       \mu_\Omega(s,\omega | s_0,\omega_0) = \sum_{t=0}^\infty \gamma^t P(s_t = s,\omega_t = \omega | s_0,w_0)

 次にoptionの行動価値関数Q_\Omega(s,\omega)\varthetaでの偏微分は(1)と(2)と(3)式より微分すると

       \frac{\partial Q_\Omega(s,\omega)}{\partial \vartheta} = \sum_a \pi_{\omega,\theta} (a | s) \sum _{s'} \gamma P(s' | s,a) \frac{\partial U(\omega,s')}{\partial \vartheta}

  \frac{\partial U(\omega,s')}{\partial \vartheta} = - \frac{\beta_\omega,\theta(s')}{\partial \vartheta} A_\Omega(s',\omega) + \gamma \sum_{\omega'} \sum_{s''} P(s'',\omega' | s',\omega) \frac{\partial U(\omega',s'')}{\partial \vartheta}       (5)

  A_\Omega(s',\omega) = Q_\Omega(s',\omega) - V_\Omega(s')

 

 また(5)式のU(\omega,s)\varthetaでの偏微分はAppendexの終了関数勾配定理を使うと

  \frac{\partial U(\omega,s')}{\partial \vartheta} = -\sum_{s',\omega} \mu_\Omega(s',\omega | s_0,\omega_0) \frac{\partial \beta_{\omega,\vartheta}(s')}{\partial \vartheta} A_\Omega(s',\omega)

 

 以上によりパラメータ\theta\varthetaを更新するためintra-option行動価値関数Q_\Omega(s,\omega)の勾配が得られた。

   論文ではoptionの選択方策\omega \sim \pi_\omega(s)の方法は明確に述べられていない。これは課題によって最適な方策を採るべきなのだが、論文では次式のmax_\omegaで汎用的な価値g_tを最大化するintra-optionの選択方法を示している。但しintra-optionの選択は\epsilon greedyとして\epsilonだけランダムに選ぶ方法を採っている。

 g_t = r_{t+1} + \gamma [ (1-\beta_{\omega,\vartheta}(s_{t+1})) \sum_a \pi_{\omega.\theta}(a | s_{t+1}) Q_U(s_{t+1},\omega_t,a) + \beta_{\omega,\vartheta}(s_{t+1}) max_{\omega} \sum_a \pi_{\omega,\theta}(a | s_{t+1}) Q_U(s_{t+1},\omega,a) ]

 Option-CriticのCriticの役割として、価値の最大化g_tを使うとintra-option価値関数Q_u(s,\omega)は次式で更新することになる。 ここで\alphaは学習率

   Q_U(s',\omega,a') = Q(s',\omega,a') + \alpha (g_t - Q(s,\omega,a))

 

  

(2) アルゴリズム

よってOption-Criticのアルゴリズムは以下となる。

 s \gets s_0

    \omega \sim \pi_\Omega(s)    g_tを最大化する \epsilon greedyでサンプル

   repeat :

        a \sim \pi_{\omega,\theta}(a | s)

        \delta \gets g_t - Q(s,\omega,a)

       行動価値関数の更新 Critic

         Q_U(s,\omega,a) \gets Q_U(s,\omega,a) + \alpha \delta

       パラメータの更新

        \theta \gets \theta + \alpha_\theta × 式 (1)の偏微分

   \vartheta \gets \vartheta + \alpha_\vartheta × 式(5)の偏微分

  もしサブゴールに達していない  \beta_{\omega,\vartheta} \in s'なら

   \omega' \sim \pi_\Omega(s') g_tを最大化する\epsilon greedyでサンプル

           s \gets s'

       もし s がGoalなら終了

 

 全体のOption-criticのシステム構成は以下で示されている。

f:id:mabonki0725:20190110085529p:plain


(3) 実験 

 ここでは以下の実験を行っている。

    ①4部屋に通路があり、ゴールが突然移動になった学習

    ②任意型の物体の間を抜けるボール

    ③汎用的な深層強化学習プラットフォーム(ALE)での結果

 

 実験①4部屋に通路があり、ゴールが突然移動になった学習 

  Suttonの論文[1]の実験課題であるが、以下の課題としている。

 ・Optionは明示されず数のみ設定する。

 ・ゴールの移動 前半ではゴールが左2部屋の通路にある。

  この学習が収束した状態で、ゴールが右下の部屋に移動する。

 ・3分1の割合で移動が失敗しランダムに動く

 結果

  比較対象はSarsa  普通のActor-critic(AC-PG)  intra-optionの数4(OC-4) intra-optionの数(OC-8)

       (左図)intra-optionでは後半のゴールの移動後の学習は前半の学習効率と殆ど変わらないことが分る。intra-optionでは報酬で直接動作するのではなく有意なoptionに従って動作するので効率がよいと考えられる。

       (右図)終了関数\beta_{\omega,\vartheta}(s)の確率が高い所を明るく表示

  通路の所が明るく表示され、通路を通ることがintra-optionとして捕らえていることがわかる。  

f:id:mabonki0725:20190111101833p:plain

 実験②任意型の物体の間を抜けるボール

   下図(左図)の様に任意の形状を持つ障害の間をボールが抜けるintra-optionの学習である。

   次の様な制約がある。

    ・障害には弾力性があり、衝突すると罰則がある 

    ・ボールには速度、上下左右移動、無操作の行動選択がある

    ・無操作が続くとボールは99.5%の確率で停止してしまう

   結果

    右図の様に約10回の試行回数で学習が収束している。intra-optionが多い方が学習精度が高く、左図の経路はこのモデルで計算された4種類のintra-optionの区分である。各々のintra-optionの経路には特徴があるこが分る。

f:id:mabonki0725:20190111110211p:plain

  実験③汎用的な深層強化学習プラットフォーム(ALE)での結果

   この汎用深層強化学習(ALE:Arcade Learning Enviroment)は文献[5]で開発されたものを使っているが、深層モデルの構成やパラメータの調整を行っている、実験課題はAtariゲームとなっている。ここではActorで正則化項の追加やベースライン項が有意であることが述べている。   

f:id:mabonki0725:20190111111121p:plain

ALEでのIntra-optionの構成

   結果

   以下のAtariゲームでの結果でDQNのレベル(橙色)と比較していて、Pacman以外はintra-optionの方が良い精度が出ている。

f:id:mabonki0725:20190111111712p:plain

   潜水艦ゲームでは2種類のintra-optionが設定され、使われているintra-optionの変更状態が下図の上段のBar(白色:option1 黒色:option2)に表示されいる。この場合のゲームの図が下段に表示され、option1は上昇 option2は下降である事が分る。

f:id:mabonki0725:20190111112432p:plain

(4) 感想

   暗示的optionはオプション方策とサブゴールを示す終了関数の両方を最適化する必要がありしかも疎な報酬で学習する複雑なモデルである。しかし暗示的optionを一旦習得してしまえばゴールが変更になった場合や雑音や制御が難しくなった場合でも簡単にゴールまで到達できる利点がある。暗示的optionは人間の様に報酬に直接依存せず内発的動機付けによって自律的な動作する様なロボット開発には重要な概念である。例えば料理をさせる様な複雑な動作をするロボットの場合を考えると、最終的な報酬ではなく様々な段階でのサブゴールを習得することが必要である。暗示optionは今後発展が期待できるモデルと思われる。

 

[1]R.Sutton  [A framework for temporal abstraction In reinforcement learning]

[2]増山岳人 他 [階層型強化学習におけるスキル価値の汎用化に基づいた探索空間の縮減]

[3]K.Gregor [Variational Intrinsic Control]

    J.Achiam [Variational Option Discovery Algorithm]

[4]浅田稔 [内的動機付けによるエージェントの学習と発達]

[5][1207.4708] The Arcade Learning Environment: An Evaluation Platform for General Agents

 

 

Berkeley学派のメタ学習の論文を読む

強化学習でのメタ学習の概念が理解できず、OpenAIサイトのリストにあったAbbeel率いるBerkeley学派の論文(以下RL^2)を読んでみる。

[1611.02779] RL$^2$: Fast Reinforcement Learning via Slow Reinforcement Learning

(1) RL^2モデル

この論文は下図の様にAgentに系列を保持する隠れ構造h_0 \sim h_nを想定して、エピソード間での学習スピードの改善を評価した論文である。ここでいうエピソードとはゴールに達するまでの行動で、複数のエピソードの繰返しを試行(trial)とし、trial毎に隠れ構造はリセットされる。Agentには学習した系列が残っているので、下図の様に次のエピソードを繰返すと当然学習が早くなってくる。それ故こ論文のタイトルは「RL^2:Fast Reinforcemnt Larning via Slow Reinforcemnet Learning」としてある。系列を保持する隠れ構造はGPU(Gated Processing Unit)を使っている。

f:id:mabonki0725:20190103120628p:plain

エージェントに内部構造を仮定したモデル

しかし一般にメタ学習とは、人間の様に同様だが異なるTask(課題)にも素早く適用できる様な学習を意味するが、この論文のメタ学習では同じ課題での漸次的(asymptonic)な改善を意味している。

上図では分らないがデータの流れは以下となっている。

  s_t状態→embeding(特徴ベクトル)→系列の隠れ変数h_t→TRPO→a_t行動→s_{t+1}次の状態

強化学習を解くモデルはTRPO(Trast Region Policy Optimizetion)を使っている。ゲームで一般的なActor-Criticを使わず実ロボット用のTRPOを使うのは、TRPOがBerkeley学派のオリジナルだからと考えられる。

 

(2)RL^2の実験

 実験では多腕Bandit問題で学習の効率を示し、高次元での課題として3D迷路を解いている。

 実験①多腕Bandit問題

  ここでは多腕Bandit問題を解く有名な次のモデルと比較している。

    Gitten:ベイズによる最適化

    TS:Thomsonサンプリング

    UCB1 :Upper-Confident Boundモデル

    Greedy:経験的に一番当たるスロットマシンを引き続ける。

      \epsilon-Greedy:Greedy戦略だが確率\epsilonでランダムに引く

  下表でkはスロットマシンの数 nはエピソードの数  

f:id:mabonki0725:20190103134633p:plain

多腕Banditの報酬比較

 上表では RL^2モデルがGittensと殆ど同じ高い性能を示していることがわかるが、下図では最もエピソードが多い場合でも、Gittenとの差が明瞭に示されRL^2モデルの限界が示されている。 

f:id:mabonki0725:20190103135258p:plain

エピソードが最大時の学習曲線

  実験②3D迷路探索
       高次元の3D画像迷路での探索問題を解いている。この3D迷路は有名なFirst-Person-ShootingゲームのViZoomでの強化学習用のプラットホームを使って迷路を生成している。論文では下図の様に2種類(SmallとLarge)の迷路での宝の獲得を課題として、各々ランダムに1000個の迷路を生成してRL^2を訓練したとある。

f:id:mabonki0725:20190103140637p:plain

  以下は2つの迷路での上位5つでの結果である。左は探索経路長、中央は宝の獲得率、左はエピソードの1番目と2番目の探査経路の短縮率である。

f:id:mabonki0725:20190103141325p:plain

   上表ではエピソード毎に性能が改善され一見妥当な結果が得られているが、論文では次の2つの問題が報告されている。

  下図はRL^2の学習曲線であるが、初期値によっては全く学習ができていないことが分る。

      f:id:mabonki0725:20190103141855p:plain

これは強化学習ではよく散見される課題で、下記の記事の様に初期パラメータの設定には辛抱強く取り組む事が必要なことを示している。

Googleロボットチームの強化学習のサーベイ記事を読む - mabonki0725の日記

 

  次の問題はRL^2GPUによる系列の記憶によって連続するエピソードでは改善を示すことであったが、以下の様に左の2つの連続エピソードでは記憶を使って近道をしているが、左の2つは遠回りしている現象が見られるとのことである。論文ではRL^2にこの様な現象を回避する特有のロジックが必要としている。

f:id:mabonki0725:20190103142938p:plain

(3) 感想

 1)最近は曖昧になったがBerkeley学派は実世界でのロボットでの開発を目指していて、DeepMindでは碁を含むゲームを通じての仮想世界でのシンギュラリティを目指していている。そのためかBerkeley学派の論文は非常に数理的に明解で実直に述べられている場合が多く信頼感がある。

 2) 現在は強化学習の入力に系列を反映した隠れ変数を適用するのが当然になっていているが、2016年に発表されたRL^2は系列記憶の有効性を示した初期の論文と思われる。しかしLSTMやGPUは系列的な教師データに対してのゲート開閉の重みを調整するものなので、メタ知識として人間が類似するが異なる課題に適用し早期に学習するには簡便すぎると思われる。その点DeepMindUNREALでは系列記憶以外に様々な記憶を有効に組合わせて複雑な3D迷路を解くことには成功しているが、メタ知識としてのモデル化までは意識されていなく残念である。UNREALの様なモデルでRL^2のフレームで同じTASKでなく少しつづ異なったTASKで学習速度の改善が実現できればメタ学習として評価できるかもしれない。

DeepMindのUNREALでの暗黙の特徴量 - mabonki0725の日記

 

 

深層時系列を使った強化学習での汎用化の論文を読む

OpenAIのサイトで深層強化学習の主要論文(Keyword Papers)のリストが下記にある。

Key Papers in Deep RL — Spinning Up documentation

この中で転移学習とメタ学習は学習効率に関して人間の高度な学習能力からアイデアを得ることが多いのでどうしても関心が沸く。最近ではメタ学習の論文が注目されている様な気がするので。そこで下記の論文を読んでみた。

arxiv.org

この論文は一昨年のNIPSで有名になったLSTMによる汎用的な漸次的最適化の論文「Learning to Learn using Gradient descent」を強化学習に拡張したものである。この論文については以下の記事がある。

深層時系列を使った汎用的な最適化の論文を読む - mabonki0725の日記

本題のLearing to RL learning(以下Meta-RL)は上記の論文を読んでいないと殆ど理解できないと思われる。何故ならMeta-RLの中核ロジックは殆どLSTMによる最適解の汎用化(以下Learning to Learn)を前提にしているからである。

Meta-RLはMeta学習と標榜しているが、記述を見る限り「全く異なった課題でも同じ考え方で解けるという」意味で使っていて殆ど汎用化の意味に近い。Learning to Learnの論文でも殆どMeta学習とは言っておらずむしろ転移学習に近いと言っている。

 

(2) Meta-RLのモデル

 まずLearng to Learnからの拡張の対応関係を示す

       Learning to Learn                                    Meta-RL

   ・目的 関数の最適化のパラメータ探索  報酬最大化するパラメータ探索

   ・利点 最適化対象の関数に依存しない  Model-BaseでなくModel-Free

 ・過程 パラメータの勾配の収束過程      MDP過程

 ・方法 パラメータの勾配改善      A3Cでの方策とQ関数のパラメータ改善

 ・次元 パラメータ次元 一万次元    画像によるゲームでは高次元

この様に関数の最適化の探索がMeta-RLでは報酬最大化に該当し、パラメータの改善がMeta-RLでは方策と価値関数の両方のパラメータの改善に対応しているだけで殆ど同じ構造をしていることが分る。従って下図の様にMeta-RLは強化学習の改善過程でLearning to Learnを組み込んで使っている。

・Learning to Learnのモデル図 

f:id:mabonki0725:20190101104434p:plain

 ・Meta-RL

 何れも図中の回転マークは上図のLearning to LearnのOptimizerとOptimizeeの改善過程を表し、最適化対象関数fはここでは  \pi方策(actor)とV関数(clitic)の両方に対応しパラメータを改善している。 

f:id:mabonki0725:20190102091443p:plain

Meta-RL実験で使用するモデル構造

  (a) 実験にあるバンディット問題の構造図

  (b)画像認識による報酬ゲームの構造図 ここでencは画像のエンコードを示す。

  (c)簡単な迷路探索で課題で構造図ではLearning to Learnを2段にしている。

 

 (2) Meta-RLの実験

 Learning to Learnの汎用最適化の記事にも述べたが、これはパラメータの変更過程をLSTMするだけで高次元の問題でも良い性能が得られる。しかしその根拠が不明なため実験を豊富に示していた。同様の理由でMeta-RLも実験を7種類で行い、何れも良い性能を示しているが根拠を示せてはいない。

実験①独立 Bandit問題 

 各々独立して異なる確率で当たるスロットマシンを引いて、最小の後悔Regretで済む(逆にいうと最大の成果を得る)学習を行う。ここでは学習結果の指標を次のRegretで得る。

  R_T(b) = \sum_{t=1}^T \mu^*(b) - \mu_{a_t}(b)

     ここで

  \mu^*(b)は環境bでの最も当たるスロットマシンでの報酬

       \mu_{a_t}(b)は試行回数t回目でスロットマシンaを引いた場合の報酬

  R_T(b)T回の試行で理想報酬との差で「後悔」を表す量

 この問題は一般には試行毎の結果からベイズよる事後分布を改善するモデルで解かれる場合が多いが、Meta-RLの学習では試行を繰返しても後悔が(Regret)が増えず一定になる傾向(即ちコンスタントな報酬を獲得)を示している。比較モデルとして以下と比較しておりGittinsモデルと同等な性能が得られMeta-RLの性能が高いことが分る。

      Gittins:ベイズによるモデル

   Thompson:非同期最適化モデル

   UCB:後悔最小化モデル

f:id:mabonki0725:20190101174125p:plain

独立Bandit問題の結果

実験② 当たる確率が相互に依存し合うBandit問題

  2台のスロットマシンがあり一方が確率p_1で当たればもう一方はp_2=1-p_1とする。

 ここでは2種類の実験をしている。

 ②-1実験  一方の確率p_1が一様乱数の場合の実験

  ここでは一方の当たる確率が低ければ、一方は高い確率なので異なるスロットマシンを引くことを学習することになる。Meta-RLでは次の結果が得られ、①の独立Bandit問題より少ないRegretを達成していることが分る。

   

f:id:mabonki0725:20190101175932p:plain

相互に依存したBandit問題(一方が一様乱数)

   ②-2実験  訓練時と試行時で当たる確率の一様分布が異なる場合

   訓練時の一方の当たる確率p_1の一様分布が[0.1~0.9]の範囲だが、試行時のp_1の一様分布が[0.4 ~ 0.6]の場合。この場合は試行時のp_1の確率が狭くなっているので学習が難しくなりRegretは大きい(図e)。また反対に訓練時のp_1の一様分布が[0.25 ~ 0.75]で試行時が[0.1 ~ 0.9]の場合は確率が広がるので学習が簡単になりRegretは小さくなっている(図d)。Meta-RLでは適切に相互依存のBandit問題を解いていることが分る。

f:id:mabonki0725:20190101182336p:plain

訓練時と試行時の条件が異なる場合

 実験③ 一台だけが最適スロットマシンの番号を与える問題

 11台のスロットマシンがあり何れかの1台だけが情報提供マシンであり、残り10台の中で最適なスロットマシンの番号を与える場合を考える。Meta-RLは試行を繰返し、どのマシンが情報提供マシンか理解し、次に最適マシンを引き続ける様に学習する。下図はMeta-RLは繰返し学習の結果で、1回目に情報提供マシンを引いて報酬(最適番号に0.1を掛けた値)得て次に報酬の10倍のマシンを引き続け報酬5点を得ている。

 

f:id:mabonki0725:20190101184139p:plain

情報学習Bandit問題

  実験④高い報酬が確率的に変動する場合にその変動速度に追随する学習

  2台のスロットマシンがあり一方の報酬の高い確率がp_1で変動し、もう一方は確率p_2=1-p_1で変動する。その変動は遅いモードlow-vol と早いhi-volがあり、エージェントは報酬の高い方の選択と変動モードも学習する必要がある。論文の記述はよく理解できないが、変動が早い場合は3種類の学習率のパラメータを大きくする必要があり、これも学習する対象になっている。

 下図はモードがlow-volとhi-volについてMeta-RLと比較用のR-W(Rescorla-Wagner)モデルを示している。low-volモードでは試行を繰返すと報酬が低い側(下側)では殆どバーを引いておらずp_2の高い報酬を見て学習している事が分かる。

しかしhi-volになると殆ど両モデルに差が見られない。

 

f:id:mabonki0725:20190101200957p:plain

報酬の変化の速さに対する行動の追従

 また学習率の比較でもR-WのBIC(ベイズ情報基準)(図cとd)でも大きな差が出ている。学習率alphaについてもMeta-RLはモードによって異なった値(図f)を持っている。

f:id:mabonki0725:20190101201436p:plain

学習率の相違

 実験⑤2段階課題(The two-step task)

  下図の(a)様に報酬が得られる2ノードS_2S_3がありランダムに一方が高い報酬を出す。ノードS_1で行動a_1a_2を選択して前に報酬が高い方のノードに行きたいが、その道が確率的に75%(Common)と25%(Rare)で方向が入れ替わる。この課題は報酬を得るために確率が高い道を選ぶかの学習である。即ち下Meta-RLは繰返しの中で下図の様な構造を学習(理解)するかの課題である。

        結果(図c)に示す様に、Meta-RLは前に報酬が得られたノードに行くためには確率の高い道に行く様に行動を選択しており、報酬が得られないノードには確率の低い道に行く様に行動を選択しいる。Meta-RLは試行を繰返す事によって図aの構造を学習しているのが分る。

f:id:mabonki0725:20190101205933p:plain

課題構造図と結果

 実験⑥画像を認識をする課題

  これは猿の知能レベルの試験に使われたもので、2枚の画像を映す板があり、どちらかは意味があり、これを選ぶと餌が与えられる。2枚の画像の左右はランダムに入れ替わる。実験では猿は餌が出る画像の意味を理解する様になったとの報告であるが、Meta-RLも同様に学習を達成している。

f:id:mabonki0725:20190101212345p:plain

画像の意味の理解

 実験⑦記憶を使った簡単な迷路問題

  下図(a)の様な物体のあるゴールの画像を記憶(Ohe-hot Memory)させて、下図(b)の様な簡単な迷路での画像推移からゴールに辿り付く様に学習する課題である。下図(c)の様にMeta-RL(Nev A3c)はOne-hotの画像から迷路を探索の試行を繰返してゴールに辿り付ける様に学習する。しかし下図(c)の試行回数の単位は1億でる事に注意すると、かなりの試行回数を要していることが分る。難しい課題なので2段のLSTMを使ったモデルだが、数百万という試行回数を要することからMeta-RLという汎用的なモデルには限界があると論文には述べている。

f:id:mabonki0725:20190101214549p:plain

一時記憶による迷路探索問題

(3) 感想

 Meta-RLは高次元の最適化に適しているLearning to Learnを素直に強化学習に拡張したモデルといえるので、一般的に強化学習は高次元のパラメータを扱うので一応筋が通っている。しかし次の課題が見えてくる。

   1)LSTMを使うことによって最適化過程で隠れ変数を膨大に使えるのは分るが、高次元の最適化が何故うまく行くのか数理的に解明されていないので、強化学習でも同じ課題が残ってしまっている。

 2)実験⑦の結果で示されている様に高度な問題になると数百万回の試行が必要となっており、汎用的なモデルで解けることは分ったにせよModel-baseに適わないと論文では正直に述べている。Meta-RLの持つ高次元かつ汎用性の能力が本当に有効な課題はどの辺なのかが判然としない。



  
  

 

深層時系列を使った汎用的な最適化の論文を読む

時系列を使って強化学習を汎用的に解くモデルが発表されており、この様な画期的な論文を知らなかったとは如何に勉強不足であるか思い知る機会となった。 

[1611.05763] Learning to reinforcement learn

もしこの論文があまり読まれていないなら、その理由は「Learning to Learn using
Gradient Descent」にロジックを殆ど踏襲しており、これを読まないと全く記述が理解できないからである。

そこで遅まきながら一昨年のNIPSでかなり有名になったLSTMを使った汎用的最適化の下記の論文を読む。

arxiv.org

 この論文は最適化のSDGの収束ロジックを時系列のLSTMに置き換えたものといえる。

深層学習の良くできたモデルでは精度と汎化の両方が傑出している理由は解明中であるが、次の様に既存の数理的なロジックを深層学習に置き換えて、高次元(数万次元)でより性能改善を示す流れが顕著であり、これもその一つと考えられる。

変分法  VAE

[1312.6114] Auto-Encoding Variational Bayes

・ 事後分布 ABC

 https://papers.nips.cc/paper/8228-predictive-approximate-bayesian-computation-via-saddle-points.pdf

 

一般に多次元のパラメータでの関数の最適解ではSDGを使うが、関数の特徴(勾配や局所解)によって様々な工夫を使うのが一般的である。しかしLearning to learnではこの様な配慮を必要とせず深層学習で最適化できるとしている。 

 

(1) Learning to Learn モデル

最適化パラメータ\theta^*を解くにはLearning to LearnではSDGを以下と置き換えている。

     \theta^* = argmin_{\theta \in \Theta} f(\theta)                (1)

 ・SDG  

      \theta_{t+1} = \theta_t - \alpha_t \nabla f(\theta_t)       

 ・Learning to learn

      \theta_{t+1} = \theta_t + g_t(\nabla f(\theta_t),\phi)  (2)

      ここで

        \theta_tは最適化パラメータ(Optimizee)で1万次元を想定

        g_tは最適化関数(Optimizer)

        \phiはOptimizerのパラメータ

 (2)式は時系列過程であり、g_tをLSTMを使って性能を改善するアイデアは自然である。

これを定式化するとOptimizerg_tは以下の損失関数\mathcal{L}(\phi)の最小化を深層学習mで解いて得られることになる。

  \mathcal{L}(\phi) = \mathbb{E}_f [\sum_{t=1}^T w_t f(\theta_t) ]     (3)

    (3)式を以下の繰返しで最小化する

          \theta_{t+1} = \theta_t + g_t

          [g_t,h_{t+1} ] = m(\nabla_t,h_t,\phi)

      ここで

     w_tは深層学習の効率化のための緩和係数 実験ではw_t=1を使用

     \nabla_t = \nabla_\theta f(\theta_t)\theta_tでの勾配である。

          mは深層学習を示す 実験ではLSTMに限定していない。

     h_tは深層学習の隠変数

  Learning to Learnの論文では(3)式の最適化過程を下図で示している。上段では式(3)の最適化パラメータ\theta_t(Optimizee)の改善 下段では最適化関数g_tの改善を示している。 

f:id:mabonki0725:20190101104434p:plain

 上図の様なモデル化で高次元の最適化を実現しなければならないが、最適化パラメータの各次元\theta^i  i=1 \cdots nの交差を考えると天文学的な組み合わせになる。そこでLearning to learnでは下図の様に並列に次元数nだけLSTMを提供して実現していてパラメータの交差をしていない。この様なモデルの簡便化で性能が出るのが不思議である。

 f:id:mabonki0725:20190101105444p:plain

(2) 実験
 (3)式のmでSDGを含み様々な手法の結果を示しているがLearning to Learn(LSTM)が一番性能がよい。また実験2)でも分る様に1万次元の画像でもよく識別できている。

 

  実験1) 

   Quadraticはf(\theta) = || W\theta - y ||_2^2を示し \thetaは10次元

   20個の隠れ変数 2層モデルを使用

f:id:mabonki0725:20190101121241p:plain

   実験2)画像の識別

  ここで LSTM-subとはheld-out label(非学習用データでの区分)の結果 

f:id:mabonki0725:20190101121835p:plain

画像CFIRの識別(10個 5個 2個)結果

 実験3) 複数の損失関数でのLearning to Learn

          f(^theta) = \alpha \mathcal{L}_{content}(c,\theta) + \beta \mathcal{L}_{style}(s,\theta) + \gamma \mathcal{L}_{reg}(\theta)

f:id:mabonki0725:20190101122328p:plain

画像と絵画の合成 左端:原画像 中央:合成 右端:絵画

(3) 感想

 次元が高いパラメータでの関数の最適化でLSTMを用いたLearing to Learnが実験で汎用的に適合できることを示したが、何故実現できるかは皆目分らず、やはり深層学習の基本的な解明を必要としている。この辺の議論は最近特に成果が出始めていおり、日本では統数研の今泉さんらの成果がある。

深層学習による非滑らかな関数の推定