Python

Pythonではじめての強化学習2〜CartPole-v1

投稿日:2017年12月19日 更新日:

リファクタリング

前回「Pythonではじめての強化学習〜OpenAIGym」のコードを意味ごとにわけてみる.

cartpole0.py

こんな感じでできるようなクラスGameを作る.

game.py

なるべくハイパーパラメータを外出しする.
trainがまだ長いけど.

CartPole-v1

gym.openai.com/envs/CartPole-v1/
「解決」は100回の試行で平均475.0以上のスコアなので、トライ回数を500くらいにして、目標を475にしてみた.

cartpole1.py

解決までのエピソード数は733.
うーんこの…

また、ここを参考に、ε-greedy法の式を変えて、学習割合高めにしてみた.
解決までのエピソード数は217まで改善した.

リファクタリング2

trainメソッドを整理するため、マルコフ決定過程のモデルに従って、行動決定とバッチトレーニングをするAgentクラスを作成した.
その後、訂正.tfは基本Agent内で処理することにした.

agent.py

見ての通り、QNetworkとMemoryはAgentが持って利用する.

game.py

そのほかのEnvへの応用

とりあえず、observation_spaceがBoxで、action_spaceがDescreteのやつはいけるぽい.
なかなか汎用性が高い.

Acrobot-v1

中央を固定した関節のある二本のアームを左右に振ってある程度の高さにまで振り上げる.

MountainCar-v0

谷間にある車を前後に振って山の上まで登る.

github.com/openai/gym/wiki/MountainCar-v0

-Python
-, , , ,

執筆者:

関連記事

Tensorflowのモデリング1〜CNN

By: William Warby – CC BY 2.0 目次1 畳み込みニューラルネットワーク2 Conv層3 POOL層4 残りの処理5 結果6 ハイレベルニューラルネットレイヤーを …

Python3で株式売買のシミュレーション〜pandas

By: Michael Gwyther-Jones – CC BY 2.0 目次1 株式売買シミュレーション2 ファイルの構造3 pandas4 DataFrameの作成、構造5 csvか …

市場テクニカル分析ライブラリta-libとPython用のラッパーTa-Libをインストールする

By: GotCredit – CC BY 2.0 目次1 ta-lib2 Ta-Lib ta-lib ta-libは市場のテクニカル分析用のライブラリ集. linuxの場合はソースコード …

Pythonではじめての強化学習3〜Actor and Critic model

By: Banalities – CC BY 2.0 目次1 課題 出力が連続値の場合2 Actor and Critic3 Actorにノイズを付与する4 結果 MountainCarC …

pandasとmatplotlibで株式取引の可視化

By: sprklg – CC BY 2.0 目次1 可視化2 下準備3 pandasのplot4 matplotlibでsubplot5 売買データをプロットする6 番外編 ローソク足チ …