SlideShare a Scribd company logo
1 of 10
深層強化学習
2
パラメータ で規定される関数近似器 ,
を用いて , を近似するとは
価値関数の関数近似(復習)
2
となるパラメータ を学習するということ
代表的な関数近似器
• 線形関数近似
基底関数
以前までの議論同様,状態関数にベルマン作用素を適用させ収束した価値関数
(の近似)を求めたい
3
価値関数の関数近似(復習)
3
関数近似器族
状態行動空間は連続であるとすると ,
したがって関数近似器族に含まれない状態関数 が存在する
この時ベルマン作用素 を適用して得られる状態関数が部分空間
に含まれているとは限らない
つまり,状態関数が部分空間 𝜈から出ないように更新を行う必要がある
4
単純なパラメータ更新アルゴリズム
環境が既知であるとして真のベルマン作用素が与えられていると仮定
1. 各状態 で目的変数を算出
2. 関数近似器のパラメータを更新
関数近似誤差
固定
この更新式は任意の状態について目的変数を定めているので,計算量が状態数に
依存しており,状態数が連続であるなど膨大である場合に好ましくない
この場合,確率的勾配降下法のように経験データ(𝑠, 𝑎, 𝑟, 𝑠′
)毎にパラメータを逐
次的に更新すれば状態数に依存しないので有効
(適合価値反復)
5
• 各経験 に対する目的変数を計算
適合価値反復(fitted value iteration)
履歴データから関数近似された価値関数を推定する
• 関数近似器のパラメータ を更新
6
経験再生(experience replay)
• 一般的にエージェントが獲得する経験データ(𝑠 𝑛 , 𝑎 𝑛 , 𝑟 𝑛 , 𝑠(𝑛)
′
)と
(𝑠 𝑛+1 , 𝑎 𝑛+1 , 𝑟 𝑛+1 , 𝑠(𝑛+1)
′
)は時間的に連続しているため,時間ステップの近
い経験データ間には強い相関がある
• 確率的勾配法など逐次的学習のほとんどは経験データをi.i.dで観測できること
を想定しているため,時系列順に学習を行うと収束性の悪化を引き起こす
適合価値反復では更新の際に必要となる経験データを履歴データから一様に乱
択する経験再生というヒューリスティックが使われる
履歴データ
7
• 各経験 に対する目的変数を計算
適合行動価値反復(fitted Q iteration)
• 関数近似器のパラメータ を更新
適合価値反復の行動価値関数ver.
近年の深層強化学習ブームの火付け役であるDQN(Deep Q Network)はfitted Qの
関数近似器にDNNを使用
収束性は保証されていないが,収束性を向上させるためのテクニックが数多く提
案されており,実験的には有効な手法となっている
r_{(n)}+gamma max _{a in
mathcal{A}}
hat{Q}_{omega}left(s_{(n)}^{p
rime}, aright)
8
DQN(Deep Q Network)(Mnih+ 14)
https://wiki.math.uwaterloo.ca/statwiki/index.php?title=File:DQN_arch.png
ネットワーク構造
breakout
状態を数値ベクトルとして扱えるので画像などに
対する学習が可能
連続する4フレームのゲーム画面を状態として入
力し,各行動に対するQ値を出力する
9
DQNの工夫
• 経験再生(Experience replay)
エージェントが獲得した経験データの直近100万フレームをreplay memoryに
保存しておき,学習ステップでランダムにいくつかサンプルしてミニバッチ
を作成して学習に用いる
• Fixed Target Network
target networkのパラメータとmain networkのパラメータを別にする
(targetのパラメータは少し前の時間のmainのパラメータを使う)
target networkをしばらく固定させることで学習を安定化させる
• 報酬のclipping
正の報酬を+1,負の報酬を-1,それ以外を0とし,報酬のスケールを一定に
することでQ値の急激な変化を抑制し学習を安定させる
target network
main network
10
pseudo-code
状態に対する前処理
(画像ならグレースケールなど)
ε-greedyによる行動選択
経験データの取得
replay memoryへ追加
replay memoryからランダム
にサンプルしてミニバッチ
を作成してQ関数の更新
一定ステップでtarget networkとmain networkを同期

DQN