Generating Images from Captions with Attention

注意从字幕生成图像

基于生成模型的最新进展,我们引入了一种根据自然语言描述生成图像的模型。 提出的模型以迭代方式在画布上绘制补丁,同时注意描述中的相关单词。在接受Microsoft COCO培训后,我们将我们的模型与几个基准生成模型进行了图像生成和检索任务比较。 我们证明,与其他方法相比,我们的模型可以产生更高质量的样本,并且可以生成具有新颖场景组成的图像,这些图像与数据集中以前看不到的字幕相对应。

1 引言

统计自然图像建模仍然是计算机视觉和图像理解中的基本问题。这项任务具有挑战性,激发了采用深度神经网络的推理和生成能力的最新方法。以前研究过的图像深层生成模型通常会定义分布,这些分布仅限于不受条件限制或以分类标签为条件。但是,在实际应用中,图像很少单独显示,因为它们通常伴随着非结构化的文本描述,例如在网页和书本上。这些描述中的其他信息可用于简化图像建模任务。此外,学习基于文本的生成模型还可以更好地理解模型的泛化性能,因为我们可以创建训练时未看到的全新场景的文本描述。

有很多方法可以学习关于图像和文本模态的生成模型。一种方法是学习基于图像的文本生成模型,称为字幕生成(Kiros等,2014a; Karpathy&Li,2015; Vinyals等,2015; Xu等,2015)。这些模型采用图像描述符,并使用循环解码器生成非结构化文本。相反,在本文中,我们探索了条件相反的模型,即以文本描述作为输入并使用它们来生成相关图像。从描述中生成高维逼真的图像,结合了语言建模和图像生成的两个具有挑战性的组成部分,可以认为比字幕生成更困难。
在这里插入图片描述

在本文中,我们说明了如何使用顺序深度学习技术来有效地在自然图像空间上建立条件概率模型。通过扩展“深度循环注意力作家”(DRAW)(Gregor等人,2015),我们的模型在画布上迭代绘制补丁,同时注意描述中的相关词语。总的来说,这项工作的主要贡献如下:我们引入了条件alignDRAW模型,这是一种使用软注意力机制从字幕生成图像的模型。由alignDRAW模型生成的图像在后处理步骤中通过确定性拉普拉斯金字塔对抗网络进行完善(Denton等人,2015)。我们进一步说明了我们在Microsoft COCO(Lin等人,2014)上学到的方法如何推广到描述数据集中未出现的新颖场景的标题,例如“停车牌在蔚蓝的天空中飞翔”(见图。 1)。

2 相关工作

深度神经网络在诸如图像识别(Krizhevsky等人,2012),语音转录(Graves等人,2013)和机器翻译(Bah-danau等人,2015)等各种任务中均取得了重大成功。尽管最近的成功大部分是通过判别模型实现的,但生成模型尚未获得同等的成功水平。以往有关生成模型的大多数工作都集中在Boltzmann Machines(Smolensky,1986; Salakhutdi-nov&Hinton,2009)和Deep Belief Networks(Hinton等,2006)的变体上。尽管这些模型非常强大,但是每次训练迭代都需要MCMC进行计算上昂贵的步骤,以近似难处理的分区函数(归一化常数)的导数,从而难以将其缩放到大型数据集。

Kingma&Welling(2014),Rezende等人。 (2014年)推出了变分自动编码器(VAE),可以将其视为具有连续潜在变量的神经网络。编码器用于近似后验分布,解码器用于从潜在变量随机重建数据。 Gregor等。 (2015年)进一步引入了深度循环注意力书写器(DRAW),通过结合一种新颖的可区分注意力机制扩展了VAE方法。

生成对抗网络(GANs)(Goodfellow等人,2014)是另一种使用噪声对比估计的生成模型(Gutmann&Hyvarinen,2010),以避免计算难以处理的划分函数。该模型由一个使用均匀分布生成样本的生成器和一个在真实图像与生成图像之间进行区分的鉴别器组成。最近,Denton等人。 (2015年)通过在拉普拉斯图像金字塔的每个级别上训练条件GAN来扩展这些模型。

尽管许多先前的方法都集中于无条件模型或标签上的条件模型,但在本文中,我们开发了一种以字幕为条件的图像生成模型。

3 模型

我们提出的模型定义了以字幕为条件的图像生成过程。 特别地,字幕被表示为连续单词的序列,而图像被表示为在时间t = 1,…,T上在画布ct上绘制的补丁的顺序。 该模型可以看作是序列到序列框架的一部分(Sutskever等,2014; Cho等,2014; Srivastava等,2015)。

3.1 语言模型:双向注意RNN

令y为输入标题,表示为K个编码字中的1个的序列y =(y1,y2,…,yN),其中K为词汇量,N为序列长度。 通过首先将每个单词yi转换为m维向量表示,来获得字幕的感觉表示。
在这里插入图片描述
在这里插入图片描述

3.2 图像模型:有条件的绘图网络

为了生成以字幕信息y为条件的图像x,我们扩展了DRAW网络(Gregor等人,2015),在每个步骤都包括了字幕表示hlang,如图2所示。条件DRAW网络是随机的 由序列组成的递归神经网络隐变量Zt∈RD,t = 1,…,T,其中输出在所有T个时间步上累加。 为了简化符号表示,将图像x∈Rh×w假定为尺寸为hby-w,并且只有一个颜色通道。

与原始DRAW网络不同,其潜在变量是独立的球形高斯N(0,I),建议的alignDRAW模型中的潜在变量的均值和方差取决于生成LSTM hgen的先前隐藏状态,除了P( Z1)= N(0,I),即Zt上先验分布的均值和方差可通过以下参数设置:
在这里插入图片描述
其中Wμ∈RD×n,Wσ∈RD×n是学习的模型参数,n是hgen的维数,它是生成LSTM的隐藏状态。 与(Bachman&Precup,2015)相似,我们已经观察到模型性能通过包含潜在变量之间的依赖性而得到改善。

形式上,通过迭代计算t = 1,…,T的以下等式集生成图像(请参见图2),并将hgen和c0初始化为学习偏差:在这里插入图片描述
对齐功能用于计算输入标题和中间图像生成步骤之间的对齐方式(Bahdanau等,2015)。 给定来自语言模型的标题表示法hlang = [hl1ang,hl2ang。,hlang,对齐运算符使用对齐概率αt1… N通过加权和在每一步输出动态语句表示st:在这里插入图片描述
使用标题表示hlang和生成模型hgen的当前隐藏状态,获得标题中第k个单词的对应对齐概率αtk
在这里插入图片描述
其中v∈Rl,U∈Rl×m,W∈Rl×n和b∈Rl是对齐模型的学习模型参数。

方程的LSTM gen函数。 由LSTM网络在单个时间步上定义了图3中的遗忘门(Gers等,2000)。 为了生成下一个隐藏状态hgen,LSTM gen获取先前的隐藏状态hgen并将其与来自潜在样本zt和语句表示st的输入组合。

然后,将LSTM gen函数hgen的输出传递给写运算符,该运算符被添加到累积画布矩阵ct∈Rh×w(等式4)中。 写算子产生两个数组的一维高斯滤波器组Fx(htgen)∈Rh×p和Fy(htgen)∈Rw×p,其滤波器位置和比例是根据生成的LSTM隐藏状态hgen计算的(与Gregor等人定义相同) (2015)。 然后将高斯滤波器组应用于生成的逐个图像块K(htgen)∈Rp×p,并将其放置在画布上:在这里插入图片描述
最后,使用S形函数σ转换来自最终画布矩阵cT的每个条目cT,i,以在h×w图像像素x上给出给定潜在变量Z1:T和的情况下,在h×w图像像素x上产生条件平均伯努利分布,且均值向量σ(cT)。 输入字幕y1。 实际上,当生成图像x时,我们仅使用条件均值x =σ(cT),而不是从条件伯努利分布中采样。

3.3 学习

在给定输入标题y的情况下,训练模型以使正确图像x的边际似然性的变化下界L最大化:在这里插入图片描述
与DRAW模型类似,推理递归网络通过读取运算符产生近似后验Q(Z1:T | x,y),该运算符使用两个一维高斯滤波器阵列从输入图像x中读取色块(从 第3.2节)在每个时间步t。 特别,在这里插入图片描述
其中xˆ是误差图像,hinfer初始化为学习到的偏差b。 注意,推断LSTM推断将取决于原始输入图像x的读取算子rt∈Rp×p的输出和取决于潜在样本历史z1的生成解码器hgen的先前状态作为输入。 :t-1和动态句子表示法st-1(请参见等式3)。 因此,除了仅取决于x的第一步Q(Z1 | x)之外,近似后验Q将取决于输入图像x,相应的字幕y和潜伏历史Z1:t-1。

变分下界方程中的项。 可以使用总期望定律重新排列9。 因此,变分界L的计算公式如下:在这里插入图片描述
可以通过来自Q(Z1:T | y,x)的L个蒙特卡洛样本z〜1:T来近似期望值:在这里插入图片描述
可以使用随机梯度下降训练模型。 在我们所有的实验中,我们仅使用来自Q(Z1:T | y,x)的单个样本进行参数学习。 培训详细信息,超参数设置和整体模型架构在附录B中指定。该代码可从https://github.com/emansim/text2image获得。在这里插入图片描述

3.4 通过字幕生成图像

在图像生成步骤中,我们丢弃推理网络,而是从先前的分布中采样。 由于DRAW模型产生的样本模糊,我们执行了一个额外的后处理步骤,在该步骤中,我们使用了对抗网络,该对抗网络是根据标题的跳过思想表示(Kiros等,2015)训练的拉普拉斯金字塔的残差而训练的 (Denton等人,2015)。 通过将对抗性生成器的先验值固定为均值,可以将其视为确定性神经网络,该网络使我们能够在公式中定义条件数据项。 在锐化图像上使用图14所示的像素,并据此估计变化的下限。

4 实验

4.1 MSCOCO

Microsoft COCO(Lin等人,2014)是一个大型数据集,包含82,783张图像,每张图像至少带有5个标题。 具有各种样式,背景和对象的丰富图像集使学习良好的生成模型变得非常艰巨。 为了与字幕制作的相关工作保持一致,我们在训练和评估模型时仅使用了前五个字幕。 图像调整大小为32×32像素,以与其他微小图像数据集保持一致(Krizhevsky,2009)。 在以下小节中,我们分析了模型的定性和定量方面,并将其与其他相关生成模型的性能进行了比较。2附录A进一步报告了使用MNIST数据集进行的其他一些实验。

4.1.1 生成图像分析

这项工作的主要目的是学习一个模型,该模型可以理解图像的文本描述中表达的语义含义,例如对象的属性,它们之间的关系,然后使用该知识生成相关的图像。 为了检查对模型的理解,我们编写了一组受COCO数据集启发的标题,并更改了标题中的一些单词以查看模型是否对生成的样本进行了相关更改。

首先,我们探讨了模型是否了解任何对象的最基本属性之一,即颜色。在图3中,我们生成了具有四种不同颜色的校车图像:黄色,红色,绿色和蓝色。尽管在训练集中有公交车上不同颜色的图像,但所有提到的校车都特别标为黄色。尽管如此,该模型仍能够生成物体的图像,该图像在视觉上让人联想到涂有指定颜色的校车。

除了更改对象的颜色之外,我们接下来检查了更改标题中描述的场景的背景是否会导致生成的样本发生适当的更改。更改图像背景的任务比仅更改对象的颜色要难一些,因为模型必须在更宽的可视区域内进行更改。然而,如图4所示,在一个标题中将天空从蓝色更改为多雨,在另一个标题中将草类型从干燥更改为绿色,这会导致生成的图像发生适当的变化。
在这里插入图片描述

尽管有很多方法可以更改描述中的颜色和背景,但总的来说,我们发现只要训练集中存在一些类似的模式,模型就可以进行适当的更改。但是,当对象之间的视觉差异很小时(例如,对象具有相同的一般形状和颜色时),该模型就会出现问题。在图3中,我们证明了当我们交换两个在视觉上都相似的对象(例如猫和狗)时,即使我们可能会很难从生成的样本中单独区分它是猫还是狗的图像。注意动物的形状。这突出了模型的局限性,因为它难以建模对象的细粒度细节。

作为对模型泛化的测试,我们尝试生成与字幕相对应的图像,这些图像描述了在现实生活中极不可能发生的场景。 这些标题描述了一个常见的物体在做不寻常的事情或放置在一个陌生的位置,例如“马桶座在草地上敞开”。 即使其中的某些场景在现实生活中可能永远不会发生,但人类很容易想象出相应的场景。 但是,正如您在图1中看到的那样,该模型设法生成了合理的图像。

4.1.2 注意力分析

翻转字幕中的单词集后,我们进一步研究了模型在生成图像时使用了哪些单词。事实证明,在生成步骤中,模型主要集中于特定词(或附近的词),这些词带有句子中表达的主要语义。句子中单词的注意值帮助我们解释了当我们翻转某些单词时该模型进行更改的原因。例如,在图5的第一行中,我们可以看到,当我们将“沙漠”一词翻转为“森林”时,句子中单词的注意力并没有发生很大变化。这表明,在各自的句子中,模型以相对相等的概率看待“沙漠”和“森林”,从而做出了正确的更改。相反,当我们将单词“ beach”和“ sun”互换时,可以看到句子之间单词的概率分布发生了巨大变化。通过指出该模型完全忽略了第二句话中的“太阳”一词,我们可以更全面地理解为什么我们看不到每个字幕产生的图像之间的视觉差异。
在这里插入图片描述

我们还尝试分析模型生成图像的方式。不幸的是,我们发现在画布上绘制的补丁与特定时间步伐中最常用的单词之间没有显着联系。

4.1.3 与其他型号的比较

量化评估生成模型本身仍然是一项艰巨的任务,因为每种评估方法都有其自身的特定缺点。与报告判别模型中的分类准确性相比,定义生成模型的度量在大多数情况下都是棘手的,并且可能无法正确定义模型的真实质量。为了更好地比较不同生成模型的性能,我们报告了两种不同指标的结果以及不同生成模型的定性比较。

我们将拟议模型的性能与以不带对齐功能的字幕为条件的DRAW模型(noalignDRAW)以及以(Kiros等人,2015)(skipthoughtDRAW)的跳过思想向量为条件的DRAW模型的性能进行了比较。所有条件DRAW模型都使用二元交叉熵代价函数进行训练,即它们具有伯努利条件似然性。我们还将模型与全连接(Fully-Conn)和卷积反卷积(Conv-Deconv)变分自编码器进行了比较,它们使用最小二乘成本函数进行了训练。 (Denton等人,2015)的LAPGAN模型是在两级Lapla-cian金字塔上训练的,其中GAN作为顶层生成器,并且所有阶段都在相同的跳思想向量上进行调节。

在图5的底行中,我们根据每个“最新的生成模型”的先验生成了几个样本,其标题为“一群人在有冲浪板的海滩上行走”。虽然所有样本看起来都很清晰,但是LAPGAN生成的图像看起来更嘈杂,更难以分辨出确定的对象,而由采用最小二乘成本函数训练的变分模型生成的图像对图像具有水彩效果。我们发现条件DRAW模型的不同变体之间生成的样本质量相似。

对于不同模型的定量比较,我们首先比较使用变分方法训练的模型的性能。我们根据对数概率的变化下限,将图像按标题放在测试集中进行排序,然后报告Precision-Recall度量标准,作为对生成模型质量的评估(请参见表1)。可能不足为奇的是,生成模型在图像检索任务上表现不佳。为了处理遍历每张测试图像所涉及的巨大计算复杂性,我们基于VGG样的最后完全连接特征空间中具有最接近欧几里德距离的图像,创建了包含正确图像的一百张图像的候选清单。 CIFAR数据集3(Krizhevsky,2009)训练的模型(Simonyan&Zisserman,2015)。由于存在“易”图像,该模型为模型分配了独立于查询标题的高对数概率,因此我们改为查看以句子为条件的图像的可能性与以均值为条件的图像的可能性之比。遵循(Kiros等人,2014b)的检索协议,训练集中的句子表示形式。我们还发现,对于锐化的图像,测试对数概率的下限减小,并且锐化严重损害了检索结果。由于锐化会改变图像的统计量,因此图像像素的估计对数概率不一定是一个好的指标。附录C中显示了锐化前后生成的图像的一些示例。
在这里插入图片描述

代替计算每个像素的误差,我们转向一个更智能的度量标准,即结构相似度指数(SSI)(Wang等人,2004年),该指数将亮度和对比度掩膜合并到误差计算中。还考虑到了更紧密像素之间的强相互依赖性,并且在图像的小窗口上计算了度量。由于测试字幕的独立性,我们针对测试集中的每个字幕从每个生成模型的先验中抽取了五十张图像,以计算SSI。如表1所示,与LAPGAN相比,通过变分模型获得的SSI得分更高。

5 讨论

在本文中,我们证明了alignDRAW模型(递归变分自动编码器与单词对齐模型的组合)成功生成了与给定输入标题相对应的图像。通过广泛使用注意力机制,我们的模型获得了一些优势。即,视觉注意力机制的使用使我们能够将图像生成问题分解为一系列步骤,而不是单次向前通过,而对单词的注意力为我们在模型无法生成相关图像时提供了见识。此外,我们的模型生成的图像对应的字幕超出了训练集的范围,例如描述新颖情景的句子,这些情景在现实生活中极不可能发生。

因为alignDRAW模型倾向于输出稍微模糊的样本,所以我们通过锐化的后处理步骤扩充了模型,在该步骤中,GAN生成了添加到alignDRAW样本中的边缘。不幸的是,由于不是以端到端的方式训练整个模型,所以这不是理想的解决方案。因此,未来工作的方向将是找到可以绕过单独的后处理步骤并直接以端到端的方式输出清晰图像的方法。