Исследователи из University of Edinburgh обучили нейросетевую модель анимировать игровых персонажей. Нейросеть предсказывает, как персонаж должен взаимодействовать со средой, чтобы выполнить какое-то действие. Среди действий — такие, как сидеть, стоять, передвигаться, избегать препятствия и поднимать предметы. Архитектура модели базируется на Neural State Machine.
Даже простые задачи, как сидеть на стуле, сложно моделировать с помощью обучения с учителем. Сложность заключается в том, что такая задача предполагает комплексное планирование и умение ориентироваться в среде. Neural State Machine моделирует взаимодействие игрока в сменяющихся сценах.
Нейросеть принимает на вход целевую локацию и тип действия, который необходимо совершить. На выходе модель выдает последовательность шагов для совершения целевого действия. Чтобы персонажи адаптировались к специфике геометрии среды, исследователи включили в модель метод для аугментации данных. Это позволяет случайным образом сменять 3D геометрию среды, при этом сохраняя контекст изначального действия. Благодаря такому подходу нейросеть обучается действовать в отличных друг от друга средах.
Что внутри нейросети
Архитектура системы состоит из gating сети и сети для предсказания движений. Gating сеть принимает на вход подвыборку параметров текущего состояния и вектор целевого действия. На выходе gating сеть отдает коэффициенты для блендинга предыдущих действий, которые используются для предсказания следующего действия. Сеть для предсказания движений принимает на вход переменные контроля позы и траектории персонажа и выход gating сети. Затем модель предсказывает параметры следующего действия.
Проверка работы модели
Исследователи сравнили Neural State Machine с MLP, PFNN, MANN, LSTM и Auto-LSTM архитектурами. Ниже видно, что NSM выдает более точные результаты, чем остальные подходы.