原先的文本生成图片问题是输入文本,训练生成器和判别器,生成相对应的图片。MirrorGAN借鉴了CycleGAN的思想,在此基础上增加了一个判别过程,即将生成的图片再转化成文本描述,如果图片生成的是对的,那么再次转化后的文本描述应该与输入的文本有着相同的语义。
先放一张结构图:
MirrorGAN由三部分构成:STEM、CLAM、STREAM。
STEM:a semantic text embedding module 语义文本嵌入模块,生成单词级和句子级的文本嵌入
GLAM:a global-local collaborative attentive module for cascaded image generation 用于级联图像生成的全局-局部协作关注模块,生成由粗到细的尺度的目标图像,利用局部单词注意力和全局句子注意,增强图像的多样性和语义的一致性
STREAM:a semantic text regeneration and alignment module 语义文本再生和对齐模块,对生成的图片重新进行文本描述
StackGAN、AttnGAN、GAN-INT-CLS都使用一个判别器来区分生成的图像和对应的文本对
MirrorGAN使用两个对抗损失:图像视觉对抗损失、文本-图像对语义一致性对抗损失
分阶段介绍:
STEM:用RNN从文本描述T中提取语义嵌入,分别提取词嵌入w和句嵌入s
其中,