基于循环共同注意力Transformer的多模态蒙汉翻译方法

文档序号:1846598 发布日期:2021-11-16 浏览:19次 >En<

阅读说明:本技术 基于循环共同注意力Transformer的多模态蒙汉翻译方法 (Multi-modal Mongolian Chinese translation method based on circulation common attention Transformer ) 是由 苏依拉 崔少东 仁庆道尔吉 吉亚图 李雷孝 石宝 梁衍锋 吕苏艳 于 2021-07-14 设计创作,主要内容包括:一种基于循环共同注意力Transformer的多模态蒙汉翻译方法,利用YOLO-V4对输入图像进行目标检测,通过相关性检测对比蒙古文本与目标标签,保留与蒙古文本相关的目标图像,并利用编码层将蒙古文本编码为张量;利用重参数化VGG网络和三重注意力机制提取并关注目标图像特征,采用形变双向长短期记忆网络对目标图像特征与编码后的蒙古文本特征即张量分别进行数次交互,之后送入到循环共同注意力Transformer网络中进行蒙汉翻译,通过数次循环交互,将蒙古语言特征与视觉特征充分融合,输出目标语言。本发明从视觉和语言两个角度捕获特征信息,通过多轮循环,可有效的提高翻译质量,解决蒙古文翻译质量不佳的问题。(A multi-mode Mongolian translation method based on a cyclic common attention transducer comprises the steps of carrying out target detection on an input image by using YOLO-V4, comparing a Mongolian text with a target label through correlation detection, reserving the target image related to the Mongolian text, and encoding the Mongolian text into a tensor by using an encoding layer; extracting and paying attention to target image features by using a reparameterized VGG network and a triple attention mechanism, respectively carrying out interaction on the target image features and encoded Mongolian text features, namely tensors, for a plurality of times by using a deformation bidirectional long-short term memory network, then sending the target image features and the encoded Mongolian text features into a cyclic common attention Transformer network for Mongolian translation, fully fusing Mongolian language features and visual features through the plurality of cyclic interactions, and outputting a target language. The method captures the characteristic information from two angles of vision and language, and can effectively improve the translation quality and solve the problem of poor translation quality of Mongolian through multi-round circulation.)

基于循环共同注意力Transformer的多模态蒙汉翻译方法

技术领域

本发明属于计算机视觉与机器翻译技术领域,特别涉及一种基于循环共同注意力Transformer的多模态蒙汉翻译方法。

背景技术

机器翻译能够将一种语言转换为目标语言,是解决语言障碍的有效方式。随着深度学习的日渐发展,使用深度学习进行机器翻译任务已成为主流,谷歌、百度、有道、科大讯飞等公司针对机器翻译进行了大量研究,并已开发出实用化的应用程序。

在深度学习出现前,机器翻译经历了基于规则方法、基于语料库方法及多方法融合的发展历程。蒙古语机器翻译相较其他语言研究起步较晚,数据稀少,使得实现高质量的译文难度很大。2017年,L JINTING et al.提出NMT与Discrete Lexicon Probabilities相结合的蒙汉翻译模型,解决神经网络在翻译蒙汉低频词出错问题,在蒙汉平行语料库上BLEU提高了4.02。2020年RQINGDAOERJI et al.提出基于形态素编码和LSTM的蒙汉翻译模型,采用GRU-CRF对蒙古文进行分词。将编码后的蒙古语形态素向量作为LSTM的输入,LSTM神经网络模型可以记录重要的向量信息,防止梯度消失造成的信息损失,有助于缓解蒙汉双语语序差异大的问题。数据使用内蒙古大学开发的蒙汉平行语料库,实验表明,基于词素编码的LSTM模型在30个词以上时的BLEU达到21.8,较PBMT模型提高1.6BLEU,在处理长依赖问题时,有着良好的性能表现。

目前使用深度学习进行机器翻译在主流语言方面已经发展成熟,但在小语种方面例如蒙古语等研究较少,尤其是数据严重缺乏,翻译质量没有达到很好的效果。

发明内容

为了克服上述现有技术的缺点,本发明的目的在于提供一种基于循环共同注意力Transformer的多模态蒙汉翻译方法,从人类观察世界的模式出发,使用循环共同注意力Transformer多模态网络,从视觉和语言两个角度捕获特征信息,通过多轮循环,可以有效的提高翻译质量,解决蒙古文翻译质量不佳的问题。

为了实现上述目的,本发明采用的技术方案是:

一种基于循环共同注意力Transformer的多模态蒙汉翻译方法,包括:

步骤1,目标检测

利用YOLO-V4对输入图像进行目标检测,输入图像是蒙古文本的图像描述,通过相关性检测对比蒙古文本与目标标签,剔除与蒙古文本不相关的目标图像,保留与蒙古文本相关的目标图像,并利用编码层将蒙古文本编码为张量;

步骤2,特征提取

利用重参数化VGG网络和三重注意力机制提取并关注目标图像特征,采用形变双向长短期记忆网络对目标图像特征与编码后的蒙古文本特征即张量分别进行数次交互,之后送入到循环共同注意力Transformer网络中;

步骤3,多模态翻译

以经过数次交互之后得到的目标图像特征与编码后的蒙古文本特征为输入,利用循环共同注意力Transformer网络进行蒙汉翻译,通过数次循环交互,将蒙古语言特征与视觉特征充分融合,输出目标语言。

所述YOLO-V4网络由CSPDenseNet、路径聚合网络、回归预测网络组成,其中CSPDenseNet作为主干网络提取图像特征,路径聚合网络作为颈部网络,并将空间金字塔池化加入CSPDenseNet,产生固定大小的输出。

所述CSPDenseNet由CBM模块和跨阶段局部模块构成,CBM模块由卷积层、批归一化层、Mish激活函数组成,跨阶段局部模块将输入的视觉信息划分为两部分,一部分与原始网络计算相同,另一部分不参与计算,直接与第一部分计算的结果进行拼接,其由两条支路构成,一条对主干部分进行卷积,另一条用来产生一个残差边,通过对两条支路的跨级拼接与通道整合以增强卷积神经网络的学习能力;

所述路径聚合网络采用自下而上的方式,创建一条从底层特征到顶层特征的路径,从而缩短底层特征信息到顶层特征信息的传播路径,准确地保存空间信息,正确定位像素点;

所述空间金字塔池化通过使用三个不同尺寸的最大池化层对全连接层前的卷积层进行池化操作并进行拼接,输出一个一维的向量,以此使得输入图像尺寸不受约束。

所述重参数化VGG将VGG网络分为训练阶段与推理阶段,在训练阶段采用多分支网络结构提升模型精度,在推理阶段采用单分支网络结构,使用重参数化将多分支网络的权值转换到单分支网络中;

所述三重注意力机制通过使用三分支结构捕获跨维度交互来计算注意力权重,通过旋转操作与残差变换建立维度间的依存关系;

所述形变双向长短期记忆网络通过将当前时间的输入xt和上一个时间的隐藏状态ht-1在输入长短期记忆网络之前进行多次交互,然后将所得向量作为长短期记忆网络的输入,获得上下文的相关表达。

所述多分支网络由大量小网络组成,所述重参数化VGG在VGG网络的基础上应用重参数化技术,在网络中使用3×3卷积层、批归一化层、Relu激活函数,并引入残差分支和1×1卷积分支,取消残差网络的跨层连接,改为直接连接,通过融合分支,将推理网络变为单路结构;

所述三重注意力机制中,给定一个输入张量x∈RC×H×W,表示经过卷积神经网络提取的目标图像特征,C、H、W分别表示输入特征集合R的通道数、高度、宽度,在第一个分支中,C与H进行交互,输入x首先沿高度方向逆时针旋转90°得到形状为(W×H×C),之后经过Z-池化形状变为(2×H×C),记为通过k×k的卷积层与批归一化层,得到形状为(1×H×C))的输出并经过sigmoid激活函数生成注意力权值,最后注意力权值应用于并沿着高度方向顺时针旋转90°以保持和输入x的形状一致;在第二个分支中,通道C与W进行交互,输入x首先沿宽度方向逆时针旋转90°得到之后经过Z-池化形状变为(2×W×C),记为通过k×k的卷积层与批归一化层,得到形状为(1×W×C))的输出并经过sigmoid激活函数生成注意力权值,最后注意力权值应用于并沿着宽度方向顺时针旋转90°以保持和输入x的形状一致;在第三个分支中,输入x通过Z-池化得到形状为(2×H×W),之后通过k×k的卷积层与批归一化层,输出结果通过sigmoid激活函数生成形状为(1×H×W)的注意力权值,并将其应用于输入x,得到结果;最后通过平均将三个分支产生的张量聚合在一起,其中Z-池化是通过连接平均池化和最大池化将0维度的张量缩减到2维。

所述循环共同注意力Transformer网络由循环共同注意力Transformer层、Transformer模块、融合层、Transformer解码器组成,循环共同注意力Transformer层采用多头注意力机制将步骤2得到的目标图像特征与编码后的蒙古文本特征进行循环交互送入Transformer模块,之后利用融合层将信息融合,并使用Transformmer解码器对融合后的信息进行解码,输出目标语言。

所述循环共同注意力Transformer层由视觉模块与语言模块组成,视觉模块接收提取到的目标图像特征,语言模块接收编码后的蒙古文本特征,将图像中各区域的信息作为上下文为蒙古文本加权,或者根据蒙古文本上下文为图像区域加权,使得网络可以同时捕捉视觉信息与蒙古文本信息;在循环共同注意力Transformer层中视觉信息与蒙古文本信息经过数次交互,所述Transformer模块使用Transformer编码器对循环共同注意力Transformer层的输出进行编码。

所述视觉模块和语言模块均由多头注意力机制、批归一化层、加法层、前馈层组成,所述Transformer模块与标准Transformer编码器相同。

在循环共同注意力Transformer层,定义中间视觉和中间语言为通过标准Transformer计算规则得到查询,键和值矩阵,视觉模块和语言模块中,每个模块的键和值将作为另一个模块的多头注意力的输入,注意力模块在视觉流中采用图像条件的语言注意力机制,而在语言流中采用语言条件的图像注意力机制;所述前馈层由两层线性层、Relu激活函数构成,主要作用为对句子中单词的词向量信息进行融合,前馈层并不处理时序信息,只负责对各个位置的信息进行变换,所述融合层将循环共同注意力Transformer网络的两个输出拼接到一起。

所述Transformer解码器在编码器的基础上,采用掩膜多头注意力模块处理来自前一个输出词汇的自注意力,解码过程如下:对当前第i个输入向量进行解码时,获取第i-1个以及之前的解码结果,解码器每一步只解码一个词,输出单词后作为解码器的输入,重复上述操作直到解码到<eos>为止;将解码器的输出进行线性映射转换为概率向量,之后通过softmax激活函数输出归一化的类别概率值,找到概率最大的值所对应的单词作为输出。

与现有技术相比,本发明的有益效果是:

1、本发明从视觉与蒙古文本两个方向进行研究,针对蒙汉翻译质量不佳的问题,使用基于循环共同注意力Transformer的多模态网络进行翻译任务,以提升翻译质量。

2、本发明针对视觉与蒙古文本信息交互问题,使用循环共同注意力Transformer层对视觉信息与蒙古文本信息进行交互,通过数轮循环以增强视觉信息和语言信息的交互程度。

3、本发明针对卷积块注意力模型(CBAM)中通道注意力和空间注意力计算独立问题,在重参数化VGG中引入三重注意力机制,通过捕捉空间维度和通道维度之间的相互联系,进行跨通道交互,解决CBAM模型中通道注意力和空间注意力计算独立问题。

4、本发明针对原始VGG网络准确率低、计算速度慢问题,使用重参数化VGG提取目标图像特征。重参数化VGG应用重参数化技术进行训练-推理解耦,并且所需内存更低。

5、本发明针对目标检测问题,使用YOLO-V4对输入图像进行目标检测,在检测出目标后进行图文相关性检测,找出与蒙古文本相关的图像目标,剔除不相关的图像目标。

6、本发明针对长短期记忆网络输入独立问题,使用形变双向长短期记忆网络让输入和状态进行多轮交互,以增强上下文建模能力。

附图说明

图1为基于循环共同注意力Transformer多模态翻译网络。

图2为DenseNet与CSPDenseNet结构。

图3为自底向上的路径增强模块结构。

图4为空间金字塔池化层结构。

图5为重参数化VGG结构。

图6为三重注意力机制结构。

图7为形变双向长短期记忆网络。

图8为循环共同注意力Transformer层结构。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

本发明为一种基于循环共同注意力Transformer的多模态蒙汉翻译方法,整体网络构成可参考图1,主要由YOLO-V4、Triple-重参数化VGG(三重注意力-重参数化VGG)、编码层、形变双向长短期记忆网络(形变BiLSTM)、循环共同注意力Transformer层、Transformer模块、融合层、Transformer解码器组成。

本发明基于循环共同注意力Transformer的多模态蒙汉翻译方法,主要流程包括:

步骤1,目标检测

输入图像是蒙古文本的图像描述,利用YOLO-V4对输入图像进行目标检测,通过相关性检测对比蒙古文本与目标标签,剔除与蒙古文本不相关的目标图像,保留与蒙古文本相关的目标图像,并利用编码层将蒙古文本编码为张量。

1)、YOLO-V4目标检测网络

YOLO-V4目标检测网络主要由CSPDenseNet、路径聚合网络(Path AggregationNetwork)、回归预测网络组成。其在原有YOLO目标检测架构的基础上,采用CSPDenseNet作为主干网络提取图像特征,路径聚合网络作为颈部网络,并将空间金字塔池化(SpatialPyramid Pooling)加入CSPDenseNet,产生固定大小的输出。空间金字塔池化显著地增加接受域,分离出最重要的上下文特征,并对网络速度几乎没有影响。YOLO-V4可以使用单个GPU进行训练,在目标检测上可以达到更快的速度。

A、CSPDenseNet

CSPDenseNet主要由跨阶段局部模块(Cross Stage Partial Model,CSP)和CBM模块构成。

跨阶段局部模块主要从网络结构设计的角度解决推理阶段中计算量大的问题,由两条支路构成,一条对主干部分进行卷积,另一条用来产生一个残差边。通过对两条支路的跨级拼接与通道整合以增强卷积神经网络的学习能力。跨阶段局部模块先将输入的视觉信息划分为两部分,一部分与原始网络计算相同,另一部分不参与计算,直接与第一部分计算的结果进行拼接。

CBM模块由卷积层、批归一化层和Mish激活函数组成。引入跨阶段局部模块会增强CNN的学习能力,使得在轻量化的同时保持准确性,同时还可以降低计算量与内存需求。

DenseNet的每个阶段包含一个稠密模块和一个过渡层,每个稠密模块由k个稠密层组成,第i个稠密模块的输出经过过渡层降维后将成为第i+1个稠密模块的输入。DenseNet可用如下公式表示:

x1=w1*x0

x2=w2*[x0,x1]

xi=wi*[x0,x1,...,xi-1]

xk=wk*[x0,x1,...,xk-1]

其中,*为卷积操作,wi为第i个稠密模块的权重,xi为第i个稠密模块的输出,[x0,x1,...]表示对x0,x1,...进行通道合并操作。

若采用反向传播算法更新权重,则权重更新公式如下:

w1’=f(w1,g0)

w2’=f(w2,g0,g1)

w3’=f(w3,g0,g1,g2)

wi’=f(wi,g0,g1,g2,...,gi-1)

wk’=f(wk,g0,g1,g2,...,gk-1)

其中,f是权重更新函数,gi表示传播到第i个稠密模块的梯度,wi’为更新的第i个权重。

CSPDenseNet主要由局部稠密模块和局部过渡层组成。在局部稠密模块中,通过通道x0=[x0′,x0″]将输入的视觉的特征图分成两部分,x0′与x0″分别为第一部分的通道和第二部分的通道。在x0″到x0′之间,前者直接连接到阶段的末尾,后者将通过局部稠密模块。局部过渡层步骤如下:稠密层的输出[x0″,x1,...,xk]经历过渡层,过渡层的输出xT将与x0″连接,并经过另一个过渡层,得到输出xU

CSPDenseNet的前馈传递公式如下:

xk=wk *[x0,x1,...,xk-1]

xT=wT *[x0,x1,...,xk]

xU=wU *[x0,xT]

其中,xk表示第k层稠密层的输出,xT表示过渡层的输出,xU为网络的前馈输出,wk *为第k层稠密层的权重,wT *为过渡层的权重、wU *为前馈输出的权重。

CSPDenseNet的权重更新公式如下:

xk’=f(wk,g0”,g1,g2,...,gk-1)

xT’=f(wT,g0”,g1,g2,...,gk)

xU’=f(WU,g0’,gT)

其中,f是权重更新函数,xk’是更新的第k层稠密层的权重,xT’是更新的过渡层的权重,xU’是更新的前馈输出的权重,gk表示传播到第k个稠密层的梯度,gT表示传播到过渡层的梯度。

Mish激活函数可由下式表示:

其中,ex为指数函数。

图2所示为未加入跨阶段局部模块的DenseNet(a)与加入跨阶段局部模块的DenseNet(b)。CSPDenseNet将输入的视觉信息划分为两部分,分支1不参与计算,分支2经过稠密模块和过渡层,与图a计算相同,最终使用过渡层将分支1和分支2融合。

B、路径聚合网络

路径聚合网络针对低层特征到高层特征的路径太长,定位信息流动难度大的问题,采用自下而上的方式,创建一条从底层特征到顶层特征的路径,从而缩短底层特征信息到顶层特征信息的传播路径,准确地保存空间信息,正确定位像素点,以加强特征金字塔。

具体地,采用路径聚合网络作为YOLO-v4的颈部网络,通过增加自底向上的路径增强,缩短卷积神经网络中低层特征到高层特征的传播路径长度,使得网络中的信息可以得到进一步的传播。定义输出为{N2,N3,N4,N5},计算公式如下:

Ni=conv(r(Pi)+up(Ni-1)),i∈{2,3,4,5}

路径聚合网络通过在网络中增加一条自底向上的路径以降低底层特征到高层特征的传播损失。特征金字塔中的传播路径为C2→C3→C4→C5→P5,路径C2→C5中存在底层特征的信息大量丢失问题。路径聚合网络的传播路径为C2→P2→N2→N5,通过两次横向连接能够较好的保留底层特征。

图3所示为自底向上的路径增强模块,每个特征图Ni经过步长为2的3×3卷积层。之后通过水平连接将特征图Pi+1的每个元素和下采样映射融合。融合的特征图通过另一个3×3卷积层,生成Ni+1作为下一层的输入,直到到达P5后终止。最后,输出特征图集合{N2,N3,N4,N5}。所有卷积层通道数量为256,每个卷积层后使用Relu激活函数进行激活。

C、空间金字塔池化

卷积层对输入数据的尺寸没有要求,但全连接层要求输入数据的尺寸为固定,但现实中数据往往尺寸不是固定的。为解决这个问题,从而使得输入图像尺寸不固定,本发明提出空间金字塔池化技术。通过使用三个不同尺寸的最大池化层对全连接层前的卷积层进行池化操作并进行拼接,得到一个一维的向量,从而使得网络对输入数据的尺寸没有要求。空间金字塔池化通过多级池化固定输出数据的尺寸,并提取输入特征图的多尺度特征,从而得到较为全面的局部信息,可以有效提升卷积神经网络的性能,其解决了卷积神经网络输入图像尺寸必须为固定值的问题,增加了尺度不变性。

输入数据大小为(C,H,W),分别表示通道数、高度、宽度,池化数量为(n,n),则空间金字塔池化层中每个池化窗口的尺寸和步长可以用下式计算:

其中,K为池化窗口的尺寸,S为池化步长,ceil,floor分别为向上和向下取整。

空间金字塔池化层结构如图4所示,输入为卷积层输出的特征,分别使用池化窗口为1×1,2×2,4×4的池化层对输入进行最大池化。左侧部分将特征映射为16×256,中间部分将特征映射为4×256,右侧部分将特征映射为1×256,最后将上述三部分融合为一维向量,尺寸为1×10752。

D、回归预测网络

YOLO-V4采用边界框回归预测特征图网格单元的偏移,并确定目标中心,同时预测锚框宽高的比例系数,确定目标大小,公式如下:

其中,σ为sigmoid激活函数,(ux,uy,uw,uh)为真实框在特征图中的中心坐标和宽高,(tx,ty,tw,th)为预测框的中心点和宽高偏移,(cx,cy)表示真实框的中心点在特征图中的位置,(pw,ph)为与真实框最匹配的锚框宽高。

E、损失函数

YOLO-v4采用完全交并比损失函数(Complete Intersection over Union,CIOUloss)和距离交并比损失函数(Distance Intersection over Union,DIOU loss),使网络预测框更加准确。DIOU可以直接最小化两个真实框和预测框的距离,因此可以加速回归速度,CIOU使回归损失在与目标框有重叠时更准确,收敛速度更快。

IOU计算公式如公式

其中,X是待检测框的面积,Xgt是真实框的面积。

DIOU通过加入目标与锚点之间的距离,重叠率以及尺度等因素,使得目标框回归更加稳定,避免在训练过程中出现发散等问题。公式如下:

其中,b和bgt分别预测框和真实框的中心点,ρ代表两个中心点之间的欧几里得距离,c为覆盖预测框和真实框的最小闭包区域的对角线长度。

CIOU在DIOU的基础上加入影响因子,公式如下:

其中,α是权重函数,v是测量长宽比具有一致性的参数,分别为真实框的宽度和高度,w和h分别为预测框的宽度和高度。

F、相关性检测

相关性检测首先使用蒙古文语料训练一个Word2Vec模型,并采用TextRank算法提取输入蒙古文本的关键词,之后利用训练好的Word2Vec模型将YOLO-V4网络输出的目标类别信息与输入蒙古文本的关键词编码为多维的词向量。通过向量与向量之间的余弦距离计算关键词与YOLO-V4网络输出的目标类别信息之间的相似度,公式如下:

其中,texti为蒙古文本中第i个关键词向量,imagej为目标类别中第j个词向量。

计算出每个目标类别与蒙古文本关键词的余弦相似度,根据余弦相似度的大小,保留余弦相似度大于ρ的目标,ρ为阈值,取值为0-1。从而剔除目标类别与蒙古文本关键词不相关的目标,保留目标类别与蒙古文本关键词相关的目标,通过相关性检测可以增强蒙古文本与图像目标的联系,从而提升翻译质量。

Word2Vec是一个浅层神经网络,主要作用为使用神经网络将稀疏词向量映射为稠密词向量,得到的词向量包含着上下文信息与语义信息。Word2Vec可以经Skip-Gram或CBOW(Continuous Bag of Words)模型训练,Skip-Gram根据当前词的向量,计算上下文的词向量概率分布,CBOW则根据上下文向量,计算中心词的概率分布,本文采用Skip-Gram构建Word2Vec模型。

Skip-Gram基于中心词生成上下文词,假设蒙古语中心词生成的上下文词互相独立,则任意蒙古语中心词生成所有上下文词的条件概率G如下:

其中,m为蒙古语上下文的窗口大小,T为蒙古文本序列的长度,Wt为在时间步t下的蒙古语词,Wt+j为在时间步t+j下的蒙古语词,P为条件概率。

TextRank算法可以通过蒙古文本语料提取蒙古文本中的关键词,主要思想为通过蒙古语词之间的相邻关系构建网络,公式如下:

其中,T(vi)为结点vi的TextRank值,d为阻尼系数,I(vi)为指向结点vi的结点集合,O(vi)为结点vi所指向的结点集合,wij为结点vi到结点vj之间边的权重。

2)、编码层

编码层使用Word2Vec模型将输入蒙古文本编码为向量,之后采用深度学习中的嵌入层(Embedding layers)对向量编码。嵌入层是从语义空间到向量空间的映射,并尽可能在向量空间保持原样本在语义空间的关系,嵌入层可以将高纬向量降低为低纬向量,假设输入数据的尺寸为n×m,输出数据的尺寸为n×d,要想将输入数据降维为n×d,需要训练一个m×d的张量对输入数据进行变换,该张量称作嵌入层,通常由多层全连接神经网络组成。全连接神经网络由线性部分和非线性部分组成,线性部分为简单的线性加权求和,公式如下:

z=Wx+b

其中,输入数据为x=[x0,x1,...,xn]T,W为权重矩阵,b=[b0,b1,...,bm]为偏置项,z=[z0,z1,...,zm]为输出。

线性部分对输入数据进行多角度分析,非线性部分对输入数据进行标准化映射处理。

步骤2,特征提取

利用重参数化VGG网络和三重注意力机制提取并关注目标图像特征,采用形变双向长短期记忆网络对目标图像特征与编码后的蒙古文本特征即张量分别进行数次交互,之后送入到循环共同注意力Transformer网络中。

1)、Triplet-RepVGG

A、重参数化VGG

重参数化VGG将网络分为训练阶段与推理阶段,在训练阶段采用多分支网络结构提升模型精度,避免训练时的梯度弥散问题。但多分支网络结构会导致网络计算量增大,影响预测速度,故在推理阶段采用单分支网络结构,使用重参数化将多分支网络的权值转换到单分支网络中,其中多分支网络由大量小网络组成。

具体地,重参数化VGG在VGG网络的基础上应用重参数化技术,在网络中使用3×3卷积层、批归一化层、Relu激活函数,并引入残差分支(ResNet)和1×1卷积分支,将其堆叠成训练模型,取消残差网络的跨层连接,改为直接连接,通过融合分支,将推理网络变为单路结构。通过使用上述技术,重参数化VGG计算速度更快,所需内存更小,具有极高的灵活性。

重参数化权值转换过程如下:用表示具有C1输入通道和C2输出通道的3×3卷积层的卷积核,而表示1×1分支的卷积核。ν(3),σ(3),γ(3),b(3)表示3×3卷积操作后的批归一化层的累计均值,标准差,学习到的缩放因子和偏置,ν(1),σ(1),γ(1),b(1)为1×1卷积操作后的批归一化层参数,ν(0),σ(0),γ(0),b(0)为跟在恒等连接分支后的批归一化层参数。定义分别为输入和输出,而*为卷积操作符。假设C1=C2,H1=H2,W1=W2,则有下式:

M(2)=bn(Z(1)*W(3),ν(3),σ(3),γ(3),b(3))+bn(Z(1)*W(1),ν(1),σ(1),γ(1),b(1))+bn(Z(1),ν(0),σ(0),γ(0),b(0))

其中,bn是推理时批归一化函数,对于则有下式:

权值转换的核心是将批归一化层和前面的卷积层转换成单个包含偏置向量的卷积层,假设{W′,b′}是从{W,ν,σ,y,b}转换的核权值和偏置,则有下式:

转换后的卷积操作与原本的卷积与批归一化操作是相同的,如下式:

bn(Z*W,ν,σ,γ,b):,i,:,:=(Z*W′):,i,:,:+b′i

图5所示为重参数化VGG结构,图A为残差网络,网络主要由3×3的卷积层、1×1的卷积层、恒等连接(Identity)、Relu激活函数组成。图B为重参数化VGG训练阶段的网络结构,网络结构与残差网络类似,主要区别为重参数化VGG网络中的1×1恒等连接没有跨层传播,重参数化VGG包含2种残差结构,一种仅由1×1的卷积层构成,另一种由1×1的卷积层与恒等连接构成。图C为重参数化VGG推理阶段的网络结构,网络由3×3的卷积层和Relu激活函数组成,结构简单,可以加速模型推理。

B、三重注意力机制

Z-池化层主要作用为通过连接平均池化和最大池化将0维度的张量缩减到2维,该层能够保留大部分特并且缩小深度,使得网络轻量化。如下式:

Z-pool(x)=[MaxPool0d(x),AvgPool0d(x)]

其中0d表示最大池化与平均池化的第0个维度,例如,一个形状为(C×W×H)的张量经过Z-池化后形状为(2×W×H)。

三重注意力机制通过使用三分支结构捕获跨维度交互来计算注意力权重。通过旋转操作与残差变换建立维度间的依存关系,并且对网络的计算量影响小。

给定一个输入张量x∈RC×H×W,即经过卷积神经网络提取的目标图像特征,C、H、W分别表示输入特征集合R的通道数、高度、宽度,将其传入到三重注意力模块中的三个分支中,在第一个分支中,C与H进行交互,输入x首先沿H轴逆时针旋转90°,记为形状为(W×H×C)。之后经过Z-池化形状变为(2×H×C),记为通过k×k的卷积层与批归一化层,得到形状为(1×H×C))的输出并经过sigmoid激活函数生成的注意力权值,最后注意力权值应用于并沿着H轴顺时针旋转90°以保持和输入x的形状一致。

第二个分支与第一个分支的操作相同,不同的是C与W进行交互,输入x先沿W轴逆时针旋转90°得到之后经过Z-池化得到最后输出也是沿W轴顺时针旋转90°保持和输入的形状一致。

第三个分支中,输入x通过Z-池化得到形状为(2×H×W),之后通过k×k的卷积层与批归一化层,输出结果通过sigmoid激活函数生成形状为(1×H×W)的注意力权值,并将其应用于输入x,得到结果,最后通过简单的平均将3个分支产生的张量聚合在一起。对于输入张量x∈RC×H×W,经过三重注意力后得到输出y,公式如下:

其中σ表示sigmoid激活函数,ψ1,ψ2,ψ3分别表示三个分支中的卷积操作。

对上式进行化简得到下式:

其中ω1,ω2,ω3分别表示三个分支中的跨维度注意力权重,表示顺时针旋转90°。

图6所示为三重注意力机制,Input tensor分别通过3个分支得到最终结果。顶端的分支负责计算通道维度C与空间维度W的注意力权值,中间的分支负责计算通道维度C与空间维度H的注意力权值,底端的分支负责捕获H和W的空间依赖关系,在顶端与中间分支中,采用旋转操作建立通道维度与空间维度的联系,最后采用简单平均对三个分支进行聚合。

C、双向长短期记忆网络

长短期记忆网络被广泛应用于各种任务中,当前时刻的记忆单元c和隐藏层的输出值h计算公式如下:

f=σ(Wfxx+Wfhhprev+bf)

i=σ(Wixx+Wihhprev+bi)

j=tanh(Wjxx+Wjhhprev+bj)

o=σ(Woxx+Wohhprev+bo)

c=f⊙cprev+i⊙j

h=o⊙tanh(c)

其中,σ为sigmoid激活函数,⊙为点乘运算,W**和b*分别为权重矩阵和偏置。f表示遗忘门,cprev表示前一个记忆单元,i为输入门,j和o分别为候选状态和输出门,c和h分别表示当前时刻的记忆单元和隐藏层的输出值,遗忘门f用于遗忘前一个记忆单元cprev的信息,输入门i用来控制当前的信息的输入,输出门o用来控制记忆单元的输出。

双向长短期记忆网络由正向长短期记忆网络和反向长短期记忆网络组成,可以捕捉序列中的上下文信息,获取序列的未来信息和过去的信息,其隐藏层在t时刻的输出计算公式如下:

其中,表示前向输出向量,表示反向输出向量。

形变双向长短期记忆网络的主要方法是在双向长短期记忆网络计算之前,交替地让xt和ht-1交互,公式如下:

其中,r1和r2分别表示xt与ht-1的交互次数。

向量交互更新公式如下:

xi=2σ(Gihi-1)xi-2 while odd i∈[1...r]

hi=2σ(Dixi-1)hi-2 while even i∈[1...r]

其中,轮数r为超参数,r=0时模型为双向长短期记忆网络,矩阵Gi,Di为随机初始化矩阵,式中乘以一个常数2,是因为经过sigmoid激活函数后,其值分布在(0,1),反复乘下去,值会逐渐趋近于0。因此乘以一个2保证其数值的稳定性。

本发明中,形变双向长短期记忆网络通过将当前时间的输入xt和上一个时间的隐藏状态ht-1在输入长短期记忆网络之前进行多次交互,然后将所得向量作为长短期记忆网络的输入,从而增强网络的上下文建模能力,获得对上下文相关的表达,通过形变双向长短期记忆网络对蒙古文本与目标图像特征分别进行交互,可以显著增强对特征的表达,从而提升翻译质量。

形变双向长短期记忆网络中目标图像特征与蒙古文本特征的交互是独立的,两者无关,交互次数人为设置,根据经验,次数为4或者5时效果最好。

图7所示为5轮更新的形变双向长短期记忆网络。前一状态h0=hprev与门x-1=x通过sigmoid激活函数产生x1。线性变换x1与门h0产生h2,在多次重复门控循环后,h*与x*序列最后的值被输入到一个双向长短期记忆细胞。

步骤3,多模态翻译

以经过数次交互之后得到的目标图像特征与编码后的蒙古文本特征为输入,利用循环共同注意力Transformer网络进行蒙汉翻译,通过数次循环交互,将蒙古语言特征与视觉特征充分融合,输出目标语言。

循环共同注意力Transformer网络由循环共同注意力Transformer层、Transformer模块、融合层、Transformer解码器组成。循环共同注意力Transformer层采用多头注意力机制将步骤2得到的目标图像特征与编码后的蒙古文本特征进行循环交互送入Transformer模块,之后利用融合层将信息融合,并使用Transformer解码器对融合后的信息进行解码,输出目标语言。

循环共同注意力Transformer层中的循环交互与形变双向长短期记忆网络是不同的,循环共同注意力Transformer层输入为视觉特征信息和蒙古语言特征信息,视觉模块与语言模块利用多头注意力层对其进行融合交互,并将视觉与语言模块的输出作为视觉与语言模块的输入继续进行交互,循环k次,k默认为5,k可以取1-10,取1表示不循环,当k越大,模型所占用内存也越大,模型速度越慢。当循环k次后终止交互。通过多轮循环,可以有效的提高翻译质量,解决蒙古文翻译质量不佳的问题。

循环共同注意力Transformer层由视觉模块和语言模块组成,视觉模块由多头注意力机制、批归一化层、加法层、前馈层组成。语言模块与视觉模块构造相同,只不过语言模块输入为编码后的蒙古文本特征,视觉模块输入为编码后的图像特征(即目标图像特征)。通过将图像中各区域的信息作为上下文给蒙古文本加权,或者根据蒙古文本上下文给图像区域加权,使得网络可以同时捕捉视觉信息与蒙古文本信息,从而在翻译任务中提升翻译性能。

循环共同注意力Transformer层的具体架构如图8所示,在原Transformer编码器的基础上,将当前视觉特征和蒙古语言特征分别作为视觉模块和语言模块的输入。通过标准Transformer计算规则得到视觉查询QV、视觉键KV、视觉值VV、蒙古语言查询QW、蒙古语言键KW、蒙古语言值VW矩阵。将QV、KW、VW作为视觉模块多头注意力层的输入,VV、KV、QW作为语言模块多头注意力层的输入,两者经过加和归一化层、前馈层,之后将输出送到视觉和语言模块的输入继续进行循环交互,经过K次循环,最终分别得到下一阶段的视觉特征和蒙古语言特征

Transformer模块与标准Transformer编码器相同,对视觉模块的输出与语言模块的输出进行编码,循环共同注意力Transformer层通过在视觉模块和语言模块进行多次循环交互,可以更好地融合视觉和语言信息。

定义中间视觉和中间蒙古语言为通过标准Transformer计算规则得到查询,键和值矩阵。每个模块的键和值将作为另一个模块的多头注意力的输入。注意力模块会在视觉流中采用图像条件的语言注意力机制,而在语言流中采用语言条件的图像注意力机制,具体计算公式如下:

其中,FFN为前馈神经网络,MultiHead为多头注意力机制,表示加和归一化操作,分别对应第i次循环的视觉查询、蒙古语言键、蒙古语言值矩阵,分别对应第i次循环的视觉值、视觉键、蒙古语言查询矩阵,k为循环次数。

定义输入集合为X={x1,x2,...,xt,xt+1,...},其中t为时间序列{t|t=1,2,...,T},编码器将X作为输入,X经过存在依赖关系的路径进入注意力层,通过将训练过程中生成的3个矩阵(WQ,WK,WV),为每个样本生成查询向量Q,键向量K,值向量V。公式如下:

注意力机制广泛应用于图像、蒙古文本等领域,点乘注意力机制计算速度更快,同时更节省空间。计算公式如下:

其中,Q,K,V分别表示查询、键、值,softmax为激活函数,dk为输入维度,为缩放因子,当dk为一个很大的值时,Q和K点乘得到的结果维度很大,从而导致结果位于softmax激活函数梯度很小的区域,因此除以一个缩放因子,使得维度可以缩小。

多头注意力机制能够有效的对上下文依赖关系进行抽象并捕获句法和语义特征,通过利用不同的权值矩阵将输入特征线性映射到不同的信息子空间,并在每个子空间采用注意力机制进行计算,以对蒙古文本潜在的结构和语义进行学习,公式如下:

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

where headi=Attention(QWi Q,KWi K,VWi V)

其中,为参数矩阵,Concat为向量拼接操作,h为多头注意力的头数,WO是对各个头的注意力输出进行拼接后的向量线性映射函数。

前馈神经网络由两层线性层、Relu激活函数构成,主要作用为对句子中单词的词向量信息进行融合,作用与卷积神经网络中的1×1卷积操作相似。前馈神经网络并不处理时序信息,只负责对各个位置的信息进行变换,计算公式如下:

FFN(x)=max(0,xW1+b1)W2+b2

其中,W1和W2为权重矩阵,b1和b2为偏置。

融合层将循环共同注意力Transformer网络的两个输出拼接到一起,公式如下:

F=concat(FV,FL)

其中,FV为视觉模块输出的视觉和蒙古文本交互后的特征,FL为语言模块输出的蒙古语言和视觉交互后的特征,concat为张量拼接操作。

Transformer解码器在编码器的基础上,采用掩膜多头注意力模块处理来自前一个输出词汇的自注意力。解码过程如下:对当前第i个输入向量进行解码时,获取第i-1个以及之前的解码结果,解码器每一步只解码一个词,输出单词后作为解码器的输入,重复上述操作直到解码到<eos>为止。

将解码器的输出进行线性映射转换为概率向量,之后通过softmax激活函数输出归一化的类别概率值,找到概率最大的值所对应的单词,公式如下:

y=softmax(linear(o)W+b)

其中,o表示解码器的输出,linear为线性函数,W和b分别表示线性映射的权重矩阵及偏置。

本发明的整体流程如下:

(1)使用YOLO-V4对图像进目标检测;

(2)进行图文相关性检测;

(3)使用Triplet-RepVGG提取图像特征;

(4)使用形变双向长短期记忆网络对图像特征进行交互;

(5)使用编码层对蒙古文本进行编码;

(6)使用形变双向长短期记忆网络对蒙古文本特征进行交互;

(7)使用循环共同注意力Transformer网络对图像和蒙古文本进行交互;

(8)使用融合层将图像和蒙古文本信息融合;

(9)使用Transformer的解码器进行预测;

(10)进行网络训练;

(11)使用BLEU值评价蒙汉翻译模型。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于知识图谱的蒙汉非自回归机器翻译方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!