1.3K Views
November 28, 17
スライド概要
2017/8/24
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
逆強化学習とGANs 冨山 翔司 東京大学松尾研究室,株式会社DeepX 2017/08/24
自己紹介 • • • • • 冨山翔司 東京大学松尾研究室修士2年 株式会社DeepX 趣味:ボルダリング 興味:系列モデリング 2023/10/9 2
今日の話 • Guided Cost Learning – 今日の中心 • Guided Cost Learning and GANs • Generative Adversarial Imitation Learning 2023/10/9 3
報酬関数の定義は実世界では難しいことがある [0] 2023/10/9 4
逆強化学習の枠組み [0] 2023/10/9 5
Behavior Cloning VS Inverse RL • Behavior Cloning – デモンストレーションのデータで教師あり学習(尤度最大 化) – 行動空間が大きい場合に,全てを網羅するようなデモンスト レーションを確保するのが困難 – 仮に十分なデモンストレーションを確保できても,良いポリ シーを獲得できない • 尤度最大化による学習は.全てのモードをカバーするような分 布になってしまう – e.g. 理解不能な画像の生成 • Inverse RL – 少量のデモンストレーションからでも方策を学習できる – Behavior Cloningに比べ良い方策を獲得する • 尤度ではなくコストの最適化をしているから – モードとモードの間に確率密度を置かない – あれGANっぽい 2023/10/9 6
エントロピー最大逆強化学習 [0] 2023/10/9 7
アルゴリズム ・ダイナミクスがわからない ・コスト関数が複雑(e.g. NN) な場合は,このアルゴリズムを適用できない [0] 2023/10/9 8
分配関数Zの計算が最大の問題 分配関数Zは状態が連続だったりすると計算できない サンプリングでどうにか回避する(Guided Cost Learning) 2023/10/9 9
Guided Cost Learning [1] 2023/10/9 10
Guided Cost Learning [1] 2023/10/9 11
コスト関数のパラメータに関する勾配 • 𝑝(𝜏)の負の対数尤度 𝑤𝑗とする 𝑞(𝜏)からの重点サンプリングでZを近似 • 上の,コスト関数のパラメータ𝜃に関する勾配 ※この𝑍は 𝑍 = σ𝑗 𝑤𝑗 2023/10/9 12
𝑞(𝜏)はどうすればいい??? • 理想的な𝑞(𝜏)は求めたい分配関数が exp −𝑐𝜃 𝜏 なので明らかに 𝑑𝜏 𝑞(𝜏) ∝ exp −𝑐𝜃 𝜏 • 𝑞(𝜏)を,その時点でのコスト関数𝑐𝜃 𝜏 に関して毎回 最適化. – 𝑞(𝜏)がより(現在の)コストの低い軌道を生成するようにな る – 𝑚𝑖𝑚𝑞 𝐸𝑞 𝑐𝜃 𝜏 − 𝐻(𝜏)を目的関数にすることで 𝑞(𝜏) ∝ exp −𝑐𝜃 𝜏 を復元可能 [Ziebart, 2010] • どうやって𝑞(𝜏)を現在のコスト関数に関して最適 化? – Guided Policy Search • ダイナミクスが未知でもオッケー • サンプルが少量で済む 2023/10/9 13
(エントロピー正則での強化学習の目的関数) RL objective 𝐿𝑅𝐿 𝜃; 𝜏, 𝐷 = {−𝜏ℍ 𝑝𝜃 − 𝑝𝜃 𝑦 𝑥 𝑟 𝑦, 𝑦 ∗ } 𝑥,𝑦 ∗ ∈𝐷 𝑦∈𝑌 ℍ 𝑝𝜃 ・・・エントロピー 𝑟 𝑦, 𝑦∗ ・・・報酬関数 Energy-based model for behavior 𝑞 𝑦 𝑦∗: 𝜏 = where 𝑍 𝑥,𝑦∗ ∈𝐷 1 exp{𝑟(𝑦, 𝑦 ∗ )/𝜏} ∗ 𝑍(𝑦 , 𝜏) 𝑦∗ , 𝜏 = 𝑟 𝑦,𝑦 ∗ σ𝑦∈𝑌 exp{ 𝜏 } Re-expressed RL objective 1 𝐷𝐾𝐿( 𝑝𝜃 𝑦 𝑥) || 𝑞(𝑦|𝑦∗ ; 𝜏)) = 𝐿𝑅𝐿 𝜃; 𝜏 + 𝑐𝑜𝑛𝑠𝑡 𝜏 2023/10/9 14
(証明) 2023/10/9 15
(おまけ) [0] 2023/10/9 16
Guided Policy Search (Trajectory Optimization) 𝑙𝑖𝑛𝑒𝑎𝑟 𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛 𝑝(𝑥𝑡+1|𝑥𝑡, 𝑢𝑡 ) 𝑙𝑜𝑐𝑎𝑙𝑙𝑦 𝑞𝑢𝑎𝑑𝑟𝑎𝑡𝑖𝑐 𝑐𝑜𝑠𝑡 𝑞 𝑢𝑡 𝑥𝑡 ) = 𝑁(𝑘𝑡 + 𝐾𝑡 𝑥𝑡 , Σ𝑡 ) [2] 2023/10/9 17
Guided Cost Learning 2023/10/9 18
𝑞(𝜏)はGPSで最適化をしているが・・・ • とはいえ分配関数Zは不安定になりがち – 特に𝑞(𝜏)からのサンプル数が少ない時 • ロボットとかだとサンプル数はできるだけ少なくありたい 𝑤𝑗 2023/10/9 19
工夫1:𝐷𝑠𝑎𝑚𝑝 にデモンストレーションを加える • 分配関数が小さくなりすぎる(= 𝑙𝑜𝑔𝑍が発散)ことを 防ぐことができる – デモンストレーションの𝑤𝑗 は基本大きい 𝑤𝑗 2023/10/9 20
工夫2:過去の𝑞(𝜏)の平均を使う • 𝑞(𝜏)は毎イテレーションで更新されるので,過去の 𝑞𝑘 (𝜏)をつかって,𝜏に対する𝑞𝑘 (𝜏)の平均を重点重み とする – (𝐷𝑠𝑎𝑚𝑝 は今まで生成した軌道全てを含んでます) 元の目的関数 重点重みを のように置くと 2023/10/9 21
Guided Cost Learning (over all algorithm) [1] 2023/10/9 22
実験結果 [1] 2023/10/9 23
動画 2023/10/9 24
ちょっと休憩 • ここまでがGCL • 質問ある方今のタイミングでした方がいいと思いま す! • つぎに,GCLとGANの関係について説明 2023/10/9 25
逆強化学習とGANsはなんか似てる [0] 2023/10/9 26
ここからの話は少しややこしいです. • GANsとGuided Cost Learning(GCL)は色々な条件を揃える と完全に同じことをしていますっていう話です. • まず,その色々な条件について説明します. 2023/10/9 27
Special Form of Generative Adversarial Network Optimal Discriminator 通常のGANはDを[0,1]の値を出すNNとするのでpもqも確率密度を 評価する必要が無い.しかし,qを確率密度を評価できる関数とし, 1 更に෦ pθ = exp(−cθ τ )とすると, Z ※ qが確率密度が評価可能なのに尤度最大化をしない理由は冒頭の通り 2023/10/9 28
Guided Cost Learning再訪 工夫1を思い出す.つまりZの推定にデモンストレーションpからの サンプリングを使う.今,pからの軌道とqからの軌道を半々ずつ使うとすると, where 1 1 𝜇= 𝑝𝜏 + 𝑞 𝜏 2 2 𝑝 𝜏 はデモンストレーションの密度推定器 1 e.g.) 𝑝𝜃 = 𝑍 exp(−𝑐𝜃 𝜏 ) (GANと揃えるため) ※前述のGuided Cost Learningの時は,デモンストレーションのτは qによって密度計算している 2023/10/9 29
確認 • GANsもGCLも,リアル(デモンストレーション)デー 1 タ分布𝑝(𝜏)の推定を𝑝𝜃 = exp(−𝑐𝜃 𝜏 ) によって行う 𝑍 • GANsにおけるGenerator(=GCLにおけるポリシー) 𝑞 𝜏 は密度計算可能なモデル – ガウシアンとか出力にSoftmaxかけたRNNとか • GCLは分配関数𝑍の推定に際し𝑝,𝑞から半々ずつ軌道を 重点サンプリング • GANsのGの目的関数をBCEとする 2023/10/9 30
DとCの目的関数 以下の三つを証明 ・Dの目的関数を最小化するZは,重点サンプリングによるCostのZの推定器 ・上のZのとき,Dの勾配はCの勾配と一致 ・Gの目的関数は,エントロピー正則化の元での方策の目的関数と一致 2023/10/9 31
Dの目的関数を最小化するZは,CのZを推定する 𝜇 [3] 2023/10/9 32
Dの勾配はCの勾配と一致 𝜇 [3] 2023/10/9 33
Gの目的関数は,エントロピー正則化の元での方策の目的関数 [3] 2023/10/9 34
結論 • 色々な条件を揃えると,GANのDとGの目的関数にGCL の目的関数が一致する 2023/10/9 35
ちょっと休憩 • 質問があれば • 次にGAILについて軽く説明します 2023/10/9 36
Generative Adversarial Imitation Learning(GAIL) • Inverse RLによるコスト関数推定と,RLによる方策の学 習を交互に行っていたが,お互いの関係性は不明だっ た.それらの関係を明らかにし,IRLとRLを統一的に 見るフレームワークを提案 – GANみたいなアルゴリズムが有名だが,こっちの方が理論的 貢献として重要 • 上のフレームワークの中から,特定のΨ正則化がGAN とほぼ同一の学習アルゴリズムを導く • わかりにくいですこの論文... – 間違ったこと言っている可能性大アリ 2023/10/9 37
2つのモチベーション • RLとIRLを統一的に見たい – コスト関数の更新と方策の更新を交互にやるのはめんどくさ い.エキスパートからそのまま方策を獲得できないか • っていってるのに結局GAN • (NNのような)表現力が高いコスト関数を最適化したい – 表現力の高いコスト関数を少量のエキスパートから推定する と過学習してしまうが,頑張る. 2023/10/9 38
通常のIRLとRL IRLによるコスト推定 RLによる方策学習 2023/10/9 39
凸関数Ψ付きIRL IRLによるコスト推定 RLによる方策学習 ψ付きIRLによるコスト推定 Ψをかける理由はひとまず置いておく. 2023/10/9 40
凸関数Ψ付きIRLでのRL • – occupancy measureと呼ぶ。 – 方策πの元でstateとactionのペアがどれだけ発生するか • 一般に凸関数fに対して – ψ付きIRLによるコスト推定 RLによる方策学習 2023/10/9 41
つまりどういうことかというと • ΨIRLでのRLは凸共役関数𝜓 ∗のもとでエキスパートの occupancy measureとマッチするように方策を学習 – Ψ=constantのとき(=正則化が無い),IRLによるコスト関 数の推定はoccupancy measureのマッチングと双対問題である ことが示されている – 確かに式を見るとコスト関数を求める必要がなくなっている ように見える ψ付きIRLによるコスト推定 RLによる方策学習 2023/10/9 42
整理 IRLによるコスト推定 RLによるポリシー学習 ψ付きIRLによるコスト推定 RLによるポリシー学習 2023/10/9 43
Ψをかける実用的な理由 • 𝑐 ∈ 𝑅 𝑆∗𝐴で表現力の高いコスト関数を使うとすぐに過 学習する – それを防ぐための正則化Ψ – 従来のIRLは方策最適化を行えるようにコスト関数を線形関 数に限定 – うまくΨを設定すれば表現力が高いコスト関数の元でエキス パートに過学習しない方策が獲得できる→GAIL ψ付きIRLによるコスト推定 RLによる方策学習 2023/10/9 44
GAIL • 上のようにψを設定する。と、これは – コストがいたるところで負であるような任意のコスト関数を 表現可能 – このψの凸共役関数は – エキスパートとのoccupancy measureのJSDを最小化する • 方策はエキスパートを完全に模倣可能 – Discriminatorはコスト関数のように振る舞う • RLIRLからGANが出てきた(!) 2023/10/9 45
GAIL [4] 2023/10/9 46
GAILとGCLの関係 • GAILはDをそのまま出す – pやqの密度を計算しない – logDをコストとして方策勾配法(TRPO) • GAILのほうがコスト関数の表現力は高い – GCLはNNによって特徴抽出した状態と行動の二次形式 • GAILはコスト関数がDの中に隠蔽されており,取り出 すことができない(?) – と[3]論文内に書いてあったが本当なのか? • (GAILはそもそも方策学習のために大量のサンプリン グをすることを厭わないという点でGCLと大きく異な る) 2023/10/9 47
まとめ [0] 2023/10/9 48
まとめ [0] 2023/10/9 49
References • • • • • [0] ICML 2017 Deep RL Tutorial (https://sites.google.com/view/icml17deeprl) [1] Finn, Guided Cost Learning: Deep Inverse Optimal Control via Policy Optimization [2] Levine, Talk: Sergey Levine, UC Berkeley - Learning Dynamic Manipulation Skills (https://www.youtube.com/watch?v=CW1s6psByxk&t=921s) [3] Finn & Christiano, A Connection Between Generative Adversarial Networks, Inverse Reinforcement Learning, and Energy-Based Models [4] Ho, Generative Adversarial Imitation Learning 2023/10/9 50