Соревновательное самообучение

Иллюстрация: Бен Барри (Ben Barry)
Мы обнаружили, что самообучение позволяет симулированным ИИ осваивать такие физические навыки, как отборы, уклонения, финты, удары ногой, перехваты и броски за мячом в падении, без необходимости явно проектировать среду с учетом этих навыков. Самообучение гарантирует, что уровень сложности среды всегда оптимален для совершенствования ИИ. Учитывая также наши результаты по самообучению в Dota 2, мы всё больше убеждаемся в том, что самообучение станет ключевым элементом мощных систем искусственного интеллекта в будущем.
Мы организовали соревнования между несколькими симулированными трёхмерными роботами в различных базовых играх, обучили каждого агента с помощью простых целей (вытолкнуть противника за пределы ринга сумо, добраться до противоположной стороны ринга, мешая при этом сопернику сделать то же самое, забить гол в ворота или помешать противнику сделать это и т. д.), а затем проанализировали возникшие стратегии.
Поначалу агенты получают плотные награды за поведение, способствующее исследованию (например, за то, чтобы стоять и двигаться вперед), которые со временем плавно сводятся к нулю в пользу наград исключительно за победу или поражение. Несмотря на простоту наград, агенты осваивают тонкие поведенческие паттерны: отборы, уклонения, финты, удары, перехваты и падения за мячом. Нейросетевая политика каждого агента независимо обучалась с использованием метода Proximal Policy Optimization.
Чтобы понять, как сложные модели поведения могут возникать благодаря сочетанию простых целей и соревновательного давления, давайте проанализируем задачу борьбы сумо. В данном случае мы взяли плотную награду, определенную в предыдущей работе для обучения гуманоида ходьбе, убрали компонент скорости, добавили отрицательное L2-расстояние от центра ринга и использовали это в качестве плотной награды за исследование для наших агентов сумо. Сначала агентам разрешалось использовать эту награду для исследования ринга, а затем мы постепенно свели её к нулю, чтобы на оставшихся итерациях обучения агенты учились оптимизировать соревновательную награду — выталкивание противника за пределы ринга.
Хотя можно разрабатывать задачи и среды, требующие каждого из этих навыков по отдельности, это требует усилий и изобретательности от разработчиков-людей, а сложность поведения агентов будет ограничена теми проблемами, которые человек способен перед ними поставить. Создавая агентов путем тысяч итераций матчей против последовательно улучшающихся версий самих себя, мы можем создавать системы ИИ, которые самостоятельно повышают свою производительность; мы наблюдали аналогичный феномен в нашем проекте по Dota 2, где самообучение позволило нам создать агента с подкреплением, способного побеждать лучших игроков-людей в соло-версии этой киберспортивной дисциплины.
Трансфертное обучение
Эти агенты также демонстрируют трансфертное обучение (transfer learning), применяя навыки, приобретенные в одной обстановке, для успешного выполнения задач в другой, совершенно новой среде. В одном из экспериментов мы взяли агента, обученного на задаче борьбы сумо методом самообучения, и столкнули его с задачей удержания равновесия при воздействии сил «ветра». Агент сумел остаться в вертикальном положении, несмотря на то, что никогда ранее не сталкивался с ветреной средой и силами ветра, в то время как агенты, обученные ходьбе с помощью классического обучения с подкреплением, падали немедленно.
Переобучение
Наши агенты были подвержены переобучению (overfitting): они совместно вырабатывали стратегии, точно заточенные под противодействие конкретным противникам, но терпели неудачу при встрече с новыми оппонентами, обладающими другими характеристиками. Мы справились с этой проблемой, заставив каждого агента соревноваться с несколькими разными противниками вместо одного. Эти потенциальные оппоненты выбирались из ансамбля стратегий, которые обучались параллельно, а также из стратегий с более ранних этапов процесса обучения. Учитывая такое разнообразие соперников, агентам приходилось вырабатывать общие стратегии, а не только те, которые нацелены на какого-то конкретного оппонента.
Кроме того, мы публикуем среды MuJoCo и обученные модели поведения, использованные в данной работе, чтобы другие могли проводить эксперименты с этими системами. Если вы хотите работать над системами самообучения, мы нанимаем сотрудников!
Авторы
Полный текст статьи читайте на OpenAI
