T2I论文阅读2019 MirrorGAN

MirrorGAN: Learning Text-to-image Generation by Redescription论文阅读笔记

本人的话:今天能看到演唱会彩排了哈哈哈哈好激动。MirrorGAN的效果比起DM-GAN差上不少,不过有不少可供改进的地方,比如STREAM使用的I2T结构可以换成更先进的。

介绍

T2I可以看做Image Caption(或I2T)的逆向。我们的MirrorGAN便是利用了这种镜像结构,它包含3个模块:STEM,GLAM,STREAM。
STEM生成word-level和sentence-level的embeddings,然后传给GLAM。
GLAM是一个级联结构,从coarse-to-fine生成图片。包含一个局部单词attention和全局句子attention,以此提高生成图片多样性和语义一致性。
STREAM从生成的图片再生文本。
为了端对端地训练,我们使用了两个对抗损失:visual realism 对抗损失。text-image paired semantic consistency对抗损失。
为了利用T2I和I2T的双向调节作用,我们使用了一个基于croo-entropy(CE)的text-semantics reconstruction损失。
T2I论文阅读2019 MirrorGAN_第1张图片

相关工作

我们的想法和CycleGAN、DualGAN很相似,但MirrorGAN和CycleGAN有两个很大的区别:1)我们将它用于T2I而不是I2I。2)采用的是镜像结构而不是循环结构。MirrorGAN使用的是监督学习,我们使用的基于CE的再建损失与CycleGAN使用的L1 cycle一致性损失有很大的不同。

MirrorGAN

T2I论文阅读2019 MirrorGAN_第2张图片

STEM:Semantic Text Embedding Module

我们使用STEM把输入文本转变为局部word-level特征和全局sentence-level特征。如上图所示,使用了一个RNN得到了单词嵌入w和句子嵌入s。
在这里插入图片描述
T={Tl|l=0,…,L-1},L代表句子长度。w={wl|l=0,…,L-1}∈RDxL。s∈RD,是最后一个hidden state。
由于文本的复杂性,排列少的文本可能具有相同的语义,因此我们对句子特征使用了条件增强算法。
在这里插入图片描述
sca∈RD’

GLAM:Global-Local collaborative Attentive Module in Cascaded Image Generators

我们建立了一个multi-stage的generator,结构基于AttnGAN。
记m个visual feature transformers为{F0, F1, …, Fm-1}。m个图片生成器为{G0, G1, …, Gm-1}。每一层的可视化特征fi和图片特征Ii如下定义:
T2I论文阅读2019 MirrorGAN_第3张图片
fi∈R^Mi x Ni,I~i~∈Rqi x qi^。z是采样自高斯分布的噪声。Fatti是我们提出的global-local collaborative attention 模型,它包含Atti-1w和Atti-1s。Fatti(fi-1, w, sca)=concat(Atti-1w,Atti-1s)。
首先,我们使用一个word-level的attention来生成attentive word-context feature,它的输入是w和f。w通过感知层Ui-1被映射到和f相同的语义空间里,得到Ui-1w。
T2I论文阅读2019 MirrorGAN_第4张图片
其中,Ui-1∈RM(i-1)xD,Atti-1w∈RM(i-1)xN(i-1)。最后是一个內积运算。
接着,我们使用一个sentence-level的attention来强化对generator的全局限制,类似word-level,但是是element-wise的乘法。
在这里插入图片描述
Vi∈RMixD’,Atti-1s∈RM(i-1)xN(i-1)

STREAM: Semantic Text REgeneration and Alignment Module

STREAM负责从图片再生成文本。我们使用了一个encoder-decoder的I2T框架作为STREAM的基础框架。
图片encoder是一个在ImageNet上预训练的CNN,decoder是一个RNN。GLAM最后生成的图片Im-1依次被送到CNN和RNN内。
T2I论文阅读2019 MirrorGAN_第5张图片
x-1∈RMm-1是一个可视化特征,We∈RM(m-1)xD,代表一个词嵌入矩阵,将单词特征映射到可视化空间去。pt+1是预测的单词可能分布,我们预训练了STREAM帮助MirrorGAN实现更稳定的训练和更快的收敛。
具体结构参考论文(Show and tell: A neural image caption generator.)

目标函数

第i层的Generator loss:Ii是从生成图片中采样的。
在这里插入图片描述
基于CE的文本语义再建损失:
T2I论文阅读2019 MirrorGAN_第6张图片
Lstream在STREAM的预训练中也使用到。
最终的generator目标函数:
在这里插入图片描述
Discriminator与generator类似,
T2I论文阅读2019 MirrorGAN_第7张图片
在这里插入图片描述
IiGT代表从ground-truth采样。

实验

数据集

COCO、CUB。

评估指标

Inception Score,R-precision。

实现细节

MirrorGAN有3个generator,GLAM被用于最后两个generator。每个generator分别生成64x64, 128x128, 256x256的图片大小。
我们使用了预训练的双向LSTM来计算词嵌入。
单词维度D=256,句子长度L=18,可视化embedding维度Mi=32,可视化特征维度Ni=qixqi,qi在每层分别是64,128,256。
条件增强后的句子embedding维度D’=100。
loss权重λ=20。

实验结果


T2I论文阅读2019 MirrorGAN_第8张图片
T2I论文阅读2019 MirrorGAN_第9张图片
GA代表global attention。
T2I论文阅读2019 MirrorGAN_第10张图片

你可能感兴趣的:(论文阅读,人工智能)