Помните смешного 3D-человечка, которого в DeepMind научили ходить, просто поощряя нейросеть за правильные движения? В OpenAI пошли дальше и научили виртуальных агентов заниматься сумо, футболом и другими спортивными активностями. Для тех, кто пропустил, вкратце: создаются виртуальные 3D-куклы, которые действуют в виртуальном пространстве по всем законам физики - падают, отталкиваются от земли, испытывают силу притяжения, трения и так далее. Их точные движения не программируют явно - вместо этого их поощряют за движения, которые приводят к правильному результату. То есть виртуальный человечек будет ползать, дрыгать конечностями и всячески колбаситься, пока не начнёт делать движения, похожие на те, которых от него ожидают разработчики. И так - пока не научится делать то, что требуется. А в этом эксперименте OpenAI награда постепенно заменяется соревнованием - то есть человечек постоянно пытается переиграть копию себя, улучшаясь с каждой итерацией.

Таким образом в OpenAI научили нейросети моделировать движения борцов сумо, футболистов и других спортсменов. Посмотрите, на этом видео смешные 3D-куклы выталкивают друг друга из круга, пробивают штрафные, ловят и убегают друг от друга: https://youtu.be/OBcjhp4KSgQ. Результат таких исследований, естественно, не ограничивается забавными видео. Полученные модели можно переносить на другие активности: к примеру, агент, обученный стоять на ногах в борьбе сумо, потом эффективно противостоял и виртуальному ветру. Для сравнения, агент, обученный просто ходить, под действием ветра падал. Это называется transfer learning, и это очень полезная штука - она позволяет обучать нейросети в одной обстановке и потом успешно применять их в другой, абсолютно незнакомой для них.

Подробности и ссылки на исходники: https://blog.openai.com/competitive-self-play/

И аналогичный проект бегущих человечков от DeepMind: https://youtu.be/hx_bgoTF7bs

Competitive Self-Play

Learn more: https://blog.openai.com/competitive-self-play/
| YouTube