首页 / 基于双向双注意力机制图像描述方法

基于双向双注意力机制图像描述方法有效专利 发明

技术领域

[0001] 本发明涉及一种图像描述方法。

相关背景技术

[0002] 近些年,基于计算机视觉和自然语言处理的基础,在图像描述研究方面进行了大量研究。图像描述的过程是将图像输入到“编码-解码模型”中生成语言描述。编码将输入图像转化成一个固定长度向量的过程,解码将生成的向量转化成输出语言序列。在图像描述中常用的编码器模型是卷积神经网络(Convolutional Neural Network,简称CNN),解码器是各种变体循环神经网络(Recurrent Neural Network,简称RNN),如长短期记忆网络(Long Short-Term Memory Network,简称LSTM)。近几年,Kelvin Xu等人将注意力机制引入其中,在生成描述时关注图像的显著部分,从而提高描述的准确率;Justin Johnson等人提出了密集描述,对图片生成多句描述,句子之间并无联系;Jonathan Krause等人提出了段落描述,该任务对图片生成一段描述,这段描述在语义上是连通的。这些工作在生成当前描述时只考虑图像与上文信息,并没有考虑下文信息。在当前描述与前后信息相关性较高的情况时,模型只考虑图片与生成的上文信息将使描述的准确率降低。

具体实施方式

[0028] 循环神经网络RNN是一类用于处理序列数据的神经网络,主要处理和预测序列数据。图1展示了一个典型的循环神经网络。在每一时刻,输入xt和上一时刻隐层状态ht-1作为循环神经网络的输入,循环神经网络产生输出ot并更新ht传入下一时刻。由于循环神经网络中的变量与运算在不同的时刻是相同的,循环神经网络可以看作是同一神经网络被复制无限次数的结果。A代表隐层内部其他所有状态。
[0029] 循环神经网络只有一个“因果”结构,在当前时刻的状态只能从过去的状态和当前的输入获取信息。但是在许多应用任务中,输出量很有可能是依赖于整个序列的。为解决该问题,从而提出了双向循环神经网络(Bidirectional Recurrent Neural Network,简称Bi-RNN),Bi-RNN结合时间从序列起点开始移动的RNN和时间上从序列末尾开始移动的RNN。其网络结构如图2所示。
[0030] 循环神经网络模型只能应用于依照短期信息预测的任务。当任务更复杂时,例如,当前的预测信息与相关信息之间的文本间隔巨大时,图1中简单的循环神经网络就无法学习到如此远间隔的信息。
[0031] 长短期记忆网络LSTM可解决该问题。RNN只包含简单的tanh单元,而LSTM内部含有三种门,分别是输入门、遗忘门、输出门。LSTM依靠这些门结构让信息有选择性地影响循环神经网络的每个状态。LSTM内部结构如图2。σ是sigmod函数,可以将一个实数映射到(0,1)的区间。C是LSTM的记忆单元,是记忆内容更新单元。ct-1与ct是记忆单元具体的输入与输出。Softmax函数是归一化函数。
[0032] 本实施例采用Bi-RNN和LSTM相结合的双向长短期记忆网络,该网络既可以克服无法获取下文信息问题,又可以学习到间隔时间较长的信息。
[0033] 注意力机制
[0034] 在一般图像描述任务中,解码部分在不同的时刻对全部信息等同处理。但是对于人类视觉行为,关注的信息是有选择的,有注意焦点的。因此模型在生成单词时关注的信息也应是不一样的。注意力机制就是为了实现在生成一个词时去关注当前所应该关注的显著信息这一目的而设计的。通过对输入信息的各个局部赋予权重来实现注意力机制方法。注意力机制结构网络如图4所示。
[0035] 首先,空间注意力机制的上下文向量Ct,它的定义为:
[0036]
[0037] g是注意力机制函数。原始的图像特征V来自于卷积神经网络的卷积层,而不是最后的全连接层。通过压缩原始图像特征V的宽W和高H,得到V=[v1,v2,...vL]图像特征集合。其中L=W·H,vi∈RD。vi是D维度的空间图像特征,同时代表着图片中的某个区域。ht-1是在t-1时刻LSTM隐层状态。
[0038] 我们将图像特征和LSTM的隐层状态传入一个单层的神经网络层,之后再通过一个softmax函数去产生图片K个区域的注意力分布。
[0039]
[0040] αt=softmax(zt)  (3)
[0041] wv,wta和wh是一组需要学习的权重参数,α是图像特征的注意权重。基于注意力分布,图像显著信息为:
[0042]
[0043] 双向双注意力网络
[0044] 单注意力机制在LSTM上的实现是用过去的隐层信息ht-1去预测当前图像的显著信息Ct,如图5(a)所示。不同于当前语言描述与过去信息和未来信息相关性极大的特点,图像显著信息与当前隐层状态ht显著相关。于是,我们进一步提出双注意力机制。如图5(b)所示,我们将(a)中由ht-1和V得到的Ct对应作为双注意力机制中的Ct-1,为LSTM的输入,并且在框架中加入新的注意力机制。该机制的输入是当前隐层状态ht和图像特征V。
[0045] 双向双注意力网络图像描述模型如图6所示。图片经过卷积神经网络提取特征,将最后一层卷积层的图像特征V作为注意力机制的输入。在描述生成时,模型首先使用上一次的隐层状态ht-1,显著图像信息Cft-1以及本次的输入xt预测出当前的隐层状态ht,再将ht和V输入到注意力机制中得到当前显著信息Cft。后向循环神经网络过程相同。最后的预测则是同时考虑了前向隐层状态ht,显著信息Cft,后向隐层状态gt,显著信息Cbt一起进行预测。
[0046] 模型的评价标准为损失函数:
[0047]
[0048] 模型中前向训练过程公式如下:
[0049] it=σ(Wxixt+Whiht-1+CiCft-1+bi)
[0050]    (6)
[0051] ft=σ(Wxfxt+Whfht-1+CfCft-1+bf)  (7)
[0052] ot=σ(Wxoxt+Whoht-1+CoCft-1+bo)  (8)
[0053] ct=ftct-1+it tanh(Wcxt+hcht-1+CcCft-1+bc)  (9)
[0054] ht=ot tanh(ct)  (10)
[0055] 后向LSTM训练过程公式与前向公式(6)到(10)一致。结合前向后向的显著信息与隐层状态,预测概率公式为
[0056] pt+1=Softmax(Whht+Wggt+WfCft+WbCbt+b)  (11)
[0057] 其中,it,ft,ot,ct,ht,gt分别是LSTM中的输入门状态,遗忘门状态,输出门状态,记忆单元状态,前向隐层状态,后向隐层状态。pt+1详细展开是p(xt+1|V,x1,...,xt),指在图像信息与上文信息的条件下,当前输出xt+1的概率。因为当前时刻的输入xt是上一时刻的输出yt-1,p(xt+1|V,x1,...,xt)可表示为p(yt|V,y0,...,yt-1),简写为pt+1。
[0058] 值得注意的是,在训练阶段,xt是有监督地输入正确的描述词向量。测试阶段xt则是之前的状态产生的预测词向量。
[0059] 实验采用数据集MSCOCO数据集与Flickr30k数据集。MSCOCO数据集是图像描述中最大的数据集,拥有训练样本82,783张,验证样本40,504张和测试样本40,775张。每张图片拥有5个人的描述。在训练时,验证和测试图片都是5000张。Flickr30k数据集中含有31783张图像,模型在该数据集上测试泛化性。
[0060] 双向双注意力网络图像描述模型如图6所示。图片经过卷积神经网络提取特征,将最后一层卷积层的图像特征V作为注意力机制的输入。在描述生成时,模型首先使用上一次的隐层状态ht-1,显著图像信息Cft-1以及本次的输入xt预测出当前的隐层状态ht,再将ht和V输入到注意力机制中得到当前显著信息Cft。后向循环神经网络过程相同。最后的预测则是同时考虑了前向隐层状态ht,显著信息Cft,后向隐层状态gt,显著信息Cbt一起进行预测。
[0061] 实验结果如表1。表1是本实施例模型与其他模型评估分数对比表,使用的评估指标有双语评估替换分数(Bilingual Evaluation Understudy,简称BLEU),机器翻译评价方法(Machine Translation Evaluation System,简称METEOR)。
[0062] 表1本实施例模型与其他模型评估分数对比表
[0063]
[0064] 表1中,双向单注意力机制网络模型相对于只有注意力机制的Hard-Attention模型和只有双向长短期记忆网络的Deep-Bi-LSTM模型,准确率获得了提高。并且双向双注意力机制进一步提高了准确率,说明当前图像显著信息与当前隐层状态显著相关,由过去隐层状态筛选出的图像显著信息应该只作为长短期记忆网络的输入。模型在Flickr30k数据集上验证,表明模型具有较好的泛化性。
[0065] 本实施例首先在经典注意力机制基础上提出一种双注意力机制,将双注意力机制与双向长短期记忆网络相结合生成图像描述。实验结果表明双向双注意力网络模型准确率高于只含有注意力机制网络和双向长短期记忆网络,而且具有很好的泛化性。

当前第1页 第1页 第2页 第3页
相关技术
图像描述相关技术
描述方法相关技术
张丽红发明人的其他相关专利技术