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

[DL輪読会]逆強化学習とGANs