Изменения

Перейти к: навигация, поиск

Генерация изображения по тексту

555 байт добавлено, 15:01, 15 января 2021
MirrorGAN: minor text fixes
=== MirrorGAN ===
Генерация изображения из заданного текстового описания преследует две главные цели: визуальный реализм и семантическое постоянство. Несмотря на то, что существует колоссальный значительный прогресс в создании визуально реалистичных изображений высокого качества посредством [[Generative Adversarial Nets (GAN) | генеративных состязательных сетей]], обеспечение вышепоставленных целей все еще является категорически довольно сложной задачей. Для осуществления попытки их реализации рассмотрим фреймворк text-to-image-to-text, сохраняющий семантику с вниманием под названием <b>MirrorGAN</b><ref name="MirrorGAN">[https://arxiv.org/abs/1903.05854 Tingting Q., Jing Z. {{---}} MirrorGAN: Learning Text-to-image Generation by Redescription, 2019]</ref>. Данный фреймворк, который из текстового описания генерирует изображение, использует идею обучения с помощью переописания (англ. ''redescription'') и состоит из трёх модулей:
* модуль встраивания семантического текста (англ. ''semantic text embedding module, <b>STEM</b>'');
* глобально-локальный совместный модуль с вниманием для создания каскадных изображений (англ. ''global-local collaborative attentive module for cascaded image generation, <b>GLAM</b>'');
* модуль регенерации семантического текста и выравнивания (англ. ''semantic text regener-ation and alignment module, <b>STREAM</b>'').
STEM создает встраивания на уровне слов и предложений, GLAM имеет каскадную архитектуру создания результирующих изображений от грубой шкалы грубых до детализированнойдетализированных масштабов, используя как внимание к локальным словам, так и к глобальным предложениям, чтобы прогрессивно совершенствовать семантическое постоянство и разнообразие у сгенерированных изображений, а STREAM стремится к регенерации текстового описания исходя из созданного изображения, которое семантически выравнивается с заданным описанием.
Если изображение, сгенерированное с помощью T2I (text-to-image) , семантически консистентно с заданным описаниемсоответствует заданному описанию, его описание посредством I2T (image-to-text) должно предоставлять аналогичную семантику с заданным.
Чтобы обучать модель сквозным методом, будем использовать две состязательные функции потерь: в визуальном реализме и в семантическом постоянстве. Вдобавок, для эффективного использования двойного регулирования T2I и I2T, применим текстово-семантическую реконструированную функцию потерь, основанную на перекрёстной энтропии.
<div class="oo-ui-panelLayout-scrollable" style="display: block; vertical-align:middle; height: auto; width: auto;">[[Файл:MirrorGAN.png|thumb|center|x350px|Рисунок 21.<ref name="MirrorGAN"/> Архитектура MirrorGAN.]]</div>
MirrorGan представляет собой зеркальную структуру, объединяя T2I и I2T. Она состоит из трех генераторов. Чтобы сконструировать многоэтапный каскадный генератор, нужно совместить все три сети генерации изображений последовательно. В качестве архитектуры STREAM будем использовать довольно распространенный фреймворк захвата изображения, базирующийся на кодировании и декодировании. Кодировщик изображений есть [[Сверточные нейронные сети | свёрточная нейронная сеть]], предварительно обученная на ImageNet, а декодировщик есть [[Рекуррентные нейронные сети | рекуррентная нейронная сеть]]. Предварительное обучение STREAM помогло MirrorGAN достичь более стабильного процесса обучения и более быстрой сходимости, в то время, как их совместная оптимизация довольно нестабильна и с точки зрения занимаемого места и времени очень дорога. Структура кодировщик-декодировщик и соответствующие ей параметры фиксированы во время обучения других модулей MirrorGAN.
Обучая <tex>G_i</tex>, градиенты из <tex>L_{stream}</tex> обратно распространяются (англ. ''backpropagated'') через STREAM в <tex>G_i</tex>, чьи сети веса сетей которых остаются фиксированными.Финальная целевая функция генератора выглядит так:
<tex>\mathcal{L}_G = \displaystyle\sum_{i = 0}^{m - 1}{\mathcal{L}_{G_i} + \lambda \mathcal{L}_{stream}}</tex>,
где <tex>\lambda</tex> {{---}} вес потери для обработки важности состязательной потери (англ. ''adversarial loss'') и потери текстово-семантической реконструкции (англ. ''text-semantic reconstruction loss''). Для наилучшего качества генерации, поставим можно поставить коэффициент <tex>\lambda := 20</tex>.
Показатель Inception Score<ref name="inception"/> был использован для измерения как объективности, так и разнообразия сгенерированных изображений. [[https://en.wikipedia.org/wiki/Evaluation_measures_(information_retrieval)#R-Precision R-precision ]] был использован для вычисления визуально-семантической схожести между сгенерированными изображениями и их соответствующими текстовыми описаниями.
<div class="oo-ui-panelLayout-scrollable" style="display: block; vertical-align:middle; height: auto; width: auto;">[[Файл:MirrorGAN&Co.jpg|thumb|center|x500px|Рисунок 22.<ref name="MirrorGAN"/> Сравнение MirrorGAN, [[#AttnGAN|AttnGAN]] и других генеративных состязательных сетей.]]</div>
81
правка

Навигация