基于优化注意力机制的图像字幕生成方法研究

2021-06-02 08:57周之平
关键词:解码器字幕向量

陈 彪, 周之平, 叶 琴

(南昌航空大学 信息工程学院,南昌 330063)

引言

图像字幕[1-4]生成任务是针对一幅给定的图像生成一段文本描述语句,它不仅能准确地表达图像中的物体及其相互关系,而且在语法和用词上尽可能接近人类标准。与视觉问答(Visual Question Answering,VQA)[5-8]类似,图像字幕生成任务也属于多模态学习任务,它涉及到计算机视觉和自然语言处理两个研究领域。注意力机制在处理图像特征信息时可以强调或选择处理重要信息,并且抑制一些无关信息,这对优化图像特征信息有显著效果,所以注意力机制被广泛应用于图像字幕生成任务中。本文在多头注意力机制上引入注意力优化模块来产生准确度更高的描述语句,并在MS COCO[9]数据集上对算法性能进行验证和比较。

1 相关工作

目前图像字幕生成任务主要是基于神经网络模型来实现的,该任务通常使用卷积神经网络(Convolutional Neural Network,CNN)作为图像编码器,将提取的图像特征输送到作为解码器的递归神经网络(Recurrent Neural Network,RNN)中去预测句子。这种方法抽象度高,泛化能力强,同时生成的语句灵活度高,不受固定句式影响,更接近人类的表达。随着人工智能的发展,图像字幕生成在图像特征提取(编码器)和词汇预测(解码器)方面都有了提高。目前的解码器大多都是以循环神经网络(Recurrent Neural Network,RNN)为基础构造的,如LSTM(Long-short Term Memory,长短期记忆)网络或者GRU(Gate Recurrent Unit,门控循环单元)网络,这两种网络都是为了解决长期记忆和梯度消失、爆炸等问题而提出的。图像字幕生成任务为了提升生成语句的准确度,通常在编码器或者解码器模型中加入注意力机制和其他网络结构。

1.1 LSTM网络

自Hochreiter等[10]提出LSTM网络以来,LSTM在处理序列到序列的任务,尤其是在处理文本信息和自然语言任务有着突出的贡献。目前在图像字幕生成任务中,LSTM网络常用于解码图像特征信息。Oriol Vinyals等[11]提出了一种基于神经网络的图像字幕生成的方法,在LSTM网络中增加细胞门、输入门、输出门、忘记门;通过细胞状态记忆信息,减少梯度消失和梯度爆炸的可能性,避免信息的丢失,从而能多利用图像特征信息生成准确度高的语句。Mahmoud等[12]提出双向网格LSTM网络,将网格LSTM的空间特征和本地区域文本集成到一起,第一层对全局场景(例如对象存在)进行建模,第二层利用基于另一个网格LSTM的新颖动态空间关注机制来逐字生成全局字幕。

1.2 注意力机制

由于注意力机制在处理图像特征领域获得的突破性进展,在随后的研究过程中,研究人员开始尝试将注意力机制引入到图像字幕生成中。Xu等[13]提出的基于注意力的模型,自动学习描述图像内容,使用标准反向传播技术以确定性方式训练模型,并通过最大化变分下界随机训练模型和利用可视化展示模型在生成序列中相应单词的同时,自动学习将注意力集中在图像中的突出目标上。You等[14]提出的语义注意,有选择地学习关注语义概念的建议并将其融入到隐藏层中和递归神经网络的 输出中,选择和融合形成一个反馈连接,自上而下和自下而上的计算。Lu等[15]提出了一种新的基于视觉哨兵(visual sentinel)的自适应注意模型,在每个时间步骤中,该模型决定是否关注图像(如果是,则是哪些区域)或是视觉哨兵;模型决定是否关注图像以及关注哪里,以便提取有意义的信息进行连续的单词生成。

注意力机制在当前的图像描述编码器-解码器框架中得到广泛使用,但传统的注意力机制在处理图像特征时,关注于图像中目标之间的联系,而非目标之间的联系程度,这将使得生成过多的无关信息向量,从而影响生成语句的准确度。由于在处理图像特征时,多头注意力(Mutil-head Attention)机制[16]能对输入的图像特征信息进行多次计算,优化图像特征信息,并且能提高模型的学习性能。因此本文针对多头注意力模型,对其注意力模块进行优化,以拓展常规的注意力机制,以此提升所生成的描述语句的准确度。

2 本文方法

图1 具有Refining模块的编/解码器框架

本文提出的图像字幕生成网络模型如图1所示。在编码器中首先经过Faster R-CNN[17]提取输入图像的特征信息;然后将特征信息馈送给Refining(优化)模块产生关注信息,最后利用解码器(Decoder)对关注信息进行解码生成一条描述语句。

2.1 编码器

图1中Refining模块为引入优化注意力模块(Optimize Attention,OA)的多头注意力模型。下面将对OA模块和Refining模快进行详细阐述。

1)OA(Optimize Attention)模块;

注意力模型从宏观上可以理解为一个查询(query)到一系列键值对 < key,value > 的映射。传统的注意力模块输出每个查询的加权平均值,即使在没有相关向量的情况下,注意力模块仍然会产生加权平均向量,它们可能是不相关的,甚至是误导信息。无关的信息会忽视图像中目标之间的关联程度,影响对图像内容的正确描述。Huang等[18]提出通过“信息向量”和“注意门”进行逐元素相乘生成关注信息来关注图像中目标之间的联系,但该方法生成的关注信息会过多的关注图像中的目标而忽略图像中的背景信息,造成信息的丢失和降低信息的利用率,最后影响生成语句的准确率。本文提出的优化注意力模块在其基础之上进行改进,使其不仅能够更多的关注图像中目标之间的的联系和测量图像中目标之间的关联程度,还能增强对图像中的背景信息的关注度和提高信息利用率来更好的描述图像内容。

在Huang[18]的基础上,通过将生成的关注信息再与“信息向量”进行逐元素相乘来提高图像对背景信息的关注度,如图2所示,OA模块如图中虚线框所示。

图2 优化的多头注意力模型

在图2中,Q、K和V是提取的图像特征向量A的三个单独的线性投影,在多头注意力中经过独立计算生成各自的注意结果,然后将注意结果进行拼接结合得到关注结果。OA模块用来测量关注结果和查询之间的相关性,关注结果再加上当前的上下文(即查询)通过Concat(结合)生成关注向量,为降低计算复杂度,关注向量通过线性变换降维,然后生成一个“信息向量”I和一个“注意门”G,再使用逐元素乘法将“注意门”应用于“信息向量”来产生关注信息I∗,最后将关注信息I∗与“信息向量”I逐元素相乘生成一个新的关注信息。其中“注意门”G作 为门控来控制“信息向量”I中的信息输出,对I中有用信息向量进行加权关注。“信息向量”I与关注信息I∗进行点乘目的在于增强关注信息I∗对图像背景信息的关注,提高信息的利用率。具体计算公式如下:

2)Refining模块。

对于一幅输入图像,首先使用基于Faster-RCNN的网络提取一组图像特征向量A={a1,a2,…,ak},其中ai的维度为D,k表示A中的向量数(k=100)。与文献[13]不同的是,本文将提取的图像特征向量经过Refining模块优化后作为解码器的输入,而不是将提取的特征向量直接输送给解码器,具体如图3所示,Refining模块如图虚线框所示。

图3 Refining模块

编码器中的OA模块,称为OAD。由上可知,经由多头注意力产生的关注结果通过OA块优化后生成关注信息I¯;将图像特征A和OAD模块产生的关注信息I¯相加然后经过Layer Normalization(LN,层归一化)[19]生成特征向量A∗,其中LN的作用为降低模型计算时间,提高模型的训练速度和精度,公式如下:

2.2 解码器

Xu等[13]提出的解码器网络结构在解码图像特征信息并引导其生成字幕时,网络结构中的注意力机制指导模型集中关注信息中重要的子区域,忽略对字幕生成无关的信息,从而提高生成字幕质量。因此本文采用该网络结构对提取的图像特征信息进行解码并生成描述语句。公式如下:

式中,it,ft,ct,ot和ht分别是输入门,忘记门,细胞状态,输出门和LSTM中的隐藏层信息。fatt是模型中的注意力机制,ht−1是上一时刻隐藏层的信息,A∗是从编码器输出的图像特征向量,zt是上下文向量。本文用I表示图像,C表示描述该图像N个词汇(y1,y2,…yN)的集合,采用的损失函数如下所示:

式中p(yt+1|yt)=softmax(Wht)和ht=LSTM(Eyt,ht−1,zt),W是线性矩阵,E是嵌入式矩阵,yt是生成的单词向量。首先每个t时刻的隐藏层信息,都由t-1时刻的隐藏层信息,t时刻的上下文向量和单词向量经过LSTM单元输出,其中t=-1时刻的隐藏层信息为图像特征向量A∗。然后生成的t时刻隐藏层信息经过softmax函数输出预测单词的概率。

3 实验

3.1 数据集

本文在流行的MS COCO数据集上对提出的方法进行了实验,MS COCO数据集包含123 287张图片,平均每个图像都带有5个标题,训练集包括82 783张图片和验证集包括40 504张图片。MS COCO包含9957个词汇,所描述的是综合性图片主题。本文中使用训练集进行模型的训练,在测试阶段,基于Karpathy和Li[20]提出的测试方法,使用整个验证集来衡量模型性能和测试,并且将在训练集中出现至少5次的单词纳入单词表。

3.2 评价指标

为了能够更加准确地评价生成结果,选用BLEU-1、BLEU-2、BLEU-3、BLEU-4、METEOR等5种评价指标,同时通过与不同方法对比,更加直观地体现出本文提出方法在生成结果上的提高。

3.3 实验细节

经过多次实验确定最终的模型参数,输入图像特征的原始维度为2048,通过线性映射之后D=1024,这同样也是LSTM在解码器中隐藏层的维数。对于训练过程,在损失函数下训练Refining模块30周期,最小批处理为256个,使用Adam[21]优化方法优化模型,并且η=0.002,β=(0.9,0.997)。

3.4 实验结果分析

由于Layer Normalization(LN,层归一化)能提高模型的训练速度和精度,使得模型更加稳健,在模型中加入LN,并且验证其对字幕生成的影响。在不同情况和BLEU-1、METEOR两个评价指标下进行对比,得分越高说明模型效果更好,具体如表1所示。通过表1可以看出OA与LN的结合生成字幕的效果最好,并且有LN比没有LN的模型效果都提高了(虽然提高的不多)。由此可以看出,通过在模型中加入LN增强模型的稳定性可以提升字幕生成的准确度。

表1 不同情况下LN在MSCOCO数据集上的效果对比

本文提出的具有OA模块的Refining 模型和没有OA模块的Refining 模型与其他3种提出的对比方法作了比较,如表2所示。从表中可以看出,具有OA模块的Refining 模型分别在评价指标BLEU-1、BLEU-3、BLEU-4、METEOR上取得了最优值。与没有OA模块的Refining 模型对比提升效果也较为明显,这正说明了OA模块在Refining模型中的重要性和对生成高质量字幕的有效性。

表2 不同方法在MSCOCO数据集上的效果对比

表3所示为模型生成的字幕,从表3中前三张图片及其生成字幕可以看出,当图片中的目标较少、目标较大或能准确识别目标时,网络可以准确的的描述出图片中的内容。后3张图片可以看出当图中目标较多、目标较小或者不能准确识别目标时,就较难描述出目标之间的关系,从而导致所生成的字幕对于描述图片中的内容效果不佳。对于这些出现的问题也是今后图像字幕生成所要研究的方向。

表3 模型生成字幕与真实字幕的对比

4 结论

1)优化注意力机制(OA)模块能关注和测量图像中目标之间的联系,以及提高对图像背景信息的关注和信息的利用率,从而更全面的描述图像内容。

2)实验结果表明,本文提出的OA模块能有效提升生成字幕地准确性,模型在MS COCO数据集上训练和验证,并在BLEU-1和METEOR评价指标分别达到了75.2%和27.5%的结果。

猜你喜欢
解码器字幕向量
向量的分解
聚焦“向量与三角”创新题
基于Android环境下的数据包校验技术分析
电视剧字幕也应精益求精
浅谈SCOPUS解码器IRD—2600系列常用操作及故障处理
快速搜寻和下载电影字幕文件
自己动手 调整错乱的影视字幕
简单快捷提取视频文件中的字幕
做一个二进制解码器
向量垂直在解析几何中的应用