APP下载

基于改进的Transformer_decoder的增强图像描述

2023-03-21林椹尠屈嘉欣

计算机与现代化 2023年1期
关键词:解码器注意力编码

林椹尠,屈嘉欣,罗 亮

(西安邮电大学通信与信息工程学院,陕西 西安 710121)

0 引 言

图像描述(Image Captioning)处于计算机视觉(Computer Vision,CV)和自然语言处理(Natural Language Processing,NLP)的交叉研究领域,根据图像内容信息自动生成描述性的语句,其能帮助视力障碍的人理解图像内容[1-5]。对于人类来说,这项任务很容易实现,而对于机器来说具有极大的挑战性,因为机器不仅需要识别图像中的特定对象及其之间的关系,而且还需将所识别对象整合为正确的句子。受机器翻译的启发,当前主流的图像描述方法是基于神经网络的编码器-解码器模型实现的,编码器主要为卷积神经网络(Convolutional Neural Network,CNN)的一些经典模型,用于提取图像内容特征,如VGGNet、ResNet、EfficientNet 模型[6-9]。解码器主要为递归神经网络(Recurrent Neural Network,RNN)的经典模型,如LSTM、GRU 和Transformer 模型,可以将图像内容解码为一句描述语义[10-13]。其中,2017 年提出的Transformer 作为近几年图像描述任务中最流行的解码器模型,其基于自注意力机制(Self Attention)以实现输入和输出之间的全局依赖关系,具有高效的并行化处理能力,使得模型训练可以达到突出效果[14]。

Self Attention 机制将标签词向量作为输入,词与词之间的语义相关性容易受到先验词的影响,导致描述的语义与原图像有偏差。例如与“鱼”一词相关的是“水”,而不是“地面”,因为在标签训练集中“鱼”和“水”同时出现的频率高,如果图片显示的内容是“一条鱼掉到了地面上”,很容易被解码器描述为“一条鱼在水里”。标准的Transformer模型虽然在很多任务上有着出色的表现,但其在图像描述任务中,解码器对于文本的生成只依赖于标签数据集,而一些细粒度的视觉特征对于文本语义的生成是至关重要的。文献[15]提出了Bottom-Up Attention 机制,是通过关注视觉的显著区域来提取图像特征。文献[16]通过对图像的不同区域及顺序进行控制,从而生成更加多样化的描述。文献[17]提出ASG 抽象场景图,通过控制图像的不同细节进行语义描述,例如描述出的是什么物体、是否描述物体的属性或物体之间的关系,使得生成的描述结果更贴切图像信息。

Transformer中提出了绝对位置编码方法,为序列添加唯一固定的位置向量,与词向量一同作为解码器的输入,此种位置方法虽然使得输入的词向量具有时序性,但当特征向量进入Attention机制时位置信息会丢失。如果2个序列中都有“it”词,虽然“it”所在的位置和上下文语境并不同,但表征的位置编码相同,导致编码出的文本语义不准确,从而影响图像描述的整体性能。文献[18-20]针对绝对位置编码存在的位置信息丢失问题进行改进。文献[18]提出一种Transformer-XL 神经网络结构,该网络结构由片段级的循环机制和全新的位置编码策略组成,可以解决超长距离的依赖性问题。文献[19]提出了一种相对位置嵌入方法,以鼓励自注意机制中的query、key 和相对位置编码之间进行更多的交互,从而提升图像描述的性能。文献[20]提出在向量空间中捕获单词距离的位置编码的3 个预期特性:平移不变性、单调性和对称性,并且提出2种可学习的位置编码方法APE 和RPE,其中可学习的APE 在分类任务中表现更好,而可学习的RPE在跨度预测中表现更好。

针对以上2 个问题,本文提出一种基于Transformer_decoder 改进的增强型图像描述模型。此模型的整体框架如图1 所示,采用“ResNet101”和Transformer 的编码器部分作为图像描述任务的编码器模型,添加视觉引导Vision-Boosted Attention(VBA)和相对位置表示Relative-Position Attention(RPA)的Transformer_decoder模型作为解码器。针对细粒度的视觉特征在表述时被忽视的问题,提出了将视觉增强注意力机制VBA 作为Transformer_decoder 的辅助层,将视觉特征送入解码器中使得词与词之间的相关性受到不同区域视觉特征的影响,通过视觉信息改善Self Attention 机制。针对位置信息丢失的问题,提出相对位置注意力机制RPA,此机制可以完全代替绝对位置编码的操作,将相对位置表示和Self Attention 机制进行合并处理,动态地编码每个词的位置信息,并能表示出词与词之间的相对位置关系。实验结果表明,具有视觉引导VBA 和相对位置表示RPA 相结合的解码器模型,描述的语义可以捕获到更多细粒度的视觉特征,并且能灵活地表示词与词之间的位置关系,从而提高图像描述质量。

1 标准的Transformer_decoder模型

Transformer 的标准解码器模型由4 个相同的Transformer_decoder 模型堆叠形成,每个Transformer_decoder 模型由3 个子层组成,包括多头自注意力层(Multi-Head Attention)、视觉文本注意力层(Seq-Image Attention)和前馈神经网络层(Feed-Forward),每2 层之间都会添加残差连接(Residual Connection)和层归一化处理(Layer Normalization)。另外,注意力层使用mask 方法以防止在训练给定输出词时用到未来输出词的信息。

Self Attention 是Multi-Head Attention 的核心,对于一组文本序列x=(x1,...,xi,...,xn),通过Self Attention 的各种线性映射得到输出权重值序列z=(z1,...,zi,...,zn),以表示序列内部词与词之间的关联性。Self Attention 机制内部主要使用缩放点积的方法(Scaled Dot-Product Attention)实现序列中词的关注,其输出权重值zi可由式(1)表示。

其中,aij可表示为:

对于当前词xi的输出权重值表示为zi,其中xi∈Rdx,zi∈Rdz,WQ、WK、WV∈Rdx×dz是参数矩阵,查询向量、键向量和值向量分别表示为Q=xiWQ、K=xjWK和V=xjWV。在公式(2)中,aij表示为当前词xi与序列中任意词xj的相似性度量值,softmax激活函数得到的结果会为V中每一个值分配权重,权重越大表示源序列中哪些词越重要。除此之外,在多头自注意力层中Q、K和V向量都来自于上一层Transformer_decoder 的输出。在视觉文本注意力层中Q向量由上一层解码器的输出提供,而K向量和V向量来自于编码器模型输出的图像特征。

与传统的解码器模型不同,Transformer不具有序列的时序性信息,因此,Transformer 中提出位置向量表示法,为序列的每个位置添加固定的位置向量,该向量的维度大小与词向量相同,其决定了当前词的位置,或表示一个句子中不同词之间的距离。

位置向量PE(u)可由公式(3)计算得到,其中,PE为二维矩阵,大小和输入词向量的维度相同,行表示词语,列表示词向量;pos 表示词语在句子中的位置;dmodel表示词向量的维度;i表示词向量的位置。因此,在每个标签词的偶数位置添加sin函数,奇数位置添加cos函数,以此得到位置向量矩阵,结合输入的标签词向量矩阵共同作为解码器的输入,这样便完成位置向量表征的引入。

2 增强型图像描述模型

图1 为基于Transformer_decoder 改进的增强型图像描述模型,该模型的整体架构是基于Transformer的encoder-decoder 框 架。 其 中,Encoder 部 分 由ResNet101 和Transformer_encoder 组 成,首 先 利 用ResNet101 来检测一组显著的图像特征,再通过Transformer_encoder 获得增强型的视觉特征。Decoder 部分由标准的Transformer_decoder 作为基础模型,通过添加增强型视觉特征和相对位置关注来生成与图像信息更匹配的描述语义,主要由4 层组成,包括相对位置注意力层、视觉增强注意力层、视觉文本注意力层和前馈神经网络层。

图1 基于Transformer_decoder改进的增强图像描述模型

2.1 视觉增强注意力机制

标准情况下,多头自注意力层的输入是词向量或上一层的输出,很容易受到先验词的影响,并且只依赖于文本特征。本文提出视觉增强注意力模型,如图2 所示,在Transformer_deocder 模型中添加VBA 层作为解码过程的辅助框架,将VBA 模块添加到Multi-Head Attention 之后,使得序列中的词与词之间根据辅助的视觉关系获得更合理的注意力分布,考虑视觉信息对解码过程的影响,从而生成更多与图像相关的语义描述。

图2 中,VBA 是一个双重注意力机制,将具有图像特征引导的Scaled Dot-Product Attention 权重值Ax2i进行分解,得到序列图像注意力表示A*x2i和图像序列注意力表示A*i2x。给定一组输入序列Xi={xi1,xi2,…xii,…,xik},在训练当前词xi时,图像特征表示z=(z1,...,zi,...,zn)作为self-attention 中K的输入,通过Scaled Dot-Product Attention 运 算 得 到Ax2i∈Rk×n,如式(4)所示,其表示X与V间的相关性,使不同区域的视觉特征作为序列中词与词间关系度量的辅助条件。通过对Ax2i进行转置得到图像序列注意力机制Ai2x∈Rn×k,并将mask 覆盖到Ai2x上得到A*i2x,使其只依赖于t时间之前生成的序列信息,最终图像序列注意力表示可由式(5)得到。对序列图像注意力表示Ax2i进行reshape 得到A*x2i,如式(6)所示。A*x2i和A*i2x的乘积作为具有视觉影响的相似性度量值eij,最终视觉增强注意力VBA的输出可由式(7)表示。

图2 视觉增强注意力机制

2.2 相对位置注意力机制

Transformer 中使用正余弦函数表示绝对位置编码,即序列中每个位置都有一个固定的位置向量与词向量一同作为解码器的输入,导致在计算缩放点积注意力运算(Scaled Dot-Product Attention)时丢失了词与词之间的相对位置信息。

本文对Scaled Dot-Product Attention 计算进行改进。如图3 所示,在计算xi的zi和eij时分别添加可训练的相对位置参数aVij,aKij∈Rdz,将xi与xj之间的相对位置信息编码入隐藏状态中,既为句子中的单词添加顺序性信息,又能直观地表示一个句子中不同标签之间的相对位置关系,从而提高图像描述的语义丰富度。

图3 相对位置注意力机制

对公式(2)进行修改,计算相似性度量值eij添加相对位置参数aKij,如式(8)所示。在计算xi的输出权值zi时添加相对位置参数aVij,修改公式(1)如式(9)所示,其中参数aVij和aKij在同一层中所有attention head之间共享。当计算xi与xj相对位置关系时,参数aVij和aKij可由式(10)得出,k为xi的最大相关单词的距离,需满足|j-i|≤k,当xi与xj之间的距离超出k时相对位置关系的计算便无意义,仅需考虑2k+1个相关单词。式(10)最终可理解为分别学习键向量和值向量的相对位置表征wK=(wK-k,…,wKk)和wV=(wV-k,…,wVk),wKk,wVk∈Rdz。

3 实验结果与分析

3.1 实验设置

本文所有实验均在相同设备条件下进行,具体环境配置如表1 所示。本文采用图像描述领域最常用的“编码器-解码器”架构。ResNet101 和Transformer_encoder 部分作为图像描述任务的编码器模型,Transformer_decoder 模型作为解码器模型。使用COCO 数据集作为评估标准来衡量基于不同词向量的图像描述的性能。该数据集包含用于训练的82783 幅图像和用于验证的40504 幅图像,每幅图像大约包含5 个文本描述[21]。此外,采用Karpathy 分割设置,其中包括113287张训练图像、5000张验证图像和5000 张测试图像[22]。在训练标签中发生不到5 次的单词被过滤,并替换为一个特殊的标记“UNK”,最后,建立了一个包含9490个单词的标签词汇表。

表1 实验环境配置

将attention 层的大小和隐藏层大小设置为512,NN.Embedding 作为本次实验的基础词向量模型,维度为512。Transformer 的层数为4,自注意力头的个数为8。当使用相对位置编码时k=8,并且每层的相对位置表示唯一。分批处理图像中单次输入图像batch size 数量为32,训练期间使用初始学习率为0.0004 的Ranger 优化器[23],每迭代8 个epoch 学习率衰减为原来的0.8,训练过程中最大迭代次数设为30。在解码过程中使用Beam Search,集束大小设为3,然后从训练的描述结果中选取BLEU-4 得分最高的句子作为最终描述语句[24]。

3.2 评估指标

为了客观评估实验模型的性能,本文使用的评估指标为BLEU-4和准确率[25]。BLEU用于评估模型生成的句子(candinate)和实际句子(reference)的差异,其取值范围为[0.0, 1.0]。最早的BLEU算法是直接统计candinate中的单词有多少个出现在reference中,当candinate 中共有p个单词,其中有q个单词出现在reference 中,计算方法如式(11)所示,也相当于BLEU-1。BLEU-1 衡量的是单词级别的准确性,为了衡量句子的流畅性,引入n-gram 对BLEU 进行改进,其中n-gram指一个语句里面连续的n个单词组成的片段,提出了多种BLEU 变种指标,包括BLEU-1、BLEU-2、BLEU-3和BLEU-4。计算方法如式(12)所示。

准确率是指在正确分类的情况下,正样本(TP)和负样本(TN)占全部样本(Total)的比例,也就是判断一个模型分类器的有效性,如果准确率越高,说明模型的分类效果越好,其计算方法如式(13)所示。

3.3 视觉增强注意力机制VBA的影响

为了验证视觉增强注意力机制对图像描述任务的影响,使用4 个相同的Transformer_decoder 块堆叠作为图像描述的基础解码器模型,在COCO 数据集上对其进行评估。主要采用2 种评价指标(BLEU-4 与准确率)表明解码器部分添加视觉特征对图像描述的影响,2 种指标的得分越高说明图像描述的结果与数据集中人工标注的描述越相近,解码器部分添加视觉信息可以有效描述语义的效果。

选择具有绝对位置编码的Transformer_decoder作为本节的基础解码器模型Abs_Pr,VBA_I是在第一个Transformer_decoder块中添加视觉信息作为语义表述的辅助模块,由此类推VBA_II、VBA_III和VBA_IV分别表示在第二块、第三块和第四块添加视觉信息VBA模块。从表2 可得,VBA_I 与基础模型相比准确率和BLEU_4 都有所提高,分别提高了1.16%和3.54%,可见为Self-attention 机制添加视觉信息的指导可以提高描述质量;VBA_All 表示每块Transformer_decoder都添加视觉增强注意力,从表中数据可知,并不意味使用视觉信息越多解码器生成的语义效果越好,VBA_All没有单层添加VBA模块的指标分数高,而且所需的训练时间最长,因为越多的VBA模块越会使模型训练过拟合,导致评估指标的分数下降。VBA_IV的准确率和BLUE_4 的分数最高,分别达到了80.273和0.267,比基础模型分别提高了2.16%和5.12%。

表2 VBA用于Transformer_decoder不同层比较

如图4 所示,从每训练1 个epoch 所需训练时间对几种模型进行比较,添加VBA 模块比基础模型Abs_Pr 所需的训练时间明显增多。VBA_All 的指标并不如单层Transformer_decoder 添加VBA 模块的得分高,而且所需的训练时间最大。VBA_I所需的训练时间相对较少,但准确率和BLEU_4 在单块添加视觉信息模型中最低;VBA_IV 所需的训练时间仅比VBA_I 多了0.01 h,在2 种评价指标的得分最高。可见,添加视觉信息的解码器模型描述的语义效果更好,而且选择任意一块Transformer_decoder 添加视觉增强注意力都比基础模型得到了一定程度的改进,其中VBA_IV 的指标得分最高,而且所需的训练时间相对较短,因此选择在第四块Transformer_decoder 添加视觉信息来增强语义的描述效果最佳。

图4 不同层添加VBA所需训练时间比较

3.4 相对位置注意力机制的影响

为了验证相对位置注意力机制对图像描述的影响,在COCO 数据集上对其进行评估,以准确率和BLEU_4 作为性能评估指标,参数量和训练时间作为辅助评估的参考值。选择无位置表征的Transformer_decode 作为本节的基础解码器模型No_Pr,Abs_Pr 是具有绝对位置编码的解码器模型,Rel_Pr_Att 是添加相对位置注意力机制的解码器模型,Rel_Pr_Att+VBA_IV 作为相对位置注意力与视觉增加注意力相结合的解码器模型,其中视觉增强注意力添加在第四个Transformer_decoder 块上。表3显示了添加相对位置注意力机制(RPA)和视觉增强注意力机制(VBA)的解码器模型与基础模型进行比较的结果。图5 显示了在编码器相同的情况下,使用不同解码器模型所需训练的参数量比较。

表3 增强型模型与基础模型对比结果

图5 各种模型训练参数比较

本文选用交叉熵损失函数对模型的参数进行性能评估,用于衡量预测值和真实值的差距程度,具有交叉熵值越小模型预测效果越好,交叉熵值越大权重更新速度越快的特性。此函数常与Softmax 结合使用,通过Softmax 将输出结果进行处理,使其多个分类的预测值和为1,再使用交叉熵来计算损失。交叉熵损失函数的计算方法如式(14),其中y表示真实值,a表示神经网络的预测值。图6为4种模型训练时的损失收敛曲线图。由于0~14 轮epoch 训练的loss 一直在下降,因此只显示15~29轮训练,loss值随着轮数增多先下降再趋于稳定状态。除了Rel_Pr_Att 模型,其他3 个模型都在epoch=24 时达到了loss 的最低值,因此,接下来的模型比较均选择epoch=24的实验数据。

图6 4种模型训练时的损失收敛曲线图

Transformer 本身不具有顺序性信息,文献[8]为其添加了绝对位置编码后,可以表述出序列的时序性信息,如表3所示,Abs_Pr模型的准确率和BLEU_4评分相对于No_Pr 模型分别提高了1.76%和4.96%,参数量并没有因为添加了位置编码而增加;Rel_Pr_Att相对Abs_Pr,2 个评估指标中准确率提升了1.33%,BLEU_4 提升了3.15%,参数量减少了3.15 百万个,每训练1 个epoch 所需的时间也减少了,获得了比绝对位置表示模型更好的描述效果。最后,将本文提出的视觉增强注意力机制与相对位置注意力机制相结合嵌套到解码器模型中(Rel_Pr_Att+VBA_IV),虽然所需的训练时间相对于只添加Rel_Pr_Att 增长了,但相对于只添加VBA_IV 所需训练时间减少了0.12 h,参数量比Abs_Pr模型降低1.53%,而且准确率和BLEU_4的评估分数最高,准确率比Abs_Pr高3.97%,BLEU_4比Abs_Pr高了6.7%。图7为4种模型训练时的准确率收敛曲线图。可见,视觉增强注意力机制和相对位置注意力机制相结合的解码器模型,可以最大幅度地提高整体模型的表现能力。

图7 4种模型训练时的准确率收敛曲线图

4 结束语

本文提出了2 种新的注意力模型:视觉增强注意力机制和相对位置注意力机制,前者将视觉信息作为多头注意力层的辅助模块,可以关注到不同区域的视觉特征对解码器的影响,从而增强与视觉相关的文本表示能力;后者通过在自注意力机制中添加相对位置表示来代替绝对位置编码,不仅可以编码标签词的顺序性信息,而且能捕获到序列中词与词之间的相对位置关系。实验结果表明,本文所提的2 种注意力机制对基础模型都有所改善,而且2 种新注意力机制相结合的解码器模型有更好的表现能力,可提高图像描述任务的整体模型性能。

猜你喜欢

解码器注意力编码
让注意力“飞”回来
科学解码器(一)
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
科学解码器(二)
科学解码器(三)
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
Genome and healthcare
“扬眼”APP:让注意力“变现”