Набор инструментов для исследований с открытым исходным кодом

Обучение с подкреплением (RL) имело большой успех, когда дело доходит до оптимизации агентов в среде со структурой вознаграждения. Примеры включают впечатляющие алгоритмы, способные побеждать лучших игроков мира в таких играх, как Dota 2 или шахматы. Совсем недавно алгоритмы эволюционных вычислений (EC) также оказались успешными с производительностью, аналогичной обычно более сложному RL. Хотя существует множество библиотек RL и EC с открытым исходным кодом, ни одна общедоступная библиотека не сочетает в себе эти два подхода для расширенного сравнения, сотрудничества или визуализации.

Pearl 🦪 — это пакет на основе PyTorch, предназначенный для быстрого прототипирования новых адаптивных алгоритмов принятия решений на пересечении RL и EC. В этой статье я хочу представить библиотеку и подробно описать некоторые ключевые функции.

  • Сама библиотека размещена на GitHub здесь.
  • Технический отчет с более подробной информацией можно найти на arXiv здесь.
  • Интерактивное руководство по использованию Google Colab можно найти здесь.

Ключевая особенность

  • ✅ Алгоритмы RL, алгоритмы EC и гибридные алгоритмы (сочетающие RL и EC) могут быть реализованы из одного базового класса.
  • ✅ Все агенты созданы для совместимости со средой тренажерного зала OpenAI.
  • ✅ Поддержка нескольких агентов для более быстрого обучения.
  • ✅ Интеграция с Tensorboard для анализа в реальном времени.
  • ✅ Модульные и расширяемые компоненты с подсказками типов и строками документации по функциям.
  • ✅ Индивидуальные настройки модуля, сгруппированные по классам данных.
  • ✅ Пользовательские обратные вызовы для внедрения уникальной логики в ваш алгоритм.
  • ✅ Модульные тесты реализованы с охватом 92%.
  • ✅ Гибкие и мощные модели нейронных сетей.
  • ✅ Интерфейс командной строки для запуска реализованных агентов в качестве демонстрации и для визуализации сложных сюжетов.

Пример

Теперь вы можете напрямую визуализировать и сравнивать свои результаты между алгоритмами RL и EC, используя одно и то же программное обеспечение 🤩