统一化视觉语义嵌入与多模态神经语言模型
摘要:
受多模态学习和机器翻译的最新进展的启发,我们介绍一种编码器-解码器管道学习模型(a): 一种图像和文本的多通道联合嵌入空间。(b):一种新的语言模型,用于从我们的空间解码分布式表示。我们的管道有效地结合了联合图像文本嵌入模型与多模态神经语言模型。我们介绍的结构-内容神经语言模型,根据内容分解句子的结构,并由编码器产生的表示条件。当解码器可以从乱序的句子开始产生新的标识,该编码器允许对图像和句子进行排序。我们使用长短期记忆(LSTM)编码句子,我们相比较有先进性能flickr8k和flickr30k上没有使用对象的检测。当使用的19层牛津卷积网络,我们还设置了新的最佳结果。此外,根据线性编码器我们展示了在空间向量运算方面学到的嵌入空间捕捉多模态的规律,例如蓝色汽车的图像 -“蓝色”+“红色”是与红色汽车相近的图像。有800张图像生成的样本说明可供比较。
1 介绍
本文介绍了一种对生成图像说明文字(或字幕)问题的新方法,即转换成编-解码模型框架。对于编码器,我们学习一种图像-句子联合嵌入在使用了长短期记忆(LSTM)递归神经网络编码的句子中的方法[ 1 ]。图像特征从深度卷积网络投影到对应的长短期记忆(LSTM)隐状态的嵌入空间。是为了学习对图像和描述的排序损失的最小化。对于解码,我们引入了一个新的神经语言模型称为结构-内容神经语言模型 (SC-NLM)。SC-NLM 不同于已经存在的模型是因为它由编码器产生的表示条件理顺了那些一个纷繁句子的内容结构。
我们发现,从SC-NLM采样使我们能够产生逼真的图片说明,在生成说明文字制作方面有了很大的提高[ 2 ]。此外,我们认为,这种结合的方法很自然适合于实验框架,这是一个很好的编码器,可以用来排序的图片和标题,然而一个好解码器也可用于从头生成新的标识。
我们的方法有效地结合图像文本嵌入模型(编码器阶段)与多模态神经语言模型(解码器阶段)。此外,我们的方法建立在机器翻译中使用的类似的方法。
虽然我们的工作重点是图像描述的生成和排序,我们也利用图像和句子对多模态向量空间的性质进行定性分析。
我们展示了使用一个线性的句子编码器,语言规律[ 12 ]也延伸到了多模态向量空间。例如一个蓝色汽车的图像 -“蓝色”+“红色”是与红色汽车相近的图像。我们定性检查几种类型的类比和结构与PCA(Principal Component Analysis)预测。因此,即使有一个全球性的图像句子训练目标,编码器仍然可以用来检索本地(例如,单个词语)。这和在机器翻译中成对排序的方法类似。
1.1多模态表示学习
在学习图像和文本的多模态表示上一个大的主体工作已经完成。常用的方法包括学习联合图像-字的嵌入以及嵌入图像-句子变成一个公共空间。我们提议管道直接使用这些想法。多模态学习其他的方法包括深度玻耳兹曼机使用, 自动编码器、递归神经网络、Log-bilinear神经语言模型和主题模型。几种对图片和标识双向排序的方法也被提出,基于内核CCA和标准化的CCA依赖树的递归网络。从架构的角度来看,我们的编码器-解码器模型是最相似的,提出了一个两步的嵌入和生成过程的语义分析。
1.2生成图像的描述
我们小组在一起的方法来生成三种类型的方法,在这里每一个更详细的描述:
基于模板的方法。基于模板的方法包括填写句子模板,如三元组(triplet是三元组抽象数据类型的定义),基于目标检测和空间关系。虽然这些方法可以产生精确的描述,他们往往更多的在本质上是“呆板的(像机器人的)”而且不适用于流动性和通过人为写的标识。
成分为基础的方法。这些方法的目的是利用现有的图像描述数据库中提取相关的标识成分并组在一起产生新的描述。这些方法的优点是,它们允许一个更广泛和更富有表现力的类标识,这是和人类一样更加流畅的基于模板的方法。
神经网络方法。这些方法的目的是产生描述,通过采样的条件神经语言模型。在这方面的初步工作,基于多模态神经语言模型[ 2 ],生成的标识通过在特征向量机从深度卷积网络输出。这些想法最近扩展到多模式递归网络并有显著的改善[ 7 ]。在本文的产品说明中描述的方法至少在质量上与使用最先进技术基于成分的方法相提并论。
图2:编码器:深度卷积网络(CNN)和长短期记忆递归神经网络(LSTM)对图像-句子嵌入的学习。解码器:一种新的神经语言模型,将结构和内容向量结合起来,在一个时间序列中生成单词。
一直困扰着描述生成系统的问题是关于评价的问题。然而在过去的使用中Bleu and Rouge已经认为,这样的自动化评价方法是不可靠的而且和人的判断不匹配。这些作者反而建议,对图片和标识的排序问题可以用一个代理来产生。由于任何一代系统都需要一个评分函数来访问,如何更好的使一个标识和图像匹配,优化这项任务,自然要进行一代一代的改进。许多最近的方法已经使用这种方法进行评估。如何将改进的排序以产生新的描述仍然是一个问题。我们认为,编码器-解码器方法是很自然适合这实验框架的。那是因为,编码器给我们提供了一种对图像和字幕排序很好的方法去开发良好的评分函数,而解码器可以使用陈述学习优化评分函数作为一种生成和评分新描述的方法。
1.3 机器翻译的编码器-解码器方法
我们提出的管道,新的标识的生成,在神经机器翻译(NMT)已经经历了多次成功。NMT的目标是开发一个端到端的大型神经网络翻译系统,相对于使用神经网络作为一个以现有的短语为基础附加功能的系统。NMT的方法是基于编解码原理。也就是说,一个编码器是用来映射一个英语句子的分布向量。然后,解码器在这个向量条件下生成一个从源文本法语的翻译。现行方法包括使用卷积编码器和RNN解码器[ 8 ],RNN编码器和RNN解码器[ 9,10 ],LSTM解码器和LSTM编码器。虽然还是个年轻的研究领域,这些方法已经等同于强大的基于短语的系统实现的性能,(用于rescoring也开始改善)。
我们讨论的是,它是自然的图像标识生成作为翻译问题的思考。我们的目标是把一个图像转换成一个描述。这种观点也被使用,使我们能够在机器翻译文学利用现有的思想。此外,还有一种在概念的得分函数自然的对应关系(如何更好的使一个标识和图像匹配)和比对( 其中的一部分的描述对应的图像的部分),可以自然地被利用用于生成描述。
2 一种用于排序和生成的编码器解码器模型
在这一节中,我们描述我们的图像描述的生成管道。我们首先回顾LSTM RNNs这是用于编码句子,其次是如何学习的多模态分布表示。然后,我们回顾Log-bilinear神经语言模型[ 29 ],乘法神经语言模型[ 30 ],然后介绍我们的结构-内容的神经语言模型。
2.1 Long short-term memory RNNs
长短期记忆LSTM[ 1 ]是一个递归神经网络,采用了内置的内存单元存储信息和利用远程上下文。LSTM记忆单元被选通单元所包围,目的是阅读,写作和重置信息。LSTMs已被用于多种任务实现先进的性能,如手写识别[31],序列生成[32]语音识别[33],机器翻译等[11]等等。也已经提出了漏失[34]的策略,以防止在深LSTM过度拟合。
设Xt表示在时间t的训练实例的矩阵。在我们的例子,Xt是用来代表: 在一批训练集中每句的第t个字的 字表示矩阵。
让(It, Ft, Ct, Ot, Mt)表示在时间t时候的 输入 、忘记、细胞、LSTM的隐藏状态(input, forget, cell, output and hidden states of the LSTM)。在这项工作中的LSTM对应结构用以下公式实现:
其中,(σ)表示S形的激活函数,(·)表示矩阵乘法和(•)表示组件分量乘法。(原文:where (σ) denotes the sigmoid activation function, (·) indicates matrix multiplication and (•) indicates component-wise multiplication.)
2.2多模态分布表示
假设我们给出的图像-描述训练集是每个正确描述的图像对应着一个图像和一个描述。图像被表示训练在ImageNet分类任务的卷积网络的顶部层(softmax之前)。设D是一个图像特征向量的维数(例如4096 alexnet [ 36 ]),K是嵌入空间的维数和 V是在词的数量。分别是图像嵌入矩阵和字嵌入矩阵。给定一个图像描述S = {w1,...,wN} ,word : w1,...,wN,让{w1,...,wN}, 代表相对应的字表示w1,...,wN(矩阵中的WT 的条目)。一个句子v的表示是LSTM在时间N步隐藏的状态(例如 向量mt)。我们注意到,对图像文本嵌入计算句子表示的其他方法已被提出,包括依赖关系树型RNNs和依赖解析包。让表示一 个图像特征向量(图像对应于描述集S),并且让是图像中嵌入。我们定义了一个得分函数 s(x, v) = x · v,其中 x v 首先按已有单位规范刻度。让θ表示所有要被学习的参数(WI 和所有的 LSTM权重)。我们优化了以下成对排序损失:
其中VK 对图像嵌入X 来讲是对比性的(非描述性的)句子,XK反之亦然。我们所有的实验中,我们初始化字嵌入的权重是预先计算的K = 300维向量 ,学习使用连续的词袋模型[ 37 ]。对比是从训练集中每一时期随机抽样。
2.3 Log-bilinear神经网络模型
Log-bilinear语言模型(LBL)[ 29 ]是一种确定性模型,可以被看作是一个线性隐层前馈神经网络。对编码器的来说,在词汇表中的每个单词w表示为一个k维真实值向量。让 R 表示一个字表示向量的V ×K矩阵,其中V 是词汇表的大小。让(w1, . . . wn−1)是一个n-1个字元组,其中n-1是上下文的大小。 LBL模型进行线性预测下一个字表示为
其中是 K x K 上下文参数矩阵。因此,是预测表示。给定下的条件概率,
其中是偏置向量。伴随着随机梯度下降学习结束。
2.4 Multiplicative 神经语言模型
现在假设我们给定一个从多模的向量空间的向量,与一个单词序列。例如,u可以是图像,其说明由S.给出的嵌入表示。一个Multiplicative 神经语言模型是 一个从前面词和向量u中给定的新词的分布式模型。乘法模型具有附加属性,该属性是用张量代替字嵌入矩阵,其中G是片的数目代替。给定u,我们可以计算出一个词表示矩阵函数 ,即关于u词表示 用u的各成分的ui 被计算为加权切片的线性组合。这里,片的数目G等于K,u的维数。
通常没有必要使用完全无分裂张量。如在例子中,我们重新代表T的三个矩阵如
其中 diag(·) 表示矩阵对角线上的争论。通过预选择的一些因素F这些矩阵被参数化。条件向量u被称为一个属性和允许一个条件相似模型使用词的三阶模型:它们作为一个条件的函数,词汇的意义是如何变化的。
设表示“折叠”的V ×K字嵌入矩阵。给定上下文 预测下一个词表示由下式给出:
其中是对的词表示的的列 。是 K × K上下文矩阵。给出一个预测下一个的词表示,输出的因素是,其中•是一个component-wise的产物。在给定下的条件概率 可以写成
其中 表示对应字i 的列。对比 log-bilinear模型,之前的字表示的R矩阵被我们已经派生的分解张量T所取代。我们比较乘法模型对加法的变形[ 2 ]并找到一个大型数据集,如SBU标题照片数据集,乘法变形明显优于其对应的加法。因此,该SC-NLM是来自乘法变形。
图3:左边:多模态神经语言模型。中间:结构-内容神经语言模型(SC-NLM)。
右边:一个SC-NLM 的预测问题。
2.5结构-内容神经语言模型
我们现在描述结构-内容的神经语言模型。假设,沿着对的描述,我们给定一个序列的特定字结构变量。纵观我们的实验,每个对应于词的语音部分,虽然其他的可能性可以被用来代替。给定一个嵌入集u(内容向量),我们的目标是从前面字上下文和正向的结构上下文建模分布,其中k是正向上下文大小。图3给出了一个模型和预测问题的说明。直观地说,结构变量在生成短语期间有助于指导模型,可以被认为是作为一个软模板,以帮助模型避免产生语法废话。此模型的分配与机器翻译的NNJM相似,在目标语言中前一个单词的上下文是被预测的单词,在源语言中的向前的上下文是单词。
我们的模型可以被解释为一个乘法的神经语言模型,但在这里的属性向量是不再是u,而是一个加法函数的u和结构变量T。
设是结构变量T的嵌入向量。这些都是从一个可学习的查找表中以相同的方式的词是获得。我们介绍一个序列的结构上下文矩阵,这起到同样的作用作为字背景矩阵。设表示用于多模向量u一个含量矩阵。组合结构和内容信息的属性向量被计算为
其中,是一个ReLU非线性和b是偏移向量。向量现在对先前所述的乘法模型的向量u起着相同的作用并且对模型的剩余部分保持不变。我们的实验用,因素F=100。
SC-NLM是在收集了大量的图像描述(e.g.Flickr30K)的训练。有供代表训练向量u的多种选择。一个选择是使用相应的图像的嵌入。另一种选择,这也是我们采取的方法,是限制用于与LSTM计算的描述S中嵌入向量。这种方法的优势是,SC-NLM可以被训练纯文本。这让我们做出使用大量的单语的文本(例如非图像字幕)来提高语言模型质量。由于S的嵌入矢量与所述图像嵌入共享在一个共同的空间,该模型已经被训练之后我们也可以控制图像嵌入(例如,在测试时,当没有可用的描述)。这是一个在明确要求图像字幕对训练和强调多通道编码空间的强度条件下的语言模型有显着的优势。
由于篇幅的限制,我们把我们的标题生成过程的全部细节留给了补充材料。
表1:Flickr8K实验。R@K是Recall@K(越高代表越好)。Med r 是中值排序(越低代表越好)。最好的结果总的来说是明显的,虽然没有牛津特色的最佳效果是下划线标注的数。方法前面的标记着对象检测随单框架特点一起使用。
3 实验
3.1 图像-句子排序
我们主要的定量结果是建立使用排序的图像和描述的LSTM句编码器的有效性。我们在Flickr8K and Flickr30K 数据集上执行相同的实验程序。这些数据集分别有8000和30000张图像,每个图像使用5个独立句子的注解。我们没有做任何明确的文本预处理。我们用两个卷积网络架构提取4096维图像特征:Toronto ConvNet以及其在2014年ILSVRC分类19层OxfordNet最终比赛第二名。在[ 15 ]的协议中,1000个图像被用于验证,1000用于测试和用于训练。使用Recall@K进行了评估,即图像的平均数,正确的标识是Top-k排名内的检索结果(句子,反之亦然)。我们还公布了从最接近的基础真实结果的排名榜的中间排名。通过以下方法比较我们的结果:
DeViSE。深度视觉语义嵌入模型[ 5 ]提出了一种零拍物体识别的方法,并使用了[15]。在这个模型中,句子被表示为字嵌入的用途和使用目标函数优化匹配。
SDT-RNN。 语义依赖树递归神经网络[ 6 ]是用来学习句子表示嵌入到一个共同的图像句子空间。使用相同的目标。
DeFrag。 深度片段嵌入[ 15 ]被提出作为一种替代嵌入全帧图像特征,利用从了R-CNN [44] 探测器目标检测的优势。描述被表示为一个依赖解析包。它们的目标包括全方位和片段的目标,因为它们的全方位目标与我们的目标相匹配。
m-RNN。多模递归神经网络是最近提出的作为模式之间遇到困惑的桥梁,通过[2]第一个介绍。与所有其他方法不同,m-RNN不使用排名损失,而是优化预测空调的图像序列中的下一个字的log-likelihood。
我们的LSTMs使用1层300单元和在[ -0.08,0.08 ]内一致初始化权值。设置α = 0.2时,我们发现这两个数据集上表现良好。训练是使用初始学习率为1的随机下降梯度,并呈指数下降。我们使用Flickr上30K的40 Flickr上8K和100 minibatch大小。采用无动力。相同的超参数被用于OxfordNet实验。
表2:Flickr30K实验。R@K是Recall@K(越高代表越好)。Med r 是中值排序(越低代表越好)。最好的结果总的来说是明显的,虽然没有牛津特色的最佳效果是下划线标注的数。方法前面的标记着对象检测随单框架特点一起使用。
3.1.1结果
表1和2分别说明了我们在Flickr8K和Flickr30K上的结果。我们的模型表现是相当于m-RNN的。一些指标我们超越或匹配现有的结果而其他方面m-RNN优于我们的模型。m-RNN在图像和句子之间不学习一个明确的嵌入,而依赖于作为检索手段上的复杂。学习明确嵌入空间的方法有一个超过基于困惑的检索方法显著的速度优势,因为检索是容易做到从一个查询向量的数据集中找到存储嵌入向量的单一乘法矩阵。因此,明确的嵌入方法是更适合扩展到大型数据集。
更为有趣的是,无论我们的方法和M-RNN在对整体对象检测胜过现有的模型。这和[6]矛盾的,其中经常性网络是表现最差的模型。通过描述和学习有意义的分布式的句子陈述,这凸显出了编码之间的依赖关系的LSTM细胞有效性。对象检测集成对我们的框架肯定会提高性能,以及允许解释检索,就如DeFrag。使用图像从所有指标有一个显著性能提升OxfordNet模型结果的特点,在这些评估任务上给出最先进的新号码。
3.2多模态语言规则
学习 skip-gram [37] 或神经语言模型[45]的字嵌入被证明[12]表现出语言的规律,允许使用这些模型进行类比推理。比如说,“男人”相对“女人”那“国王”是什么?可以通过寻找最接近的向量来回答“国王”-“男人”+“女人”。我们问的一个自然问题是多模态向量空间是否表现出
同样的现象。一辆蓝色汽车的图像-“蓝”+“红”是接近红色汽车的图像吗?
假设我们训练了一个嵌入模型与一个线性编码器,即 字向量和句向量(其中v和图像嵌入标准化为单位长度)。通过我们上面的例子,让分别表示为蓝色,红色和汽车的字嵌入。让表示蓝色和红色汽车的图像嵌入。线性编码器训练后,模型有了属性和。如下:
因此给定查询图像q,否定词和肯定词(所有单位规范),我们寻求一个这样的图像:
补充材料包含上述几种类型的规律和图像的定性证据。在我们的例子中,我们考虑的top-4最近的图像的检索。偶尔,我们观察到,一个不好的结果却有可能得到在top-4之间良好的效果。我们发现了一个简单的策略,删除这些情况下,首先检索的顶部附近的图像,然后根据N个图像的距离平均值对图像的进行重新排序。值得注意的是,这些类型的规律性的不能很好用LSTM编码器观察,因为句子不再只是词语的总和。该线性编码器是大致相当于在表1和2的DeViSE基准,执行显着检索比LSTM编码器要差。因此,虽然这些规律在学习的多模态向量空间是是有趣的,但在句子和图像排序方面不是很好。
3.3图像字幕生成
我们从SBU标题图片集中的大约800张图像生成了图像描述。这些都是采用目前最先进的组合为基础的方法,结果显示相同的图像,TreeTalk [27]。我们LSTM编码器和SC-NLM解码器进行训练,通过串联的Flickr30K 数据集和最近发布的微软COCO数据集[ 46],相结合给出我们100000多张图片和500000多个训练的描述。SBU数据集包含1百万图像每一个单一的描述,并使用[ 27 ]为训练他们的模型。同时SBU数据集较大,注释描述是嘈杂和更个性化的。
所产生的结果可以在http://www.cs.toronto.edu/~rk...找到。 对于每一个图像我们展示了原始的标题,最近邻句子来自训练集合,从我们的模型产生top-5,并从TeleTalk生成的最好的结果样品。最近的邻居的句子显示,我们的模型并不是简单地学会了去复制训练数据。我们所产生的描述可以说是迄今为止最好的。
4 讨论
当产生描述时,通常是一个小区域的情况下,在任何给定的时间是相关的。我们正在开发基于注意力模型,共同学习到部分标识图像对齐和使用这些比对来确定在何出席下,从而动态地修改矢量用于调理解码器。当产生描述时,通常是一个小区域的情况下,在任何给定的时间是相关的。我们正在开发基于注意力模型,共同学习对准图像的字幕部分,并使用这些对比来确定在哪关注下一个,从而动态地修改用于训练解码器向量。我们还计划尝试LSTM解码器以及深度和双向的LSTM编码器。
5补充材料:附加实验和细节
5.1多模态语言规律
图4:多模态向量空间算法。在线下载的查询图像和检索图像均来自SBU数据集。
图5:300维的PCA投影 文字和图像表示(a)汽车和颜色(b)的天气和温度。
图4说明了使用训练SBU数据集模型的样本结果。在线下载的查询图像和检索图像均来自SBU数据集图像用于训练。值得注意的是,所得到的图像高度依赖于所使用的图像的查询。例如,搜索‘晚上’检索到的是在夜间拍摄的任意图像。
另一方面,一个建筑的图像,主要是因为它的重点将返回夜间图像时,'白天'是减去和'夜'增加。类似的现象发生在猫,碗和箱子的例子。作为额外的可视化,在图5我们计算的主成分分析预测的汽车及其相应的颜色,以及图像和天气出现。这些结果为我们提供了强有力的证据,在多模态矢量空间与线性编码器训练的规律是明显的。当然,有意义的结果只可能当(a)该图像的内容被正确识别,(b)是相关于图像的减去字和(c)的图像是存在的,三者满足获得的相应的查询才是合理的。
5.2生成图像描述
在SC-NLM训练的句子都是来自Flickr30K和微软的COCO。给定一个图像,我们首先映射到多模态空间。从这个嵌入,我们定义了2套SC-NLM候选训练向量:
图像嵌入。嵌入图像本身。注意的SC-NLM不是训练图像而是在图像上进行训练因为嵌入空间是多模的。
前N个最近的单词和句子。首先计算图像嵌入后,我们得到使用余弦相似性的前N个最近邻的单词和训练句子。 这些检索被视为一个‘概念袋'为此我们计算一个嵌入向量作为每个概念的意义。我们所有的结果都使用N = 5。
沿着与候选训练向量,我们还计算由SC-NLM使用候选的POS序列。对此,我们从训练集的长度分别为4和12之间获得一套所有POS序列。字幕是由第一采样训练向量生成,接着抽样一个POS序列,然后从SC-NLM计算一个MAP估计。
我们产生一个大的候选者列表(在我们的结果中每个图像有1000个)和排名,这些候选者使用一个得分函数。 我们的评分函数包括2个功能函数:
翻译模型。使用LSTM的候选描述嵌入到多式联运空间。然后,我们计算一个转化得分作为图像嵌入和候选描述嵌入的余弦相似性。这个分数表示候选人的内容和图像是如何相关的。我们也不断增大,这个分数对经常出现在描述的非停用词的乘法惩罚。
语言模型。在大型语料库和logprobability的计算候选模式下我们训练一个Kneser-NEY Trigram模型。这一分数是表示一个英语句子的候选者是如何合理的。
文字标识(或字幕)的总成绩是翻译和语言模型的加权总和。由于定量评价所产生的描述的挑战,我们手工调整了权重的定性结果。所有的候选者描述是他们的成绩排名,并返回了前5个字幕。