با استفاده از این جعبه ابزار، الگوریتم های یادگیری تقویتی را توسعه و مقایسه کنید.
اگر نمی توانید یک مدل یادگیری ماشینی را از ابتدا بسازید یا زیرساخت لازم را ندارید، صرفاً اتصال برنامه خود به یک مدل کارآمد این شکاف را برطرف می کند.
هوش مصنوعی اینجاست تا همه از یک راه یا آنطرف استفاده کنند. در مورد OpenAI Gym، زمین های آموزشی قابل بررسی زیادی برای تغذیه عوامل یادگیری تقویتی شما وجود دارد.
OpenAI Gym چیست، چگونه کار می کند و با استفاده از آن چه چیزی می توانید بسازید؟
ورزشگاه OpenAI چیست؟
OpenAI Gym یک API پایتونیک است که محیط های آموزشی شبیه سازی شده را برای عوامل یادگیری تقویتی فراهم می کند تا بر اساس مشاهدات محیطی عمل کنند. هر عمل با یک پاداش مثبت یا منفی همراه است که در هر مرحله زمانی تعلق می گیرد. در حالی که نماینده قصد دارد تا پاداش را به حداکثر برساند، برای هر تصمیم غیرمنتظره جریمه می شود.
گام زمانی یک تیک زمان گسسته برای انتقال محیط به حالت دیگر است. زمانی که اعمال عامل وضعیت محیط را تغییر میدهد، اضافه میشود.
ورزشگاه OpenAI چگونه کار می کند؟
محیطهای OpenAI Gym بر اساس فرآیند تصمیمگیری مارکوف (MDP)، یک مدل تصمیمگیری پویا است که در یادگیری تقویتی استفاده میشود. بنابراین، نتیجه میشود که پاداشها تنها زمانی به دست میآیند که محیط تغییر حالت دهد. و رویدادها در حالت بعدی فقط به وضعیت فعلی بستگی دارند، زیرا MDP رویدادهای گذشته را محاسبه نمی کند.
قبل از حرکت، اجازه دهید مثالی را برای درک سریع برنامه OpenAI Gym در یادگیری تقویتی بررسی کنیم.
با فرض اینکه قصد دارید یک ماشین را در یک بازی مسابقه ای آموزش دهید، می توانید یک مسیر مسابقه را در OpenAI Gym بچرخانید. در یادگیری تقویتی، اگر وسیله نقلیه به جای چپ به راست بپیچد، ممکن است پاداش منفی ۱- دریافت کند. مسیر مسابقه در هر مرحله زمانی تغییر می کند و ممکن است در حالت های بعدی پیچیده تر شود.
پاداش یا جریمه های منفی برای یک عامل در یادگیری تقویتی بد نیستند. در برخی موارد، آن را تشویق می کند تا سریعتر به هدف خود برسد. بنابراین، خودرو در طول زمان در مورد مسیر یاد میگیرد و با استفاده از رگههای پاداش، ناوبری خود را تسلط میبخشد.
به عنوان مثال، ما محیط FrozenLake-v1 را راهاندازی کردیم، جایی که یک عامل برای افتادن در سوراخهای یخ جریمه میشود اما برای بازیابی جعبه هدیه پاداش دریافت میکند.
اولین اجرا ما پنالتی های کمتری بدون پاداش ایجاد کرد:
با این حال، تکرار سوم محیط پیچیده تری را ایجاد کرد. اما نماینده چند جایزه گرفت:
نتیجه بالا به معنای بهبود عامل در تکرار بعدی نیست. در حالی که ممکن است دفعه بعد با موفقیت از سوراخ های بیشتر جلوگیری کند، ممکن است پاداشی دریافت نکند. اما تغییر چند پارامتر ممکن است سرعت یادگیری آن را بهبود بخشد.
اجزای بدنسازی OpenAI
OpenAI Gym API حول اجزای زیر می چرخد:
- محیط هایی که در آن یک عامل را آموزش می دهید. می توانید با استفاده از روش gym.make یکی را شروع کنید. OpenAI Gym همچنین از محیط های چند عاملی پشتیبانی می کند.
- بستهبندیهایی برای اصلاح یک محیط موجود. اگرچه هر محیط پایه به طور پیش فرض از قبل بسته بندی شده است، می توانید آن را با پارامترهایی مانند max_actions، min_actions و max rewards تغییر مقیاس دهید.
- یک اقدام؛ تعریف می کند که عامل با مشاهده تغییرات در محیط خود چه می کند. هر عمل در یک محیط، مرحله ای است که پاسخ یک عامل به مشاهدات را مشخص می کند. تکمیل مرحله یک مشاهده، یک پاداش، اطلاعات و یک مقدار کوتاه یا پایان را برمیگرداند.
- مشاهده؛ تجربه یک عامل را در یک محیط تعریف می کند. هنگامی که یک مشاهده وجود دارد، یک عمل با اطلاعات آن دنبال می شود. پارامتر اطلاعات یک گزارش اجرایی است که برای اشکال زدایی مفید است. پس از پایان یک مرحله، بسته به تعداد تکرارهای مشخص شده، محیط n بار ریست می شود.
با ورزشگاه OpenAI چه چیزی می توانید بسازید؟
از آنجایی که OpenAI Gym به شما امکان می دهد محیط های یادگیری سفارشی را بچرخانید، در اینجا چند راه برای استفاده از آن در یک سناریوی واقعی آورده شده است.
1. شبیه سازی بازی
میتوانید از محیطهای بازی OpenAI Gym برای پاداش دادن به رفتارهای دلخواه، ایجاد پاداشهای بازی و افزایش پیچیدگی در هر سطح بازی استفاده کنید.
2. تشخیص تصویر
در جایی که حجم محدودی از داده ها، منابع و زمان وجود دارد، OpenAI Gym می تواند برای توسعه یک سیستم تشخیص تصویر مفید باشد. در سطحی عمیقتر، میتوانید آن را برای ساختن یک سیستم تشخیص چهره، مقیاسبندی کنید، که به عاملی برای شناسایی درست چهرهها پاداش میدهد.
3. آموزش ربات
OpenAI Gym همچنین مدلهای محیطی بصری را برای شبیهسازیهای سهبعدی و دوبعدی ارائه میکند، جایی که میتوانید رفتارهای دلخواه را در روباتها پیادهسازی کنید. Roboschool نمونهای از نرمافزار شبیهسازی ربات مقیاسشده است که با استفاده از OpenAI Gym ساخته شده است.
4. بازاریابی
همچنین میتوانید راهحلهای بازاریابی مانند سرورهای تبلیغاتی، رباتهای معاملات سهام، رباتهای پیشبینی فروش، سیستمهای توصیهکننده محصول و بسیاری موارد دیگر را با استفاده از OpenAI Gym بسازید. به عنوان مثال، می توانید یک مدل OpenAI Gym سفارشی بسازید که تبلیغات را بر اساس میزان نمایش و کلیک جریمه می کند.
5. پردازش زبان طبیعی
برخی از راههای اعمال OpenAI Gym در پردازش زبان طبیعی، سؤالات چندگزینهای هستند که شامل تکمیل جمله یا ساختن یک طبقهبندی کننده هرزنامه است. به عنوان مثال، میتوانید به یک نماینده آموزش دهید تا تغییرات جملات را بیاموزد تا هنگام علامتگذاری شرکتکنندگان از تعصب جلوگیری کند.
چگونه با ورزشگاه OpenAI شروع کنیم
OpenAI Gym از Python 3.7 و نسخه های بعدی پشتیبانی می کند. برای راهاندازی یک محیط OpenAI Gym، Gymnasium را نصب میکنید، نسخه دوشاخهای که به طور مداوم پشتیبانی میشود:
pip install gymnasium
بعد، یک محیط را بچرخانید. هر چند می توانید یک محیط سفارشی ایجاد کنید. اما برای تسلط بر مفهوم OpenAI Gym، با بازی با یک موجود شروع کنید.
کد زیر FrozenLake-v1 را می چرخاند. روش env.reset مشاهدات اولیه را ثبت می کند:
import gymnasium as gym
env = gym.make('FrozenLake-v1', render_mode="human")
observation, info = env.reset()
برخی از محیط ها برای کار کردن به کتابخانه های اضافی نیاز دارند. اگر نیاز به نصب کتابخانه دیگری دارید، پایتون آن را از طریق پیام استثنا توصیه می کند.
به عنوان مثال، شما یک کتابخانه اضافی (Gymnasium[toy-text]) برای اجرای محیط FrozenLake-v1 نصب خواهید کرد.
از قدرت ورزشگاه OpenAI استفاده کنید
یکی از موانع توسعه هوش مصنوعی و یادگیری ماشین کمبود زیرساخت و مجموعه داده های آموزشی است. اما از آنجایی که به دنبال ادغام مدلهای یادگیری ماشینی در برنامهها یا دستگاههای خود هستید، اکنون با مدلهای آماده هوش مصنوعی که در سراسر اینترنت پرواز میکنند، همه چیز آسانتر است. در حالی که برخی از این ابزارها کم هزینه هستند، برخی دیگر از جمله OpenAI Gym رایگان و منبع باز هستند.