摘要
该论文提出了一种生成式对抗网络TAGANs,可以用自然语言描述操纵图像,即根据文本描述修改图像中某对象的某个视觉方面的属性。之前的方式是合成具有新属性的图像,但会丢失原始图像中和文本描述无关的内容。该方法使用text-adaptive discriminator创建的word-level discriminators可以根据输入文本自适应地对细粒度的属性进行独立的分类。论文地址,该论文代码已开源,传送门。
相关工作
该论文的工作是和conditional image generation methods紧密相关的。有许多工作尝试使用条件变量生成图像,比如cGAN、Attribute2Image、infoGAN。这些工作解决了从纯噪声向量生成新图像的问题。该论文则聚焦于根据给定的文本描述修改图像,类似的工作之前也有,但它们不能很好的保留原始图像中和文本描述无关的内容。因为它们的sentence-level discriminatior提供给生成器的是粗粒的训练反馈。而该论文提出的word-level discriminators可以区分更为细粒的属性。
网络架构
$令x,t,\hat{t}$分别代表图像,匹配图像的文本描述和与图像不匹配的文本描述。任务是根据$\hat{t}$操纵$x$,令得到的图像$\hat{y}$匹配$\hat{t}$,同时保存原始图像中与文本描述无关的信息。
Generator
生成器是一个编码-解码网络结构。先用encoder对输入图像编码得到特征表示$e$,然后$e$和使用双向GRU对文本描述编码得到的特征表示拼接起来得到$merge$,$merge$经过Residual Block得到的特征表示再和$e$拼接得到特征表示,将其送入解码器,输出是合成的新图像$\hat{y}$。在训练GRU的过程中使用了Conditional Augmentation Method来平滑文本表示和增加输出的多样性。
但这样做可能会生成新的背景或者其他不是文本描述中出现的内容。因此,为生成器加以重建损失函数约束。如下所示。
但对于生成器而言,除非discriminator提供可以将目标视觉属性分类得比较精细的有用反馈,依然难以学习到和文本描述无关属性的表示。因此该论文提出了text-adaptive discriminator。
Text-adaptive discriminator
text-adaptive discriminator的作用是提供给生成器特定的训练信号,以令其产生特定的视觉属性。为了做到一点,text-adaptive discriminator需要使用word-level local discriminators将目标的属性分类的更细粒来。一言以蔽之,该模块可以更精细的判断图像和文本描述匹配程度。
![alt text]
同生成器一样,判别器依然需要训练双向GRU作为自己的文本编码器。对于每一个词向量$w_i$,也就是文本编码器的第$i$个输出,该论文为其创建一个1D sigmoid local discriminator $f_{w_i}$,该局部判别器可以判断和$w_i$相关的视觉属性是否存在于图像中。$f_{w_i}$如下所示:
值得一提的是$W(w_i)和b(w_i)$在开源代码中是通过一层全连接得到的。
为了得到更好的分类结果,对局部判别器添加了word-level attentions,以期减少不重要的单词对最后得分的影响。权重由如下softmax公式得到,同时最后得分公式亦如下所示:
如果考虑到多尺度的图像特征的话,最后得分公式就如下所示:
该论文提出的text-adaptive discriminator和已存在的其他方向相比由如下优点:
1.可以找到文本描述中更细的属性,并在图像中找到对应的属性。
2.可以很容易的使用交叉熵损失函数训练
3.不对图像使用明确的空间注意力(ps:多尺度图像特征的话就用了这个吧),也不需要任何手动调整的超参数。
GAN objective
判别器和生成器的损失函数依次如下:
可以看出判别器损失函数最小化的目的是为了提高判别器的辨识能力,而生成器则是为了提高其骗过判别器的能力。
结果展示
思考
我是第一次接触这方面的工作,本论文的关键是文本自适应的判别器,该判别器可以根据输入文本生成字符级别的局部判别器,进而对各个细粒度的属性进行独立的分类。只有文本对应的图像会发生变化,同时保持文本无关的部分不会发生改变。除了叹为观止,我没有其他想法了。