81
правка
Изменения
м
→MirrorGAN: Fixed the issue #48
<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. Чтобы сконструировать многоэтапный каскадный генератор, все три сети генерации изображений (<b>STEM</b>, <b>GLAM</b> и <b>STREAM</b>) необходимо объединить. В качестве архитектуры STREAM будем использовать довольно распространенный фреймворк создания текстового описания изображения (англ. ''image captioning framework''), базирующийся на кодировании и декодировании. Кодировщик изображений есть -- это [[Сверточные нейронные сети | свёрточная нейронная сеть]], предварительно обученная на ImageNet<ref name="ImageNet">[http://www.image-net.org/ ImageNet image database ]</ref>, а декодировщик есть [[Рекуррентные нейронные сети | рекуррентная нейронная сеть]]. Предварительное обучение STREAM помогло MirrorGAN достичь более стабильного процесса обучения и более быстрой сходимости, в то время, как их совместная оптимизация довольно нестабильна и с точки зрения занимаемого места и времени очень дорога. Структура кодировщик-декодировщик и соответствующие ей параметры фиксированы во время обучения других модулей MirrorGAN.
Обучая <tex>G_i</tex>, градиенты из <tex>L_{stream}</tex> обратно распространяются (англ. ''backpropagated'') через STREAM в <tex>G_i</tex>, веса сетей которых остаются фиксированными. Финальная целевая функция генератора выглядит так: