GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

carpedm20

deep-rl-tensorflow – TensorFlow深層強化学習ペーパーの実装

投稿日:

TensorFlow深層強化学習ペーパーの実装

TensorFlowにおける深層強化学習

TensorFlowディープ・レインフォース・ラーニング・ペーパーの実装。 この実装には以下が含まれます:

[1] 深部強化学習によるアタリ演奏
[2] 深層強化学習による人間レベルの制御
[3] ダブルQ学習による深層強化学習
[4] 深層強化学習のためのネットワークアーキテクチャの解消
[5] 優先体験リプレイ (進行中)
[6] ブートストラップされたDQNによる深い探査 (進行中)
[7] 深い強化学習の非同期メソッド (進行中)
[8] モデルベースの加速による継続的な深いq-学習 (進行中)

要件

使用法

まず、前提条件を以下のようにインストールします。

$ pip install -U 'gym[all]' tqdm scipy

最新のTensorFlowもインストールすることを忘れないでください。 また、 gym[all]が必要とするdoom-py依存関係をインストールする必要があることにも注意してくださいgym[all]

[1] gpuなしで記述されたDQNモデルのトレイン:

$ python main.py --network_header_type=nips --env_name=Breakout-v0 --use_gpu=False

[2]で説明されているDQNモデルによる列車:

$ python main.py --network_header_type=nature --env_name=Breakout-v0

[3]で説明されているDouble DQNモデルの列車:

$ python main.py --double_q=True --env_name=Breakout-v0

[4]に記載されているダブルQラーニングによるDeulingネットワークでのトレーニング:

$ python main.py --double_q=True --network_output_type=dueling --env_name=Breakout-v0

[4]で説明した廊下環境でのMLPモデルのトレイン(デバッグに便利):

$ python main.py --network_header_type=mlp --network_output_type=normal --observation_dims='[16]' --env_name=CorridorSmall-v5 --t_learn_start=0.1 --learning_rate_decay_step=0.1 --history_length=1 --n_action_repeat=1 --t_ep_end=10 --display=True --learning_rate=0.025 --learning_rate_minimum=0.0025
$ python main.py --network_header_type=mlp --network_output_type=normal --double_q=True --observation_dims='[16]' --env_name=CorridorSmall-v5 --t_learn_start=0.1 --learning_rate_decay_step=0.1 --history_length=1 --n_action_repeat=1 --t_ep_end=10 --display=True --learning_rate=0.025 --learning_rate_minimum=0.0025
$ python main.py --network_header_type=mlp --network_output_type=dueling --observation_dims='[16]' --env_name=CorridorSmall-v5 --t_learn_start=0.1 --learning_rate_decay_step=0.1 --history_length=1 --n_action_repeat=1 --t_ep_end=10 --display=True --learning_rate=0.025 --learning_rate_minimum=0.0025
$ python main.py --network_header_type=mlp --network_output_type=dueling --double_q=True --observation_dims='[16]' --env_name=CorridorSmall-v5 --t_learn_start=0.1 --learning_rate_decay_step=0.1 --history_length=1 --n_action_repeat=1 --t_ep_end=10 --display=True --learning_rate=0.025 --learning_rate_minimum=0.0025

結果

DQN(紫色)、DDQN(赤色)、Dueling DQN(緑色)、Dueling DDQN(青色)のCorridor-v5結果

フレームスキップなし(白青色)のDQN、フレームスキップ(薄紫色)DQN、Dueling DDQN(濃い青色)の場合は、「Breakout-v0」の結果。

ハイパーパラメータとグラジエントクリッピングは[4]のように実装されていません。

参考文献

著者

キム・テホン/ @ carpedm20







-carpedm20
-, ,

執筆者: