【強化学習、モデルベース強化学習】Dyna-Q

恐らく最もシンプルであり、
最初に考案されたモデルベース強化学習であるDyna-Qについて紹介します。

モデルベース強化学習

一言で簡単に言ってしまえば、
モデルベース強化学習とは、
学習エージェントが環境のモデルを保持していて、
そのモデルも利用して学習する強化学習です。

エージェントは環境から実際に得られた経験を用いて、
通常の価値関数を学習(直接的強化学習)し、さらに環境のモデルを学習します。
そして、学習して得られたモデルを用いて価値関数の学習(間接的強化学習)も行います。

Dyna-Q

Dyna-qはモデルベースの強化学習の最もシンプルな手法です。
エージェントは通常のQ学習に加えて環境のモデルを保持しています。
Q学習は以下の記事を参照

【入門】Q学習の解説とpythonでの実装 〜シンプル迷路な問題を例に〜
Q学習は強化学習の代表的な手法の1つとなります。Q学習を遷移先状態の最大Q値を使うので楽観的な手法と呼ばれる強化学習手法です。これから丁寧に説明していきます。強化学習とは以下の図を使って説明してきます。左のロボットが強化学習で学習...

エージェントは一回の行動によって得られた経験をもとに、
価値関数と環境のモデルを学習。
そしてその後に複数回、環境のモデルを用いて
価値関数の更新を行うシンプルな手法です。
以下にDyna-Qの構成図を示します。

f:id:ttt242242:20190409203506j:plain:w350

アルゴリズム

以下の操作を繰り返す。

  1. 現在の状態s においてQ値\(Q(s, a)\)を基に行動選択(\(\epsilon\)-greedy, softmax行動選択などを用いる。)
  2. 環境から遷移先状態\(s’\)、報酬\(r\)の観測
  3. 得られた経験\(e=\langle s, a, r, s’ \rangle\) を用いて、環境モデルの更新(モデル学習)
  4. 得られた経験\(e\) を用いて、Q値の更新。更新式はQ学習と同様
  5. モデルを用いて学習
    • 任意の回数\(N\)以下の操作を繰り返す
      1. 現在までで得られている状態とその状態で行ったことのある行動を選択
      2. 環境モデルから得られた擬似的な遷移先状態\(\hat{s}’\)と\(\hat{r}\)を観測
      3. \(\langle s,a,\hat{r},\hat{s}’ \rangle\)を使ってQ値を更新。更新式はQ学習と同様

f:id:ttt242242:20190409203526j:plain:w250:h200f:id:ttt242242:20190409203537j:plain:w250:h200

\(\epsilon\)-greedy, softmax行動選択は以下を参照

ε-greedy行動選択
ε-greedy行動選択の概要ε-greedy行動選択とは、εの確率でランダムに行動、それ以外の確率(1-ε) で最も期待値の高い行動を選択する手法です。強化学習などではsoftmax行動選択手法と同様によく使われます。例下の図のよ...
【強化学習】softmax行動選択
概要(3行で)代表的な行動選択手法\(\epsilon\)-greedyと同様に強化学習でよく用いられる手法Q値に応じて各行動の選択確率が変化する初めてプログラミングを学ぶなら「tech boostオンライン」softmax...

実験

グリッドワールドを用いて、評価を行います。

f:id:ttt242242:20190409203215j:plain:w400

エージェントはスタート地点からGにたどり着くための最短経路を学習する問題です。
エージェントの行動は、上、下、左、右の4択、
状態は座標、
報酬は、Gについたら報酬=100、
壁(黒いマス)に当たったら報酬=-100、
それ以外の地点では報酬=0
とします。

プログラム

プログラムはgithubに挙げました

tocom242242/dyna_q_sample
Contribute to tocom242242/dyna_q_sample development by creating an account on GitHub.

結果

f:id:ttt242242:20190409200949j:plainN毎の累積報酬の推移

ステップ毎の環境のモデルを用いて学習する回数毎の累積報酬によって比較を行いました。
環境のモデルを用いて学習する回数が多いほど、早い段階で、良い累積報酬に収束していることがわかります。
今回の問題は決定論的な問題ですので、環境のモデルを正確に学習できるので、
環境のモデルを用いてば用いるほど学習が早く進みます。
一方で、環境のモデルを正しく学習できていない場合、
そのモデルを用いるほど学習性能が下がる可能性があるので、注意が必要です。

参考文献

強化学習強化学習

  • 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章
  • 出版社/メーカー: 森北出版
  • 発売日: 2000/12/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 76回
  • この商品を含むブログ (29件) を見る

その他

用語

参考文献で出てくる用語について整理しておきます。

  • プランニング:保持しているモデルから方策を計算すること
  • モデル学習:環境のモデルを学習すること
  • 直接的強化学習:環境から得られた生の経験を用いて価値関数、方策を改善すること
  • 間接的強化学習:環境のモデルを用いて価値関数と方策を改善すること

コメント

タイトルとURLをコピーしました