Google научил нейросети генерировать видео по текстовому описанию

Исследователи из Google представили две модели машинного обучения, генерирующие видеозаписи по текстовому описанию: одна лучше справляется с короткими запросами, а другая синтезирует длинные ролики по более детальным описаниям. За несколько дней до этого аналогичный алгоритм представили исследователи из Meta. Три статьи с описанием алгоритмов (Imagen Video и Phenaki от Google, Make-A-Video от Meta) опубликованы на arXiv.org.

В середине 2010-х годов алгоритмы машинного обучения, работающие с визуальным контентом, в основном использовались для его улучшения. Например, были широко распространены приложения для обработки фотографий, такие как Prisma, которое «перерисовывало» снимки в заданном стиле. Затем благодаря развитию архитектуры генеративно-состязательных нейросетей стало появляться много алгоритмов, качественно генерирующих те или иные объекты с нуля, например, широкую известность получила нейросеть NVIDIA для генерации лиц несуществующих людей.

В последние пару лет активное развитие получило смежное, но другое направление: генерация визуального контента по текстовому описанию (Text-to-Image). В 2021 году широкую известность получила нейросеть DALL-E от OpenAI, а также связанная с ней нейросеть CLIP. DALL-E умела генерировать изображения не определенных классов, а произвольные, соответствующие текстовому описанию, которое дал пользователь. К примеру, ее можно было попросить нарисовать горный пейзаж, домашнее животное или даже сцену, которой, вероятно, никогда не существовало в действительности, например, астронавта на коне. Уже в этом году OpenAI показала вторую версию этого алгоритма, а вскоре свой аналог под названием Imagen выпустила и Google.

Затем настал следующий этап: исследователи в области машинного обучения начали изучать возможность генерации видео по текстовому описанию (Text-to-Video). Работы в этом направлении велись и раньше, но существенного прогресса удалось достичь лишь недавно. В мае нейросеть под названием CogVideo выпустили китайские исследователи, а теперь практически одновременно (с разницей менее, чем в неделю) исследователи из Meta и Google представили сразу три таких алгоритма, показывающих существенно лучшие результаты: Meta разработала алгоритм Make-A-Video, а Google создала Imagen Video и Phenaki.

Первыми из этой тройки алгоритмов вышел Make-A-Video. В его основе лежит Text-to-Image модель, основанная на архитектуре DALL-E 2. Она получает на вход текст, превращает его в эмбеддинг (сжатое векторное представление тех же данных) и подает его на декодировщик, который диффузионным методом формирует двумерное изображение.

От редактора

Диффузионные модели работают следующим образом. Сначала берется качественное изображение (например, фотография), на которое поэтапно добавляется все больше шума до стадии, когда на нем будет уже только случайный шум. Затем из таких наборов исходных и «испорченных» изображений создается датасет, на котором нейросеть учится выполнять обратную операцию: генерировать из шума качественное изображение. В 2021 году исследователи из OpenAI показали, что такой метод генерации работает лучше и эффективнее традиционных генеративно-состязательных нейросетей.

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

Примечательно, что во время обучения не использовались пары «текст — видео». Вместо этого Make-A-Video обучалась на парах «текст — изображение» и неразмеченных видео. Алгоритм обучали на датасетах LAION-5B (с отфильтрованными изображениями для взрослых, фотографиями с токсичным текстом или водяными знаками), WebVid-10M и HD-VILA-10M. Авторы показали, что Make-A-Video превосходит CogVideo и другие аналоги как по количественным метрикам (FVD и IS), так и при оценке добровольцами. Кроме генерации новых видео с нуля алгоритм умеет «оживлять» изображения. Примеры генерации и интерактивные демонстрации опубликованы на сайте проекта.

С разницей всего в несколько дней исследователи из Google представили два аналогичных алгоритма для генерации видео по текстовому запросу. Первый из них основан на Text-to-Image модели Imagen и получил название Imagen Video. Во многом схема работы алгоритма аналогична Make-A-Video. Получая текстовое описание ролика, он с помощью кодировщика T5 формирует эмбеддинг, а затем с помощью диффузионной сети Videо U-Net, представленной ранее в этом году, генерирует 16 пространственно и временно согласованных между собой кадров разрешением 40 на 24 пикселя. После этого каскад нейросетей интерполирует кадры, увеличивая их количество до 128 (5,3 секунды при 24 кадрах в секунду), и повышает разрешение до 1280 на 768 пикселей.

Imagen Video обучался на собственном датасете Google, состоящем из 14 миллионов пар «текст — видео» (это важное отличие от Make-A-Video, который обучался без таких пар), а также 60 миллионов пар «текст — изображение». Кроме того авторы использовали датасет LAION-400M с парами «текст — изображение». В отличие от коллег из Meta, исследователи из Google не сравнили качество работы Imagen Video с CogVideo (и из-за почти одновременной публикации вряд ли имели возможность сравнить с Make-A-Video). Результаты работы алгоритма можно увидеть на сайте проекта.

Вторая генеративная нейросеть от Google называется Phenaki. Она была представлена один день с Make-A-Video, но не получила такой широкой огласки от Google. Phenaki отличается от двух других описанных алгоритмов тем, что предназначена для генерации более длинных роликов по более длинному и детальному текстовому запросу. Авторы отмечают, что длина может достигать и нескольких минут (а теоретически длина не ограничена). Также алгоритм отличается и по схеме работы. Авторы взяли за основу трансформер-нейросеть ViViT, которая преобразует видео в пространственно-временные токены. Также они использовали текстовый трансформер T5X, который преобразует в эмбеддинги текст. Так исследователи свели проблему генерации видео по описанию к задаче переноса между двумя последовательностями, которую как раз эффективно решают нейросети типа трансформер. В результате получаются видео произвольной длины в разрешении 128 на 128 пикселей.

Phenaki обучали на 15 миллионах пар «текст — видео» и 450 миллионах пар «текст — изображение» (из них 400 миллионов из LAION-400M). Авторы сравнили работу алгоритма количественно с некоторыми аналогами и показали сравнимые результаты по FID. Примеры можно увидеть на сайте проекта.

Авторам всех трех работ удалось достичь большого прогресса в качестве генерации видео, в том числе его стабильности. Но, как это было и с большинством алгоритмов для генерации изображений, разработчики не опубликовали модели в открытом доступе, опасаясь, что такая технология может быть использована во вред.

Нейросети умеют не только генерировать контент по текстовому описанию. Весной канадские исследователи научили алгоритм искать по нему баги в играх, например, видео геймплея по запросу «Машина, летающая в воздухе».

Григорий Копиев