
الوثائق | خوارزميات تنفذ | التثبيت | البدء | رخصة
Omnisafe هو إطار عمل للبنية التحتية مصمم لتسريع أبحاث التعلم التعزيز الآمن (RL). يوفر معيارًا شاملاً وموثوقًا لخوارزميات RL الآمنة ، وأيضًا مجموعة أدوات معيارية خارج الصندوق للباحثين. تعتزم Saferl تطوير الخوارزميات التي تقلل من خطر الضرر غير المقصود أو السلوك غير الآمن.
يقف Omnisafe كإطار التعلم الموحد الافتتاحي في عالم التعلم الآمن ، بهدف تعزيز نمو مجتمع التعلم Saferl. الميزات الرئيسية لـ Omnisafe:
إطار وحدات للغاية. يقدم Omnisafe إطارًا وحدات للغاية ، يتضمن مجموعة واسعة من عشرات الخوارزميات المصممة لتحقيق التعلم الآمن عبر المجالات المتنوعة. هذا الإطار متعدد الاستخدامات بسبب تجريده لأنواع الخوارزمية المختلفة وواجهة واجهة برمجة التطبيقات المصممة جيدًا ، وذلك باستخدام مكونات تصميم المحول والغلاف لسد الثغرات وتمكين التفاعلات السلس بين المكونات المختلفة. يسمح هذا التصميم بتمديد وتخصيص سهل ، مما يجعله أداة قوية للمطورين الذين يعملون مع أنواع مختلفة من الخوارزميات.
تسارع حوسبة موازية عالية الأداء. من خلال تسخير قدرات torch.distributed ، فإن Omnisafe يسارع عملية التعلم للخوارزميات مع التوازي العملية. وهذا يتيح Omnisafe ليس فقط لدعم التوازي غير المتزامن على مستوى البيئة ولكنه يشتمل أيضًا على التعلم غير المتزامن. تعزز هذه المنهجية استقرار التدريب وتسريع عملية التدريب من خلال نشر آلية استكشاف موازية. إن تكامل الوكيل غير المتزامن في Omnisafe يؤكد التزامه بتوفير منصة متعددة الاستخدامات وقوية للتقدم في الأبحاث السافية.
مجموعات أدوات خارج الصندوق. يقدم Omnisafe مجموعات أدوات قابلة للتخصيص للمهام مثل التدريب والمعايير والتحليل والعرض. تجعل البرامج التعليمية وواجهة برمجة التطبيقات السهلة للاستخدام سهلة للمبتدئين والمستخدمين العاديين ، في حين أن الباحثين المتقدمين يمكنهم تعزيز كفاءتهم دون رمز معقد.
إذا وجدت Omnisafe مفيدًا أو استخدم Omnisafe في بحثك ، فيرجى الاستشهاد به في منشوراتك.
@article { JMLR:v25:23-0681 ,
author = { Jiaming Ji and Jiayi Zhou and Borong Zhang and Juntao Dai and Xuehai Pan and Ruiyang Sun and Weidong Huang and Yiran Geng and Mickel Liu and Yaodong Yang } ,
title = { OmniSafe: An Infrastructure for Accelerating Safe Reinforcement Learning Research } ,
journal = { Journal of Machine Learning Research } ,
year = { 2024 } ,
volume = { 25 } ,
number = { 285 } ,
pages = { 1--6 } ,
url = { http://jmlr.org/papers/v25/23-0681.html }
}يتطلب Omnisafe Python 3.8+ و Pytorch 1.10+.
نحن ندعم واختبار Python 3.8 ، 3.9 ، 3.10 على Linux. وفي الوقت نفسه ، ندعم أيضًا إصدارات M1 و M2 من MacOS. سوف نقبل PRS المتعلقة بـ Windows ، لكننا لا ندعمها رسميًا.
# Clone the repo
git clone https://github.com/PKU-Alignment/omnisafe.git
cd omnisafe
# Create a conda environment
conda env create --file conda-recipe.yaml
conda activate omnisafe
# Install omnisafe
pip install -e . يتم استضافة Omnisafe في /.
pip install omnisafe cd examples
python train_policy.py --algo PPOLag --env-id SafetyPointGoal1-v0 --parallel 1 --total-steps 10000000 --device cpu --vector-env-nums 1 --torch-threads 1| المجالات | الأنواع | سجل الخوارزميات |
|---|---|---|
| على السياسة | بدائية المزدوجة | trpolag ppolag PDO RCPO |
| trpopid cppopid | ||
| التحسين المحدب | CPO PCPO ؛ تركز كوب | |
| وظيفة العقوبة | الاكتتاب P3O | |
| البدائية | oncrpo | |
| خارج السياسة | بدائية المزدوجة | DDPGLAG TD3LAG ساكلاغ |
| DDPGPID ؛ TD3PID ؛ sacpid | ||
| على أساس النموذج | خطة عبر الإنترنت | Safeloop ccepets rcepets |
| التقدير المتشائم | المكبس | |
| دون اتصال | Q-Learning على أساس | bcqlag ؛ C-CRR |
| قائم على الزهر | coptdice | |
| صياغة أخرى MDP | ET-MDP | PPO المبكرة ؛ trpoearerlyinated |
| Sauterl | pposaute trposaute | |
| سيمميرل | pposimmerpid. trposimmerpid |
فيما يلي قائمة بالبيئات التي تدعمها السلامة-gymnasium:
| فئة | مهمة | عامل | مثال |
|---|---|---|---|
| التنقل الآمن | الهدف [012] | النقطة ، السيارة ، سباق السباق ، النملة | SafetyPointGoal1-V0 |
| زر [012] | |||
| دفع [012] | |||
| الدائرة [012] | |||
| سرعة آمنة | سرعة | Halfchetah ، Hopper ، Swimmer ، Walker2d ، Ant ، Humanoid | SafetyHumanoidvelocity-V1 |
| آمن إسحاق الصالة الرياضية | Overafefefinger | Shadowhand | Shadowhandoversafefinger |
| overafejoint | |||
| catchover2NunderArmsafefinger | |||
| catchover2NunderArmsafejoint |
لمزيد من المعلومات حول البيئات ، يرجى الرجوع إلى السلامة-Gymnasium.
نحن نقدم واجهة بيئة مخصصة مرنة تتيح للمستخدمين تحقيق ما يلي دون تعديل رمز مصدر Omnisafe :
نحن نقدم دروسًا خطوة بخطوة حول تخصيص البيئة من الصفر والتخصيص البيئي من المجتمع لنقدم لك مقدمة مفصلة حول كيفية استخدام هذه الميزة غير العادية من Omnisafe.
ملاحظة: إذا وجدت مشكلة في تخصيص بيئتك ، فلا تتردد في فتح مشكلة أو مناقشة. يتم الترحيب بطلبات السحب أيضًا إذا كنت على استعداد للمساهمة في تنفيذ واجهة البيئات الخاصة بك.
pip install omnisafe
omnisafe --help # Ask for help
omnisafe benchmark --help # The benchmark also can be replaced with 'eval', 'train', 'train-config'
# Quick benchmarking for your research, just specify:
# 1. exp_name
# 2. num_pool(how much processes are concurrent)
# 3. path of the config file (refer to omnisafe/examples/benchmarks for format)
# Here we provide an exampe in ./tests/saved_source.
# And you can set your benchmark_config.yaml by following it
omnisafe benchmark test_benchmark 2 ./tests/saved_source/benchmark_config.yaml
# Quick evaluating and rendering your trained policy, just specify:
# 1. path of algorithm which you trained
omnisafe eval ./tests/saved_source/PPO-{SafetyPointGoal1-v0} --num-episode 1
# Quick training some algorithms to validate your thoughts
# Note: use `key1:key2`, your can select key of hyperparameters which are recursively contained, and use `--custom-cfgs`, you can add custom cfgs via CLI
omnisafe train --algo PPO --total-steps 2048 --vector-env-nums 1 --custom-cfgs algo_cfgs:steps_per_epoch --custom-cfgs 1024
# Quick training some algorithms via a saved config file, the format is as same as default format
omnisafe train-config ./tests/saved_source/train_config.yamlلقد قدمنا نتائج قياسية لمختلف الخوارزميات ، بما في ذلك الأساليب على الجودة ، خارج السياسة ، القائمة على النماذج ، وغير متصل ، إلى جانب تحليل ضبط المعلمات. يرجى الرجوع إلى ما يلي:
استكشف Omnisafe بسهولة وبسرعة من خلال سلسلة من أجهزة الكمبيوتر المحمولة من Google Colab:
يسعدنا أن نتعاون مع مستخدمينا لإنشاء برامج تعليمية بلغات مختلفة. يرجى الرجوع إلى قائمة اللغات المدعومة حاليًا. إذا كنت مهتمًا بترجمة البرنامج التعليمي إلى لغة جديدة أو تحسين إصدار موجود ، يرجى إرسال العلاقات العامة إلينا.
انظر changelog.md.
قمنا بتجميع قائمة من الأوراق التي تستخدم Omnisafe لتنفيذ أو تجريب الخوارزمية. إذا كنت على استعداد لتضمين عملك في هذه القائمة ، أو إذا كنت ترغب في دمج تطبيقك رسميًا في Omnisafe ، فلا تتردد في الاتصال بنا.
| أوراق | الناشر |
|---|---|
| التعلم الآمن الأمان بدائي في السياسة | ICLR 2024 |
| التعلم الآمن للاتصال بالإنترنت مع نموذج الانتشار الموجهة للجدوى | ICLR 2024 |
| تقدير قابلية الوصول التكرارية لتعلم التعزيز الآمن | Neups 2023 |
| رصيد المكافأة وتحسين السلامة لتعلم التعزيز الآمن: منظور التلاعب التدرج | AAAI 2024 |
| قيود السلامة التعليمية من العرض التوضيحي باستخدام أشجار القرار من فئة واحدة | AAAI 2024 ورش العمل |
تم تطوير Omnisafe بشكل رئيسي من قبل فريق الأبحاث Saferl من إخراج البروفيسور يودونغ يانغ. من بين أعضاء فريق البحث Saferl لدينا بورونج تشانغ وجياي تشو و Jtao Dai و Weidong Huang و Ruiyang Sun و Xuehai Pan و Jiaming Ji. إذا كانت لديك أي أسئلة في عملية استخدام Omnisafe ، فلا تتردد في طرح أسئلتك على صفحة إصدار GitHub ، فسنرد عليك في 2-3 أيام عمل.
يتم إصدار Omnisafe بموجب Apache License 2.0.