因果関係を捉える強化学習の論文を読む
因果推論では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となり事実上計算不能になる。
従って本論文では5個のノードを有する58749通りのDAGがを対象としている。
(このうち300個は試験用でその他の殆どは学習用にしている)
(1-2) 生成されたDAGの各ノードの値
ランダムに生成された5ノードのDAGでは、rootノードの情報は隠されているが、それ以外の親ノードを持たないノードは標準偏差0.1の乱数で値が設定されている。各矢印の重みには{-1,0,1}の何れかがランダムに設定されている。即ちノードの値は以下の乱数で設定されている。
親ノードが無い場合
親ノードがある場合
はノードの親ノード全部を示す
(1-3) DAGからの情報
rootノード以外の各ノードの値とノード間の相関係数はエージェントに伝えられる。しかし連結状態はエージェントには分からない。
(1-4) 介入(intervention)とは
選択したノードに強制的に値を設定して、下図の様に介入したノードが因果の影響を与える全てのノードの値を変更する。下図には示されていないが変更されたノードはさらに因果の方向に変更を伝播させる。但し介入ノードは独立となり親ノードの影響を受けなくなる。
(1-5) DAGの学習方法
この論文ではDAGの構造理解への学習フェーズは2過程に分かれている。
(i) Information Phase (状況提供フェーズ)
エージェントはノード数の数だけ介入しノードに値(5点)を設定することができる。この介入操作でDAGの各ノードの値は因果の方向に沿って伝播して変更されれ、エージェントはこの結果を収集することができる。
(ii) Quiz Phase (問合せフェーズ)
上記の情報フェーズ後、エージェントは影響が一番大きい(相関が一番大きい)ノードに(-5点)設定して、その負の介入によりDAG内で最大の値を持つノードを選択してこれを報酬とする。下図はDAG構造を推定して最大値(0.0)のノードを報酬とした例である。
学習は上記の2フェーズをランダムに生成したDAGで報酬を得て、その報酬よりActor-CriticでQ関数を改善するが、パラメターはメタ学習で行う。
(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)は高い値を持つノードが判断しやすい事を示している。
(2-2)Interventional実験
Information Phaseでは介入操作が行われ、その結果はエージェントが観測できる。
この実験でのエージェントの観察方法
Passive-Int:介入操作によって大きく値が変わったノードへ因果矢印があると解釈する
int. Map:介入操作によって変化した状態を満たし最尤となる構造を推定する
図(c)にある様に介入操作で矢印関係を正確に掴んでQuiz Phaseでノードを選択しているが少ない値を選んでいる。図(a)では介入による解釈が有意である事を示している。
(2-3) Counterfactual実験
介入以外に反証的な操作として有り得ない値を設定している。
この実験でのエージェントの観察方法
Passive-CF:一連の介入と観察の最後にさらに+5を加点した介入をして観察して因果方向を解釈している
Optimal-CF:反証的な介入での観察から最尤法によるDAGの解釈
図(c)の左では介入だけでは同じ値で最大値を選択できていないが、反証的操作によって差ができて最大値ノードを選択できている。
(3) 感想
一般に因果の方向を正しく推定するには介入や反証的介入が必要とされているが、項目数が多いと介入実験が複雑になってくる。この論文はこれをロボットに置き換えて自動化を試みたものといえる。しかしロボットを使った問題として介入毎に全ノードの観察データを取得してロボットに示さなければならず、またノードが増えた場合にはより膨大な処理時間が必要となると思われる。しかし正確な因果をロボットで試みるのは新しい考え方ではある。
[1][1606.04474] Learning to learn by gradient descent by gradient descent
[2][1611.05763] Learning to reinforcement learn
最難問ゲーム「Montezuma逆襲」でぶちぎりの得点を出したUberの論文を読む
下図の様にDeepMindのDQN[1]でAtariゲームで最難問と云われる「Montezuma逆襲」でぶちぎりの得点を弾き出したUberの論文を読んでみる。(Uberはネットでのタクシー手配提供会社)
この論文は下図の様に隔絶した得点を出したことが2018年末報告されており、その論文がやっと年初に出たので読んでみる。但し論文にはゲーム[Pitfall]の実験成果も報告されているが省略する。
[1901.10995] Go-Explore: a New Approach for Hard-Exploration Problems
このUberのモデル(以下Go-exp)は人間のゲーム知識を入れた得点(67万点)が赤枠で囲ったもので、青は人間のゲーム知識を入れない得点(4万4千点)である。
上図の下辺を拡大した下図(スケールに注意)に示す様にゲームの知識を入れないモデルの比較でも隔絶した得点をたたき出していることがわかる。緑丸のRNDは2018年に出された好奇心で探索する画期的な「Random Network Distillation」[2]モデルで、これも相当凌駕している。
この様にどうして隔絶した得点を出せたかについて論文を読んでみる。
・モデル
上述した様にRNDは内発的動機IM(intrinsic motivation)をモチーフにして探索するが、Go-expでも前方探索に[detachment]としてIM使い、後方探索として容易な戻り[derailment]が出来る方式を採用している。
Go-expはよく練られた2つのパイプライン(phase1 phase2)で構成されている。
phase1は要点(cell)の設定と要点間ルートの探索と保存を行い、phase2は保存された最適なルートを逆に辿って最大報酬が得られる様に強化学習[3](PPOモデル[4])をしている。
phase2とphase1に分て次の様なアイデアで高得点を実現している。
<phase2 >
①以前から複雑なミッション(例えば鍵のある部屋の探索等)ではゴールから逆向きに
学習すればよいと云われていたが、phase2はゴールに達した保存されたルートから逆に辿って実現している。
<phase1>
①phase1では探索がし易い様に、画像の次元を落として灰色の粗い画像上で行っている。
②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
DeepMindの2D画像から3D動画を生成するGQNの論文を読んでみる
GQNは下図の様に隠れた物体が写っている2Dの画面を様々な方向から見た3D画像にして評判になっているが、これは現象から実体(3Dでの位置)を掴むベイズ式をうまく実用化しているからである。
まさしくプラトンのイデア論[1]を実現した画期的な試みである。画期的というのは、ベイズは次式の通り観察から実体を推定する式であるが適当な実体の分布を仮定しなければならず実用的でなかった。しかしGQNはこれを深層学習で逐次的処理に置き換えて実用化したものと云える。
GQNの論文は下記サイトの(open access version)から入手でき23頁から手法の記述がある
Neural scene representation and rendering | DeepMind
(1) GQN(Generative query networks)
観察の分布から実体の分布を推定するのは次のベイズを使ったの変分を使って最適化すればよい。
但しは損失関数 はKL距離で以下が定義である。
これは次の様に式を展開すると証明できる。
ところでなので
GQNは実体を観察で推測するが、見る場所を条件とした条件付き変分式を解いている。
上式を論文の記述に従うと観測点が複数ある場合、損失関数を使って
上式を変形して論文の(S4)式が得られる。
(S4)
但し論文の記述に合わせて以下とした。
(S2)
(S4)の左辺の損失関数をELBO(Evidence lower bound)と云っている。
(a) 距離の最短化の問題
確かに(S2)式のELBOは美しい式であるが簡単に解けない。KingmaのVAE[2]はもも混合ガウス分布を仮定しているので距離は解析的に解け最適化は容易である。しかしGQNの様な2Dから3Dの生成の様な複雑な課題に対しては混合ガウス分布の適用は難しいと考えられる。そこでGQNは変分に自己回帰の深層学習(RNN)を導入して時系列の繰返し処理で距離を漸近的に最短化を図ろうとして画期的な試みをしている。下図の様にこの処理をRendering stepと云っている。
まず実体をL個に分解して次の様な工夫をしている。
(S8)
ここで
は推定したい画像のカメラ位置
はM個の観測された画像群の特徴情報
但し実装ではは単純和を採っていて、Mは最大30もあれば十分としている。
は観測画像 は観測画像のカメラ位置と傾き
は
はカメラの位置 とはカメラの傾き
この分割した実体は上図に示す様に、生成モデル側(Generation process)と回帰モデル側(Inference process)との両方で推定し、この両方をELMOで一致させる事で精緻化を行っている。
(a-1) Decoder側(Generation architecture)
右辺は次の(S11)でを使った正規分布で定義され、隠れ変数は(S12)の自己回帰型RNN深層学習で更新している。但しは多次元正規分布を示す。
(S11)
(S12)
また推定された画像は次式でサンプリングしている。
ここで
は推定された画像
は最終時の状態を示す情報
で更新される
(a-2)Encoder側(inference architechture)
(S20)
(S21)
(a-3) ELBOによるの一致
下図の様にRendering stepの生成側と回帰側で実体をELBOで一致させている。論文では(S4)のELBOを上記の実体をL個に分割した結果を使って次式で解いている。
ここで
は観測データ群
また上述に示した様に次の定義を使うと論文の(S24)が得られる。
(S14)
(S11)
(S21)
(S24)
上式のELBOは全て多変量正規分布で記述されているので求めるパラメータは平均と分散となる。少なくともは解析的に計算でき、このELBOの最小化は局所解を持たず必ず収束できるはずである。
(2) 感想
変分ベイズの美しい式で初めて実用化に成功したのはKingmaのVAEであった。しかしこのVAEでは簡単な画像を対象とし、回帰と生成画像は同じであったので、変分を混合ガウス分布と置いて距離を解析に解き、回帰側と生成側はCNN型深層学習で近似する方法であった。
しかし2D画像を3Dにする複雑な課題ではを解析的に解けるモデルでは精度に限界があると予想される。そこでGQNではRenderingと称する実体を分割して自己回帰型で逐次精緻化する手法を採ったと思われる。
GQNは今まで変分ベイズでの距離が混合ガウス分布しか適用できなかった限界を始めて超えたもので、VAEの応用を広める手法として画期的な手法として評価できる。
なお松尾研の松島さんの報告[3]では松尾研で開発した状態表現用ライブラリィPixyzを使ってGQNを学部4年生が実装(公開済)したとのことである。
[2][1312.6114] Auto-Encoding Variational Bayes
[3]第32回 強化学習アーキテクチャ勉強会 状態表現学習と世界モデルの最近の研究,および深層生成モデルライブラリPixyzの紹介 #rlarch - Speaker Deck
画像から実体の推移を予測して学習する論文を読んでみる
プラトンのイデア論では「本当にこの世に実在するのはイデアであって、我々が肉体的に感覚している対象や世界とはあくまでイデアの《似像》にすぎない」[1]としている。例えば3D迷路の場合、迷路内の自己位置が実体で、壁に囲まれた通路の視野が似像(画像)とするとプラトンのイデア論そのものである。3D迷路内を効率的に探査するため、画像から実体を推定し、その遷移予測から画像を復元する論文(以下TD_VAE)を読んでみる。
[1806.03107] Temporal Difference Variational Auto-Encoder
(1)モデル
(a)潜在空間モデル
3D迷路の自己位置が時系列で移動するとして、実体がと変動するに応じて観察も変化する潜在空間モデルを考える。
ここで実体の推移確率を全観察から推定するEncoderを導入する。
(0)
ここで は 全観察上の関数である。
また実体と観察の同時分布は尤度と推移確率を使かうと次となる。
この対数表現は
上式の実体での期待値は
の代わりにを使うため(0)式のEncoderを使うと次の下位限界が得られる。
(1)
ここで中括弧内の(0)式の近似が一致する場合、両辺が一致することがわかる。
(b)ELBO(Evidence Lower Band Optimizer)モデル
(1)式で過去の観察に依存し、2回のの両方がに依存すると(3)式に変形できる。
を使って
(3)
さらに以下の事実を使うと(4)式で示せる。
はのみ依存
実体遷移ではは無関係
Bayes公式
(4)
ここで記憶の概念をRNNで導入する。即ち時点までの観測を使う代わりに過去の記憶を反映できるRNNモデルとすると便利である。RNNを使ってをとすると(4)式を変形して次のELBOの損失関数が定義できる。
(5)
但し
負の対数尤度
(c)TD_VAE Jumpyモデル
ある目的を達成する場合は道標(マイルストーン)を設定して進む場合が多い。目的を達成する強化学習でも例外でなく逐次的処理を効率化できる。されに道標を設けることにより、道標間の上位モデルと道標内の下位モデルで階層モデルを導入できる。TD_VAEでは2階層のRNN構造階層モデルを構築している(論文図8参照)。そこでTD_VAEではステップ間でのELBOモデルに変換している。
(6)
(2) TD_VAEのアルゴリズム
アルゴリズムでは下記の(a)と(b)は同じ実体を示しており、Encoderと実体の推定確率とが同じになる様(下図ではSmoothing)に距離最小化を損失関数に挿入している。
(6)式TD-VAEの損失関数とアルゴリズムの損失関数の対応を以下に示す。
(a)
(b)
(c)
(d)
(e)
論文では上記のアルゴリズムの手順を下図の①から⑧に示している。
以下の ①から⑧を繰返して損失関数を改善してEncoderとDecoderのパラメータを改善する。
十分改善した時、Encoderで画像を再生し強化学習より次の道標に進む。
①RNNと観察よりを生成
②次の道標を選択
③RNNのより(d)式で次の実体を予測
④(d)式により実体を予測
⑤(b)式のEncoderと(a)式のDecoderとのを計算
⑥次の予測実体を使ってEncoderを計算
⑦予測された実体をEncodeして観察を生成
⑧損失関数を最小化するためとのパラメータを最適化
(3) 実験
DeepMind-Labの3D迷路では2種類の実験を行っている。
(a) [1 ~40]をランダムの時点についてRNNで記憶をさせて、適当に3つの記憶から実体の推移5回予測してDecodeした画像を指名している。下図では異なった場面で連続した画像が得られていることが分る。
(b) TD-VAEで迷路探索を行った結果では、下図の4種類の画面遷移では全て前に進み通路に向かおうとしている事がわかる。これは実体を予測してDecodeした画像により強化学習を行っている事を示している。
(4) 感想
(a)残念な事にTD-VAEでは(6)式の損失関数のみ定義されているだけで、次の分布の、詳細な記述が無い。KingmaのVAE[2]ではは混合正規分布でしか収束が保障されないはずである(最近この拡張論文を知った[3])。報告されているアルゴリズムで正しい収束ができているか不安である。ELBOの収束の問題は[4]に詳しい。
実態の分布 (普通は正規分布)
変分Encoder (普通は混合正規分布 数千次元)
記憶呼出
(b)TD-VAEではJumpy(飛ばし)な時系列を導入して、効率的な実体の予測をしているが実験ではランダムに時系列をサンプリングしているに過ぎない。論文の4.3節では価値関数やに対してを探索すべきとある。また一方で記憶ととの訓練で得られるとあるが、具体的な方法が述べられていない。
(c)3D迷路図でDecoderされた画像は相当粗いものらしく拡大しても精度が良くない。これではUNREAL[5]の様な迷路を解くモデルが適用できるか不明である。
(d)TD-VAEは画像予測にVAEを使ったもので、強化学習はその予測を使うだけになっているが、Jumpyな画面遷移を予測できることからSuttonのoption等を導入できれば階層型強化学習として有望だと思われる。
[1] イデア論 - Wikipedia
[2][1312.6114] Auto-Encoding Variational Bayes
[3][1808.10805] Spherical Latent Spaces for Stable Variational Autoencoders
[4][1706.02262] InfoVAE: Information Maximizing Variational Autoencoders
[5] DeepMindのUNREALでの暗黙の特徴量 - mabonki0725の日記
砂のトラックを走行する実自動車での強化学習の論文を読む
下図の様な砂のトラックを走行する自動運転ではアクセルやハンドルの伝達誤差また砂利面との滑りや摩擦があり、予想し得ない事象が頻発すると想定する必要がある。下記の論文は実際の自動車での強化学習をMPPI(Model Predictiv Path Integral)と云う手法で実験した論文を読んでみる。
https://www.cc.gatech.edu/~bboots3/files/InformationTheoreticMPC.pdf
DQNやActor-Criticの様なModel-freeモデルでは、環境から持続的な特徴量の変化を抽出して最大報酬を得る様に行動決定のパラメータを調整するが、様々な原因で変異や誤差がある環境では学習に相当時間(2,3日)かかる事が報告されている。一方で実際の課題に沿ったモデル化から最適化を図るModel-Baseモデルは学習効果が著しいとされる[1]。
(1) モデル
この論文は対象を限定せず制御誤差があり罰則(コスト)が設定されている動作物体の最適操作について汎用的に記述しているが、具体的にトラックを周回する自動運転での説明とする。
動力エンジンの機構や地面との摩擦等により操作が自動車の制御機能に伝達するには誤差があるとして、その誤差を多変量正規分布とする。コストはゴール前の離脱やトラック(走行路)を逸脱すると与えられるとする。この論文では、この様な条件でコストを最小化する経路上の操作量を求める。
(1-1) 状態遷移モデルの定義
状態の遷移過程は次の関数とし、具体的には観測された状態と操作の記録により全結合のニューロで学習する。
(1)
ここで
は時刻での状態
は運転操作の量(アクセル、ブレーキ、ハンドル回転量)
は実際に自動車に伝わる制御分布。平均はで分散をとする正規分布
は状態遷移関数で全結合のニューロで学習される。
(1-2) 操作と制御の分布およびコスト関数の定義
以下ではコスト関数の自由エネルギーの最小化を考え、経路上の時刻での操作量を次の(8)式から(26)式で求める。
ここで制御の経路を使って以下の定義をする。
・制御の分布
(2)
・運転誤差の分布
(3)
・コスト関数
(6)
ここではゴールに失敗のコストでは状態でのコスト
(1-3)コスト関数の自由エネルギーの導入
ここで制御の分布について期待値を取ったコスト関数の自由エネルギーを定義して、この最小化によりコストが最小になる操作を推定する。この手法については文献[2]が詳しい。
(8)
上式の自由エネルギーを運転誤差の分布についての期待値に変換する。
(9)
ここで を使った。
(9)式はJensenの不等式を使うとが期待値の中に入り次式になる
(10)
式(10)で操作誤差分布が次の時、両辺とも定数になり不等式が一致するので自由エネルギーが最小になる。
(14)
ここでは分配関数でを確率0~1にしている。
上式を(9)と(10)式に投入するとJensenの不等式が一致することが分る。
そこで全経路について(14)式にできるだけ一致する操作をで求める。
経路の集合ではの定義より次の様になる。
上式の第一項では(14)式、は(2)式より操作と無関係なので
上式の第二項を最大化すれば最適なが求まる。
(16)
(16)式の中のは定義(2)と(3)式より以下となる。
(17)
(16)式は以下に変形できる。
(18)
(18)式をと置きについて微分すると
(19)
上式を0とすると操作の最適下は以下となる
(20)
(1-4) 実装のためのImportanceサンプリング手法の導入
ここからは(20)式を実用的に使うため次式に変形してImportanceサンプリング導入する。
(21)
ここで とすると
(22)
Importanceサンプリングは(17)式と(14)式を使うと
(23)
ここで観測で得られた時間毎の誤差を使うと なので(23) 式は
(24)
ここでである
誤差が分っている場合、(22)の経路の集合での積分を観測可能な経路の集合に置き換えてサンプリングして、その総和で置き換えると操作の最適制御は次式で更新できる。
但し (26)
(1-5) 状態遷移関数の学習
コストを最小化(または報酬を最大化)する操作は(26)式で求められたが、この操作によって状態がどの様に推移するかは次のニューロで学習する。
ここで
状態はシステムの状態とその変化とする
は全結合のニューロで、状態のモニタリングと操作の記録により学習する。
(2) 実験
実験は下図の様な砂のトラックの実験場で以下の条件の自動運転で行う。
まず人間が30分程度毎に様々なスピードで多様な運転を行ってパラメータを取得している。安定的な自動走行が可能になった後、砂上トラックでの自動運転の実験を行っている。
(2-1)実験条件
・誤差
ハンドル: 0.20 スロットル:0.25
・(6)式のコスト関数
ここで
は走行時のspeed
は設定speed
学習時 9m/s
試験時 10m/sから13m/sに速度を上げて行う
はトラック内を格子状にして設定したコスト
トラックを外れるとコストが大きい
は横滑り許容角度を超える場合のコスト
学習時の許容角度は15.76度 試験時の許容角度 21.5度
はクラッシュした場合は1 ゴールした場合は0
(2-2) 実験結果
訓練は5回行い(45回の周回)、試験はスピードを10m/s から 13m/sに徐々に上げる。下図は上段が訓練時、下段が試験時である。コーナではトラックから逸脱しない様に減速し、直線では増速していることが分る。
(3) 感想
この論文では制御機能と運転操作の伝達に多変量正規分布の誤差がある場合で、定められたコストを最小にする強化学習を提案している。
学習はImportantサンプリングによる最適操作量と状態遷移とで2重に行われている。そのため安定するまで相当な走行が必要と思うが詳細な記述が無い。特に(26)式では観測できる経路の全てについて(24)式のImportantサンプルを求める事が必要である。
またこのモデルは残念な事に(26)式にある様に全経路と各時点での操作と制御間のエラーの量が予め求められている必要がある。実験ではハンドルとスロットルの誤差のみ設定しているが、本当は各トラック上での操作誤差は事前のトラックの周回中の観測で得ている思われる。本論文のMPPIはパラメータの設定が難しいので、複雑な経路や凹凸がある場所での実機の試験については文献[1]の実績にある様に、短区間のみMPPIを使い、全区間ではメタ学習による更新ロジックと組み合わせるモデルが現実的と思われる。
[1]メタ学習による実世界での変異や誤差に対応した学習の論文を読む - mabonki0725の日記
[2]https://homes.cs.washington.edu/~todorov/papers/TheodorouCDC12.pdf
メタ学習による実世界での変異や誤差に対応した学習の論文を読む
ゲームの世界と違って実世界では次の様な実際の環境の変化に柔軟に対応して制御する必要がある。
・接触摩擦 視覚ノイズ モータ誤差 地面の凹凸・勾配 空気抵抗 加速時間
この様な課題に対して、自動運転の場合は移動に誤差が生じ自己位置が不明になるので、センサーで逐次的に自己位置を修正する粒子フィルターやSLAM(Sumiltaneous Localizaion and Mapping)[1]と云う理論がある。一方ロボッテクスでは、実際の駆動誤差を最適に制御する現代制御理論とタスクの最適化をする機械学習を統合したGuided Policy Search[2]がある。
今回読んだ論文は、報酬を最大化する強化学習として上記の様な変異に柔軟に対応するため、過去の経験から構築したメタ知識を変化に応じてon-line型で変更するモデルである。
(1) モデル
過去の経験から更新規則を使ってメタ知識の損失を最小化する次式を示している。
(1)
ここで
はメタ知識を使った損失を示す
は経路での新たな経験
は経路での過去の経験
は過去の経験によるパラメータの更新規則
よって(1)式はパラメータをもつ更新規則が過去の経験に基づいてメタ知識のパラメータを更新し、これを後続の経験で試した場合の損失を最小にするモデルと云える。
(1)式の最適パラメターとを解くには以下の2方法を示している。
①勾配法メタ学習(Gradient-based meta-learning)
②再帰的メタ学習法(Reccurent-based meta-learning)
これは深層学習RNNを使う方法で、深層学習RNNがパラメータとを決定してくれるので楽である[3]。
(1)式について時間の経路データを定義して損失関数を正確に記述する。
(3)
ここで
は環境での時刻で過去の時刻Mから先の時刻K後までの経路データ
とはハイパーパラメータで、が既存のパラメータを使った訓練時間で、が新パラメータで試した時間
は行動による状態の遷移確率
即ち(3)式の損失関数はパラメータを使った遷移確率の負の対数尤度のK時間平均の値を示していて、遷移確率の尤度が高ければ損失が低い事を意味している。
パラメータの更新ルールも負の対数尤度を使って次式としている。
(5)
環境の変化が想定できない場合はModel-freeの様なモデルでは環境から適切な特徴量が得られないので、最適行動の推定が困難である。そのため、この論文では遷移確率を最適化するModel-baseのモデルとしている。さらに変化に即応するためアルゴリズム2で示すmodel-basedのMPPI(model predictive path integration)[4]による強化学習で経路を生成し、これから最適な遷移確率を求めている。
(2) アルゴリズム
この擬似コードは(5)式のGrBAL(Gradient-Base Adaptive Learning)を示している。RNN型のReBAL(Reccurent-Base Adaption Learner)は全てRNN型深層学習によって学習されるのでアルゴリズムは示されていない。
(4)式から判明する様に損失関数は時間Kの遷移確率の負の対数尤度の平均なので、下図の注の様に損失関数の最適化するパラメータは遷移確率の尤度を最大化することになっている。
アルゴリズム2はModel-Basedとして局所的な強化学習である。過去のK時間の履歴より最適な遷移確率を求めてから報酬を最大化できる行動を選択している。この手法はMPPI(Model Predictive Path Integral)と云う[4]。ここでは計画時間 は説明がない。
下記の13、14行についての微分式の記述は無い。パラメータとの最適化は深層学習行っているので、深層学習の最上位層から逆伝播する場合の差分値を採っていると思われる。
(3)実験
実験としては下図の6種で成果を示している。何れも通常の状態から突然環境が変化した場合に対応できるかが課題である。
仮想上の環境の実験
①上左図:赤い部分が正しく連結していないチータの学習
②上右図:赤い部分の足が短小になった蟻の学習
③中央左図:平地から起伏を走るチータ
④中央右図:平地から水面に浮かぶ道を走るチータ
実世界での実験
⑤下左図:発泡スチロールの上を移動する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(左端)によっていることが分る
(3-2)実験結果:Model-Based と Model-freeとの比較
左図は①の課題 右図は③の課題での各モデルの報酬を示す。
環境が変わる場合はModel-Basedの方がModel-freeより驚異的に学習することが分かる。図中の鎖線はModel-freeで2,3日学習させて場合のreturnである。Model-basedでは数時間でこのレベルに達していることが分る。
(3-3)実験結果:実機での性能試験
実機ロボットは下図の様に左右に3足あり片側3足は同時に動く。中央のロボットは移動中に足が外れた状態を示している。このロボットには24次元の状態を持ち、行動は2次元で、左右の3足のスピードが調整できる。
実機では以下の環境変化での報酬を比較した。
・勾配登り ・足の欠損 ・前方牽引 ・右側牽引 ・姿勢変化
何れもGrBALが優れている。
さらに環境の復元状態を進行方向]tex:x]と横方向で示している。鎖線は正等な移動状態を示す。何れもGrBALでの横方向の誤差が少ない。
左図から 足の欠損 横方向の勾配 姿勢の誤補正回数 左右の牽引
(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
言語解析で使う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の一連の入力と出力について以下の損失関数を最小にする様に調整している。
但し
はtask
は入力、
は出力
ここで云うメタ学習とは同じモデルで異なる課題を学習できる事を示している。Taskの構造が異なっても、正解が判明している場合や学習済みの一連の入出力データをTaskとして生成し、これを逐次的にSNAILに通すことによってTaskが持つデータパターンを学習し、これを繰返す毎にその予測精度を向上させるものである。
(1)アルゴリズム
下記の①と②のプログラムは上図のネットワークの部分に対応している。ここでは言語解析で使う次の特徴抽出機能でデータを変換している。
①は入力を2の乗数毎に分割してCNNで特徴行列を作成している
②は自己注意(self-attension)を使って入力の特徴(Attension)を取出している。
入力を個で要素に分解した2つのデータに変換し、これらの内積(matmul)を計算して各要素の生起確率(Softmax)を計算した後、一定の数での特徴量に変換している。
(論文 Attension is All you need[1]参照)
(3-1) 教師ありデータの識別実験
手書き文字OmniglotとImageNet画像の分類結果をSNAILに投入して驚異的な識別精度を示すことができている。両課題とも投入条件として、N個の分類毎にK個のデータでK×N個セットを1ブロックとしてランダムにSNAILに投入し繰り返し学習させている。
・手書文字Omniglotの教師あり識別実験
OmniglotはLakeが生成モデルによる文字の構造認識[2]に使った下図の様な手書き文字で、これの1200種を学習させ、その結果を教師データとしてSNAILに投入している。
SNAILによるOmniglotの文字種類の識別予測結果(N-way : Nは分類数 K-shot::Kは分類毎の学習データ数)では全てにおいて最良の結果が得られている。
・ImageNetの画像の教師あり識別実験
ImageNetは下図の様に分類別に画像をダウンロードできる。これもN分類毎にK個のデータでN×KのセットをSNAILへの投入を繰り返し学習させる。
ImageNetのSNAILでの識別結果(N-way : Nは分類数 K-shot::Kは分類毎の学習データ数)では全てにおいて最良の結果が得られている(±は95%信頼区間)。
(3-2)強化学習での行動予測実験
以下の4種類の課題について、何れも強化学習済みのTaskが生成する状況と行動をSNAILに投入して、次期の行動を予測する。この課題に使った強化学習は何れもTRPO/GAEモデルである。
①複数のスロットマシン(N腕バンディット問題)
②タブレット上の移動(省略)
③チータとアリの移動(省略)
④3D迷路での宝探し
①N腕バンディット問題
K個のスロットマシンでそれぞれ当たる確率が異なる場合、定められた試行回数Nで最大の当たる回数(得点)を求める課題である。
ベイズモデルのGittenを無限回行うと理論解になる事が判明していて、SNAILでは試行回数が少ない場合はGittenより良い結果を出していることが分る。
④3D迷路での宝探し
下図の左橋図の様に自分視点(first person)の3D迷路と宝は強化学習用のツールであるVizDoomでランダムに生成されたものである。ここでは簡単な迷路と複雑な迷路の2種類でSNAILの性能を試している。ここで報酬は宝を得る(+1)、罰則は一歩毎(-0.01)と壁に当たると(-0.001)としている。
下表の迷路探索の結果は宝を見つけるまでの平均の歩数である。2つのエピソードの内epsortd2はepsortd1と同じ迷路での探索でepsort1の探索の学習を使っているので短く済んでいる。上図の赤線はepsord1で青線はepsort2で近道をしている事が分かる。
(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
: