Repo ini berisi implementasi algoritma yang didistribusikan yang dijelaskan dalam:
[1] Deep Neuroevolution: Algoritma Genetika adalah alternatif kompetitif untuk melatih jaringan saraf yang dalam untuk pembelajaran penguatan
[2] Meningkatkan eksplorasi dalam strategi evolusi untuk pembelajaran penguatan mendalam melalui populasi agen pencarian baru
Kode kami didasarkan pada kode dari Openai, yang kami berterima kasih. Kode asli dan kertas terkait dari OpenAI dapat ditemukan di sini. Repo telah dimodifikasi untuk menjalankan ES dan algoritma kami, termasuk algoritma genetika mendalam kami (Deepga) secara lokal dan pada AWS.
Catatan: Eksperimen humanoid tergantung pada mujoco. Harap berikan lisensi dan biner mujoco Anda sendiri
Artikel yang menjelaskan makalah ini dapat ditemukan di sini
Folder ./visual_inspector berisi implementasi Vine, IE, Visual Inspector for Neuroevolution, alat visualisasi data interaktif untuk neuroevolution. Lihat README.md di folder itu untuk instruksi lebih lanjut tentang menjalankan dan menyesuaikan visualisasi Anda. Sebuah artikel yang menjelaskan alat visualisasi ini dapat ditemukan di sini.
Folder ./gpu_implementation berisi implementasi yang menggunakan GPU lebih efisien. Lihat README.md di folder itu untuk instruksi lebih lanjut.
Klon Repo
git clone https://github.com/uber-common/deep-neuroevolution.git
Buat python3 virtual env
python3 -m venv env
. env/bin/activate
pasang persyaratan
pip install -r requirements.txt
Jika Anda berencana menggunakan Mujoco Env, pastikan untuk mengikuti Readme Mujoco-Py tentang cara menginstal Mujoco dengan benar
Luncurkan Redis
. scripts/local_run_redis.sh
Luncurkan Eksperimen ES Sampel
. 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
Luncurkan Eksperimen Contoh NS-ES
. scripts/local_run_exp.sh ns-es configurations/frostbite_nses.json
. scripts/local_run_exp.sh ns-es configurations/humanoid_nses.json
Luncurkan Eksperimen Sampel NSR-ES
. scripts/local_run_exp.sh nsr-es configurations/frostbite_nsres.json
. scripts/local_run_exp.sh nsr-es configurations/humanoid_nsres.json
Luncurkan Contoh Eksperimen GA
. scripts/local_run_exp.sh ga configurations/frostbite_ga.json # For the Atari game Frostbite
Luncurkan Contoh Eksperimen Pencarian Acak
. scripts/local_run_exp.sh rs configurations/frostbite_ga.json # For the Atari game Frostbite
Visualisasikan hasil dengan menjalankan file kebijakan
python -m scripts.viz 'FrostbiteNoFrameskip-v4' <YOUR_H5_FILE>
python -m scripts.viz 'Humanoid-v1' <YOUR_H5_FILE>
Folder ekstra memegang file spesifikasi XML untuk penggerak humanoid dengan domain perangkap penipuan yang digunakan dalam https://arxiv.org/abs/1712.06560. Gunakan file XML ini di gym untuk menciptakan kembali lingkungan.
Anda juga dapat menjalankan kode di dalam wadah Docker menggunakan Docker dan Docker-Compose.
Lihat https://docs.docker.com/get-started/ untuk pengantar Docker.
Lihat juga https://docs.docker.com/compose/overview/ untuk pengantar Docker-compose.
Klon repo dan masukkan direktori.
git clone https://github.com/uber-common/deep-neuroevolution.git
cd deep-neuroevolution
Mulai wadah meluncurkan instance Redis, gunakan sudo jika diperlukan, lihat juga halaman ini.
sudo docker-compose up
Buka sesi terminal kedua ke dalam wadah.
sudo docker exec -it deepneuro /bin/bash
Mulailah percobaan pilihan Anda seperti yang dinyatakan di atas. Misalnya
cd ~/deep-neuroevolution/
. scripts/local_run_exp.sh es configurations/frostbite_es.json