AttnGAN: Fine-Grained Text to Image Generationwith Attentional Generative Adversarial Networks论文解读

    xiaoxiao2022-07-07  187

    attnGAN是CVPR 2018的一篇文章,我觉得写得很好,是十分值得一读的文章。文章引进了注意力(attention)机制。

    Attentional Generative Adversarial Network(AttnGAN)能够生成细粒度(fine-grained)细节的的图片,与之前的text to image最好的 文章相比在CUB数据集上的inception score 提高了14.14%,而在COCO数据集上的性能提高了惊人的170.25%。这篇文章首次提出了分层的注意力机制的GAN网络能够自动的在单词水平上实现与图片中的某个子区域的映射,从而实现细粒度的细节。

    论文链接: https://arxiv.org/pdf/1711.10485.pdf. StackGAN++论文解读: https://blog.csdn.net/weixin_43551972/article/details/89884003.

    这篇文章的主要创新点有两处:

    注意力生成网络(attentional generative network)。它能够在单词的水平上实现单词与图片中的某个子区域的映射,从而实现细粒度的图片细节。提出了DAMSM(Deep Attentional Multimodal Similarity Model)模块,进而提出了DAMSM损失函数,加入到整个网络的损失函数中后,有利于生成更高质量的图片。

    整个网络结构为:

    与之前的StackGAN++相比,主要的不同就是加入了Attentional Generative Network 和 DAMSM模块。

    Attentional Generative Network

    首先我们要有以下概念: 在这里向量e是整个文本的嵌入向量,向量e ∈ RD x T是文本中单词向量矩阵,即每个单词对应矩阵中的一列,二由生成器生成的图片特征为 h ∈ RD^ x T。由于向量e与向量h行数,也就是维数不同,必须做 e=Ue的矩阵转换操作,U ∈ RD^ x D。向量h的每一列对应这生成图片的每一个子区域,用 jth 表示该子区域,而 jth 区域与 e 中的每个列(也就是每个单词)的相关性可以用下面这个公式表示: s j,i =hT j e i,βi,j表示第i个单词对第j个区域的所占的权重。从而有:

    Deep Attentional Multimodal Similarity Model(DAMSM)

    在介绍DAMSM损失之前先了解两个编码模块:

    The text encoder: 文中采用了双向LSTM文本编码器,形成两个向量:e 和 e

    The image encoder: 文中采用的是CNN,形成两个矩阵:v ∈ RD x 289(在深度卷积网络中得到的各子区域的特征f ∈ R768 x 289通过 v = Wf 公式所组成的矩阵)和 v ∈ RD(由CNN的最后的池化层得到的一个整张图片的向量f ∈ R2048通过Wf )。

    The attention-driven image-text matching score

    s ∈ RT x 289。si,j描述的是文本中第i个单词和图片的第j个区域的相似性。我们将其归一化为: 然后为每一个单词计算区域文本向量(region-context vector)ci: 最后我们第一第i个单词与图片的相关性: 进而有整个文本D与整个图片Q的匹配分:

    DAMSM损失:

    对于一个批度文本图片对{[Qi,Di]}Mi=1,有一个后验概率: 从而有负对数损失函数(‘w’ stands for ‘word’): 类似的有: 最后DAMSM损失函数定义为(‘s’ stands for ‘sentence’):

    整个网络的损失函数为

    实验结果展示

    文中还有一个验证注意力机制的重要性的实验,我就不介绍了,感兴趣的可以看看原文,我放张图感受一下

    最新回复(0)