CN112016604A - 一种运用视觉信息的零资源机器翻译方法 - Google Patents
一种运用视觉信息的零资源机器翻译方法 Download PDFInfo
- Publication number
- CN112016604A CN112016604A CN202010835980.2A CN202010835980A CN112016604A CN 112016604 A CN112016604 A CN 112016604A CN 202010835980 A CN202010835980 A CN 202010835980A CN 112016604 A CN112016604 A CN 112016604A
- Authority
- CN
- China
- Prior art keywords
- translation
- model
- translation model
- training
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种运用视觉信息的零资源机器翻译方法,该方法具备翻译能力前需要使用含有图片信息的单语语料训练一个翻译模型。在训练完成后,本方法就有了翻译的能力。本发明的创新点在于在没有平行语料而具有对应图片的情景(零资源情景)下达到良好的翻译性能。本发明以Transformer为基础翻译模型,并引入预训练语言模型,在减少训练时间的同时提升性能。本发明在典型Transformer中引入多模态模块,使得翻译模型能够融合处理多模态数据。本发明利用了屏蔽序列恢复和回译两种训练方法优化模型参数,使得翻译模型能够在零资源场景下完成训练。
Description
技术领域
本发明涉及计算机技术领域,涉及机器翻译技术,特别涉及一种运用视觉信息的零资源机器翻译方法。
背景技术
背景技术涉及:零资源机器翻译,Transformer模型及图像编码。
1)零资源机器翻译
零资源机器翻译是在零资源场景下学习机器翻译的技术。零资源机器翻译是机器翻译的一种,其目标与典型机器翻译相同,同样是将源语言的语句翻译成目标语言的语句,但是零资源机器翻译的训练过程中不能使用直接或间接的平行语料,而是使用其它模态的信息连接起两种语言。
机器翻译的目标是将源语言的语句翻译成目标语言的语句。用S标记源语言,用T标记目标语言,一个语言L(即S或T)的第i句语句用XL (i)表示,这个语言上的数据集由这些语句构成,表示为NL是这些语句的数量。每一句语句由一系列有序的符号(token)组成,即其中每个符号来源于该语言L的词汇表VL,即任意一个符号xi∈VL。对于一个机器翻译系统的翻译函数来说,其目标是令源语言的输入语句XS的翻译结果与目标语言输出语句XT语义相同。机器翻译系统也可以是双向的,双向的机器翻译系统不仅提供从源语言翻译至目标语言的函数也提供从目标语言翻译至源语言的函数
在典型机器翻译中,系统在能够进行翻译任务之前需要接受训练,而且这个训练过程中会使用到平行语料,即语义相互对应的一对语句XS与XT。这个训练过程的数据集是成对语句的集合N是语句对的数量。翻译模型的翻译结果 会被用于和XT对比,通过某种损失函数计算出损失值,使用梯度下降技术更新翻译模型中的相关参数,从而训练出一个可用的翻译模型。
零资源机器翻译与典型机器翻译的区别在于“零资源”。在零资源机器翻译中,训练过程不需要平行语料,而是利用其他信息作为桥梁间接地连接两种语言,例如使用第三种语言或者利用图片模态(视觉模态)。在现实生活中,人类也可以使用第三种语言解释两种语言,或者使用图片将两种语言的事物对应起来(例如使用一张狗的图片指代中文词汇“狗”和英文词汇“dog”)。因此零资源机器翻译任务符合现实世界中人类学习外语的方式,是可行的。
具体地说,零资源机器翻译任务与典型机器翻译任务有两点不同。第一点是零资源机器翻译的训练过程不使用平行语料。这意味着零资源机器翻译的数据集不再是语句对的形式,而且两个语言有各自的语句集,即和NS和NT是两种语言各自语句的数量,它们未必相等,而两个语句集中的语句也没有对应关系。第二点不同是零资源机器翻译需要额外的信息来沟通两种语言,这种信息被称为枢轴(pivot)。例如以第三语言为枢轴的零资源机器翻译和以图片为枢轴的零资源机器翻译等。在以图片为枢轴的零资源机器翻译中,每个句子都有一张相对应的图片,这句句子是这张图片的描述。因此,每个语言中的数据除了语句集还有与语句对应的图片集。具体地说,每个语言上有一个语句图像对的集合其中IL (i)是与XL (i)对应的一张图像。需要注意的是,两个语言中的图片集含有相似的图片,但是不需要重合,即与未必含有相同元素,否则将产生间接的平行语料。
结合机器翻译任务的定义和零资源机器翻译与它的区别,可以给出零资源机器翻译任务的定义:对于源语言S和目标语言T,零资源机器翻译任务可用的数据是源语言和目标语言的语句图片对集合及两个语言的语句集中不包含语义相同的句子对(即没有直接平行语料),两个语言的图片集中也无需包含相同的图片(即没有间接平行语料);这一任务的目标是在这样的数据集上训练出一个机器翻译模型它将输入的某一句源语言语句XS翻译成一句目标语言输出语句并且与XT语义相同。
现有的零资源机器翻译技术中往往使用了基于循环神经网络(RNN)的技术,还尚未利用到最先进的模型。基于Transformer的技术以及适用于Transformer的预训练模型最近几年在自然语言处理相关领域展现出优秀的性能,并因此逐渐受到关注,但还未在零资源机器翻译中得到运用。
2)Transformer模型
Transformer是一种基于Attention机制设计的模型,适合处理文本这样的序列数据。Transformer由多个Transformer块堆叠组成。每个块之中包含一个多头Attention模块和一个全连接层,它们之间使用残差方式连接。
一个Transformer块中的多头Attention模块基于传统Attention机制。Attention机制作用于序列数据,输入是N个向量组成的矩阵X=[x1x2…xN]。在Attention机制中,它们也被称为value变量。除了value变量,Attention机制的输入还有一系列key变量组成的矩阵K=[k1k2…kN]和一个query变量q(在多次计算时可以是一系列query变量)。这两者中,key变量与输入变量一一对应,往往是value变量的函数;而query变量则是本次Attention计算参照的对象,在Self-Attention情景下query变量也可以是value变量的函数。
Attention机制计算时,使用一个评分函数s参照q为每一个xi计算权重αi,符合式子
αi=softmax(s(ki,q)),#(1)
则Attention机制的输出是
一种常见的评分函数是点积函数
Attention机制的计算结果是query变量的函数,不同的query将从序列中“查询”出不同的结果。这是因为评分函数会对比query变量与key变量,从而为每个value变量计算分数,而这个分数会影响到每个value变量在结果中的比重。如果query是一系列变量,输出的一系列变量也可以组成一个输出矩阵。
多头Attention模块与传统Attention机制的区别在于它是多头的。在每一个多头Attention模块中有h个并行的Attention头(head),每个头的计算方式相同,仅参数不同。
每个头headi的计算结果是
headi=attention(Wi QQ,Wi KK,Wi VV).#(4)
多头Attention的输出结果Multi-Head(Q,K,V)是各个头拼接后的线性变换
Multi-Head(Q,K,V)=concat(head1,…,headh)WO.#(5)
之后的全连接层中会对输入做两次线性变换,即
OutFF=tanh(W2tanh(W1InFF)).#(6)
在Transformer编码器中,每一层Transformer块中多头Attention的三个输入都是上一层的输出。这种三个输入来源于同一个变量的设计叫做Self-Attention,是Transformer中的关键设计。Transformer块中的连接都是残差连接。以全连接层为例,它的输入并不仅仅是前一层的输出,而是前一层的输出加上前一层的输入并规范化的结果。即
InFF=Norm(OutMH+InMH).#(7)
类似地,全连接层的输出也有这样的残差连接,即某一个块的输出是
OutBlock=Norm(OutFF+InFF).#(8)
在Transformer解码器中,除了多头Attention模块和全连接层,还有基于多头Attention模块的编码Attention模块,它位于多头Attention模块和全连接层之间。它将编码器的输出作为多头Attention模块的query变量,而key变量和value变量依然来源于上一层模块。也就是说编码Attention模块的计算符合
Encoder-Attention(enc,value)=Multi-Head(enc,value,value).#(9)
此外,为了防止Teacher Forcing方法下Transformer解码器中的Attention模块提前读取到将来的输入,Attention模块中加入屏蔽机制,保证被屏蔽的位置不会参与Attention评分。这种屏蔽机制也可能被用于其它Attention模块中。
Transformer领域常常运用到预训练的模型。Transformer的预训练技术大幅减少了基于Transformer的系统的训练时间,加速了高性能模型的推广。以BERT为代表一系列预训练模型往往在大规模语料上训练模型完成某个特定的预训练目标,使得模型可以在下游任务中仅需要一些微调即可达到良好的性能。
现有技术常常在有监督的情景下运用Transformer,而很少在零资源和无监督的情景下运用。如果要将Transformer运用到零资源机器翻译任务中,必须要设计特殊的训练方式及损失函数。另一方面,Transformer还很少将视觉模态的信息一并处理,导致Transformer在多模态领域应用不足。
3)图像编码
在计算机系统中,图像往往以RGB三通道的数值矩阵的形式呈现。图像编码技术将这样的图像映射到一个编码空间中,使得图像作为一个或多个矢量参与到计算中。图像编码器往往是一种卷积神经网络(CNN)。
卷积神经网络的名字来源于卷积层的运算。卷积层以相邻的数个元素为输入,并用过滤器将它与各种模式比对,尝试匹配有用的模式。过滤器是一个特定大小的矩阵,往往是方阵,计算时与另一个相同大小的矩阵按元素相乘并相加。
将过滤器逐区域地作用在图片上即可将图片卷积起来,形成的矩阵中的每个元素描述了每个图片区域与过滤器的匹配程度。这是因为在过滤器正值位置数值大、在过滤器负值位置数值小的区域的卷积结果数值较大;反之卷积结果数值较小。神经网络中训练生成的底层过滤器擅长寻找固定方向的线条、线条的结束、曲线等特征。
池化层中,最常见的最大池化(max pooling)方法寻找局部的最大值,相当于从之前卷积层过滤出的结果中选择匹配程度最高的部分,而那些难以与过滤器相匹配的部分、匹配得不完整的部分则会被忽略。卷积层与池化层两者相结合,可以从图片中拆解出关键部件,并且搜寻能力不受图形平移的影响。
CNN也有成熟的预训练模型甚至是预训练编码。ResNet等模型常被作为各种系统中图像编码器的基础架构。而在图像编码器的参数无需优化的部分场景下,预训练模型的计算结果将是确定不变的,实际上并不需要实时运算,因此可以直接将图像编码代替图像编码器的结果输入系统。这种做法节省了计算量,压缩了训练阶段的时间。
发明内容
本发明的目的在于提供一种运用视觉信息的零资源机器翻译方法,该方法在没有平行语料而具有对应图片的情景(零资源情景)下达到良好的翻译性能。本发明以Transformer为基础翻译模型,并引入预训练语言模型,在减少训练时间的同时提升性能。
实现本发明目的的具体技术方案是:
一种运用视觉信息的零资源机器翻译方法,该方法包括如下步骤:
步骤一:建立源语言和目标语言上的多模态单语语料作为训练数据集
,数据集中的每个样本是图片及其描述;
步骤二:基于多模态模块建立多模态的翻译模型,所述翻译模型将被训练并被用于机器翻译;
步骤三:获取一个在单语语料上预训练的语言模型,利用预训练语言模型的参数初始化所述翻译模型中的对应参数,并将多余参数丢弃;
步骤四:获取一个预训练的图像编码模型,利用图像编码模型编码视觉模态信息,并保持训练过程中图像编码模型的参数不变;
步骤五:先后或同时采用屏蔽序列恢复损失和回译损失两种训练方式,利用所述训练数据集训练翻译模型中的参数,得到训练后的翻译模型;
步骤六:基于所述训练后的翻译模型,完成机器翻译。
步骤二所述多模态模块,符合下列式子:
αi=softmax(s(ki,q))#(10)
headi=attention(Wi QQ,Wi KK,Wi VV)#(12)
Multi-Head(Q,K,V)=concat(head1,…,headh)WO#(13)
Multi-Modal(XL,IL)=Multi-Head(IL,XL,XL)#(14)
Attention机制中ki是Attention机制中的一个key变量,q是Attention机制中的query变量,s是评分函数,αi是Attention权重;K是key变量组成的矩阵;X是value变量组成的矩阵,a是value变量的加权平均,也是Attention机制的输出;在多头Attention模块的每个头headi中,query变量能够组成矩阵Q;并且key变量、query变量、value变量都会经历一次线性变换,对应线性变换矩阵分别为Wi Q,Wi K,Wi V;多头Attention模块的每个头headi在拼接后再由线性变换矩阵WO做一次线性变换,多头Attention模块的计算结果是Multi-Head(Q,K,V);最后,多模态多头Attention模块把L语言下的视觉模态编码IL作为query变量,把文本模态编码XL作为key变量和value变量,多模态多头Attention模块的计算结果是Multi-Modal(XL,IL)。
步骤五所述屏蔽序列恢复损失指:单语语句被屏蔽一部分后作为翻译模型输入,而翻译模型的参考输出是被屏蔽的部分,翻译模型的损失项来源于翻译模型输出与参考输出的差距;屏蔽序列恢复损失在单语语料下训练翻译模型,使得翻译模型能够构造合理的语句;详细步骤包括:
步骤a1:从输入的符号序列中屏蔽部分连续的符号;被屏蔽的部分就是翻译模型的参考输出;
步骤a2:将屏蔽后的符号序列作为翻译模型输入,获取翻译模型的输出;
步骤a3:将翻译模型输出和参考输出对照,使用交叉熵计算得出屏蔽序列恢复损失项;
步骤a4:按照屏蔽序列恢复损失或者一个含有屏蔽序列恢复损失项的损失函数进行梯度下降。
步骤五所述回译损失指:某一个训练迭代中当时的现有翻译模型被用于构造合成平行语料,作为翻译模型的训练数据;这对平行语料中,翻译模型输入是由单语语料翻译而来的翻译模型的参考输出是原有的单语语料XS;回译损失来源于翻译模型输出和参考输出XS的差距;详细步骤包括:
步骤b1:在一个迭代中,使用当时的翻译模型推断输入语句的翻译;翻译结果作为常量使用,不影响梯度下降;
步骤b2:将翻译结果再次输入翻译模型,获取回译结果;
步骤b3:把回译结果与第一次翻译的输入对照,得到回译损失;
步骤b4:按照回译损失或者一个含有回译损失项的损失函数进行梯度下降。
所述步骤六具体包括:
步骤c1:将输入文本按照与训练时相同的分词方法分成符号,构成符号序列;
步骤c2:将符号序列输入到翻译模型中;
步骤c3:解码器每次会产生一个输出符号,因此迭代更新解码器的输入,直至输出符号序列生成完成;
步骤c4:将输出符号序列恢复为文本,作为输出语句。
本发明的有益效果在于:本发明结合以上技术训练出一种机器翻译模型,这个翻译模型在不需要平行语料训练的情况下达到了良好的翻译性能。具体包括:
1.利用预训练模型简化翻译模型训练过程,并改善翻译效果。
2.在Transformer模型中额外引入对图片信息的处理,使得Transformer能够同时处理多模态数据。
3.在多模态Transformer的训练过程中采用屏蔽序列恢复和回译两种损失项,在零资源背景下训练翻译模型使其获得翻译能力。
附图说明
图1为本发明流程图;
图2为以屏蔽序列恢复损失训练的多模态Transformer模型示意图。
具体实施方式
以下结合具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提出一种新的机器翻译方法,该方法在没有平行语料的情况下,把图片信息作为桥梁,通过多模态的Transformer模型学习获得两种语言之间的翻译能力。
本发明中运用到了Transformer以及ResNet,构成了本发明中翻译模型的基础。但是Transformer以及ResNet参数众多,在小的数据集上无法得到充分训练;而且直接进行训练的话难以得到合适的参数。为此,本发明中从预训练模型中获得参数初始化本发明的翻译模型中相对应的部分。
Transformer是针对单模态的序列数据设计的模型,计算过程中没有融入多模态数据。为了把Transformer运用到多模态场景中,需要对Transformer模型做一些改动。Transformer由多层Transformer块堆叠而成,其中每个块中主要包含多头Attention模块和全连接层。为了引入多模态数据,在多头Attention模块和全连接层之间插入一个多模态模块。多模态模块类似多头Attention模块但是query变量不再是文本模态,而是视觉模态的数据。多模态模块的设计使得Transformer的计算过程中可以参考图片信息,补充单模态信息的不足。
损失函数决定了这个翻译模型如何在零资源背景下学习翻译。首先引入屏蔽序列恢复损失项。在这种训练方式下,翻译模型的输入是屏蔽了部分符号(token)的文本序列,输出是对屏蔽部分的估计,损失由估计输出和实际被屏蔽的符号之间的差距确定。通过参考上下文恢复屏蔽部分,翻译模型既可以学习到如何构造合乎语法的句子,又能学习到如何理解上下文的语义。需要注意的是这种损失仅能训练翻译模型在单语下的语言能力。
此外还有回译损失。这种训练方式下,一个语言的输入被翻译成另一个语言后再次被翻译成前一种语言。两次翻译中的前一次不接受训练,其翻译结果作为常数使用;后一次翻译将被视为利用了合成平行语料的翻译过程,并以此计算损失项,这个损失项来源于最终两次翻译后的结果和最初输入前的文本的差距。这个损失项通过合成平行语料给翻译模型提供了学习翻译能力的方法,能够训练翻译模型在两种语言之间进行翻译。
以下是训练翻译模型的具体实施例。在这个实施例中使用的预训练语言模型是MASS,图像编码预训练模型则是ResNet;训练过程分为两阶段:先用屏蔽序列恢复损失训练,再用回译损失微调;训练与测试数据来自于IAPR TC-12数据集;本实施例中实现英德语言的互相翻译。
步骤一:首先准备好两种语言中的多模态单语语料。一个语言中的文本首先被分词,被切分成多个符号(token)。由于要应用预训练语言模型,文本的分词方式必须与MASS预训练语言模型一致。因此文本分词时需要完全按照MASS模型的分词方式,即BPE编码。BPE编码是一种将词语分成子词的分词方法,在单语言语料上训练后可以找出高频出现的子词并作为文本的最小单元。使用了和预训练模型相同的BPE编码后,被分词的文本才能被映射到正确的向量空间,否则预训练模型将无法正确地处理输入数据。
步骤二:处理完输入数据后建立翻译模型。建立翻译模型时需要考虑与预训练模型的兼容性。在本发明中,有部分参数目前无法使用预训练模型初始化。多模态Transformer中,多模态处理模块目前并没有可用的预训练模型,因此本实施例中将多模态处理模块随机初始化。另一方面,在本实施例的翻译模型中,为了压缩翻译模型规模,一个完整的Transformer中只有4层编码器块(即NE=4)、4层解码器块(即ND=4),少于MASS预训练模型的6层。
步骤三:从MASS模型的主页获得在单语语料上预训练过的MASS模型。由于本实施例的翻译模型中的多模态Transformer仅有4层,所以MASS预训练模型中前4层的参数被用于初始化翻译模型中的对应参数,而后两层的参数未被使用。
步骤四:对于所有的图片,需要用ResNet处理并在多模态Transformer中使用。按照本发明处理视觉模态的方式,视觉模态数据在整个训练过程中被固定为一个值,损失函数的梯度不会被ResNet的参数用于梯度下降,因此ResNet参数不会改变,视觉模态的编码方式也就自始至终是不变的。认识到这一点,本实施例中将所有数据集中的图片预先用ResNet处理成各自的编码,将其作为多模态Transformer中特定阶段的输入常量,代替ResNet模型的运算结果。这种方式节省了计算量,也缩小了翻译模型的规模。
步骤五:首先是两阶段的第一阶段:基于屏蔽序列恢复损失训练。L语言中一句语句被分词后会变成符号序列在屏蔽序列恢复任务中,首先选择需要屏蔽的连续下标,自u开始到v为止。使用xu:v表示被屏蔽的部分,长度为v-u+1;用x\u:v表示屏蔽部分被屏蔽后的全长序列,其长度为其中被屏蔽的部分被特殊符号<MASK>代替。
输入序列随后被多模态Transformer处理。多模态Transformer处理输入的方式以原Transformer为基础,加入了融合文本与视觉模态的多模态模块。在被NE个Transformer编码器块处理前,输入首先要加上位置编码。位置编码在输入中融入了相对位置的信息。在每个Transformer编码器块中,输入数据首先由文本模态的多头Attention模块处理,经过残差连接后由多模态多头Attention模块处理。这个模块的输入既有文本模态的信息XL (i)也有视觉模态信息IL (i),它的运算是将视觉模态信息作为多头Attention模块的query变量,而将文本模态信息作为key和value变量。多模态多头Attention模块的计算符合
Multi-Modal(XL,IL)=Multi-Head(IL,XL,XL).#(15)
类似于编码器块中的另外两个模块,这个模块的输出也以残差连接的方式输出到下一阶段(即全连接层)。整个编码器块的结构展示于图2左侧;需要注意的是,图中只展示了单个编码器块中的组成部分,但是实际运算时需要经过NE个编码器块。
Transformer的编码器部分将中间编码交给Transformer解码器。Transformer解码器中,输入是右移的xu:v,但是首符号被特殊符号替换且xu:v的最后一个符号被丢弃。这种输入形式体现了Teacher Forcing训练方式。Transformer解码器与Transformer编码器类似,由多层的Transformer解码器块构成。在Transformer解码器块中,输入数据同样先由多头Attention处理,再由多模态多头Attention处理。随后解码器使用编码Attention模块从编码器的输出中获得信息。最后依然是由全连接层处理。整个解码器块的结构展示于图2中央;需要注意的是,图中只展示了单个解码器块中的组成部分,但是实际运算时需要经过ND个解码器块。
训练或微调时,解码器的输出被用于计算损失。解码器输出的维度是dmodel,使用一个从dmodel到nword的线性映射计算每个单词的评分,nword是词汇表的大小。这个评分被用于计算交叉熵损失,优化器则会按照这个损失对需要优化的参数进行梯度下降。本实施例中使用了Adam优化器。
以上是使用屏蔽序列恢复损失的训练过程,而第二阶段:基于回译损失的微调过程有所不同。训练数据是两种语言间的合成平行语料。这对平行语料中,翻译模型编码器输入是由单语语料翻译而来的翻译模型的参考输出是原先的单语语料XS,训练阶段解码器输入也采用Teacher Forcing,是右移后的参考输出。这个训练过程的损失来源于翻译模型输出和XS的差距,此处同样使用交叉熵。
本发明中不要求两个损失是分别作用还是同时作用(指两个损失项乘以系数相加后作为一个损失函数指导训练过程),但在本实施例中,首先使用屏蔽序列恢复损失训练,随后再使用回译损失微调。两者在时间上是先后关系,而不会同时作用。这实质上将训练过程分为两阶段:训练及微调。任何阶段中,使用Adam优化器优化翻译模型的参数。
步骤六:使用训练完成的翻译模型进行翻译。实际使用本发明时,将待翻译语句按照特定BPE编码方式编码后输入翻译模型。翻译模型中解码器的输出被用于生成文本。首先把解码器的输出线性映射成各个符号的评分,随后按照特定生成方式来生成文本。此处可以使用的技术包括但不限于贪心、采样、Beam Search等。本实施例使用了Beam Search。解码器的输入无法使用Teacher Forcing,因为只有训练时才有参考输入。因此解码器使用自回归方式生成文本,需要循环多次以获得完整的输出序列每一次的解码器输入是上一次循环产生的序列。使用Beam Search方法生成输出序列的过程展示在图2的右侧。翻译模型输出的序列是子词符号序列,需要按照BPE编码指定的还原方式将其还原成词语组成的句子。
本实施例的测试过程在Multi30k和IAPR TC-12上实施。这两个数据集的形式类似,都为一张图片提供了多语言描述,并且各个语言的描述互相对应。测试数据集的训练集和验证集会被对半分成两个语言上的多模态单语语料,也就是包含一张图片及其描述。这样就能将其作为零资源机器翻译的数据集。在两个数据集上训练并测试后,得出本实施例的翻译性能,记录在
表格1中。测试结果显示本翻译模型的翻译优于其它已知的零资源机器翻译模型。
表格1各个数据集、各个语言对上的翻译性能(BLEU分数)
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (5)
1.一种运用视觉信息的零资源机器翻译方法,其特征在于,该方法包括如下步骤:
步骤一:建立源语言和目标语言上的多模态单语语料作为训练数据集,数据集中的每个样本是图片及其描述;
步骤二:基于多模态模块建立多模态的翻译模型,所述翻译模型将被训练并被用于机器翻译;
步骤三:获取一个在单语语料上预训练的语言模型,利用预训练语言模型的参数初始化所述翻译模型中的对应参数,并将多余参数丢弃;
步骤四:获取一个预训练的图像编码模型,利用图像编码模型编码视觉模态信息,并保持训练过程中图像编码模型的参数不变;
步骤五:先后或同时采用屏蔽序列恢复损失和回译损失两种训练方式,利用所述训练数据集训练翻译模型中的参数,得到训练后的翻译模型;
步骤六:基于所述训练后的翻译模型,完成机器翻译。
2.如权利要求1所述的运用视觉信息的零资源机器翻译方法,其特征在于,步骤二所述多模态模块,符合下列式子:
αi=softmax(s(ki,q))#(1)
Multi-Head(Q,K,V)=concat(head1,…,headh)WO#(4)
Multi-Modal(XL,IL)=Multi-Head(IL,XL,XL)#(5)
Attention机制中ki是Attention机制中的一个key变量,q是Attention机制中的query变量,s是评分函数,αi是Attention权重;K是key变量组成的矩阵;X是value变量组成的矩阵,a是value变量的加权平均,也是Attention机制的输出;在多头Attention模块的每个头headi中,query变量能够组成矩阵Q;并且key变量、query变量、value变量都会经历一次线性变换,对应线性变换矩阵分别为多头Attention模块的每个头headi在拼接后再由线性变换矩阵WO做一次线性变换,多头Attention模块的计算结果是Multi-Head(Q,K,V);最后,多模态多头Attention模块把L语言下的视觉模态编码IL作为query变量,把文本模态编码XL作为key变量和value变量,多模态多头Attention模块的计算结果是Multi-Modal(XL,IL)。
3.如权利要求1所述的运用视觉信息的零资源机器翻译方法,其特征在于,步骤五所述屏蔽序列恢复损失指:单语语句被屏蔽一部分后作为翻译模型输入,而翻译模型的参考输出是被屏蔽的部分,翻译模型的损失项来源于翻译模型输出与参考输出的差距;屏蔽序列恢复损失在单语语料下训练翻译模型,使得翻译模型能够构造合理的语句;详细步骤包括:
步骤a1:从输入的符号序列中屏蔽部分连续的符号;被屏蔽的部分就是翻译模型的参考输出;
步骤a2:将屏蔽后的符号序列作为翻译模型输入,获取翻译模型的输出;
步骤a3:将翻译模型输出和参考输出对照,使用交叉熵计算得出屏蔽序列恢复损失项;
步骤a4:按照屏蔽序列恢复损失或者一个含有屏蔽序列恢复损失项的损失函数进行梯度下降。
4.如权利要求1所述的运用视觉信息的零资源机器翻译方法,其特征在于,步骤五所述回译损失指:某一个训练迭代中当时的现有翻译模型被用于构造合成平行语料,作为翻译模型的训练数据;这对平行语料中,翻译模型输入是由单语语料翻译而来的翻译模型的参考输出是原有的单语语料XS;回译损失来源于翻译模型输出和参考输出XS的差距;详细步骤包括:
步骤b1:在一个迭代中,使用当时的翻译模型推断输入语句的翻译;翻译结果作为常量使用,不影响梯度下降;
步骤b2:将翻译结果再次输入翻译模型,获取回译结果;
步骤b3:把回译结果与第一次翻译的输入对照,得到回译损失;
步骤b4:按照回译损失或者一个含有回译损失项的损失函数进行梯度下降。
5.如权利要求1所述的运用视觉信息的零资源机器翻译方法,其特征在于,步骤六具体包括:
步骤c1:将输入文本按照与训练时相同的分词方法分成符号,构成符号序列;
步骤c2:将符号序列输入到翻译模型中;
步骤c3:解码器每次会产生一个输出符号,因此迭代更新解码器的输入,直至输出符号序列生成完成;
步骤c4:将输出符号序列恢复为文本,作为输出语句。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835980.2A CN112016604B (zh) | 2020-08-19 | 2020-08-19 | 一种运用视觉信息的零资源机器翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835980.2A CN112016604B (zh) | 2020-08-19 | 2020-08-19 | 一种运用视觉信息的零资源机器翻译方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112016604A true CN112016604A (zh) | 2020-12-01 |
CN112016604B CN112016604B (zh) | 2021-03-26 |
Family
ID=73505071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010835980.2A Active CN112016604B (zh) | 2020-08-19 | 2020-08-19 | 一种运用视觉信息的零资源机器翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112016604B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580373A (zh) * | 2020-12-26 | 2021-03-30 | 内蒙古工业大学 | 一种高质量蒙汉无监督神经机器翻译方法 |
CN112800785A (zh) * | 2021-04-13 | 2021-05-14 | 中国科学院自动化研究所 | 多模态机器翻译方法、装置、电子设备和存储介质 |
CN113065496A (zh) * | 2021-04-13 | 2021-07-02 | 湖南大学 | 神经网络机器翻译模型训练方法、机器翻译方法和装置 |
CN113139575A (zh) * | 2021-03-18 | 2021-07-20 | 杭州电子科技大学 | 一种基于条件嵌入预训练语言模型的图像标题生成方法 |
CN113591460A (zh) * | 2021-07-02 | 2021-11-02 | 中译语通科技股份有限公司 | 一种基于迭代知识迁移的机器翻译风格迁移性能提升方法 |
CN114239612A (zh) * | 2021-06-10 | 2022-03-25 | 天津大学 | 一种多模态神经机器翻译方法、计算机设备及存储介质 |
CN114429144A (zh) * | 2021-12-28 | 2022-05-03 | 华东师范大学 | 一种运用辅助记忆的多样性机器翻译方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090204386A1 (en) * | 2003-09-05 | 2009-08-13 | Mark Seligman | Method and apparatus for cross-lingual communication |
CN102789451A (zh) * | 2011-05-16 | 2012-11-21 | 北京百度网讯科技有限公司 | 一种个性化的机器翻译系统、方法及训练翻译模型的方法 |
CN108829684A (zh) * | 2018-05-07 | 2018-11-16 | 内蒙古工业大学 | 一种基于迁移学习策略的蒙汉神经机器翻译方法 |
CN109190131A (zh) * | 2018-09-18 | 2019-01-11 | 北京工业大学 | 一种基于神经机器翻译的英语单词及其大小写联合预测方法 |
US10223638B2 (en) * | 2015-06-24 | 2019-03-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Control system, method and device of intelligent robot based on artificial intelligence |
CN110046261A (zh) * | 2019-04-22 | 2019-07-23 | 山东建筑大学 | 一种建筑工程多模态双语平行语料库的构建方法 |
CN110245364A (zh) * | 2019-06-24 | 2019-09-17 | 中国科学技术大学 | 零平行语料多模态神经机器翻译方法 |
CN111311554A (zh) * | 2020-01-21 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 图文内容的内容质量确定方法、装置、设备及存储介质 |
CN111382582A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种基于非自回归的神经机器翻译解码加速方法 |
-
2020
- 2020-08-19 CN CN202010835980.2A patent/CN112016604B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090204386A1 (en) * | 2003-09-05 | 2009-08-13 | Mark Seligman | Method and apparatus for cross-lingual communication |
CN102789451A (zh) * | 2011-05-16 | 2012-11-21 | 北京百度网讯科技有限公司 | 一种个性化的机器翻译系统、方法及训练翻译模型的方法 |
US10223638B2 (en) * | 2015-06-24 | 2019-03-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Control system, method and device of intelligent robot based on artificial intelligence |
CN108829684A (zh) * | 2018-05-07 | 2018-11-16 | 内蒙古工业大学 | 一种基于迁移学习策略的蒙汉神经机器翻译方法 |
CN109190131A (zh) * | 2018-09-18 | 2019-01-11 | 北京工业大学 | 一种基于神经机器翻译的英语单词及其大小写联合预测方法 |
CN110046261A (zh) * | 2019-04-22 | 2019-07-23 | 山东建筑大学 | 一种建筑工程多模态双语平行语料库的构建方法 |
CN110245364A (zh) * | 2019-06-24 | 2019-09-17 | 中国科学技术大学 | 零平行语料多模态神经机器翻译方法 |
CN111311554A (zh) * | 2020-01-21 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 图文内容的内容质量确定方法、装置、设备及存储介质 |
CN111382582A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种基于非自回归的神经机器翻译解码加速方法 |
Non-Patent Citations (3)
Title |
---|
修玉环: "手写中文文本视觉信息与语言信息特征层融合的深度网络模型研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
朱张莉等: "注意力机制在深度学习中的研究进展", 《中文信息学报》 * |
王怡君: "面向有限平行语料资源的神经机器翻译方法研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580373A (zh) * | 2020-12-26 | 2021-03-30 | 内蒙古工业大学 | 一种高质量蒙汉无监督神经机器翻译方法 |
CN112580373B (zh) * | 2020-12-26 | 2023-06-27 | 内蒙古工业大学 | 一种高质量蒙汉无监督神经机器翻译方法 |
CN113139575A (zh) * | 2021-03-18 | 2021-07-20 | 杭州电子科技大学 | 一种基于条件嵌入预训练语言模型的图像标题生成方法 |
CN113139575B (zh) * | 2021-03-18 | 2022-03-01 | 杭州电子科技大学 | 一种基于条件嵌入预训练语言模型的图像标题生成方法 |
CN112800785A (zh) * | 2021-04-13 | 2021-05-14 | 中国科学院自动化研究所 | 多模态机器翻译方法、装置、电子设备和存储介质 |
CN113065496A (zh) * | 2021-04-13 | 2021-07-02 | 湖南大学 | 神经网络机器翻译模型训练方法、机器翻译方法和装置 |
CN112800785B (zh) * | 2021-04-13 | 2021-07-27 | 中国科学院自动化研究所 | 多模态机器翻译方法、装置、电子设备和存储介质 |
CN113065496B (zh) * | 2021-04-13 | 2022-06-28 | 湖南大学 | 神经网络机器翻译模型训练方法、机器翻译方法和装置 |
CN114239612A (zh) * | 2021-06-10 | 2022-03-25 | 天津大学 | 一种多模态神经机器翻译方法、计算机设备及存储介质 |
CN113591460A (zh) * | 2021-07-02 | 2021-11-02 | 中译语通科技股份有限公司 | 一种基于迭代知识迁移的机器翻译风格迁移性能提升方法 |
CN114429144A (zh) * | 2021-12-28 | 2022-05-03 | 华东师范大学 | 一种运用辅助记忆的多样性机器翻译方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112016604B (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112016604B (zh) | 一种运用视觉信息的零资源机器翻译方法 | |
CN110765966B (zh) | 一种面向手写文字的一阶段自动识别与翻译方法 | |
CN110490946B (zh) | 基于跨模态相似度和生成对抗网络的文本生成图像方法 | |
Zhang et al. | Deep Neural Networks in Machine Translation: An Overview. | |
CN107632981B (zh) | 一种引入源语组块信息编码的神经机器翻译方法 | |
CN107967262A (zh) | 一种神经网络蒙汉机器翻译方法 | |
CN111767718B (zh) | 一种基于弱化语法错误特征表示的中文语法错误更正方法 | |
WO2023160472A1 (zh) | 一种模型训练方法及相关设备 | |
CN112765345A (zh) | 一种融合预训练模型的文本摘要自动生成方法及系统 | |
CN112734881B (zh) | 基于显著性场景图分析的文本合成图像方法及系统 | |
CN112613273A (zh) | 多语言bert序列标注模型的压缩方法及系统 | |
CN115116066A (zh) | 一种基于字符距离感知的场景文本识别方法 | |
CN116246213B (zh) | 数据处理方法、装置、设备以及介质 | |
CN111680529A (zh) | 一种基于层聚合的机器翻译算法及装置 | |
CN117218503A (zh) | 一种融合图像信息的越汉跨语言新闻文本摘要方法 | |
CN116958700A (zh) | 一种基于提示工程和对比学习的图像分类方法 | |
Shi et al. | Adding Visual Information to Improve Multimodal Machine Translation for Low-Resource Language | |
CN114429144B (zh) | 一种运用辅助记忆的多样性机器翻译方法 | |
CN115828931A (zh) | 面向段落级文本的中英文语义相似度计算方法 | |
CN116311493A (zh) | 一种基于编码解码架构的两阶段人-物交互检测方法 | |
CN114595700A (zh) | 融合零代词与篇章信息的汉越神经机器翻译方法 | |
CN114065780A (zh) | 机器翻译方法 | |
CN114004238A (zh) | 融入语言差异化特征的汉越神经机器翻译译文质量估计方法 | |
Rodríguez et al. | Understanding motion in sign language: A new structured translation dataset | |
CN111985220A (zh) | 一种基于深度学习的端到端司法文书自动校对方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |