陶云松,张丽红
(山西大学 物理电子工程学院,山西 太原 030006)
近些年,基于计算机视觉和自然语言处理的基础,在图像描述研究方面进行了大量研究.图像描述的过程是将图像输入到“编码-解码模型”中生成语言描述.编码将输入图像转化成一个固定长度向量的过程,解码将生成的向量转化成输出语言序列.在图像描述中常用的编码器模型是卷积神经网络(Convolutional Neural Network,简称CNN),解码器是各种变体循环神经网络(Recurrent Neural Network,简称RNN),如长短期记忆网络(Long Short-Term Memory Network,简称LSTM)[1].近几年,Kelvin Xu等人将注意力机制引入其中,在生成描述时关注图像的显著部分,从而提高描述的准确率[2];Justin Johnson等人提出了密集描述,对图片生成多句描述,句子之间并无联系[3];Jonathan Krause等人提出了段落描述,该任务对图片生成一段描述,这段描述在语义上是连通的[4].这些工作在生成当前描述时只考虑图像与上文信息,并没有考虑下文信息.在当前描述与前后信息相关性较高的情况下,模型只考虑图片与生成的上文信息,将使描述的准确率降低.为解决此问题,本文提出一种新的结构——双注意力机制模型,将其与双向长短时记忆网络(Bidirectional Long Short-Term Memory Network,简称Bi-LSTM)结合构成双向双注意力网络,并将其应用于图像描述模型中.
循环神经网络RNN是一类用于处理序列数据的神经网络,主要处理和预测序列数据.图1 展示了一个典型的循环神经网络.
图1 循环神经网络展开图Fig.1 Expansion diagram of recurrent neural network
在每一时刻,输入xt和上一时刻隐层状态ht-1作为循环神经网络的输入,循环神经网络产生输出ot并更新ht传入下一时刻.由于循环神经网络中的变量与运算在不同的时刻是相同的,循环神经网络可以看作是同一神经网络被复制无限次数的结果.A代表隐层内部其他所有状态.
循环神经网络只有一个“因果”结构,在当前时刻的状态只能从过去的状态和当前的输入获取信息.但是在许多应用任务中,输出量很有可能是依赖于整个序列的.为解决该问题,提出了双向循环神经网络(Bidirectional Recurrent Neural Network,简称Bi-RNN),Bi-RNN结合时间从序列起点开始移动的RNN和时间上从序列末尾开始移动的RNN[5].其网络结构如图2 所示.
图2 双向循环神经网络Fig.2 Bidirectional recurrent neural network
循环神经网络模型只能应用于依照短期信息预测的任务.当任务更复杂时,例如,当前的预测信息与相关信息之间的文本间隔巨大时,图1 中简单的循环神经网络就无法学习到如此远间隔的信息.
长短期记忆网络LSTM可解决该问题.RNN只包含简单的tanh单元,而LSTM内部含有3种门,分别是输入门、遗忘门、输出门.LSTM依靠这些门结构让信息有选择性地影响循环神经网络的每个状态.LSTM内部结构如图3 所示.
图3 长短时记忆网络内部结构Fig.3 Internal structure of long short-term memory network
本文采用Bi-RNN和LSTM相结合的双向长短期记忆网络,该网络既可以克服无法获取下文信息问题,又可以学习到间隔时间较长的信息.
在一般图像描述任务中,解码部分在不同的时刻对全部信息等同处理.但是对于人类视觉行为,关注的信息是有选择的,有注意焦点的.因此模型在生成单词时关注的信息也应是不一样的.注意力机制就是为了实现在生成一个词时去关注当前所应该关注的显著信息这一目的而设计的.通过对输入信息的各个局部赋予权重来实现注意力机制方法.注意力机制结构网络如图4 所示.
图4 注意力机制内部结构Fig.4 Internal structure of attentional mechanism
首先,空间注意力机制的上下文向量Ct的定义为
(1)
式中:g是注意力机制函数.原始的图像特征V来自于卷积神经网络的卷积层[6],而不是最后的全连接层.通过压缩原始图像特征V的宽W和高H,得到V=[v1,v2,…,vL]图像特征集合[2].其中,L=W·H.vi∈RD.vi是D维度的空间图像特征,同时代表着图片中的某个区域.ht-1是在t-1 时刻LSTM隐层状态.
我们将图像特征和LSTM的隐层状态传入一个单层的神经网络层,之后再通过一个softmax函数去产生图片K个区域的注意力分布.
(2)
αt=softmax(zt),
(3)
式中:wv,wta和wn是一组需要学习的权重参数;α是图像特征的注意权重.基于注意力分布,图像显著信息为
(4)
提出的双向单注意网络结构如图5 所示.前向长短期记忆网络中,注意力机制得到上一次LSTM的隐层状态h和图片特征V,输出图像的显著信息Cf.同样在后向网络中,隐层状态g和图片特征V一起预测得到显著信息Cb.每一次描述生成时,显著图像信息Cf和Cb都分别作为前向和后向长短期记忆网络的输入.双向LSTM整合前向和后向的隐层状态h与g,获取最终结果.
图5 双向单注意网络模型结构Fig.5 Bidirectional single attention network model structure
该模型采用端到端的训练方式,即在整个学习流程中并不进行人为的子问题划分,而是完全交给深度学习模型直接学习从原始输入到期望输出的映射.
单注意力机制在LSTM上的实现是用过去的隐层信息ht-1去预测当前图像的显著信息Ct,如图6(a)所示.不同于当前语言描述与过去信息和未来信息相关性极大的特点,图像显著信息与当前隐层状态显著相关.于是,我们进一步提出双注意力机制,如图6(b)所示.将图6(a)中由ht-1和V得到的Ct对应作为双注意力机制中的Ct-1,为LSTM 的输入,并且在框架中加入新的注意力机制.该机制的输入是当前隐层状态ht和图像特征V.
图6 单注意力机制与双注意力机制Fig.6 Single attentional mechanism and double attentional mechanism
将双注意机制替换图5中单注意机制得到双向双注意网络.双向双注意力网络图像描述模型如图7 所示.图片经过卷积神经网络提取特征,将最后一层卷积层的图像特征作为注意力机制的输入.在描述生成时,模型首先使用上一次的隐层状态,显著图像信息以及本次的输入预测出当前的隐层状态,再将和输入到注意力机制中得到当前显著信息.后向循环神经网络过程相同.最后的预测则是同时考虑了前向隐层状态,显著信息,后向隐层状态,显著信息一起进行预测.
图7 含有双向双注意力网络的图像描述模型结构Fig.7 Image description model structure with bidirectional and dual attention networks
模型的评价标准为损失函数
(5)
模型中前向训练过程公式为
it=σ(Wxixt+Whiht-1+CiCft-1+bi),
(6)
ft=σ(Wxfxt+Whfht-1+CfCft-1+bf),
(7)
ot=σ(Wxoxt+Whoht-1+CoCft-1+bo),
(8)
ct=ftct-1+ittanh(Wcxt+hcht-1+CcCft-1+bc),
(9)
ht=ottanh(ct).
(10)
后向LSTM训练过程公式与前向公式式(6)~式(10)一致.结合前向后向的显著信息与隐层状态,预测概率公式为
pt+1=Softmax(Whht+Wggt+WfCft+
WbCbt+b),
(11)
式中: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.
值得注意的是,在训练阶段,xt是有监督地输入正确的描述词向量.测试阶段xt则是之前的状态产生的预测词向量.
实验采用MSCOCO数据集与Flickr30k数据集.MSCOCO数据集是图像描述中最大的数据集,拥有训练样本82 783张、验证样本40 504张、测试样本40 775张.每张图片拥有5个人的描述.在训练时,验证和测试图片都是5 000张.Flickr30k数据集中含有31 783张图像,模型在该数据集上测试泛化性,实验结果如表1 和图8 所示.表1 是本文模型与其他模型评估分数对比表,使用的评估指标有双语评估替换分数(Bilingual Evaluation Understudy,简称BLEU)[7]和机器翻译评价方法(Machine Translation Evaluation System,简称METEOR)[8].图8(a)是Hard-Attention模型生成的描述,图8(b)是本文双向双注意力机制模型对图片生成的描述.
表1 本文模型与其他模型评估分数对比表Tab.1 Comparison table of evaluation scores between this model and other models
图8 图像描述比较Fig.8 Image description diagram
表1 中,双向单注意力机制网络模型相对于只有注意力机制的Hard-Attention模型和只有双向长短期记忆网络的Deep-Bi-LSTM模型,准确率获得了提高.并且双向双注意力机制进一步提高了准确率,说明当前图像显著信息与当前隐层状态显著相关,由过去隐层状态筛选出的图像显著信息应该只作为长短期记忆网络的输入.模型在Flickr30k数据集上验证,表明模型具有较好的泛化性.
由图8所示,图8(b)中双向双注意力网络模型生成的图像描述比图8(a)中Hard-Attention模型的图像描述体现了更多的细节,并且描述更加准确.
本文首先在经典注意力机制基础上提出一种单注意力机制网络,将单注意力机制与双向长短期记忆网络相结合生成图像描述,再进一步将单注意力机制改进成双向注意力机制进行图像描述.实验结果表明双向单注意力网络模型准确率高于只含有注意力机制网络和双向长短期记忆网络,改进的双注意力机制进一步提高了模型的准确率,而且具有很好的泛化性.