يحتوي هذا الريبو على تطبيقات موزعة للخوارزميات الموصوفة في:
[1] التثبيت العصبي العميق: الخوارزميات الوراثية هي بديل تنافسي لتدريب الشبكات العصبية العميقة للتعلم التعزيز
[2] تحسين الاستكشاف في استراتيجيات التطور لتعلم التعزيز العميق من خلال مجموعة من عوامل البحث عن الجدة
يعتمد رمزنا على الكود من Openai ، الذي نشكره. يمكن العثور على الكود الأصلي والورقة ذات الصلة من Openai هنا. تم تعديل الريبو لتشغيل كل من ES والخوارزميات لدينا ، بما في ذلك الخوارزمية الوراثية العميقة لدينا (Deepga) محليًا وعلى AWS.
ملاحظة: تعتمد التجربة البشرية على mujoco. يرجى تقديم رخصة mujoco الخاصة بك والثنائي
يمكن العثور على المقالة التي تصف هذه الأوراق هنا
يحتوي المجلد ./visual_inspector ارجع إلى README.md في هذا المجلد لمزيد من الإرشادات حول تشغيل وتخصيص التصور الخاص بك. مقال تصف أداة التصور هذه يمكن العثور عليها هنا.
يحتوي المجلد ./gpu_implementation على تطبيق يستخدم GPU بشكل أكثر كفاءة. ارجع إلى README.md في هذا المجلد لمزيد من التعليمات.
استنساخ repo
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 ، فتأكد من اتباع README Mujoco-Py حول كيفية تثبيت Mujoco بشكل صحيح
إطلاق 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>
يحتفظ المجلد الإضافي بملف مواصفات XML لـ Humanoid tocomotion مع مجال فخ خادع المستخدم في https://arxiv.org/abs/1712.06560. استخدم ملف XML هذا في صالة الألعاب الرياضية لإعادة إنشاء البيئة.
يمكنك أيضًا تشغيل الرمز داخل حاوية Docker باستخدام Docker و Docker-Corm.
انظر https://docs.docker.com/get-started/ للحصول على مقدمة إلى Docker.
انظر أيضًا https://docs.docker.com/compose/overview/ للحصول على مقدمة إلى Docker-cormse.
استنساخ repo وأدخل الدليل.
git clone https://github.com/uber-common/deep-neuroevolution.git
cd deep-neuroevolution
ابدأ تشغيل الحاوية في تشغيل مثيل Redis ، واستخدم Sudo إذا لزم الأمر ، راجع أيضًا هذه الصفحة.
sudo docker-compose up
افتح جلسة طرفية ثانية في الحاوية.
sudo docker exec -it deepneuro /bin/bash
ابدأ التجربة التي تختارها كما هو مذكور أعلاه. على سبيل المثال
cd ~/deep-neuroevolution/
. scripts/local_run_exp.sh es configurations/frostbite_es.json