【深層強化学習、keras-rl】 keras-rlで連続値の行動を扱えるDDPGを試す

深層強化学習ライブラリであるkeras-rlを用いて、 DDPGを動かしてみます。
Open AI gym で提供されているPendulumという問題を解きます。
基本的にはkeras-rlのexmpleコードを用います。
適宜、日本語のコメントや学習結果を表示するためのコードを加えています。

ちなみに私の環境は

  • ubuntu 18.04
  • python 3.6.0

です。

DDPGについて

Deep Deterministic Policy Gradient(DDPG) は
モデルフリーの深層強化学習アルゴリズムです。
Actor-Critic を用いて構成されています。

【強化学習】アクタークリティック
アクタークリティック(actor-critic)とはアクタークリティックは行動を選択肢するアクター(actor)と、アクターが選択した行動を評価するクリティック(critic)で構成される強化学習のフレームワークの1つです。以下は...

なので、ActorとCtiricの2つのニューラルネットワークを用います。
詳しくは以下の論文を参照していただければと思います。

https://arxiv.org/pdf/1509.02971v2.pdf

kears-rlのインストール

keras-rlを動かすためにいくつかインストールする必要があります。

プログラム

Pendulumという振り子の問題を解かせます。
学習エージェントは、振り子を立たせて置くことが目的となる問題です。

問題については以下の公式サイトを確認していただければと思います。

openai/gym
A toolkit for developing and comparing reinforcement learning algorithms. - openai/gym

以下にサンプルコードを示します。
以下のコードはコピーしてそのまま実行できます。

上述したコードを実行すると、 下記のような学習曲線をプロットします。
f:id:ttt242242:20190416140700p:plain

学習が進むにつれて、得られる報酬が向上しているのがわかります。

コメント

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