Зміст курсу
Вступ до навчання з підкріпленням
Вступ до навчання з підкріпленням
Основи Gymnasium
Gymnasium — це інструментарій з відкритим кодом, призначений для розробки та оцінювання агентів з підкріпленням (RL). Він надає набір стандартних середовищ для тестування алгоритмів і ефективного навчання агентів.
Основні характеристики
- Стандартизований API: забезпечує сумісність між різними середовищами;
- Різноманіття середовищ: підтримує класичні задачі керування, ігри Atari та симуляції робототехніки;
- Легка інтеграція: сумісний з фреймворками глибокого навчання, такими як TensorFlow і PyTorch.
Робочий процес
Типовий робочий процес у Gymnasium виглядає так:
1. Імпорт бібліотеки
import gymnasium as gym
Після того, як оригінальна бібліотека gym
була припинена, тепер рекомендується використовувати gymnasium
— активно підтримуваний та розвиваний форк gym. Незважаючи на зміну назви, бібліотеку все ще часто імпортують з псевдонімом gym
для зворотної сумісності та зручності.
2. Створення середовища
env = gym.make("CartPole-v1")
Функція gym.make()
створює середовище за його унікальним ідентифікатором (наприклад, "CartPole-v1"
). Також можна передавати додаткові параметри конфігурації залежно від вимог середовища.
3. Скидання середовища
observation, info = env.reset()
Перед взаємодією із середовищем необхідно скинути його до початкового стану за допомогою env.reset()
. Це повертає:
observation
: початковий стан середовища;info
: допоміжні дані, які можуть містити метадані або специфічну конфігурацію стану.
4. Взаємодія із середовищем
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
У першому рядку випадкова дія вибирається з простору дій за допомогою env.action_space.sample()
. Простір дій визначає набір усіх можливих дій, які агент може виконати у середовищі. Крім того, середовище надає простір спостережень, який можна отримати через env.observation_space
і який представляє набір усіх можливих спостережень (станів), з якими може зіткнутися агент.
У другому рядку обрана дія передається у env.step(action)
, яка виконує дію та повертає наступне:
observation
: новий стан агента після виконання дії;reward
: винагорода, отримана за виконану дію;terminated
: булевий показник, що вказує, чи завершено епізод (тобто завдання виконано);truncated
: булевий показник, що вказує, чи було епізод передчасно зупинено (через час або інші обмеження);info
: додаткова діагностична інформація, часто використовується для налагодження або логування.
5. Закриття середовища
env.close()
Якщо ваше середовище використовує зовнішні ресурси (наприклад, вікна візуалізації або симуляції), його слід закрити за допомогою env.close()
.
Якщо ви бажаєте дізнатися більше про можливості, які надає бібліотека Gymnasium, відвідайте their website.
Дякуємо за ваш відгук!