这是一篇CVPR 2019的一篇文章,思想简单,但是实验结果是真的简单,服!服!服!!!(但是我为什么想不到呢?我太菜)。文章中介绍了很多模块,也介绍了文章idea的来源,为此我还看了相关的Memory Networks及各种变形(对理解本篇DM-GAN其实用处不大,但是这些论文挺好的,推荐一看。)
论文: https://arxiv.org/abs/1904.01310?context=cs.
GitHub代码: https://github.com/MinfengZhu/DM-GAN.

大家都知道,text-to-image的研究的显存的两个主要问题:

1.显存方法极大的依赖最初合成的图像,然后在这个合成的图像上去提炼和匹配文本描述,如果这个初始图像质量很差,那最终的生成图像质量肯定不好。
2.文本描述中的每个单词对图片的内容的作用都不一样,重要性也不一样,怎样将单词与要生成的图像的不同内容很好的关联,也就是attention提出的主要原因。

这篇论文的主要创新点是提出一个动态记忆模型(a dynamic memory module)去提炼图像,这个模型主要包括以下几个模块:

1.Memory Writing Gate:计算上一层的feature map与单词嵌入向量之间的attention
2.Key-Value Memories:通过Key来检索最相关的Value,并以权重总和的形式输出
3.Responese Gate:将权重和 与 feature map融合输出一个新的image feature

整个网络结构为:

DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
上图的第一个子图没什么需要介绍的的,它与之前的StackGAN、AttnGAN等结构相似。上图中:
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
其中T是单词的数量,NwN_{w}是单词单词特征的维数,N是图像像素的数量,NrN_{r}是图像像素特征的维数。
这个网络也是以堆叠(stack)的形式构成的,通过多阶段提炼生成高分辨率图片。我们需要看看Dynamic Memory based Image Refinement的工作流程:
1.Memory Writing Gate
我们需要将重要的文本信息提炼出来,从而在初始图像x0x_{0}的基础上生成高分辨高质量的图像。这里用到一个Memory Writing Gate giwg_{i}^{w}去融合上一阶段的image features RiR_{i} 和单词特征举证 WW,从而计算某个单词的重要性:
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
σσ是 sigmoid 函数,AA1×Nw1 \times N_{w}的矩阵,BB1×Nr1 \times N_{r}的矩阵。则 memory slot miRNmm_{i} \in R^{N_{m}}被下面的公式计算得到:
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
Mw(.)M_{w}(.)Mr(.)M_{r}(.)表示1 x 1的卷积操作,并将图像和单词特征转换到NmN_{m}维的特征空间。

2.Key Addressing
在这一步,本文使用key memory去检索相关的memories。在这里我们计算每一个memory slot(mim_{i})的权重作为相似性概率:
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
ΦkΦ_{k}在实施中是1 x 1的卷积。
3.Value Reading
输出的memory(OO)被定义为value memory的权重总和:
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
ΦvΦ_{v}实施中也是一个1 x 1的卷积。
4.Responese Gate
论文中利用适应性门机制去动态的控制信息流向以及image feature 的更新:
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
WWbb是参数矩阵和偏置值。

目标函数

DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
其中LCAL_{CA}是条件增强损失
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
其中u(s)u(s)(s)∑(s)分别是句子特征的均值和对角协方差矩阵。
另外论文还用了attnGAN的DAMSM损失。

Experiments

DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 论文解读
还有一些其它的实验验证及定量的展示,具体可看原文。

相关文章: