美文网首页
AttnGAN: Fine-Grained Text to Im

AttnGAN: Fine-Grained Text to Im

作者: EwanRenton | 来源:发表于2018-12-06 02:29 被阅读0次

    《AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks》是CVPR 2018 文本生成图像的文章,是StackGAN++的后续工作。


    Abstract

    在本文中作者提出了一个 Attentional Generative Ad-
    versarial Network(AttnGAN),一种attention-driven的多stage的细粒度文本到图像生成器。

    并借助一个深层注意多模态相似模型(deep attentional multimodal similarity model)来训练该生成器。

    它首次表明 the layered attentional GAN 能够自动选择单词级别的condition来生成图像的不同部分。


    大体思路

    先看下模型结构:



    该模型由两部分组成

    1. attentional generative network
      该部分使用了注意力机制来生成图像中的子区域,并且在生成每个子区域时还考虑了文本中与该子区域最相关的词。如下图所示:


    1. Deep Attentional Multimodal Similarity Model (DAMSM)
      该部分用来计算生成的图像与文本的匹配程度。用来训练生成器。

    Pipeline:

    • 输入的文本通过一个Text Encoder 得到 sentence feature 和word features
    • 用sentence feature 生成一个低分辨率的图像I_0
    • 基于I_0 加入 word features 和setence feature 生成更高分辨率细粒度的图像

    Attntional Generative Adversarial Network

    下面将分别介绍之前提到的两个模块。

    Attentional Generative Network

    从Figure 2 中可以看出该attentional generative network共有m个生成器(G_0,G_1,...,G_{m-1})它们的输入分别是(h_0,h_1,...,h_{m-1})生成(\hat{x}_0,\hat{x}_1,...\hat{x}_{m-1})
    其中

    z是noise,服从标准正态分布
    \overline{e}是global sentence vector
    e是word vector的矩阵
    F^{ca}是将\overline{e}转换为conditioning vertor的Conditioning Augmentation 方法
    F_i^{attn}是第i个stage的attention model
    F^{attn}(e,h)有两个输入,e和h
    h的每一列就是图像中一个子区域的feature vector


    其中



    第i个stage的生成器
    unconditional loss决定了img是real或者fake,conditional loss 决定img和sentence是否匹配。
    同理,判别器的loss定义为

    Deep Attentional Multimodal Similarity Model

    DAMSM学习了两个神经网络(text encoder-LSTM,image encoder -CNN),将图像的子区域和句子中的词映射到同一个语义空间来计算相似度,在训练生成器的时候就可以通过计算img-text similarity得到一个fine-grained loss

    The text encoder

    文本编码器是一个双向LSTM网络,用来提取文本描述(text description)的语义向量(semantic vectors)。
    作者将该双向LSTM网络的hidden states 认为是词的语义(semantic meaning).
    所有词的特征矩阵为e 纬度为DxT,D是 word vector的纬度,T是词的数量。第i列e_i是第i个词的feature vector
    并且,最后一次hidden states被认为是 global sentence vector \overline{e} 同样是D纬的。


    The image encoder

    图像编码器是一个将图像映射到语义空间的CNN网络。中间层的输出被认为是图像不同子区域的局部特征,后面层的输出是图像的全局特征。
    作者从Inception-v3的mixed_6e层得到local feature f(768x289),f的每一列是一个子区域的feature vector,768是feature vector的纬度,289是子区域的个数。
    并且,global feature \overline{f}的纬度是2048
    然后将img feature映射到text feature同一个空间,得到v和\overline{v}


    The attention-driven image-text mathching score

    该score是用来衡量img-sentence pair的匹配程度。
    先计算句子中所有可能的单词对和图像中的子区域的相似度矩阵s。
    s=e^Tv
    s_{i,j}是句子的第i个单词和图像的第j个子区域之间的点积相似度。
    用如下方法归一化s


    然后,作者构建了一个注意模型来计算每个词的region-context vector。

    最后整张图像(Q)和描述(D)的match score被定义为

    DAMSM Loss

    对一个batch的img-sentence 对\{(Q_i,D_i)\}^M_{i=1},
    D_iQ_i匹配的后验概率被为


    loss使用负对数后验概率(negative log posterior probability)

    w for word


    若将公式10重新新定义为
    R(Q,D)=(

    结果


    论文地址here
    代码地址here

    最后

    该文章是很早之前就看过了的,也跑了他们的代码,感觉DAMSM部分还是有很多地方没吃透,结合代码看任然还是有很多不懂的地方。这次写出来有点新的体会,但是在DAMSM将img和text映射到同一个空间过后的的操作和多stage生成器部分还是有点模糊,可能还需要看看前作stack++。
    之后有时间可能还会结合代码再写一篇blog解析一下不懂的地方。

    相关文章

      网友评论

          本文标题:AttnGAN: Fine-Grained Text to Im

          本文链接:https://www.haomeiwen.com/subject/uqtncqtx.html