このリポジトリには、次のようなアルゴリズムの分散実装が含まれています。
[1]深い神経進化:遺伝的アルゴリズムは、強化学習のための深いニューラルネットワークをトレーニングするための競争力のある代替品です
[2]ノベルティ探索エージェントの集団を介した深い補強学習のための進化戦略の探求の改善
私たちのコードは、Openaiのコードに基づいています。 Openaiの元のコードと関連用紙は、こちらにあります。リポジトリは、ESとアルゴリズムの両方を実行するように変更されています。これには、深い遺伝的アルゴリズム(DEEPGA)がローカルおよびAWSを含みます。
注:ヒューマノイド実験はムホコに依存します。独自のMujocoライセンスとバイナリを提供してください
これらの論文を説明する記事はここにあります
Folder ./visual_inspectorには、Vine、つまり、Neurovolutionの視覚検査官、Neurovolutionのインタラクティブなデータ視覚化ツールの実装が含まれています。視覚化の実行とカスタマイズに関するさらなる指示については、そのフォルダーのREADME.mdを参照してください。この視覚化ツールを説明する記事は、こちらをご覧ください。
Folder ./gpu_implementationには、GPUをより効率的に使用する実装が含まれています。詳細については、そのフォルダーのREADME.mdを参照してください。
クローンリポジトリ
git clone https://github.com/uber-common/deep-neuroevolution.git
Python3仮想envを作成します
python3 -m venv env
. env/bin/activate
要件をインストールします
pip install -r requirements.txt
Mujoco Envを使用する予定の場合は、Mujocoの正しくインストールする方法についてMujoco-PyのReadmeをフォローしてください
Redisを起動します
. scripts/local_run_redis.sh
サンプルES実験を起動します
. scripts/local_run_exp.sh es configurations/frostbite_es.json # For the Atari game Frostbite
. scripts/local_run_exp.sh es configurations/humanoid.json # For the MuJoCo Humanoid-v1 environment
サンプルNS-ES実験を起動します
. scripts/local_run_exp.sh ns-es configurations/frostbite_nses.json
. scripts/local_run_exp.sh ns-es configurations/humanoid_nses.json
サンプルNSR-ES実験を起動します
. scripts/local_run_exp.sh nsr-es configurations/frostbite_nsres.json
. scripts/local_run_exp.sh nsr-es configurations/humanoid_nsres.json
サンプルGA実験を起動します
. scripts/local_run_exp.sh ga configurations/frostbite_ga.json # For the Atari game Frostbite
サンプルランダム検索実験を起動します
. scripts/local_run_exp.sh rs configurations/frostbite_ga.json # For the Atari game Frostbite
ポリシーファイルを実行して結果を視覚化します
python -m scripts.viz 'FrostbiteNoFrameskip-v4' <YOUR_H5_FILE>
python -m scripts.viz 'Humanoid-v1' <YOUR_H5_FILE>
追加フォルダーは、https://arxiv.org/abs/1712.06560で使用される欺ceptiveトラップドメインを使用して、ヒューマノイド移動のXML仕様ファイルを保持します。ジムでこのXMLファイルを使用して、環境を再現します。
DockerとDocker-Composeを使用して、Dockerコンテナ内でコードを実行することもできます。
Dockerの紹介については、https://docs.docker.com/get-started/を参照してください。
Docker-Composeの紹介については、https://docs.docker.com/compose/overview/も参照してください。
レポンをクローンし、ディレクトリを入力します。
git clone https://github.com/uber-common/deep-neuroevolution.git
cd deep-neuroevolution
コンテナを起動してRedisインスタンスを起動し、必要に応じてSudoを使用してください。このページも参照してください。
sudo docker-compose up
コンテナに2番目の端末セッションを開きます。
sudo docker exec -it deepneuro /bin/bash
上記のように、選択した実験を開始してください。例えば
cd ~/deep-neuroevolution/
. scripts/local_run_exp.sh es configurations/frostbite_es.json