基于CNN与Transformer混合结构的多语言图像标题生成研究

2022-07-23 06:30张大任艾山吾买尔刘婉月
关键词:解码器神经网络注意力

张大任,艾山·吾买尔,宜 年,刘婉月,韩 越

(1.新疆大学信息科学与工程学院,新疆 乌鲁木齐 830046;2.新疆大学新疆多语种信息技术实验室,新疆 乌鲁木齐 830046)

0 引言

自然语言处理和计算机视觉两个领域都是如今的研究热点,图像标题生成作为融合了自然语言处理和计算机视觉的交叉任务,同样是人工智能领域的一个热门方向.图像标题生成是指利用机器学习、深度学习等方法和技术,生成能够描述图像视觉内容的文本语言,其在图文转换、信息检索、智能人机交互等领域都能给人类生活带来许多方便,具有广泛的应用前景.

早期图像标题生成任务解决方案可以分为基于检索的方法[1]和基于模板的方法[2].这两种方法依赖于数据集大小,且需要事先定义完整的物体、属性与场景等概念,因此在生成标题的丰富性和流畅性上存在极大限制.近年来,人们把关注点放在基于深度神经网络的图像标题生成上,基于深度神经网络的方法生成的标题在语法正确性、语义准确性和泛化能力方面有很好的效果.其中最经典的为Google公司提出的Neural Image Caption Generator模型[3],受机器翻译领域编码器-解码器的框架[4]的启发,使用基于卷积神经网络(CNN)的GoogleNet替换机器翻译模型中用于提取语言特征的循环神经网络(RNN),使用该网络提取图像特征,再以循环神经网络作为解码器解码卷积神经网络提取出的图像特征.这种在机器翻译编码器-解码器框架下修正的模型对图像标题生成任务产生很大的影响,相关工作主要是在此基础上进行修改和改进.Aneja等[5]将卷积神经网络作为解码器并完成解码操作,使训练速度得到快速提高,同时对于卷积神经网络存在的时序限制问题予以合理规避.

基于传统CNN+RNN的编码器解码器的框架,Vinyals等[6]提出附加额外注意力机制的图像标题生成模型,将从编码器的卷积层取得的图像特征,对图像特征注意力进行加权,将加权后的特征向量发送至循环神经网络对其完成解码操作.Lu等[7]认为传统采用的空间注意力机制在提取图像中新特征时缺乏便捷性,于是提出“视觉哨兵”概念,将注意力的图像特征权重与“哨兵向量”权重分别控制,构成Adaptive Attention模型.Anderson等[8]在2018年提出了结合自下而上和自上而下的注意力机制,采用Faster RCNN[9]等目标检测模型,再利用传统的自上而下的注意力机制来动态关注不同的物体.与之类似的还有文献[10],通过在模型中添加目标检测模块,提高模型对图像突出对象的描述能力.You等[11]试图从图像中发现更多的语义信息,并将语义属性特征及视觉属性特征融合到字幕模型中以提高描述质量.Chen等[12]提出了抽象场景图(ASG)结构来表示用户意图,在细粒度的层次控制所生成的描述.Zhang等[13]通过与图像描述模型相关任务之间的联合训练,从其他任务获取知识,提高模型的准确性.

针对现有的图像标题生成存在模型的训练目标和评测标准无法匹配的问题,Rennie等[14]提出SCST框架,用强化学习方法对CIDEr[15]评价指标直接优化来训练整体模型,使训练阶段更加稳定.Chen等[16]提出了一个新的基于条件生成对抗网的图像字幕框架,作为传统的基于强化学习的编解码架构的扩展,显著提高了图像标题生成模型性能.

尽管图像标题生成已取得如此优异的成果,但不可避免地存在许多问题,一是目前模型还是使用LSTM作为解码器,而LSTM对较长序列不能很好地支持限制了模型性能;二是现有图像标题生成模型基本都是针对英语且只能生成一种语言的文本描述.针对上述问题,本文提出了基于CNN与Transformer混合结构的多语言图像标题生成模型.通过CNN对图像提取后,使用Transformer中自注意力机制强化长序列单词间的联系,并通过多语言联合训练增强图像标题生成质量,提高模型鲁棒性.实验表明,该模型比传统基于LSTM的图像标题生成模型质量更高,且可以同时生成多种语言的图像标题.

1 基础理论

1.1 编码器解码器框架

在计算机视觉领域,基于深度学习方法的模型通常使用卷积神经网络从图像中提取特征,并辅以其他模块来完成诸如分类和检测之类的任务.而自然语言处理领域是对文本词汇编码,依据不同任务使用不同解码器完成任务.与其他基于深度学习的研究工作一样,当前基于序列学习的图像标题生成模型也是端到端的训练,同样遵循了机器翻译任务中编码器解码器模型的基本框架,如图1所示.在机器翻译任务中,编码器解码器框架主要是为了解决不同语言的同一句子之间的长度不匹配的问题,该框架将待翻译语句转化为固定长度的中间向量,之后再借助循环神经网络作为解码器解码成为目标语言的表达形式.

图1 机器翻译中编码器解码器结构

以往有关机器翻译的工作的研究为图像标题生成任务提供了一些启发.在机器翻译任务中,输入和输出都是单词序列.而在图像标题生成模型中,从卷积特征到自然语言生成的步骤非常相似.研究人员试图对编解码器进行简单的更改,在图像标题生成任务中取得了良好的效果.具体而言,基于卷积神经网络在计算机视觉领域的成功经验,将VGGNet、GoogleNet、ResNet等网络结构用作编码器以提取图像的卷积特征.在解码阶段,由于生成的描述语句中的单词具有明显的上下文关系,因此使用基于循环神经网络的解码模块.

1.2 注意力机制

图2 注意力机制算法流程

注意力机制模型的算法流程如图2所示,其计算过程可以分成3个阶段,分别是相似度度量、权重值计算以及最后相对于基准向量的注意力向量计算.

在相似度度量阶段,假设解码器上一时刻的隐藏层输出St-1,通常是用一个Fatt函数将St-1与编码器各位置的图像特征vi做相似度计算,得到像素区域和语言之间的相似度eti,计算公式为

eti=Fatt(St-1,vi).

(1)

在完成第一阶段的相似性度量之后,需要对得到的相似性数值进行归一化处理,避免数值取值范围不同造成的不良影响.具体做法是把计算结果通过一个Softmax函数来转化为概率,得到权重α,计算公式为

(2)

对得到的权重和相对应的输入进行加权求和,即可得到最终的注意力向量Ct,并作为解码器当前的部分输入,从而生成Yt,计算公式为:

(3)

Yt=Decoder(Ct,St-1,Yt-1).

(4)

在RNN或者LSTM中,需要按照单词的连续序列进行计算,从而获得依赖信息,通过注意力机制,语言模型能够生成单词的不同时刻,找到需要关注的视觉区域,起到特征融合的作用.

机器翻译领域提出的Transformer模型,是为了解决LSTM不能并行计算和不能较好支持较长距离序列依赖的问题,使用注意力机制去捕获更深层的关联特征.Transformer由多个模块堆叠而成,其中每个模块中的多头注意力机制由多个自我注意力机制组成.Transformer对传统的自我注意力机制进行了改进,这里称为缩放点积注意力机制(scaled dot-product attention),缩放点积注意力机制是Transformer 的核心组件,由查询(Query)、键(Key)和值(Value)三部分组成.

缩放点积注意力机制的计算过程:使用所有键和查询进行点积计算并除以d,点积后的结果经过一个Softmax函数获得注意力机制在值上的权重.在计算注意力时,一般将键和值分别打包成矩阵K={k1,k2,…,kn}和矩阵V={v1,v2,…,vn}.加权在查询对应的矩阵Q={q1,q2,…,qn}上的注意力权重并行计算可以表示为

竹节蓼药材的HPLC指纹图谱建立及聚类分析…………………………………………………… 黎 理等(12):1640

(5)

Transformer中使用的不是单独的自我注意力机制,而是一种多头注意力机制,让模型处理来自不同表示子空间的各种信息.多头注意力机制包含n个平行的头(head),其中每个头都会经过一个独立的缩放点积注意力机制.经过多头注意力机制的加权特征MF可以表示为:

(6)

MultiHead(Q,K,V)=Concat(head1,…,headn)WO.

(7)

2 基于混合结构的多语言图像标题生成模型

2.1 CNN+Transformer混合结构

Transformer架构在大小和计算规模上都比传统的CNN更具效率和可扩展性.在计算机视觉领域中采用Transformer的相关工作中主要有两种模型架构:一种是纯Transformer结构;另一种是将CNN主干网与Transformer相结合的混合结构.本文采用的是基于CNN与Transformer的混合结构(见图3).

图3 CNN与Transformer混合模型

如图3所示,本文的模型共分为3个模块,分别是图像特征提取部模块、特征编码模块、语言模型解码模块.特征提取部分将输入图像通过卷积神经网络转换为特征图,添加位置编码后输入特征编码模块;特征编码模块将特征图进行转换,学习特征图像素之间的关系,传入语言解码模块;语言模型解码模块根据编码后的特征及传入的文本标题,生成预测标题句子,将生成标题与实际标题计算损失得到损失值,反向传播进行参数优化,最终生成符合人类语言习惯的图像标题句子.

2.2 多语言图像标题生成模型

在多语言图像标题生成方面,本文借鉴了多任务学习参数硬共享的模式,通过在不同任务中使用相同功能的网络参数,而同时保持不同任务中不同功能参数之间的差异性来设计模型.这种方式在一定程度上可以提升模型的性能,减轻过拟合.因为越多任务同时学习,模型就越能捕捉到多个任务中相同的特征表示,相当于多个任务的数据集同时训练相同的网络层从而提高模型的性能.

通过对不同语言的预处理,无须添加额外解码器,单编码器单解码器同样可以实现多语言图像标题生成,参考多语言机器翻译,在语言输入模型时提前在句子开头添加语言标签,通过这样的方式标明输入的句子属于哪种语言,之后混合多种语言统一训练,实现一个模型输出多个语言.

由于数据集中6种语言所属语系的差别,不同语言间联合训练可能会有不一样的效果,因此我们根据语言相似度及语系,划分出5种组合分别训练,由远至近分别为英语与汉语、英语与俄语、哈萨克语与维吾尔语、乌兹别克语与维吾尔语以及所有语言的混合训练.多语言图像描述对于文本预处理有更高的要求,由于语言之间的差别,训练不可避免会出现许多干扰,为在这种情况下减少干扰,挖掘语言信息,提升多语言模型生成效果,由于多语言语料库中的某些命名实体具有语音相似性,本文采取了将输入模型的语言拉丁化,把多语言数据集中的不同语言转换为普通拉丁文.

3 实验及结果

3.1 数据集

深度学习相关的图像标题生成方法的发展离不开包含成对图像标题的公开数据集.针对多语言数据集稀缺的情况,本文对图像标题生成领域的小型通用数据集Flickr8K[17]进行多语言标注,数据集规模如表1所示,为了把英语的数据集扩展为多语言的数据集,采用机器翻译的方法,其具有良好的扩展性,更容易扩大训练数据规模.机器翻译与人工校对相结合的方式作为构建数据集主要方法,尽可能获得高质量多语言图像标题生成数据集.

表1 数据集规模

本文对比谷歌翻译、百度翻译、有道翻译和民族翻译局等几个公开翻译网页接口,选择的构建方案是将原始英文数据通过谷歌翻译将其翻译为俄语、哈萨克语和乌兹别克语.将原始英语通过有道翻译将其翻译为中文.将校对后的中文通过民族翻译局将其翻译为维吾尔语.最终获得包含英语、汉语、俄语、哈萨克语、乌兹别克语和维吾尔语共6种语言的多语言Flickr8K图像标题生成数据集,将标题句子分词,去除标点符后,对句子长度进行统计,结果如图4所示,可以发现构建的多语言数据集句子长度分布较为相似,通过机器翻译与人工校对相结合构建的多语言Flickr8K图像标题生成数据集与原始分布相近且标注质量较好.

图4 6种语言句子长度统计

3.2 实验参数及评测标准

实验在Ubuntu18.04操作系统上进行,GPU为GeForce RTX 2080 Ti(11 GB),CPU为Intel(R) Core(TM) i5-9400F CPU @ 2.90 GHz处理器,内存32 GB.Pytorch版本1.4.0,Torchvision版本0.5.0,FairSeq版本0.9.0.使用预训练的resnet101作为特征提取器,解码器为完整的Transformer模型,Transformer层数为4,词向量维度为256,隐藏层维度为512,Batch Size为32,Dropout为0.5,激活函数为Swish,多头注意力头的个数为8,全连接隐藏层状态为4 096,优化器方法是Adam,Label smoothing=0.1,学习率衰减方法为noam,训练epoch为100.解码阶段采用Beam Search策略来进行预测,Beam Size大小为5.预处理时使用Uroman工具将所有语言进行拉丁转化.

评价模型表现的优劣会用不同的评价指标描述,并且不同的评价指标侧重不同的角度进行评估.本文实验使用的评测指标有BLEU[18](Bilingual Evaluation Understudy)、METEOR[19](Metric for Evaluation of Translation with Explicit Ordering)、ROUGE[20](Recall-Oriented Understudy for Gisting Evaluation)和CIDEr[15](Consensus-based Image Description Evaluation).

BLEU是一个基于N-gram共线统计的指标,用来衡量两个句子之间的相似性.根据两个句子的N-gram共线频率,可以计算出所生成的句子对于参考句的查准率.METEOR在计算两个句子的相似程度时,同时考虑同义词等相关信息,利用同义词库作为辅助信息,计算生成的描述句对于参考描述性句的准确性与召回率之间的调和平均.ROUGE类似于BLEU,本文采用了基于最大公共序列的ROUGE-L来计算召回率.CIDEr通过对每个n元组进行TF-IDF权值计算测量图像描述的一致性.这4个指标均是值越大,表明模型越好.其中BLEU-1、BLEU-2、BLEU-3、BLEU-4、METEOR、ROUGEL、CIDEr指标分数分别由B_1,B_2,B_3,B_4,M,R,C表示.

3.3 结果与分析

仅使用英文单语言训练,与主流的神经网络图像标题生成模型对比,同时对比不使用混合结构的Transformer图像标题生成模型,结果如表2所示.

表2 不同模型结构下实验结果

从表2可以看出,与基础的NIC模型相比,添加注意力后的图像标题生成模型提升效果显著,在各个指标上都有明显提升,改进的软注意力机制与自适应注意力机制有较为明显的差距.与传统的CNN+RNN图像标题生成模型不同,两种基于Transformer的图像标题生成模型之间差距极大.仅靠Transformer模型进行图像特征提取及图像标题生成,最终结果极差,几乎不能生成完整的句子;而CNN与Transformer的混合模型却比传统的图像标题生成模型有更好的评测分数,将BLEU-4值从18.3提升到23.6,相对于原始NIC模型提升幅度达到28.9%.这两组实验说明在数据规模较小的情况下,仅靠Transformer模型实现图像标题生成并不可行,而使用CNN进行特征提取,将原始LSTM替换为在自然语言处理领域效果更好的Transformer模型是提升小规模数据集效果的一种可行方法.

对于多语言联合训练,本文根据语系按相关性由远至近的原则,对6种语言分成5组分别进行实验,英语、汉语属于不同语系,英语、俄语属于同一语系不同语族,哈萨克语、维吾尔语属于统一语族不同语支,维吾尔语、乌兹别克语则语系语族语支都相同.将6种语言进行混合训练,所有实验结果如表3所示.

表3 不同语言混合训练结果

通过实验结果可以看出,多语言联合训练对大多数语言是有所提升的,乌兹别克语与维吾尔语联合训练在质量相对平均的情况下,两种相似语言的联合训练带来了明显的提升.英语和汉语联合训练也有较好的提升,这两种语言尽管形态差异大,但数据质量较高,因此联合训练会有较好结果.英语和俄语、高质量与质量一般形态相近的两种语言联合训练,效果反而有所下降.6种语言混合训练在英汉上会有进一步提升,俄语和哈萨克语与混合前相当,而乌兹别克语与维吾尔语尽管有所提升但还是不如仅使用两种语言联合训练.这些都说明在小规模数据上,数据集质量对模型的影响比语言学上的相关性要显著得多.尽管如此,在数据集质量相同的情况下,尽可能使用语种相近的语言进行多语言联合训练,是未来多语言图像标题生成的改进方向.为了直观地看出联合训练后模型的性能,给出一些模型生成的例子,生成的例子如图5所示.

图5 图像标题生成结果

实验表明,本文提出的基于CNN与Transformer混合结构的多语言图像标题生成模型比传统基于LSTM的图像标题生成模型质量更高,且可以同时生成多种语言的图像标题,显著提升了图像标题生成模型的应用范围.

4 结束语

本文首先介绍了现有图像标题生成任务的常见方法,分析存在的问题:一是目前模型还是使用LSTM作为解码器,而LSTM对较长序列不能很好地支持,限制了模型性能;二是现有图像标题生成模型基本都是针对英语且只能生成一种语言的文本描述.针对上述问题,本文拓展基于公开数据集的多语言图像标题生成数据集,提出了基于CNN与Transformer混合结构的多语言图像标题生成模型.实验表明,该模型比传统基于LSTM的图像标题生成模型质量更高,且可以同时生成多种语言的图像标题,显著提升了图像标题生成模型的应用范围.

虽然实验效果较好,但仍然存在不足之处.实验数据集规模相较于英文通用图像标题生成数据集还是较小.未来将在增加语料的同时可以引入强化学习方法,对最终结果进行进一步优化,得到更好的评测分数,而如何在图像标题生成数据量不足的情况下,通过各种方法提升生成标题的质量也是未来需要研究的问题.

猜你喜欢
解码器神经网络注意力
基于神经网络的船舶电力系统故障诊断方法
让注意力“飞”回来
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
基于Android环境下的数据包校验技术分析
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
浅谈SCOPUS解码器IRD—2600系列常用操作及故障处理
A Beautiful Way Of Looking At Things
做一个二进制解码器
因人而异调整播放设置