一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于预训练的多模态机器翻译方法与流程

2022-07-13 13:44:06 来源:中国专利 TAG:


1.本发明涉及一种多模态机器翻译技术,具体为基于预训练的多模态机器翻译方法。


背景技术:

2.机器翻译是利用计算机将一种自然语言转换成另一种自然语言的过程。机器翻译是自然语言处理领域的传统任务,它的发展经历了基于规则的方法、基于实体的方法、统计机器翻译再到现在的神经机器翻译。在近几年的主流模型框架transformer的基础上,已有大量的研究者对其进行了优化改进,如今的机器翻译技术已经相当成熟,应用到了日常生活中。
3.多模态机器翻译是将文本对应的图片信息引入传统的机器翻译过程的一项多模态任务。不同于机器翻译数十年的发展历程,多模态机器翻译课题作为传统神经机器翻译课题的延申,只发展了几年的时间。当前的多模态机器翻译任务,旨在利用与双语文本匹配的图片信息,来补充额外信息、增强翻译,是一项跨模态、跨领域的研究任务。
4.对于多模态机器翻译的图片部分,由于现有的多模态机器翻译数据集规模有限,很难从头训练一个图片特征抽取器。现有的方法都是基于预训练的模型,如resnet、rcnn等,提取图片特征,从而获得充分的图片内容表示能力。对于文本部分,当前的数据规模足以从头训练一个优秀的翻译模型,因此现有的讨论往往忽略了文本模块作为核心部分对多模态机器翻译的影响。实际上,很多的翻译错误来源于文本翻译本身,所以需要图片提供额外的正确信息进行补充。
5.由于目前多模态机器翻译方法大多局限于模态信息的提取与模态交互结构的改进,此类方式在文本非受限的情况下,性能的提升十分有限。换而言之,当前的方法无法解决充分文本本身存在的问题。基于当前存在的问题,图像部分的预训练方法给予了启示,对于数据量稀缺的多模态机器翻译,通过大规模的预训练能够进一步提升翻译质量,解决文本本身存在的问题。然而,多模态机器翻译数据稀缺的问题,同样也是双语和图像联合预训练的瓶颈。虽然目前已有研究人员通过扩充多模态机器翻译数据集做了预训练,一定程度上证明了预训练的作用。但是数据稀缺的问题使得直接预训练的方式只适用于当前测试集文本简单的情况,很难处理更复杂的任务。
6.针对上述问题,考虑到大规模文本预训练模型mbart具有强大的文本表示能力,将其迁移到多模态机器翻译领域,能够充分利用预训练模型的文本表示能力,突破数据稀缺导致的性能瓶颈,进一步提升多模态机器翻译的性能。在使用文本预训练模型增强多模态机器翻译时,也面临着以下问题:如何将图像模块融入文本预训练的mbart模型,如何对齐图片表示与文本表示,如何进行模型的微调。这些问题的存在,使得目前在多模态机器翻译领域文本预训练模型的应用还不成熟,需要进一步的探索。
transformer模型的编码器结构,得到图片编码表示。
26.步骤4)中,设计提示模板,连接图片编码表示和文本编码表示,送入mbart模型的编码器模块,具体为:
27.401)设计提示模板,将图片编码表示为x,源语言文本编码表示为y,目标语言文本编码表示为z,提示模板表示为“[提示1]”、“[提示2]”、“[提示3]”,连接得到编码器输入编码表示“[提示1]:x[提示2]:y”;
[0028]
402)使用预训练模型的位置编码模块编码文本部分得到文本位置编码,将图像部分每一维视作相同位置进行编码,得到图片位置编码;将文本位置编码和图片位置编码连接后,与输入编码表示相加,送入预训练模型的编码器模块,进行图像文本的联合表示学习;
[0029]
403)连接提示模板和目标语言文本编码得到解码器输入编码表示“[提示3]:z”,送入预训练模型的解码器模块,进行目标语的自回归生成。
[0030]
步骤5)中,固定预训练模型的预训练参数,计算文本编码表示与图片编码表示的kl散度,将得到的损失l
kl
与预训练模型原有的交叉熵损失l
ce
相加,得到新的损失l,进行模型的微调;损失公式为:
[0031]
l=l
ce
αl
kl
[0032][0033][0034]
其中,p(
·
)表示归一化的文本编码表示、q(
·
)表示归一化的图片编码表示,xi表示分布的第i维,l
ce
为交叉熵损失,l
kl
为kl散度损失。
[0035]
本发明具有以下有益效果及优点:
[0036]
1.本发明通过大规模文本预训练模型的使用,能够有效地将预训练的文本知识迁移到多模态机器翻译领域。使用kl散度损失来对齐图像表示与文本表示,成功地将图像模块融入文本预训练模型中,提升了多模态机器翻译的性能。
[0037]
2.与此同时,本发明通过vision transformer模型的图片编码方式,将图片编码成类似文本的词串形式,在获得强大的图像特征抽取能力的同时,能更好地对齐图像表示和文本表示。
[0038]
3.本发明成功地将大规模文本预训练模型应用到了多模态机器翻译领域,为后续在其他多模态任务上利用文本预训练模型的知识和对齐不同模态信息提供了思路。
附图说明
[0039]
图1为本发明方法中模型结构图示;
[0040]
图2为本发明方法中图片划分图示。
具体实施方式
[0041]
下面结合说明书附图对本发明作进一步阐述。
[0042]
本发明针对传统的多模态机器翻译技术大多局限于模态信息的提取与模态交互结构的改进,性能提升十分有限这一现状,提出一种基于预训练的多模态机器翻译方法。该方法成功地将大规模文本预训练模型应用到多模态机器翻译领域,通过vision transformer模型来提取图片编码表示,设计提示模板和引入kl散度损失来对齐图像与文本,在达到有效的多模态机器翻译的同时,为后续的其他多模态研究提供了更多的可能。
[0043]
本发明方法步骤如下:
[0044]
1)处理多模态机器翻译数据集multi30k,包含文本描述和对应图片两部分输入;
[0045]
2)构建vision transformer模型,处理图片输入,得到图片编码表示;
[0046]
3)利用huggingface的预训练模型参数,用于构建基于transformer结构的mbart模型,文本输入经过mbart模型的embedding层,得到文本编码表示;
[0047]
4)设计提示模板,连接图片编码表示和文本编码表示,送入mbart模型的编码器模块;
[0048]
5)固定mbart模型的预训练参数,将kl散度引入损失函数计算,进行模型的微调。
[0049]
步骤1)中,从公开多模态机器翻译数据集multi30k中获得训练数据,将图片划分成固定大小的子图片,每个子图片称作patch,再调整其维度至对于模型的输入大小合适,得到对每一个patch的编码,即图片嵌入向量。这一过程如图2所示,具体为:
[0050]
101)以输入(batch,3,384,384),每个patch分辨率为32*32为例,划分为子图片的过程的具体过程:首先,将每张图片切分成12*12个小块,即从(batch,3,32*12,32*12)到(batch,3,12*12,32*32),再将其转换成(batch,12*12,32*32*3),相当于分成了12*12个patch,每个patch的维度是32*32*3。这一过程的实现可通过以下计算:
[0051]
x=rearrange(img,

b c(hp1)(w p2)

b(hw)(p1 p2 c)

)
[0052]
其中,rearrange函数是einops库的算子,p1、p2是一个patch的高和宽的像素数,c是通道数,b是batch数,batch代表模型训练时数据划分的批次,h,w分别是图像的高和宽的像素数。
[0053]
102)划分子图片后,得到图片的嵌入向量,还需对其维度进行调整。这里图片嵌入向量经过一层全连接层调整维度至1024,作为模型的输入。
[0054]
步骤2)中,构建vision transformer模型,处理图片嵌入向量输入,得到图片编码表示,具体为:
[0055]
201)使用2维的sincos编码方式编码位置信息,编码公式为:
[0056][0057][0058]
其中,pe为二维矩阵,行表示子图片,列表示位置向量;pos表示子图片在图片中的位置;d
model
表示位置向量的维度;i表示位置向量的位置;
[0059]
202)将图片嵌入向量、二维位置编码向量连接后得到输入向量,将其送入vision transformer的编码器结构,得到图片编码表示。
[0060]
步骤3)中,利用huggingface的预训练参数,构建基于transformer结构的mbart模型。将文本数据通过mbart模型的embedding层后,得到文本编码表示,这一过程如图1所示。
[0061]
步骤4)中,设计提示模板,连接图片编码表示和文本编码表示,送入mbart模型的编码器模块,这一过程如图1所示,具体为:
[0062]
401)设计提示模板,将图片编码表示为x,源语言文本编码表示为y,目标语言文本编码表示为z,对应提示模板为“img”、“en”、“de”,连接得到编码器输入编码表示“img:x en:y”。
[0063]
402)使用mbart的位置编码模块编码文本部分得到文本位置编码,将图像部分每一维视作相同位置进行编码,得到图片位置编码。将文本位置编码和图片位置编码连接后,与输入编码表示相加,送入mbart模型的编码器模块,进行图像文本的联合表示学习;
[0064]
403)连接提示模板和目标语言文本编码得到解码器输入编码表示“de:z”,送入mbart模型的解码器模块,进行目标语的自回归生成。
[0065]
步骤5)中,固定mbart模型的预训练参数,计算文本编码表示与图片编码表示的kl散度,得到损失l
kl
与mbart模型原有的交叉熵损失l
ce
相加,得到新的损失l,进行模型的微调。损失公式为:
[0066]
l=l
ce
αl
kl
[0067][0068][0069]
其中,l
ce
为交叉熵损失,l
kl
为kl散度损失,p(
·
)表示归一化的文本编码表示、q(
·
)表示归一化的图片编码表示,xi表示分布的第i维。
[0070]
本实施例以数据集multi30k为例,将基于预训练的多模态机器翻译模型应用到multi30k的英德-2016任务和英法-2016任务上。multi30k数据集包含31014张图片和对应的双语文本,构成训练和测试的数据。通过表1可以发现,本发明提出的方法对比文本翻译的transformer模型,和传统的设计图片与文本交互模块的多模态机器翻译模型,在bleu值上均有明显提升。证明了本发明提出的方法能够有效利用图片信息和预训练的文本知识,提升多模态机器翻译的性能。
[0071][0072]
表1实验结果对比
[0073]
本发明提出了一种基于预训练的多模态机器翻译方法,能够将大规模文本预训练模型mbart的知识迁移到多模态机器翻译领域,增强翻译性能。这种方式通过使用vision transformer模型提取图片特征,获得图片表示。通过设计提示模板和引入kl散度损失,对齐图像表示与文本表示,解决文本预训练下多模态信息不匹配的问题。使用文本预训练模
型处理多模态任务,验证了大规模文本预训练模型的文本表示能力,验证了多模态信息对齐的重要性。与此同时,预训练的多模态机器翻译方法也为未来其他多模态领域下的任务提供了新的思考。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献