Изменения

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

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

5673 байта добавлено, 19:58, 8 января 2021
Нет описания правки
*Attentional Generative Network {{---}} самая большая сеть, состоящая из трех уровней. Каждый уровень порождает изображения все большего разрешения, от 64x64 до 256x256 пикселей, и результат работы на каждом уровне корректируется с помощью сетей внимания <math>F^{attn}</math>, которые несут в себе информацию о правильном расположении отдельных объектов сцены. Кроме того, результаты на каждом уровне проверяются тремя отдельно работающими дискриминаторами, которые оценивают реалистичность изображения и соответствие его общему представлению о сцене.
Благодаря модификациям нейросеть AttnGAN показывает значительно лучшие результаты, чем традиционные системы GAN. В частности, максимальный из известных показателей inception score<ref>[https://arxiv.org/abs/1801.01973 A Note on the Inception Score]</ref> для существующих нейросетей улучшен на 14,14% (с 3,82 до 4,36) на наборе данных CUB и улучшен на целых 170,25% (с 9,58 до 25,89)<ref>[https://paperswithcode.com/sota/text-to-image-generation-on-coco Test results {{---}} Text-to-Image Generation on COCO]</ref> на более сложном наборе данных COCO<ref>[https://cocodataset.org COCO dataset (Common Objects in Context)]</ref>.
<gallery mode="slideshow" caption="Пример результата работы AttnGAN">
=== ChatPainter ===
В предыдущих и последующих моделях для создания изображений используются текстовые описания. Однако они могут быть недостаточно информативными, чтобы охватить все представленные изображения, и модели будет недостаточно данных для того чтобы сопоставить объекты на изображениях со словами в описании. Поэтому в качестве дополнительных данных предлагается использовать диалоги, которые дополнительно описывают сцены. Это приводит к значительному улучшению inception score и качества генерируемых изображений в наборе данных MS COCO (Microsoft COCO dataset)<ref>[https://www.microsoft.com/en-us/research/wp-content/uploads/2014/09/LinECCV14coco.pdf Microsoft COCO]</ref>. Для создания нового набора данных с диалогами, были объединены описания представленные в наборе данных MS COCO, с данными из Visual Dialog dataset (VisDial)<ref>[https://arxiv.org/abs/1611.08669 Visual Dialog]</ref>.
<div class="oo-ui-panelLayout-scrollable" style="display: block; vertical-align:middle; height: auto; width: auto;">[[Файл: ChatPainter.png|thumb| alt=Архитектура ChatPainter|x350px|center| Архитектура ChatPainter: <ol style="list-style-type:lower-alpha">
<li>Этап 1: модель генерирует изображение 64×64, по описанию и диалогу. </li>
<li>Этап 2: модель генерирует изображение размером 256×256, на основе изображения сгенерированного на 1 этапе, а также описанию и диалогу </li>
</ol>]]</div>
 
[[Файл:SurfBoard-questions.png|alt=Изображение, сгенерированное моделью ChatPainter для данного описания и диалога|thumb|x200px|right|Пример работы ChatPainter]]
 
Данная архитектура (см. рис) опирается на модель StackGAN. StackGAN генерирует изображение в два этапа: Stage-I генерирует грубое изображение 64×64, а Stage-II генерирует улучшенное изображение 256×256.
 
Формирование вектора описаний <tex>\phi_{t}</tex> происходит путем кодирования подписей с помощью предварительно обученного энкодера<ref>[https://github.com/reedscot/icml2016 pre-trained encoder for ICML 2016 paper]</ref>. Для генерации диалоговых вложений <tex>\zeta_{d}</tex> используется два метода:
 
*Не рекурсивный энкодер {{---}} сжимает весь диалог в одну строку и кодирует его с помощью предварительно обученного энкодера Skip-Thought<ref>[https://github.com/ryankiros/skip-thoughts Skip-Thought encoder]</ref>.
 
*Рекурсивный энкодер {{---}} Генерирует Skip-Thought векторы (англ. Skip-Thought Vectors)<ref>[https://arxiv.org/abs/1506.06726 Skip-Thought Vectors]</ref> для каждого сообщения в диалоге, а затем кодируем их двунаправленной [[Рекуррентные нейронные сети| рекуррентной нейронной сетью]] c [[Долгая краткосрочная память|LSTM]]
 
Затем выходы описаний и диалогов объединяются и передаются в качестве входных данных в модуль аугментации данных (англ. Conditioning Augmentation, CA). Модуль CA нужен для получения скрытых скрытые условных переменных, которые передаются на вход генератору.
Архитектура блоков upsample, downsample и residual blocks сохраняется такой же, как и у исходного StackGAN
 
{| class="wide" style="margin:auto; clear:both;"
|+ '''Inception scores для сгенерированных изображений в тестовом наборе MS COCO'''
|-
! Модель !! Inception Score
|-
| style = "text-align: right" | StackGAN || style = "text-align: center" | 8.45 ± 0.03
|-
| style = "text-align: right" | ChatPainter (non-recurrent)|| style = "text-align: center" | 9.43 ± 0.04
|-
| style = "text-align: right" | ChatPainter (recurrent)|| style = "text-align: center" | 9.74 ± 0.02
|-
| style = "text-align: right" | AttnGAN || style = "text-align: center" | 25.89 ± 0.47
|}
{| class="mw-datatable"
|+ Таблица <code>mw-datatable</code>
! <!-- Пустая ячейка --> !! Заголовок столбца 1 !! Заголовок столбца 2
|-
| Заголовок строки 1 || Содержимое ячейки 1-1 || Содержимое ячейки 1-2
|-
| Заголовок строки 2 || Содержимое ячейки 2-1 || Содержимое ячейки 2-2
|}
 
 
=== MMVR ===
=== FusedGAN ===
89
правок

Навигация