TensorFlow : Dopamine : README.md (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 08/30/2018
* 本ページは、Dopamin レポジトリ の以下のページを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
Dopamine
Dopamine は強化学習アルゴリズムの高速なプロトタイピングのための研究用フレームワークです。それは小さくて、簡単に理解可能なコードベースの必要性を満たすことを目的にしています、そこではユーザは大胆なアイデア (推論的な研究) で自由に実験できます。
私達の設計原理は :
- 簡単な実験: 新しいユーザがベンチマーク実験を実行することを容易にします。
- 柔軟な開発: 新しいユーザが研究アイデアを試すことを容易にします。
- コンパクトで信頼性が高い: 幾つかの徹底的に試されたアルゴリズムのための実装を提供します。
- 再現可能: 結果の再現性を容易にする。
これらの原理の精神で、この最初のバージョンは Atari 2600 ゲーム-playing (Bellemare et al., 2013) に適用された、先端技術の、単一 GPU Rainbow エージェント (Hessel et al., 2018) をサポートすることにフォーカスしました。特に、私達の Rainbow エージェントは Hessel et al. により最も重要として識別される 3 つのコンポーネントを実装しています :
- n-ステップ Bellman 更新 (e.g. Mnih et al., 2016 参照)
- 優先的な経験リプレー (= prioritized experience replay) (Schaul et al., 2015)
- 分布的な強化学習 (C51; Bellemare et al., 2017)
完全を期すため、DQN (Mnih et al., 2015) の実装もまた提供します。追加の詳細については、ドキュメント を見てください。
手順
ソースによるイントール
ソースからのインストールはエージェントと実験を貴方が好ましいように変更することを可能にし、長期間の使用のための選択の経路となる可能性が高まります。これらの手順はお気に入りのパッケージ・マネージャ (e.g. apt on Ubuntu, homebrew on Mac OS X) を既にセットアップして C++ コンパイラがコマンドラインから利用可能であることを仮定します (お気に入りのパッケージ・マネージャが動作していればほぼ確実に当てはまるでしょう)。
下のこれらの手順は仮想環境で Dopamine を動作することを仮定しています。仮想環境はどの依存性がどのプログラムのためにインストールされたかを貴方に制御させます ; けれども、このステップはオプションでそれを無視することを選択しても良いです。
Dopamine は TensorFlow ベースのフレームワークで、追加の詳細については TensorFlow ドキュメントも参考にすることを推奨します。
最後に、これらの手順は Python 2.7 のためです。Dopamine は Python 3 互換である一方で、インストールの間に必要な幾つかの追加のステップがあるかもしれません。
Ubuntu
最初に仮想環境をセットアップします :
sudo apt-get install virtualenv virtualenv --python=python2.7 dopamine-env source dopamine-env/bin/activate
これは dopamine-env という名前のディレクトリを作成してそこでは仮想環境が活性化してます。最後のコマンドは環境を有効にします。
それから、Dopamine の依存性をインストールします :
sudo apt-get install cmake zlib1g-dev pip install absl-py atari-py gin-config gym opencv-python tensorflow
インストールの間、次のエラーメッセージは安全に無視して良いです : tensorflow 1.10.1 has requirement numpy<=1.14.5,>=1.13.3, but you’ll have numpy 1.15.1 which is incompatible.
最後に、Dopamine ソースをダウンロードします, e.g.
git clone https://github.com/google/dopamine.git
テストを実行する
次を実行してインストールが成功したかテストすることができます :
cd dopamine export PYTHONPATH=${PYTHONPATH}:. python tests/atari_init_test.py
標準的な Atari 2600 実験へのエントリポイントは dopamine/atari/train.py です。基本的な DQN エージェントを実行するには、
python -um dopamine.atari.train \ --agent_name=dqn \ --base_dir=/tmp/dopamine \ --gin_files='dopamine/agents/dqn/configs/dqn.gin'
デフォルトでは、これは 2 億フレーム存続する実験を開始します。コマンドライン・インターフェイスは最新の訓練エピソードについてのスタッツを出力します :
[...] I0824 17:13:33.078342 140196395337472 tf_logging.py:115] gamma: 0.990000 I0824 17:13:33.795608 140196395337472 tf_logging.py:115] Beginning training... Steps executed: 5903 Episode length: 1203 Return: -19.
プロセスの微細な情報を得るためには、dopamine/agents/dqn/configs/dqn.gin の実験パラメータを調整することができます。特に、反復を完了するために必要な総ステップ数を一緒に決定する Runner.training_steps と Runner.evaluation_steps を減じることによって調整できます。これは、各反復の最後に生成されるログファイルやチェックポイントを調べることを望む場合に有用です。
より一般的には、Dopamine 全体は gin configuration フレームワーク を使用して用意に configure されます。
ライブラリとしてインストールする
Dopamine をインストールする簡単で、代わりの方法は Python ライブラリとしてです :
sudo apt-get install cmake # Or brew install, see Mac OS X instructions above. pip install dopamine-rl pip install atari-py
特定のシステム構成に依存して、zlib もまたインストールする必要があるかもしれません。
テストを実行する
ルート・ディレクトリから、次のようなコマンドでテストが実行できます :
python -um tests.agents.rainbow.rainbow_agent_test
リファレンス
- Bellemare et al., The Arcade Learning Environment: An evaluation platform for general agents. Journal of Artificial Intelligence Research, 2013.
- Hessel et al., Rainbow: Combining Improvements in Deep Reinforcement Learning. Proceedings of the AAAI Conference on Artificial Intelligence, 2018.
- Mnih et al., Human-level Control through Deep Reinforcement Learning. Nature, 2015.
- Mnih et al., Asynchronous Methods for Deep Reinforcement Learning. Proceedings of the International Conference on Machine Learning, 2016.
- Schaul et al., Prioritized Experience Replay. Proceedings of the International Conference on Learning Representations, 2016.
以上