杨 有,陈立志,方小龙,潘龙越
(1.重庆国家应用数学中心,重庆 401331;2.重庆师范大学 计算机与信息科学学院,重庆 401331)
图像描述生成是一个融合了计算机视觉和自然语言处理的跨模态任务,它是图像处理的高级层次。从传统基于检索、模板的方法到后来基于编码器-解码器的深度学习方法[1-2],图像描述生成任务从只能生成单一形式的语句发展到现在可以生成精度更高、描述更加准确的语句。在常规的编解码框架中,使用卷积神经网络(Convolutional Neural Network,CNN)[3]作为编码器将图像编码为相应特征,使用长短期记忆(Long Short-Term Memory,LSTM)网络作为解码器将图像特征解码为对应描述句子。2017 年,Vaswani 等[4]提出了一种完全依赖于注意力机制的Transformer 结构,可以对图像特征进行关系建模,解决了循环神经网络(Recurrent Neural Network,RNN)存在的时间依赖问题。随后,基于Transformer 结构的各种变体[5-6]在图像描述模型中应运而生。2018 年,Anderson 等[7]首次采 用Faster R-CNN(Faster Region-based CNN)[8]作为编码器,提取图像的显著区域特征并应用在图像描述生成模型中,一经问世便取得了极其优秀的表现。2019 年,Herdade 等[9]在Transformer 结构之上,通过几何注意合并对象事物之间的空间关系信息,证明了模型空间意识的重要性。以上的图像描述生成模型虽然能产生描述图像语义内容的句子,但无法确切描述图像事物的因果关系,存在潜在的视觉注意不合理问题。2020 年,Wang 等[10]提出了一种新的无监督特征表示学习方法,设计了基于视觉常识区域的卷积神经网络(Visual Commonsense Region-based CNN,VC R-CNN),该网络通过因果关系训练得到视觉常识特征,可以捕捉图像中上下文之间的潜在关系,在图像描述生成模型上取得了很好的表现。
现有的图像描述生成模型在使用多个特征进行融合处理时,会出现特征信息利用不充分且融合方式单一的问题,存在一定的局限性。文献[10]中从图像中提取视觉常识特征,但只是单一拼接到显著区域特征上训练,并未充分利用视觉常识性信息。文献[11]中使用了VGG(Visual Geometry Group)19 和ResNet(Residual Network)作为特征提取网络,整体融合方式也只是单一拼接,没有重点融合其中的关键信息,导致生成语句存在重要内容缺失。
本文提出了基于Transformer 结构的图像描述生成模型,引入了一种全新的自适应常识门(Adaptive Commonsense Gate,ACG)机制。为了提高对图像深层关系的感知和表征性,提取视觉常识特征分层输入到Transformer 编码器中,使模型更好地从特征信息中感知图像的因果关系。为了增强常识信息在Transformer 结构上的利用效果并提高网络收敛速度,本文改进了两种特征之间单一拼接的方式,在每一分层上设计了自适应常识门(ACG)。这样不仅可以降低模型收敛速度,而且能够充分融合视觉常识信息和图像编码信息,生成更加符合语境的描述语句。
为了更好地实现并行处理,提高图像描述的准确度,模型使用了目前流行的完全基于注意力机制的Transformer 结构,并在此基础上重新设计了网络。模型整体网络结构如图1 所示。模型大体分为3 个部分:特征提取网络、融合ACG的编码器和解码器。其中I表示图像,编码端由多个自注意力(Self Attention,SA)块和ACG 堆叠组成:自注意力块负责对图像特征进行聚合操作,以此得到更高层次的图像特征;ACG 负责融合视觉常识特征和图像编码特征,自适应地决定两者特征之间的权重。解码端由多个掩码自注意力块和交叉注意力(Cross Attention,CA)块组成,负责对编码图像进行解码操作,通过迭代解码预测图像标题。
图1 模型整体结构Fig.1 Overall structure of model
通过目标检测任务中的Faster R-CNN 提取图像的显著区域特征以及VC R-CNN 提取图像的视觉常识特征。Faster R-CNN 将区域建议网络(Region Proposal Network,RPN)引入深度神经网络中,将最终层提取的图像特征组合为显著区域特征V={v1,v2,…,vN}。VC R-CNN 作为一种改进的视觉区域编码器,使用因果关系干预该区域的上下文对象,可以学习感知构建知识,整体结构如图2 所示。
图2 VC R-CNN结构Fig.2 Structure of VC R-CNN
VC R-CNN 通过干扰因子字典(Confounder Dictionary,CD)存储常识,它的实现与Faster R-CNN 相比,去除了RPN,不再训练网络建议边界框,而是直接将训练集中真实词的边界框坐标输入到其中,直接提取区域特征。在训练完成后的特征提取阶段,只要给定图片和边界框坐标,便可以获得对应的视觉常识特征C={c1,c2,…,cN}。文献[11]中将视觉常识特征拼接到先前的显著区域特征上作为新的融合特征用于模型输入,如式(1)所示:
其中:vi∈Rd,ci∈Rd,vci∈R2d,[·,·]表示拼接操作;vci表示第i个显著区域特征和第i个视觉常识特征拼接。
设计自适应常识门(ACG)的动机来源于文献[12]中的门控机制,在许多计算机视觉任务中得到了广泛的应用。采用门控机制的目的是建立信道特征依赖关系,可以更加有效地指导多通道信息之间的交互。ACG 将后续层和自注意力块相结合,以此在编码器中以同质方式对图像模态间和模态内的常识性关系进行建模。如图3 所示,Vacg由显著区域特征V和视觉常识特征C组合而成,其中:加法门类似残差连接,可以保留重要的视觉常识信息,建立特征之间的依赖关系;乘法门擅长处理梯度爆炸和消失问题,使编码信息能够长时间深层不受阻碍地传播。ACG 的融合过程可由式(2)~(5)表示:
图3 ACG机制Fig.3 ACG mechanism
其中:Wv、Wc、Wf是需要被学习的权重;bv、bc、bf为偏置项;gv为显著区域特征的线性表示;gc为视觉常识特征的线性表示;fvc向量表示对gv和gc线性表示施加影响,在一定程度上能够防止常识信息的叠加和信息冗余;“⊙”是点乘操作。
在Transformer 编码器中利用自注意力块进行模态内和跨模态交互,其中:利用了多头注意力可以允许模型在不同的表示子空间里学习到相关的信息;同时与仅利用一层的多模态交互的注意力模块相比,使用多个自注意力块串联可获得不同层次的特征,提高多模态交互的能力。该过程可由式(6)~(8)表示:
其中:Q、K、V是3 个独立线性映射;fmh-att是由n=8 个fdot-att函数组成的多头注意力函数。对于每对(Qi,Ki,Vi),模型都能将输入映射到不同的子空间,通过多个自注意力块串联可以增加不同子空间的组合,进一步增强模型的视觉表达能力。
在编码器中将多个自注意力块和ACG 堆叠串联,可以更好地融合不同层次的视觉常识特征。获取到ACG 的输出特征后,下一步传入到自注意力块中,使用自注意力操作来获得Vacg的置换不变编码。在这种情况下,查询、键和值是通过线性投影输入特征获得的,该操作如式(9)所示:
为了防止模型出现梯度消失问题,采用残差和归一化的方式,特征Vacg经过一个自注意力块后的输出记为,如式(10)所示:
其中:LayerNorm为归一化层;S(·)函数执行操作如式(6)~(8)。模型借鉴了残差连接的思想,将处理后的特征与输入特征相加,最后使用LayerNorm 对特征进行归一化。整个编码模块采用了与Transformer 编码器[9]中不同的结构,丢弃了前馈层,丢弃前馈层不会改变编码器的性能,但会简化操作。
Transformer 解码器由掩码自注意力(SA)块和交叉注意力块组成,如图4 所示。掩码自注意力块的输入是一个标签信息,可以嵌入到特征矩阵Y={y1,y2,…,yn},,n为输入标题长度。掩码自注意力块作为解码器的第一个子层,表示对标题词的自我注意,如(11)所示:
图4 Transformer注意力块Fig.4 Attention blocks of Transformer
其中:FFN(·)表示位置前馈网络。线性词嵌入层以F为输入,将其转换为dv维空间,其中dv为词汇量;然后对每个单词执行Softmax 函数,预测字典中单词的概率。解码器包含N层,因此解码器重复相同的过程N次。
本文使用MSCOCO 2014 数据集[13]来验证模型性能。MSCOCO 数据集是当前图像描述任务的最大离线数据集,包括82 783 幅训练图像、40 504 幅验证图像和40 775 幅测试图像,每个图像标有5 个标题。离线“Karpathy”数据分割[14]用于离线性能比较,这种分割在图像描述工作中得到了广泛的应用,使用113 287 幅带有5 个标题的图像进行训练,并用5 000 幅图像用于验证,5 000 幅图像用于测试。
实验环境在Windows 操作系统下进行,基于PyTorch1.9.0 深度学习框架,该框架支持GPU 运算;用于测试的环境为Python 3.7;用于训练和测试的硬件配置为:Intel i7-9700 CPU 3.00 GHz 处理器,NVIDIA GeForce GTX 2080显卡。
为了对所提模型进行定量的性能评价,实验采用了标准的客观量化评分方法,其中包括BLEU(BiLingual Evaluation Understudy)、ROUGE_L(Longest common subsequence based Recall-Oriented Understudy for Gisting Evaluation)、METEOR(Metric for Evaluation of Translation with Explicit ORdering)、CIDEr(Consensus-based Image Description Evaluation)[15]以 及SPICE(Semantic Propositional Image Caption Evaluation)[16]等评价指标。其中BLEU 是式(15)所示的基于n-grams 精确度的加权集合平均:
N取1、2、3、4,又可以分为BLEU-1、BLEU-2、BLEU-3、BLEU-4 这4 个指标。在图像描述生成中常采用BLEU-1、BLEU-4 对模型进行分数评估。
参数设置方面,本文在编码器和解码器中使用N=3 个相同的层,单词嵌入层的输出维数为512,输入的视觉特征也通过线性投影映射到512,前馈网络的内层维数为2 048。多头注意采用h=8 个平行注意层。本文使用自适应矩估计(ADAptive Moment estimation,ADAM)[17]优化器训练,将beta1 和beta2 分别设置为0.9 和0.999,epsilon 设置为1×10-6。在语言文本生成模型中设定单词时间步为20。为了生成更加合理的图像文字描述,本文采用集束搜索Beam Search 的方式,将beam size 大小设置为3。
为了增强模型的鲁棒性以及提高模型的训练速度,分别使用预先训练的Fatser R-CNN 模型提取图像的显著区域特征,使用VC R-CNN 模型提取图像对应视觉常识特征。训练中,本文设置模型学习速率初始化为3×10-4,输入批处理大小为10,每次训练5 轮增加0.05 的计划抽样概率,进行15 轮交叉熵损失训练;随后使用自我批判的序列训练(Self-Critical Sequence Training,SCST)[18]强化学习方法训练,学习率大小设置为1×10-5,训练至30 轮结束。
本章验证本文提出的融合自适应常识门的图像描述模型的表现和性能。
本文选取测试集中不同场景的图像(如图5 所示)进行测试,各图生成的描述实例如表1 所示,其中每个实例包含Transformer 基线模型、本文模型以及人为标注的参考描述(HUMAN)。
表1 生成描述样例Tab.1 Examples of generated captions
从表1 中可以发现,Transformer 基线模型生成的标题符合语言逻辑,但描述内容不够准确,甚至有些描述与图像内容不太匹配;而本文模型生成的标题相对正确且更具有描述性。在图5(a)、图5(c)两个场景中,基线模型产生了错误的描述语句,而本文模型对图5(a)描述出了“两个人骑着摩托车”,对图5(c)描述出了“给小猫喂香蕉”,生成了相对正确的标题。从图5(d)~(f)示例中可以看到,本文模型生成的语句不仅比基线模型效果更好,甚至比人工描述更加生动形象,描述出了人工标注也忽略了的一些重要点。例如对图5(d)描述出了“一个大窗户”、对图5(e)描述出了“在水边的草地上”、对图5(f)描述出了“穿着绿色制服的足球运动员”;然而,相较于表达程度更深的人工标注,机器产生的描述存在一定的局限性,如图5(b)所示,本文模型和Transformer 基线模型仅仅只是描述出图像中的内容“一组飞机停在机场”,而人工标注进一步描述出了“在窗户后面”。
图5 不同情境下所选择的测试图片Fig.5 Test images selected in different scenarios
为了进一步验证模型的性能,使用了MSCOCO 2014 测试集来验证模型,并与当前主流模型进行对比,实验结果如表2 所示。实验对比了循环融合网络(Recurrent Fusion Network,RFNet)[1]、Up-Down[7]、对象关 系变压 器(Object Relation Transformer,ORT)[9]、SCST[18]、分层注 意网络(Hierarchical Attention Network,HAN)[19]、场景图自动编码器(Scene Graph Auto-Encoder,SGAE)[20]、词性堆叠交叉注意网络(Part-Of-Speech Stacked Cross Attention Network,POSSCAN)[21]、SRT(Show Recall and Tell)[22]。
由表2 可知,本文模型提升了图像描述的性能,并且在大多评价指标上都优于对比模型,包括最新的图像描述生成模型POS-SCAN、SRT。本文模型在反映句子连贯性和准确率的 BLEU-4 指标上比POS-SCAN 模型提升了3.2%,比SRT模型提升了1.8%;在反映语义丰富程度的CIDEr 指标上,对比POS-SCAN 模型提升了2.9%;在更反映图像描述质量的SPICE 指标上,比POS-SCAN 模型提升了2.3%,对比SRT 模型提升了1.3%。
表2 不同图像描述生成模型的评价指标对比Tab.2 Comparison of different image caption generation models on evaluation indicators
表3 比较了不同方案的消融实验结果,包括:使用显著区域特征作为模型输入的基线模型,称为TED(Transformer Encoder and Decoder);使用文献[10]中的方法单一拼接图像显著区域特征和视觉常识特征作为模型输入的模型,称为TED-VC(TED-Visual Commonsense);将视觉常识特征分层输入到Transformer 编码器的模型,称为TED-FVC(TED-Fusion of VC);在Transformer 编码器中加入自适应常识门的模型,称为TED-ACG(TED-Adaptive Commonsense Gate)。由表3 可知,TED-VC 相较于TED 有较小的提高,一定程度上反映了单一拼接的方法未能充分发挥视觉常识特征的优势。TEDFVC 相较于TED-VC 有了一些提高,说明分层作用在一定程度增强了常识特征利用效果。在全部对比结果中,TED-ACG表现出了最好的性能,验证了ACG 可以更好地提取视觉常识信息,生成更符合图像语义信息的内容。
表3 消融实验的设置和结果Tab.3 Setting and results of ablation experiments
本文提出了一种基于Transformer 结构,融合自适应常识门的图像描述生成模型。使用Faster R-CNN 模型提取图像显著区域特征,使用VC R-CNN 模型提取视觉常识特征。通过将视觉常识特征分层输入到Transformer 编码器中,并在每一分层中设计使用了自适应常识门,从而增强了模型对视觉常识信息的提取能力,同时进一步融合了图像的显著区域信息和视觉常识信息。本文所提出的模型在图像描述评价指标上都取得较高分数,其中BLEU-4、CIDEr 得分可以达到39.2 和129.6。实验结果表明,本文提出的模型泛化能力相较于传统模型更好,在图像描述生成任务上能取得出色的表现。下一步,将结合现有图像描述的方法,在Transformer 架构上研究更有效的特征融合方式。