Deep Recurrent Q-Learning(DRQN)
for Partially Observable MDPs
夏のDQN祭り~第二弾~
@St_Hakky
(本資料での引用箇所は参考文献から取ってきています。)
必要となる前提知識
• 強化学習の基本的な知識
• DQNのアルゴリズム
• LSTM(RNN)についての知識
論文の概要
• 4行まとめ
1. DQNのQ関数の最後の層にRNN(LSTM)を入れ
ることで、時系列の影響を考慮
2. 部分観測で学習後、完璧なデータで評価したら
観測の関数としてスケールした(つまり、観測
の質が微妙でも耐える)
3. 反対に、完全な観察で訓練され、部分的な観察
で評価された場合も、DRQNの性能はDQNより
上昇
4. 履歴の長さが同じであれば、再帰性はDQNの入
力レイヤにフレームの履歴を積み重ねることと
同じ事をする
しかし!!!!
DQNの論文を読んだ私は論文のタイトルを
見て正直「?」が止まらなかった
• みんなで論文を選ぶときはDQNを知らなかった私
– 2017年5月の私「なんかRNN使ってるし凄そう」
• 実際、論文にも以下の記述が。。。
– …while recurrency confers no systematic
advantage when learning to play the game,
the recurrent net can better adapt at evaluation
time if the quality of observations changes.
• これをはっきりさせるために、DQNの論文をもう
一度読む羽目になった。。。
そもそもDQNはナニがすごかったのか
• 僕の調べた印象では個々の要素技術は前
からあったものだと思われる。
• すごかったのは、①うまく学習させる枠
組みを作ったことと、② End-to-Endな学
習の枠組みを用意したこと、③それで圧
倒的性能を出したこと
– 今回は①をさらっと復習しながらすごかった
ポイントを復習する
DQNアルゴリズムの復習
うまく学習させる枠組みポイント
• 大きく分けて次の2点
– Experience Replay
– Target Network
みんなだいすきDQN
Experience Replay
・学習データ間の相関をばらばらにできる
・プレイヤーの振る舞い(行動の分布)を過去にわ
たって平均化することができる
・パラメータが振動・発散するのを防ぐことができる
ポイント
Target Network
・古いパラメータを使って教師信号を作る
・Q Networkの更新とTarget Networkの更新との間
に時間差が生まれ、学習がうまく進むようになる
ポイント
うまく学習させるポイントを考えると
RNNって意味ある?
• なさげ、、、(笑)
– データ間の相関を出来る限り無くすことがDQN
の学習がうまく行ったことに寄与している
– つまり、時系列の影響を少なくするってことでは
ないか、、、
• なので、MDPではほぼ同精度だし、うまくい
く道理はないと論文でもおっしゃっている。
Not Too ねがてぃぶ
• ネガティブやめよう!!!
• きっと良いことあるよ!!!
• 頑張って最後まで読もう!!!
ちゃんと読んだら良いことあった
• あった!(以下概要より)
1. DQNのQ関数の最後の層にRNN(LSTM)を入れることで、時
系列の影響を考慮
2. 部分観測で学習後、完璧なデータで評価したら観測の関数と
してスケールした(つまり、観測の質が微妙でも耐える)
3. 逆に、完全な観察で訓練され、部分的な観察で評価された場
合、DRQNの性能はDQNより低下
• つまり、POMDPのシチュエーションではRNNは効果
を発揮する(タイトル読めばわかったことですね)
– ちなみにタイトル:Deep Recurrent Q-Learning for
Partially Observable MDPs
さて、論文の内容に添って頑張ります
• 頑張っていきましょう。
Contents
• Background
• Partial Observability
• DRQN Architecture
• Stable Recurrent Updates
• Experiments
• まとめ
Background
より長期な情報を考慮したい
• DQNは凄いが、4フレーム前までしか考慮
できなかった。
– 4フレーム以上前の状態も考慮したい。
– もし情報として、4フレーム以上必要な場合
はMDPではなくPOMDPの問題になる
時系列なデータの考慮をしたい
• 現実のデータは部分的で、しかもノイズ
を含んだもの多い
– たとえば以下のPongの図では、位置はわかっ
ても速度がわからない
– 実際、DQNは不完全な状態の観測ではパ
フォーマンスが落ちる
モチベーション
• こういった不完全な情報への対応や、よ
り長期な情報の考慮はRNNで可能
– これによりPOMDPな状況でもより高精度にで
きるのではないか?
– これがモチベーション
Partial Observability
実世界において完璧な環境を知ることはできない
• そりゃそうだ。
– 部分観測しかできない状態のことを、
Partially Observable Markov Decision
Process(POMDP)という
– こっちのほうが現実に即した状況と言える
POMDP
POMDPは次の6つのタプルで表現される。
状態
行動
政策
報酬
観測集合
観測を記述する観測関数
この時、当然ながら以下の式が成り立つが、DRQNではこの2つの関数の値をよ
り近づける働きをする
DRQN Architecture
DRQN Architecture
通常のDQNの最後の層に
RNN(LSTM)を入れた構造
Stable Recurrent Updates
Stable Recurrent Updates
• 2種類の方法が提案されている
– Bootstrapped Sequential Updates
• Replay Memoryからエピソードをランダムに選択
• 選択したエピソードの最初から最後までを用いて
更新
– Bootstrapped Random Updates
• エピソードをランダムに選択
• 選択したエピソードの中のステップをランダムに
選択し、unroll iterations timestepsだけすすめ
る
どちらがいいのか
• 実験結果が両方の種類の手法がうまくい
くことを示唆している
• 実験では、簡単のため今回はランダムな
方だけやるが、Sequentialな方も必ずう
まく行くだろう(と主張している)
Experiments
Experiments
• 例によってAtariを使う
AtariはMDPなのかそれともPOMDPなのか
• この論文はPOMDPなものにRNNを適用する
と、より精度が向上するのではないかとして
いる
• Atariで実験して良いのか?
– 結論:していい(らしい)
– 理由:1フレームの画面の画像だけではナニがな
んだかわからない
– だから、DQNでは4フレーム使っているし、これ
で多くのPOMDPなゲームはMDPとしている
– しかし、それでも著者達は不十分だと考えられる
から
Flickering Pong Game
• Atariの一つであるPong Gameの各タイム
ステップで、確率1/2で鮮明な画像か不鮮
明な画像かを選ぶことでPOMDPな状況を
作る
– つまり、POMDPにしたいのさ(キリッ)
• こうすると、前後の情報をつなげる必要
が出てくる。
– 位置だけでなく、速度の情報も必要
中間層の値
10フレームを可視化した
もの。
レイヤーが増すごとに時系
列の変化を捉えられている
ことがわかる。
この結果が示すこと
• この結果は、10層のフレームを積み重ね
たDQNと1層のDRQNが等価なことを示す
• つまり、再帰的なネットワークが時間を
通じて情報を統合し、畳み込みネット
ワークの入力層にフレームを積み重ねる
ための実用的な代替物として役立つこと
を示している。
Atariでの実験結果
良いと言って良いのかわからない。(笑)
MDPからPOMDPにした場合
一応全体的な傾向を見ると、
DRQNの方が高い
参考文献
• DQNをKerasとTensorFlowとOpenAI
Gymで実装する
– https://elix-tech.github.io/ja/2016/06/29/dqn-ja.html
• Deep Recurrent Q-Learning(DRQN) for
Partially Observable MDPs
– https://arxiv.org/pdf/1507.06527.pdf
終わり

Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs