Обзор модели

До сегодняшнего дня многие методы создания видео [21] ориентированы в основном на согласованность движения, а не на долгосрочный контекст создаваемого видео. Другими словами, модель обучается для улучшения гладкости каждого кадра по сравнению с предыдущим.

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

Потому что мы все любим новый контент 😍!

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

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

Экстрактивное обобщение

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

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

Story DistilBERT Encoder

Для модуля кодировщика историй мы рассматривали возможность использования BERT от Google. BERT - это набор трансформаторов, предварительно обученных в корпусе Википедии. Поставляется в двух размерах: BERT base и BERT large. Базовая модель имеет 12 уровней преобразователя, а большая модель - 24. Модель BERT, однако, слишком велика и требует слишком много ресурсов для обучения, а также для вывода. После долгих раздумий мы решили использовать DistilBERT в нашем кодировщике историй. DistilBERT - это уменьшенная версия BERT. Используя DistilBERT, мы уменьшаем размер модели BERT на 40%, сохраняя при этом 97% возможностей понимания языка и работая на 60% быстрее. Это достигается за счет использования накопленных знаний на этапе подготовки к обучению. Кистилляция знаний - это метод сжатия, при котором компактную модель, ученика, обучают воспроизвести поведение более крупной модели, учителя или ансамбля моделей.

Мы начали с того, что взяли предварительно обученную модель DistilBERT и обучили (настроили) ее на тексте из набора данных Pororo-SV. Мы сделали это, чтобы улучшить кодировки, сгенерированные для предложений в наборе данных (т.е. он узнает, что Pororo - это имя). Затем мы использовали эту модель для кодирования историй в нашем наборе данных. Затем текстовые кодировки передаются повторяющемуся генератору. Мы также добавили линейный слой, который отображает 768-мерные вложения векторов из DistilBERT в 228-размерный вектор, соответствующий двум 124-мерным векторам для среднего и дисперсии соответственно. Кроме того, вложения были сложены в один горячо закодированный вектор, который представляет персонажей, присутствующих в истории, чтобы помочь модели идентифицировать их в процессе генерации.

Обучение

Такой подход к реферированию был вдохновлен [3], где он использует преимущество сходства предложений и удаляет предложения, информация в которых уже представлена ​​другими частями текста. Процесс начинается с разрешения нейронной кореферентности личных местоимений, при котором каждый раз, когда ссылка обнаруживается, модель заменяет упоминание соответствующим номинальным местоимением. Для решения этой проблемы используется предварительно обученная нейронная модель, основанная на [23], а затем вводятся разрешенные предложения в вышеупомянутый кодировщик DistilBERT, чтобы вернуть соответствующие вложения. Разрешенные вложения затем группируются, и средство суммирования выводит вложения, которые находятся ближе к каждому центроиду кластера, доля сгенерированных кластеров является гиперпараметром, настроенным в ходе экспериментов.

Дискриминатор изображений

Чтобы обучить генератор и оба дискриминатора в сквозном конвейере, мы используем два независимых цикла, первый для обеспечения локальной согласованности между сгенерированным изображением и вводом текста, а второй - для глобальной согласованности, в которой он принимает при подсчете потерь учитывать набор сгенерированных изображений, соответствующих рассказу, и сам письменный рассказ. Общая цель оптимизации описана ниже:

Где θ, ϕ_I и ϕ_S - параметры сетей генератора, дискриминатора изображения и дискриминатора сюжета соответственно.

Сюжетный дискриминатор

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

Эксперименты

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

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

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

Генерация фиксированной длины

Суммированное поколение

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

Кроме того, цветовое распределение сцены, а также фоновая среда (на улице / в помещении), как правило, хорошо проиллюстрированы моделью, как показано в приведенных ниже примерах.

Выводы

Как только мы достигли значительных хороших результатов в экспериментах по генерации изображений фиксированной длины в отличие от базовой линии StoryGAN, мы продолжили настройку конвейера экспериментов с использованием подхода переменной длины, предложенного с модулем Extractive Text Summarizer. Это добавило более высокий уровень сложности к проблеме оптимизации, обучение GAN стало более нестабильным и облегчило работу дискриминатора, поскольку генератору было сложнее создать интерполированное распределение изображений, которое покрывает полную информацию истории с меньшим количеством изображений. .

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

Связанных с работой

Подход StoryGAN, описанный в [1], имеет надежную основу для решения проблемы визуализации рассказа, способную идентифицировать ключевые особенности из заданного письменного рассказа. И хотя извлекающий сумматор извлекает соответствующие предложения, чтобы рассказать историю визуально, он по-прежнему не может достичь надежного качества изображения. Этот подход позволяет изучить базовое распределение контекста набора данных Pororo, но требует дополнительной информации для получения пространства изображения, которое находится между каждым кадром полной последовательности изображений. В ходе экспериментов генератор показал, что он медленнее учится по отношению к дискриминатору сюжета, поскольку во время процесса обобщения ему необходимо было сделать вывод о распределении изображения к изображению при интерполяции или попытках создать изображения, которые отображали тот же объем информации в меньшем объеме. изображений.

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

Для получения более подробной информации о модели и ознакомьтесь с полным приложением.

[1] Ю. Шен Дж. Лю Ю. Ченг Ю. Ву Л. Карин Д. Карлсон Дж. Гао Ю. Ли, З. Гань. Последовательный условный GAN для визуализации истории. CVPR, 2019.
[2] М. Мирза Б. Сюй Д. Вард-Фарли С. Озаир А. Курвиль Ю. Бенжио И. Гудфеллоу, Ж. Пуже-Абади. Генеративные состязательные сети. НИПС, 2014.
[3] Дж. Шомонд, Т. Вольф, В. Сань, Л. Дебют. DistilBERT, дистиллированная версия BERT: меньше, быстрее, дешевле и легче. НИПС, 2019.
[4] С. Чой Б. Чжан К. Ким, М. Хео. PororoQA: набор данных мультсериалов для понимания истории. NIPS, 2016.
[5] X. Ян Л. Логесваран Б. Шиле Х. Ли С. Рид, З. Аката. Генеративный состязательный текст для синтеза изображений. ICML, 2016.
[6] Д. Миллер. Использование BERT для извлечения резюме текста на лекциях. CoRR, 2019.
[7] Х. Цай, Ч. Бай, Я.-В. Тай и Ч.-К. Тан. Генерация глубокого видео, прогнозирование и завершение последовательностей действий человека. Препринт arXiv arXiv: 1711.08682, 2018
[8] Т. Гупта, Д. Швенк, А. Фархади, Д. Хойем и А. Кембхави. Представьте себе это! скрипты к композициям к видео. ECCV, 2018.
[9] Дж. Хе, А. Лерманн, Дж. Марино, Г. Мори и Л. Сигал. Вероятностная генерация видео с использованием целостного контроля атрибутов. Препринт arXiv arXiv: 1803.08085, 2018.
[10] Q. Huang, Z. Gan, A. Celikyilmaz, D. Wu, J. Wang и X. He. Иерархически структурированное армирование. обучение для создания тематически связных визуальных историй. Препринт arXiv arXiv: 1805.08191, 2018
[11] T.-H. К. Хуанг, Ф. Ферраро, Н. Мостафазаде, И. Мисра, А. Агравал, Дж. Девлин, Р. Гиршик, X. Хе, П. Кохли, Д. Батра и др. Визуальное повествование. В NAACL, 2016.
[12] P. Isola, J.-Y. Чжу, Т. Чжоу и А. А. Эфрос. Преобразование изображения в изображение с условными состязательными сетями. CVPR, 2017.
[13] Ю. Ли, М. Р. Мин, Д. Шен, Д. Карлсон и Л. Карин. Генерация видео из текста. AAAI, 2018.
[14] X. Liang, Z. Hu, H. Zhang, C. Gan, E. P. Xing. Регулярный переход между темами для создания визуального абзаца. Препринт arXiv arXiv: 1703.07022, 2017.
[15] Х. Рави, Л. Ван, К. Мунис, Л. Сигал, Д. Метаксас и М. Кападиа. Покажи мне историю: К последовательной нейронной иллюстрации рассказа. В CVPR, 2018.
[16] С.Туляков, М.-Ю. Лю, X. Ян и Дж. Каутц. MoCoGAN: Декомпозиция движения и контента для создания видео. CVPR, 2018.
[17] К. Вондрик, Х. Пирсиаваш, А. Торральба. Создание видео с динамикой сцены. In NIPS, 2016.
[18] X. Yan, J. Yang, K. Sohn, H. Ли. Attribute2image: условное создание изображения из визуальных атрибутов. In ECCV, 2016.
[19] Ж.-Й. Чжу, Т. Парк, П. Изола и А. А. Эфрос. Непарный преобразование изображения в изображение с использованием согласованных по циклу состязательных сетей. ICCV, 2017.
[20] С. Шарма, Д. Сухубди, В. Михальски, С. Э. Кахоу и Ю. Бенжио. Chatpainter: Улучшение генерации текста в изображение с помощью диалога. Препринт arXiv arXiv: 1802.08216, 2018.
[21] К. Вондрик, Х. Пирсиаваш и А. Торральба. Создание видео с динамикой сцены. В НИПС, 2016.
[22] Д. Миллер. Использование BERT для извлечения резюме текста на лекциях. arXiv: 1906.04165.
[23] К. Кларк, К. Мэннинг. Улучшение разрешения Coreference путем изучения распределенных представлений на уровне сущностей. В ACL 2016.

Несколько других задач, которые также связаны с визуализацией историй, - это извлечение изображений из заранее собранной обучающей выборки вместо генерации изображений [15], метод «вырезать и вставить» для создания мультфильмов [8]. Противоположная задача визуализации историй - это визуальное повествование, где выходом является абзац, описывающий входную последовательность изображений. Для задачи визуального повествования используются модели генерации текста или обучение с подкреплением [11, 14, 10].

Расширенная визуализация истории