Skip to main content
世の中に転がってる
強化学習の良記事を
まとめたやつ
伊藤
今日の目標~これを理解したい~
最近深層強化学習も体系だって勉強できるようになったし、概要だけでも勉強しよう。
https://qiita.com/shionhonda/items/ec05aade07b5bea78081
参考
• 良Qiita
https://qiita.com/shionhonda/items/ec05aade07b5bea78081
• PFNの前田さんの良スライド
https://www.slideshare.net/pfi/nlp2018-introduction-of-deep-
reinforcement-learning
• DeepMindの良チュートリアルICML
http://hunch.net/~beygel/deep_rl_tutorial.pdf
• DQNを理解したので、Gopherくんの図を使って説明
https://qiita.com/ishizakiiii/items/5eff79b59bce74fdca0d
• まとめてあるBlog
http://blog.syundo.org/post/20180115-reinforcement-learning/
0. Policy(方策):状況→動作
• Policyとは状況から動作への写像である。
• ある状況に対してAgentが動作をする。
• 確定的な場合は と書ける。
• 確率的な場合は と書ける。
http://hunch.net/~beygel/deep_rl_tutorial.pdf
0. Q関数:状態×動作→rewardの合計
• Q関数とは、
• ある方策πのもとで、
• 状態sと行動aを与えたときに、
• どれだけのrewardを得ることができるのかを与えてくれる関数
ただしγは割引率。
http://hunch.net/~beygel/deep_rl_tutorial.pdf
Atariでの例
http://hunch.net/~beygel/deep_rl_tutorial.pdf
Q(s,a)のイメージ
https://qiita.com/ishizakiiii/items/5eff79b59bce74fdca0d
3つの強化学習
• 価値ベースRL
• 最適な価値関数Q*を学習する
• 適当な方策πを決める
• 方策ベースRL
• 最適な方策π*を直接決める
• モデルベースRL
• 環境に関するモデルをすでに構築できる場合
• 環境に応じてQやπを作る。
1.価値ベース
最適なQ価値関数~こいつだけを信じろ~
・価値ベースの強化学習は、最強のQ*を求めることに尽きる。
・最強のQ*とはゲームの最強のマップみたいなもの(右下)
・最強のQ*を最大化するようなactionを取ることにより
最適なpolicy π*が生成される。(左下)
価値ベースRLの一般的な流れ
https://www.slideshare.net/pfi/nlp2018-introduction-
of-deep-reinforcement-learning
Q-learning
• 最適なQ*は以下のようなベルマン方程式に従う
• よって、右辺の[]内 を目的変数として、
• Q(s,a)を勾配法で近似する。つまり、以下を最小化する。
http://hunch.net/~beygel/deep_rl_tutorial.pdf
Q-learningの問題点とDQNの克服
http://blog.syundo.org/post/20171208-reinforcement-
learning-dqn-and-impl/
DQNを図で。
Experience Replay
クリッピング([-1,1]に)
Q(s,a)
DQNの派生
• Dueling Net Qをsの関数とs,aの関数に分離
• Double DQN w’で得られた行動をwでさらに評価(過大評価を抑止)
• Prioritized replay 驚き度合で前の経験を重点サンプル
Gorilla (General Reinforcement Learning Architecture)
Rainbow(全部乗せ)
2.方策ベース
方策ベース(現在の方策を改善する)
を変更することによってリワードを最大化する。
https://www.slideshare.net/pfi/nlp2018-introduction-of-deep-reinforcement-learning
方策勾配法(の説明2)
勾配の分散をへらすためbでひく
https://qiita.com/shionhonda/items/ec05aade07b5bea
78081
REINFORCE
• Tステップ・Mエピソード行い、その平均で近似する
Actor-Critic
• REINFORCE
• Qは平均で近似するのみ・学習はしない
• Actor-Critic
• Actor:行動をして、環境に働きかける→π
• Critic:Actorの評価をする→Q
• 行動を決めるActor(行動器)を直接改善しながら,
• 方策を評価するCritic(評価器)も同時に学習させる
A3C
https://qiita.com/yuishihara/items/2edad97148f09c282a9a
https://www.slideshare.net/pfi/nlp2018-introduction-of-deep-
reinforcement-learning
よさそうなQiita
DDPG Deep Deterinistic Policy Gradient
https://qiita.com/shionhonda/items/ec05aade07b5bea
78081
DDPG(DQNの連続version)
DDPG
DDPGについては、PFNインターンでいっしょだった石川さんの記事が勉強になるよ~
https://sykwer.hatenablog.jp/entry/2018/03/08/105711
TRPO
• 方策ベース
• 1度方策関数が劣化するとその後で報酬が得られなくなる
• その後の改善が困難になる
• TRPO (trust region policy optimization)
• 更新前後の重みのKLダイバージェンスに制約を設けますtrust region
• NNの重みを慎重に更新していく
PPO Proximal Policy Optimization
• TRPOと方針は同じ
• r(θ,s,a)をクリップすることによって、1-ε,1+εの間に。
• クリップする前の目的関数と比較して最小値を取る
• 大きな報酬につられて大胆な重み更新をしないようにしています.
NAC
• これまでユークリッド距離で定めていた方策勾配として,
• KLダイバージェンス(擬距離)で定めた自然勾配を用いた
• 自然勾配については以下のAmari先生の記事が勉強になる
https://www.jstage.jst.go.jp/article/sicejl1962/40/10/40_10_735/_pdf
https://www.slideshare.net/pfi/nlp2018-introduction-of-deep-reinforcement-learning
価値ベースと方策ベース
価値ベース
方策ベース
最適化の対象 価値関数 方策関数
最適化アルゴリズム Q学習かSARSA 確率的勾配降下法など
利点 任意の方策で探索できる 行動空間が広くても学習できる
欠点
行動空間が広いと学習が難しい.
メモリが必要
モデルが劣化した後の復帰が難
しい
https://qiita.com/shionhonda/items/ec05aade07b5bea78081
3.最近のやつとか
Ape-X
• 優先度付き経験再生を分散処理で高速化した
• DQN版の他に決定方策勾配法(DPG)版もある
• Atariのスコアが人の約4倍
R2D2(Recurrent Experience Replay in
Distributed Reinforcement Learning )
• ICLR under review (スコア:7-6-7)
• LSTMと経験再生と分散学習を組み合わせたアルゴリズム
• 順番を変える経験再生とLSTMは相性が悪いとされる
UNREAL
• 動物が肯定的な、あるいは否定的な報酬に関わる出来事の夢を
頻繁に見るように、
• われわれが作り出したエージェントも報酬に関わる出来事を含
むシーケンスを優先的に再現するようになっている