AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks

《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


其中


\beta_{i,j}
表示在生成第j个子区域时attends到第i个word的权重。
生成器的目标函数定义如下:

第i个stage的生成器
G_i
有对应的判别器
D_i
G_i
的对抗loss定义为:

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。
c_i
是与句子的第i个词相关的图像的子区域的动态表示。

\gamma_1
决定了在计算词的region-context vector时对其相关图像子区域特征的重视程度。
作者使用
c_i
和e之间的余弦相似度来定义第i个词和图像之间的相关性。

最后整张图像(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)=(
\overline{v}^T\overline{e}
)/(||
\overline{v}
||||
\overline{e}
||),再通过公式11和12就能得到
L_1^s
L_2^s
s for sentence
于是DAMSM loss 为:


结果


论文地址here
代码地址here

最后

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容