Roboschool
Мы выпускаем Roboschool — программное обеспечение с открытым исходным кодом для симуляции роботов, интегрированное с OpenAI Gym.

Roboschool предоставляет новые среды OpenAI Gym для управления роботами в симуляции. Восемь из этих сред служат бесплатными альтернативами уже существующим реализациям MuJoCo и перенастроены для достижения более реалистичного движения. Мы также добавили несколько новых, сложных сред.
Кроме того, Roboschool позволяет легко обучать несколько агентов одновременно в одной среде.
После запуска Gym мы часто слышали от пользователей жалобу на то, что компонент MuJoCo требует платной лицензии (хотя недавно в MuJoCo появились бесплатные студенческие лицензии для личных и учебных целей). Roboschool снимает это ограничение, позволяя каждому заниматься исследованиями независимо от своего бюджета. В основе Roboschool лежит Bullet Physics Engine — физическая библиотека с открытым исходным кодом и мягкой лицензией, которая использовалась в другом программном обеспечении для симуляции, таком как Gazebo и V-REP.
Среды
Roboschool поставляется с двенадцатью средами, включая задачи, знакомые пользователям Mujoco, а также новые испытания, такие как усложненные версии задачи ходьбы гуманоида (Humanoid) и многопользовательская среда Понга. Мы планируем со временем расширять эту коллекцию и надеемся на вклад сообщества.
Что касается существующих сред MuJoCo, помимо портирования на Bullet, мы изменили их, чтобы сделать более реалистичными. Вот три портированные среды с объяснением их отличий от оригинальных.
Вы можете найти обученные стратегии (политики) для всех этих сред в папке [agent_zoo](https://github.com/openai/roboschool/tree/master/agent_zoo) в репозитории GitHub. Вы также можете запустить [demo_race](https://github.com/openai/roboschool/blob/master/agent_zoo/demo_race2.py) скрипт, чтобы устроить гонку между тремя роботами.
Интерактивное и надежное управление
Во многих предыдущих средах OpenAI Gym целью было обучение контроллера ходьбы. Однако эти среды включали очень базовую версию проблемы, где цель сводилась просто к движению вперед. На практике стратегии ходьбы выучивали единую ци циклическую траекторию, оставляя большую часть пространства состояний незадействованной. Более того, итоговые стратегии получались очень хрупкими: небольшой толчок часто приводил к тому, что робот спотыкался и падал.
Мы добавили еще две среды с 3D-гуманоидом, которые делают задачу передвижения более интересной и сложной. Эти среды требуют интерактивного управления — роботы должны бежать к флагу, положение которого случайно меняется с течением времени.
HumanoidFlagrun разработана для того, чтобы научить робота замедляться и поворачивать. Цель состоит в том, чтобы бежать к флагу, положение которого случайно изменяется.
HumanoidFlagrunHarder вдобавок позволяет робору падать и дает ему время подняться на ноги. Кроме того, каждый эпизод начинается с того, что робот стоит или лежит на земле, и его постоянно забрасывают белыми кубиками, чтобы сбить с траектории.
Мы поставляем обученные стратегии для обеих задач:
HumanoidFlagrun и HumanoidFlagrunHarder. Ходьба здесь не такая быстрая и естественная, как у обычного гуманоида, но эти стратегии способны восстанавливаться после многих неприятных ситуаций и умеют маневрировать. Сама стратегия по-прежнему представляет собой многослойный перцептрон без внутреннего состояния, поэтому мы полагаем, что в некоторых случаях агент использует свои руки для хранения информации.
Многопользовательский режим
Roboschool позволяет запускать и обучать нескольких агентов в одной и той же среде. Мы начинаем с RoboschoolPong, и в будущем появятся новые среды.
При многопользовательском обучении вы можете обучать одного и того же агента играть за обе стороны (так что он играет сам с собой), обучать двух разных агентов с помощью одного алгоритма или даже столкнуть друг с другом два разных алгоритма.
Многоагентная среда ставит перед исследователями интересные задачи. Если вы будете обучать обоих игроков одновременно, вы, скорее всего, увидите кривую обучения, похожую на следующую, полученную с помощью метода градиента политики:

Кривые обучения для игры в понг, где стратегии обновляются с помощью одновременно выполняющихся алгоритмов градиента политики.
Вот что происходит на самом деле:
- Агент 1 (зеленый) понимает, что иногда может отбить мяч сверху, поэтому перемещается наверх.
- Агент 2 (фиолетовый) обнаруживает, что его противник находится наверху, поэтому посылает мяч вниз и подстраивается под отсутствие другого агента.
- Агент 1 в конце концов обнаруживает, что может защищаться, переместившись вниз, но теперь постоянно остается внизу, потому что Агент 2 всегда отправляет мяч вниз.
Таким образом, стратегии совершают колебательные движения, и ни один из агентов не узнает ничего полезного после многих часов обучения. Как и в генеративно-состязательных сетях, обучение в состязательной среде — дело тонкое, но мы считаем это интересной исследовательской задачей, поскольку подобное взаимодействие может приводить к сложным стратегиям даже в простых средах и обеспечивать естественную программу обучения (кюррикулум).
См. также
Сообщество проделало большую работу по созданию сред для OpenAI Gym, некоторые из которых основаны на симуляторах физики с открытым исходным кодом. В одном из недавних проектов исследователи создали форк OpenAI Gym, который заменил MuJoCo симулятором физики с открытым исходным кодом DART. Они показали, что стратегии могут успешно переноситься между двумя физическими симуляторами — MuJoCo и DART.
Полный текст статьи читайте на OpenAI
