826 Views
November 29, 19
スライド概要
2019/11/29
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] モデルベース強化学習とEnergy Based Model Reiji Hatsugai, DeepX http://deeplearning.jp/ 1
2 モチベーション • モデルを学習して、それを活かす形で方策を得る、モデルベース強化 学習が最近熱い – PlaNet, SLAC, MuZeroとか • CoRLの論文を眺めていて、モデルベース強化学習してる論文をいくつ か発見 • その中でEnergy Based Modelと絡めて提案していて、Energy Based Modelの使い方が面白い論文が2つあったのでまとめて紹介
書誌情報 • Model-Based Planning with Energy-Based Models – Yilun Du, Toru Lin, Igor Mordatch, MIT, Google Brain • Regularizing Model-Based Planning with Energy-Based Models – Rinu Boney, Juho Kannala, Alexander Ilin, Aalto Univ • CoRL2019 3
前提知識 • ベーシックな(?)モデルベース強化学習 – モデルの学習 – モデルの活用方法 • Energy Based Model – 生成モデル 4
モデルの学習 • 状態s_tと行動a_tを受け取り、次状態s_t+1を推定するネットワークの 学習 5
モデルの活用方法:MPC • 行動の系列をランダムにサンプルし、現在の状態からサンプルされた 行動の系列を適用した時にどのような状態系列になるか推定 • 推定された状態系列と、行動系列に対して、報酬関数を適用し、報酬 関数が最大化される行動系列を選択 • 選択された行動系列の最初の一つを実際に起こす行動として選択 6
モデルの活用方法:CEM • MPCの時と同じ目的関数をブラックボックス関数として、Cross Entropy Methodで最適化 – CEM:行動系列をガウス分布からサンプルし、最適化されるブラックボック ス関数の評価値を取得。取得された値に応じてサンプルする分布を変化させて いき、評価値を向上させる 7
生成モデル • ここでいうエネルギー関数は、正規化されていない対数尤度関数 • 一般に、確率モデルを求める際に、分母の計算は難しい(積分操作を 行なうのが難しい) • エネルギー関数からサンプルする方法として、MCMCやランジュバン 方程式を使用したものがある 8
Regularizing Model-Based Planning with Energy-Based Models • モデルベース強化学習の問題:間違ったモデルの推定を元に行動系列 を最適化してしまうことで、現実では全く役に立たない行動を選択し てしまう • この論文では、状態、行動、次状態のトリプレットの対数尤度を報酬 関数に追加 • 報酬関数を最大化しながら、尤度が低い(観測される確率が小さい) モデルの推定を弾くことで、上記問題を解決しようとしている 9
尤度関数からエネルギー関数へ • 対数尤度の分母の項は、行動系列に依存しない値なので、最終的にエ ネルギー関数のみが目的関数の項に残る 10
エネルギー関数の構成方法 • Deep Energy Estimator Network (DEEN) という手法とDenoising Auto Encoder (DAE) という手法でエネルギー関数の推定を実施 11
実験 • 学習済みモデルを利用したモデル活用方法の比較実験 • モデルの学習を含むゼロからの学習曲線 • エネルギー関数の効果 12
学習済みモデルを利用したモデル活用方法の比較実験 • PETSの学習で得られたモデルを利用して、モデルの活用方法だけを表 の4種類比較 • 探索方法にCEMを用いて、DEENによってエネルギー関数の追加報酬を 加えたものが一番高い報酬値となった 13
モデルの学習を含むゼロからの学習曲線 • PETS, GPと比較をしている • 比較対象(赤、黄)よりサンプル効率よく学習していることがわかる 14
エネルギー関数の効果 • モデルを使って予想された収益(赤線)に対して、実際にその時の行 動を実施した時の収益(黒線)を表示した図 • 赤線と黒線が合致しているほど、モデルを使った予想通りに実際の環 境で実行ができている • DEENを使ったRegularizationだと、赤線と黒線がかなり一致している 15
Regularizing Model-Based Planning with Energy-Based Modelsまとめ • 学習済みモデルが存在する時に、エネルギー関数を考えることで、性 能を向上させることができた • フルスクラッチで学習する場合においても、エネルギー関数での Regularizingによって高いサンプル効率で学習が可能ということがわ かった 16
Model-Based Planning with Energy-Based Models • モデルの学習を陽に行わずに、状態の遷移(状態と次状態のタプル) に関してエネルギー関数を学習し、エネルギー関数を最小化しながら、 最終目的状態との距離も最小化 – エネルギー関数の計算に行動の項は一切入らない。状態に対してのみ – 最終的な行動の選択の際は、状態系列を入力としてそれを達成する行動を出力 するネットワークを用いる 17
エネルギー関数について • 状態のタプルについての正規化されていない対数尤度 • エネルギー関数は、GANのような形で学習され、実際にサンプルされ たデータに対するエネルギーを最小化し、エネルギー関数を用いてサ ンプルされたデータに対するエネルギーを最大化するように学習する 18
MPPI • エネルギー関数からのデータをサンプルする際、MCMCやランジュバ ン方程式を使ったものではなく、重要度重み付けを使ったMPPIを用い てサンプルを行なう • 一つまえの変数からガウシアンノイズを加えて、エネルギー関数の重 み付けで足し合わせる 19
最終的な目的関数 • 最終状態で目的とする状態に到達することを条件付けることで、下の 確率分布からサンプルされるような状態系列を達成すればよい 20
オンラインでの学習 • 障害物などがある場合、障害物によって進めなかったというデータを 元にオンラインで学習することで、障害物を回避するような新たな状 態系列がサンプリングされるようになる 21
アルゴリズム 22
実験 • 色々やっているので、以下を抜粋 – Energy Based ModelとActionFF(状態と行動を受け取って次状態を出力する 順モデル)の比較 – 学習データセットにない障害物に対する対処 23
Energy Based ModelとActionFFの比較 • Sawyer Arm(7DoFのロボットアーム)で目的の位置に到達させる • モデルを学習させるか、オンライン学習させるかによらず、EBMの方 が良い結果 • 特に、オンライン学習させる時に大幅に改善 24
学習データセットにない障害物に対する対処 • Particle:粒子を目的の位置まで運ぶ • オンライン学習を組み込んだEBMでは、学習時になかった障害物が あったとしても、タスクを成功させた 25
Model-Based Planning with Energy-Based Modelsまとめ • Energy Based Modelによるプランニングは有望である • オンライン学習の設定を入れることでパフォーマンスを向上させるこ とができた 26
感想 • Regularizing Model-Based Planning with Energy-Based Models – モデルの不確かさについて、分散等が直接計算できる手法がよく提案されてい るが、EBMでうまく表現していて、興味深い – EBMがOODデータに対して高い尤度を持たないという特性によってこれが実 現されているのだと思う • Model-Based Planning with Energy-Based Models – モデルベース強化学習を考える上で、陽にモデルを構築しないというのは面白 い発想だった(ただ、あんまりこの方向で考えすぎると、モデルフリー強化学 習に帰着するのでは?) – 著者が謎にオンライン学習押しだったが、どれくらい使えるシチュエーション があるだろうか気になる – あとこの手法はリーチング系以外厳しそう 27