Поиск по сайту Поиск

Обучаем виртуального дракона фигурам высшего пилотажа

В наши дни компьютерная графика присутствует во всех популярных видах визуального контента: от видеороликов YouTube-блогеров до полнометражных фильмов. Но проработка сложных движений трёхмерных моделей обычно требует немало времени и сил. В этой ситуации на помощь создателям визуальных эффектов могут прийти нейросети. Рассказываем о работе учёных из Сеульского национального университета, которые смогли обучить летающего виртуального дракона пилотажным манёврам с помощью саморегулируемой модели машинного обучения.

В кино и анимационных фильмах летающие существа часто выполняют высокодинамичные воздушные трюки.  Они позволяют заворожить зрителя и держать его в напряжении — вспомните хотя бы мультфильм «Как приручить дракона». Основные пилотажные навыки включают в себя быстрое вращение вокруг трёх главных осей (тангаж, рыскание, крен) и различные последовательности манёвров. 

Тангаж (pitch), рысканье (yaw) и крен (roll) на примере квадрокоптера

Смоделировать такие манёвры, основываясь на прямом физическом методе, очень сложно — потребуется чрезвычайно умелый контроль. Обычно для создания трюков используется образцовые движения, например, живого актёра или реального объекта. На этапе компьютерной обработки их движения преобразуются в поведение нового существа — например, дракона. При этом, если требуемый объект сильно отличается от реального, результат может получиться не очень хорошим. Кроме того, существо, будь то дракон или птица, остаётся в неустойчивом равновесии большую часть времени полёта. И чтобы всё сломать, достаточно совсем малого возмущения. Особенно трудно будет с непрерывно выполняемыми манёврами.

Не так давно неплохой потенциал в создании основанной на физике анимации показало обучение с подкреплением (reinforcement learning, RL). RL учитывает текущее состояние персонажа и определяет последовательность действий, которая должна достичь максимальной суммы вознаграждений. Давать вознаграждение за выполнение определённых операций — основной способ влияния пользователя на управление полётом, а также на эффективность модели и ход её обучения (под вознаграждением здесь понимается краткое описание требуемой цели). При этом нейросеть не имеет заранее полученного представления о характере движений и долго учится с нуля управлять своим «телом», что в итоге даёт более реалистичный результат.

RL хорошо справляется со своей задачей, когда траектория полёта включает совсем немного трюков. Но если у виртуальной модели есть шарнирные крылья, то манёвры должны быть более экстремальными. Это создаёт проблемы для RL. Поэтому группа исследователей из Сеульского национального университета представила новую концепцию саморегулируемого обучения (Self-Regulated Learning, SRL) в сочетании с глубоким обучением с подкреплением (DRL) для решения задачи управления высшим пилотажем.

Основная идея SRL — позволить модели контролировать своё обучение с помощью дополнительного саморегулирования. Это значительно повышает эффективность в сложных последовательностях воздушных манёвров, например, комбинациях поворотов, мёртвых петель, резких взлётов и снижений. 

Окружающая среда и обучение

Аэродинамика летающих существ зависит от сложных взаимодействий между их крыльями и скелетом. Для своего исследования учёные использовали модель дракона с шарнирным каркасом из жёстких костей и покрывающей их тонкой «кожей». Скелет собран из туловища, двух крыльев и хвоста. Туловище включает четыре сегмента позвоночника, соединённые суставами. Крылья состоят из плечевой кости, локтевой кости и кисти с шарнирами между ними. Форма крыльев имеет аэродинамический профиль, который позволяет создавать подъёмную силу, обеспечивающую полёт.

Для моделирования процесса создан простой графический пользовательский интерфейс, где можно указывать желаемую траекторию полёта и фигуры высшего пилотажа. Дракон отслеживает эту траекторию в ходе обучения и пытается достичь наиболее близкого к ней результата. Визуально этот процесс показан на видео:

Саморегулируемое обучение

Саморегулируемое обучение позволяет модели достичь цели с помощью самоконтроля, который является рекурсивным процессом генерации, оценки и обучения. На шаге генерации модель создаёт несколько альтернативных путей. Оценка — разбиение этих путей на «хорошие» и «плохие». На последнем этапе модель наблюдает за степенью достижения цели и подтверждает успех или неудачу выбранной альтернативы.

В качестве примера можно привести спортсменов, обладающих разной физической подготовкой, которые пытаются освоить один и тот же навык. Сначала они строят индивидуальный план упражнений в зависимости от своих текущих способностей, а затем тренируются и оценивают себя. При этом планы и оценки для каждого спортсмена будут разными. Ключевая концепция SRL — возможность корректировать план обучения для достижения конечной цели без помощи учителя или заранее составленной учебной программы.

Эта концепция применима и к летающему дракону — что, если он самостоятельно будет регулировать своё обучение? Это означает, что модель сможет контролировать все отдельно взятые участки траектории (подзадачи) и связанные с ними вознаграждения в любой момент времени, а также оценивать свои действия. Добавление к этому обучения с подкреплением позволит оптимизировать процесс, и модель сможет создать свой собственный цикл тренировок.

Саморегулируемое глубокое обучение с подкреплением (SR DRL)

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

Устройство модели

Авторы реализовали свой алгоритм на Python. Для моделирования динамики твёрдого тела использовался Dart (версия 2012 г.), а для обучения и оценки глубокий нейронных сетей — библиотека Tensorflow (версия 2015 г.). Все вычисления выполнялись на CPU Intel Xeon E5-2687W-v4, а не на GPU, поскольку основной упор делался на динамическое моделирование, а не на ускорение работы нейронной сети.

На рисунке ниже изображена архитектура глубоких нейронных сетей, которые использовались в экспериментах. Все внутренние слои — полносвязные (fully connected, FC) с размерностью 32 и экспоненциальной линейной функцией активации (Exponential linear unit, ELU). Финальные полносвязные слои имеют размерность 64 и линейную функцию активации (linear).

(a) — нейросеть для общего поведения (b) — нейросеть для конкретного состояния действия (state-action)

Здесь s = (sd, σ, ss) — состояние глубокой саморегулируемой системы, складывающееся из динамического состояния sd, параметра прогресса σ и сенсорного состояния ss. Динамическое состояние отвечает за генерацию координат q и скорости q смоделированного дракона. Сенсорное состояние является частью проходимой траектории (одной из подзадач).

Действие a = (â, ã) состоит из динамического действия â и саморегуляции ã. Динамическое действие генерирует моменты вращения для симуляции подвижного полёта. Саморегуляция модифицирует подзадачу, чтобы контролировать прогресс, ориентацию, положение и допуск.

Параметр прогресса играет важную роль в обучении, поэтому ему присваиваются такие же веса, как у динамического и сенсорного состояний. Точно так же сделано с динамическим действием и саморегуляцией.

Результаты

Пилотажные манёвры

Саморегулируемая DRL-модель обучалась пилотажным манёврам различной сложности: от простых в освоении до сложных экстремальных трюков (показаны на рисунке). По трудности задачи разделены на начальный, средний и экспертный уровни, на каждом из которых изучался контроль поведения.

Пространственные траектории. Зелёные линии — направления взмахов крыльями, серая область — порог отклонения. (a) — Прямой полёт, (b) — X-образный поворот (мёртвая петля), (c) — Y-образный поворот (вираж), (d) — XY-поворот, (e) — Двойная мёртвая петля, (f) — Восьмёрка, (g) — Z-поворот (бочка), (h) — Зигзаг, (i) — Бесконечная мёртвая петля, (j) — Комбинированный поворот.

Начальный уровень (прямой полёт, мёртвая петля, вираж) включает в себя один (или ни одного) быстрый поворот вокруг одной оси. Средний уровень (XY-поворот, двойная мёртвая петля, восьмёрка) — один или два быстрых поворота в перпендикулярных осях. Экспертный уровень (бочка, зигзаг, бесконечная мёртвая петля, комбинированный поворот) — комбинация нескольких поворотов вокруг всех осей, парение, пикирование и бортовая качка. Процесс обучения занимает от 3 до 7, от 10 до 24 и от 24 до 48 часов для начального, среднего и экспертного уровней соответственно.

Визуализация SRL

На верхней части рисунка показано, как работает саморегуляция. Векторы вдоль траектории даны для сравнения. Зелёные соответствуют идеальным заданным значениям, красные — полученным в результате обучения. На прямой линии саморегулируемые векторы практически идентичны заданным пользователем (первые две пары на рисунке). В изогнутом месте видно, что красные векторы наклоняются в сторону — модель смогла скорректировать угол крена, чтобы выполнить заданный манёвр. В нижней части рисунка показана саморегуляция трюка «зигзаг». 

Интерактивная траектория полёта

Пользователь может самостоятельно задавать траектории, собирая их из отдельных частей (манёвров). На рисунке ниже показан пример. Цвет указывает на тип траектории: оранжевый — левый поворот, пурпурный — правый поворот, красный — мёртвая петля, синий — бочка.

Сравнение с другими моделями

Чтобы оценить эффективность, исследователи сравнили свой метод с двумя версиями этого же алгоритма без саморегулируемого обучения. Первая версия (базовая) использовала фиксированные значения поворота и перемещения. Число, на которое увеличивался параметр прогресса после успешных итераций, задавалось по умолчанию. Во второй версии (ближайшая) параметр прогресса обновлялся таким образом, что ближайшая от дракона точка на траектории использовалась в качестве подзадачи в каждый момент времени.

В таблице приведено сравнение моделей. Для оценки применялись средние значения расстояния между пользовательской и симулированной траекториями (чем меньше, тем лучше). В скобках также указаны максимальные значения. Наименьшее число для каждого манёвра выделено жирным шрифтом. Звёздочка означает, что навык был освоен успешно.

Обратите внимание, что для этих моделей нельзя сравнивать показатели вознаграждений, поскольку алгоритм SRL может менять систему их получения. Вместо этого авторы измерили, насколько тщательно модель дракона отслеживала траекторию: заданный пользователем и получаемый пути сопоставляются с помощью динамической трансформации временной шкалы (dynamic time warping, DTW).

Заключение

В дальнейшем исследователи хотят изучить возможность применения SRL к общим задачам регулируемого обучения, в которых не обязательно используется генерация подзадач. Что касается полётов — планируется улучшить гибкость, адаптируемость и управляемость виртуальной модели. Авторы надеются, что их дракон сможет приспосабливаться к изменениям нагрузки, ветра и других форм возмущений. Также было бы интересно поработать с другими экзотическими существами с необычными формами туловища и крыльев.

С оригинальной статьёй можно ознакомиться на сайте исследовательской лаборатории Сеульского национального университета.

Domains weekly: .РФ на страже русского языка, рост new gTLDs и пассивный доход от PORNO.COM

Domains weekly: .РФ на страже русского языка, рост new gTLDs и пассивный доход от PORNO.COM

В новой подборке новостей мы расскажем, как развивался русский язык вместе с зоной .РФ, что за риски таит в себе...
Read More
VPS нового поколения, ИИ, юникодные домены и мини‑сериал об админах: всё, что вы знали и чего могли не знать о REG.RU

VPS нового поколения, ИИ, юникодные домены и мини‑сериал об админах: всё, что вы знали и чего могли не знать о REG.RU

Ура-ура! 22 мая нам исполнилось 14 лет, и мы по-прежнему двигаемся только вперёд и становимся лучше. Мы решили поделиться с...
Read More
Domains weekly: старт .MEET от Google, годовой рост .RU и .РФ, вирусная реклама рэп‑альбома с new gTLDs

Domains weekly: старт .MEET от Google, годовой рост .RU и .РФ, вирусная реклама рэп‑альбома с new gTLDs

В новой еженедельной подборке новостей расскажем о старте регистраций в зоне  .MEET от Google, вирусной рекламной кампании нового рэп-альбома Future...
Read More
Как скорость загрузки страниц на мобильных устройствах влияет на посещаемость сайта

Как скорость загрузки страниц на мобильных устройствах влияет на посещаемость сайта

Поисковые системы уделяют большое внимание скорости загрузки сайтов с мобильных устройств, и этот фактор ранжирования становится всё более важным. В...
Read More
Популярные уязвимости сайтов: чем опасны и как их избежать

Популярные уязвимости сайтов: чем опасны и как их избежать

Для любого, кто управляет веб-сайтом, на первом месте должен стоять вопрос безопасности. Критические угрозы и уязвимости могут сильно ударить как...
Read More
Domains weekly: 10 лет .РФ, новый топ регистраторов в .COM и спор за ягодный домен

Domains weekly: 10 лет .РФ, новый топ регистраторов в .COM и спор за ягодный домен

В свежей подборке новостей расскажем о юбилее .РФ, отчёте ICANN о динамике регистраций в зоне .COM и неудачной попытке канадской...
Read More
С днём рождения, .РФ!

С днём рождения, .РФ!

В этом году кириллической национальной российской доменной зоне исполняется 10 лет. Мы решили вспомнить, как всё начиналось: в этом материале...
Read More
Domains weekly: стагнация ccTLD, конец страстей по .ORG и взлом клиентов GoDaddy

Domains weekly: стагнация ccTLD, конец страстей по .ORG и взлом клиентов GoDaddy

В сегодняшней подборке новостей расскажем, как изменилось число регистраций национальных доменов по сравнению с прошлым годом, чем закончилась сделка с...
Read More
Как поменять домен, чтобы сайт не просел в поисковой выдаче

Как поменять домен, чтобы сайт не просел в поисковой выдаче

Итак, вы решили изменить имя своего сайта после ребрендинга или просто выбрали более короткий домен. Но как при этом сохранить...
Read More
Domains weekly: Zoombombing, снижение доходов ICANN и зона .DEALER

Domains weekly: Zoombombing, снижение доходов ICANN и зона .DEALER

В сегодняшнем доменном дайджесте мы расскажем, что такое Zoombombing, какие прогнозы у ICANN по доходам на следующий год и почему...
Read More