Компанія Unity Technologies оголосила про запуск конкурсу для алгоритмів машинного навчання, призначених для проходження комп'ютерних ігор. Вони будуть змагатися в ігровому середовищі, що складається зі ста рівнів, в кожному з яких алгоритмів необхідно буде вирішувати завдання, щоб просунутися далі. Загальний призовий фонд змагання складає більше ста тисяч доларів, а його старт призначений на 11 лютого, повідомляється в блозі Unity. Опис ігрового середовища і результати перших експериментів опубліковані у статті, представленій на конференції AAAI-2019, інформує Ukr.Media.
Для людини навчитися грати в комп'ютерну гру на непоганому рівні - проста задача, що вимагає відносно небагато часу. Однак для комп'ютерних алгоритмів навіть прості 2D платформера являють собою складну задачу. В останні роки дослідники почали використовувати для її вирішення алгоритми машинного навчання, при використанні яких агент навчається грі, а не просто виконує закладені в нього скрипти. Але для навчання таких алгоритмів гру необхідно адаптувати і створити API для взаємодії агента з грою. Крім того, сама механіка ігор, створених для людини, може бути не адаптована під проходження ботом.
Компанія Unity Technologies, яка розробляє один із найбільш популярних ігрових движків Unity, створила ігру Obstacle Tower, призначену саме для навчання алгоритмів. Вона являє собою ігровий світ, що складається з вежі зі ста поверхами. Кожен поверх складається з декількох кімнат, в одній з яких агент починає гру, а в іншій може переміститися на наступний рівень, причому кількість кімнат збільшується з кожним поверхом вежі. Для доступу на наступний поверх алгоритму необхідно вирішити певні завдання на поточному рівні, наприклад, впоратися з головоломками або перемогти ворогів. Час проходження рівня обмежено, але агент може збільшувати його, збираючи капсули часу і проходячи рівні. Особливість гри полягає в тому, що рівні створюються з допомогою процедурної генерації, завдяки чому гра перевіряє генералізованість вивчених алгоритмом навичок.
Під час гри агент отримує два типи даних: кольорове зображення з дозволом на 168 168 пікселів, а також допоміжний вектор, створений з кількості ключів, які зібрав агент на цьому рівні, а також часу, що залишився на проходження рівня. Агент може рухатися в чотири сторони, повертатися в дві сторони, а також стрибати. Оскільки розробники розглядають Obstacle Tower як середовище для алгоритмів навчання з підкріпленням, вони реалізували дві функції винагороди. В одному режимі агент одержує нагороду тільки за прибуття до останній дверей, які ведуть на наступний поверх, а в іншому режимі він отримує нагороду і за проміжні події, такі як збір ключів і відкриття дверей між кімнатами.
Розробники протестували три типи алгоритмів, які навчалися з різним рівнем варіації ігрового середовища. Всі агенти навчилися грати на більш низькому рівні, ніж люди, однак найбільш цікавим став інший результат. Найкращих показників досяг алгоритм, який навчався на одній фіксованій версії середовища. Розробники пояснюють це тим, що завдяки використанню стабільного середовища алгоритм встиг зробити більший прогрес у цій версії ігрового світу і вивчити більше варіантів поведінки, потенційно застосованої і для інших версій.