fbpx
  • Нейросеть анимирует персонажей в игровой среде

    Исследователи из University of Edinburgh обучили нейросетевую модель анимировать игровых персонажей. Нейросеть предсказывает, как персонаж должен взаимодействовать со средой, чтобы выполнить какое-то действие. Среди действий — такие, как сидеть, стоять, передвигаться, избегать препятствия и поднимать предметы. Архитектура модели базируется на Neural State Machine. 

    Даже простые задачи, как сидеть на стуле, сложно моделировать с помощью обучения с учителем. Сложность заключается в том, что такая задача предполагает комплексное планирование и умение ориентироваться в среде. Neural State Machine моделирует взаимодействие игрока в сменяющихся сценах. 

    Нейросеть принимает на вход целевую локацию и тип действия, который необходимо совершить. На выходе модель выдает последовательность шагов для совершения целевого действия. Чтобы персонажи адаптировались к специфике геометрии среды, исследователи включили в модель метод для аугментации данных. Это позволяет случайным образом сменять 3D геометрию среды, при этом сохраняя контекст изначального действия. Благодаря такому подходу нейросеть обучается действовать в отличных друг от друга средах.

    Что внутри нейросети

    Архитектура системы состоит из gating сети и сети для предсказания движений. Gating сеть принимает на вход подвыборку параметров текущего состояния и вектор целевого действия. На выходе gating сеть отдает коэффициенты для блендинга предыдущих действий, которые используются для предсказания следующего действия. Сеть для предсказания движений принимает на вход переменные контроля позы и траектории персонажа и выход gating сети. Затем модель предсказывает параметры следующего действия.

    Визуализация составных частей нейросети

    Проверка работы модели

    Исследователи сравнили Neural State Machine с MLP, PFNN, MANN, LSTM и Auto-LSTM архитектурами. Ниже видно, что NSM выдает более точные результаты, чем остальные подходы.

    Средняя ошибка позиции (PE — Positional Error) и средняя ошибка вращения (RE — Rotation Error) для конкурирующих подходов