CN109543824B - 一种序列模型的处理方法和装置 - Google Patents
一种序列模型的处理方法和装置 Download PDFInfo
- Publication number
- CN109543824B CN109543824B CN201811458681.0A CN201811458681A CN109543824B CN 109543824 B CN109543824 B CN 109543824B CN 201811458681 A CN201811458681 A CN 201811458681A CN 109543824 B CN109543824 B CN 109543824B
- Authority
- CN
- China
- Prior art keywords
- network
- sequence
- attention
- result
- layer
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000013528 artificial neural network Methods 0.000 claims description 95
- 238000004364 calculation method Methods 0.000 claims description 55
- 238000013519 translation Methods 0.000 claims description 39
- 238000010606 normalization Methods 0.000 claims description 36
- 230000009466 transformation Effects 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 28
- 230000000306 recurrent effect Effects 0.000 claims description 28
- 230000001537 neural effect Effects 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 9
- 230000004927 fusion Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 15
- 239000010410 layer Substances 0.000 description 204
- 238000010586 diagram Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 26
- 239000013598 vector Substances 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 10
- 230000002457 bidirectional effect Effects 0.000 description 9
- 239000000306 component Substances 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- 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
- 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/044—Recurrent networks, e.g. Hopfield 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种序列模型的处理方法和装置,用于提高序列模型的任务执行效果。该方法包括:从源端数据库中获取到源端序列,并将源端序列输入到序列模型的编码端,编码端包括:自关注编码器和时序编码器;通过时序编码器对源端序列进行编码处理从而得到第一编码结果,第一编码结果包括:使用源端序列进行时序建模得到的时序信息;以及通过自关注编码器对源端序列进行编码处理从而得到第二编码结果;从目标端数据库中获取到目标端序列,并将目标端序列、第一编码结果和第二编码结果输入到序列模型的解码端;通过解码端对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种序列模型的处理方法和装置。
背景技术
序列模型可以用于根据输入的序列数据实现多种任务,序列模型可以基于自关注神经网络(Self-Attention Network,SAN)来实现。序列模型可以是神经机器翻译模型,例如现有技术中存在一种Transformer模型,Transformer模型基于前述的自关注神经网络,由多层的自关注神经网络堆叠而成。
Transformer模型和现有技术中基于循环神经网络(Recurrent Neural Network,RNN)的神经机器翻译模型相比,Transformer模型用自关注神经网络代替循环神经网络来建模序列的依存关系。而RNN利用循环(即每一步的输出作为下一步的输入)顺序地操作,但是基于RNN的神经机器翻译模型存网络训练速度慢的问题,并且其循环结构也加大了训练难度。而自关注神经网络可以并行地处理当前序列所有的词或者符号,Transformer模型在多个语言对任务上取得最佳表现,是现在神经机器翻译新的基准模型。
由于现有技术中序列模型仅依赖于SAN来计算序列元素的依存关系,使用该序列模型在执行任务时存在任务实现效果差的问题。例如现有技术中Transformer模型仅依赖于SAN来计算序列元素的依存关系,这会对翻译质量造成影响,通常会影响翻译质量,包括翻译错误,翻译漏掉等等。
发明内容
本发明实施例提供了一种序列模型的处理方法和装置,用于提高序列模型的任务执行效果。
本发明实施例提供以下技术方案:
本发明实施例提供一种序列模型的处理方法,包括:
从源端数据库中获取到源端序列,并将所述源端序列输入到序列模型的编码端,所述编码端包括:自关注编码器和时序编码器;
通过所述时序编码器对所述源端序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述源端序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述源端序列进行编码处理从而得到第二编码结果;
从目标端数据库中获取到目标端序列,并将所述目标端序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;
通过所述解码端对所述目标端序列、所述第一编码结果和所述第二编码结果进行解码处理,并输出解码处理后得到的解码结果。
本发明实施例还提供一种序列模型的处理装置,包括:
第一输入模块,用于从源端数据库中获取到源端序列,并将所述源端序列输入到序列模型的编码端,所述编码端包括:自关注编码器和时序编码器;
编码模块,用于通过所述时序编码器对所述源端序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述源端序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述源端序列进行编码处理从而得到第二编码结果;
第二输入模块,用于从目标端数据库中获取到目标端序列,并将所述目标端序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;
解码模块,用于通过所述解码端对所述目标端序列、所述第一编码结果和所述第二编码结果进行解码处理,并输出解码处理后得到的解码结果。
本发明实施例提供一种序列模型的处理装置,该序列模型的处理装置包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得序列模型的处理装置执行如前述任一项的方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
在本发明实施例中,序列模型具有编码端和解码端,其中该编码端包括:自关注编码器和时序编码器,从源端数据库中获取到源端序列之后,通过时序编码器、自关注编码器可以分别对源端序列进行编码处理,时序编码器输出的第一编码结果中包括有使用源端序列进行时序建模得到的时序信息,自关注编码器输出第二编码结果。在序列模型的解码端,可以对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。由于本申请实施例中在序列模型的编码端不仅使用了自关注编码器,还同时使用了时序编码器,该时序信息也输入到序列模型的解码端进行了解码。本申请实施例提供的序列模型采用上述两种编码器同时对源端序列进行编码,从而通过时序建模完成了时序信息的生成,使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种序列模型的处理方法的流程方框示意图;
图2为本发明实施例提供的一种序列模型的组成结构示意图;
图3为本发明实施例提供的另一种序列模型的组成结构示意图;
图4为本发明实施例提供的时序编码器的组成结构示意图;
图5为本发明实施例提供的注意力网络的组成结构示意图;
图6为本发明实施例提供的Transformer模型的基本架构示意图;
图7为本发明实施例提供的Transformer模型的自关注编码器和时序编码器的示意图;
图8为本发明实施例提供的循环神经网络的示意图;
图9为本发明实施例提供的基于注意力的循环网络的示意图;
图10为本发明实施例提供的采用门控加和方式进行解码的示意图;
图11为本发明实施例提供的采用瀑布流方式进行解码的示意图;
图12-a为本发明实施例提供的一种序列模型的处理装置的组成结构示意图;
图12-b为本发明实施例提供的一种编码模块的组成结构示意图;
图12-c为本发明实施例提供的一种时序建模子模块的组成结构示意图;
图12-d为本发明实施例提供的另一种时序建模子模块的组成结构示意图;
图12-e为本发明实施例提供的一种解码模块的组成结构示意图;
图12-f为本发明实施例提供的一种注意力处理子模块的组成结构示意图;
图12-g为本发明实施例提供的另一种注意力处理子模块的组成结构示意图;
图13为本发明实施例提供的序列模型的处理方法应用于终端的组成结构示意图;
图14为本发明实施例提供的序列模型的处理方法应用于服务器的组成结构示意图。
具体实施方式
本发明实施例提供了一种序列模型的处理方法和装置,用于提高序列模型的任务执行效果。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下分别进行详细说明。
本发明序列模型的处理方法的一个实施例,具体可以应用于对序列模型的建模场景下,使得该序列模型可以快速高效的执行任务,从而提高序列模型的任务执行效果。例如该任务可以是神经机器翻译任务,地图中位置数据定位任务,网络中元素关系的识别任务等。请参阅图1所示,本发明一个实施例提供的序列模型的处理方法,可以包括如下步骤:
101、从源端数据库中获取到源端序列,并将源端序列输入到序列模型的编码端,编码端包括:自关注编码器和时序编码器。
在本发明实施例中,序列模型是指以序列元素作为输入对象,使用机器学习算法进行执行的模型实体。该序列模型可以具有多种应用场景,例如该序列模型可以是神经机器翻译模型,或者该序列模型也可以是地图中位置数据定位模型,或者该序列模型还可以是网络中元素关系识别模型等。本发明实施例中序列模型具有编码端和解码端,其中编码端和解码端可以分别基于各自的网络模型来实现,对于序列模型中编码端和解码端所采用的算法不做限定。其中该编码端中包括至少两种不同类型的编码器,如图2所示,为本发明实施例提供的一种序列模型的组成结构示意图。例如序列模型的编码端可以包括自关注编码器和时序编码器,其中,自关注编码器可以是基于自关注网络实现的编码器,例如该自关注网络可以是自关注神经网络(Self-Attention Network,SAN),自关注神经网络是基于自关注机制的神经网络结构模型。在序列模型的编码端除了使用自关注编码器,该编码端还可以包括时序编码器,该时序编码器是序列模型中除自关注编码器以外的额外编码器,例如该时序编码器可以是用于时序建模的编码器,时序编码器可以是基于神经网络实现编码器,例如时序编码器可以采用循环神经网络(Recurrent Neural Network,RNN),或者时序编码器可以采用卷积神经网络(Convolutional Neural Network,CNN)。
举例说明如下,本申请实施例提供的序列模型可以是神经机器翻译模型,例如Transformer模型,在Transformer模型的编码端可以采用自关注编码器和时序编码器,因此在Transformer模型中通过该时序编码器可以进行时序信息的建模,该时序编码器可以引入额外的网络结构建模时序信息,以提升神经机器翻译系统的性能。后续实施例中将以Transformer模型执行翻译任务为例进行详细举例说明。
在本发明实施例中,首先获取到源端数据库,该源端数据库中存储有需要用于输入序列模型的多个源端序列,从源端数据库中获取到一个源端序列之后,可以将该源端序列输入到序列模型的编码端,由该编码端中所包括的至少两个编码器进行编码处理。举例说明如下,以序列模型为Transformer模型为例,在Transformer模型中可以输入中文的词序列,该Transformer模型的编码端可以对该中文的词序列进行编码处理。
102、通过时序编码器对源端序列进行编码处理从而得到第一编码结果,第一编码结果包括:使用源端序列进行时序建模得到的时序信息;以及通过自关注编码器对源端序列进行编码处理从而得到第二编码结果。
在本申请实施例中,源端序列输入到编码端之后,可以由该编码端中包括的两种不同类型的编码器分别进行编码处理,例如序列模型的编码端可以包括自关注编码器和时序编码器,通过时序编码器对源端序列进行编码处理从而得到第一编码结果,以及通过自关注编码器对源端序列进行编码处理从而得到第二编码结果。需要说明的是,时序编码器和自关注编码器分别对源端序列的编码处理可以并行的执行,另外时序编码器和自关注编码器分别对源端序列的编码方式可由各自编码器采用的机器学习网络模型来确定。
在本申请实施例中,为区别说明不同编码器对源端序列的编码处理,将时序编码器的输出定义为第一编码结果,将自关注编码器的输出定义为第二编码结果。通过前述对时序编码器的功能描述可知,该时序编码器可以对源端序列进行时序建模,从而第一编码结果包括:使用源端序列进行时序建模得到的时序信息,本发明实施例通过在编码端集成时序编码器,可以对序列模型提供额外的时序信息,从而使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。
在本申请实施例中,通过前述对自关注编码器的功能描述可知,该自关注编码器可以对源端序列进行基于自关注机制的编码信息提取,从而第二编码结果包括:使用源端序列提取基于自关注机制的编码信息。本发明实施例通过在编码端集成自关注编码器,可以对序列模型提供基于自关注机制的编码信息,第二编码结果与该第一编码结果相结合,从而使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。
在本申请的一些实施例中,如图3所示,为本发明实施例提供的另一种序列模型的组成结构示意图。时序编码器包括:N个编码层,N为正整数,例如时序编码器可以有1个编码层,或者时序编码器可以有2个编码层。在每个编码层中包括:时序信息网络和第一前馈网络,其中时序信息网络用于使用源端序列进行时序建模以提取出时序信息,例如时序信息网络可以是神经网络。第一前馈网络可以是参数由输入层向输出层单向传播的基础神经网络,例如第一前馈网络具体可以是前馈神经网络(Feed-Forward Network,FFN)。
在本申请的一些实施例中,基于上述图3所示的序列模型,步骤102中的通过时序编码器对源端序列进行编码处理从而得到第一编码结果,包括:
A1、使用时序信息网络对源端序列进行时序建模从而得到时序信息;
A2、使用第一前馈网络对时序信息进行单向传播,输出第一编码结果。
其中,源端序列首先输入到编码端的时序编码器,例如源端序列输入到时序编码器的编码层中的时序信息网络,该源端序列可以是经过位置编码之后输入到时序信息网络,然后使用时序信息网络对源端序列进行时序建模从而得到时序信息,对于时序信息的建模方式,后续实施例中给出详细的计算说明,在时序信息网络输出时序信息之后,可以使用第一前馈网络对时序信息进行单向传播,输出第一编码结果,第一前馈网络的计算方式后续实施例中给出详细的说明。
在本申请的一些实施例中,如图4所示,为本发明实施例提供的一种时序编码器的组成结构示意图。时序编码器包括:N个编码层,N为正整数,例如时序编码器可以有1个编码层,或者时序编码器可以有2个编码层。时序编码器中的第一编码层,包括:第一时序信息网络和第一前馈网络。该第一时序信息网络可以包括:第一神经网络和第一标准化网络,其中,神经网络(Neural Network,NN)是在机器学习和认知科学领域的一种模仿生物神经网络结构和功能的深度学习模型。进一步的,该第一神经网络为双向神经网络;或者,第一神经网络为循环神经网络,或者基于注意力的循环网络。举例说明如下,循环神经网络(Recurrent Neural Network,RNN)是一种将序列建模转变为时序建模的网络模型,它将状态在自身网络中循环传递。基于注意力的循环网络(Attentive Recurrent Network,ARN)可以用于对于一个输入序列学习到一个紧凑的,全局的特征表示,ARN是SAN和RNN的结合,ARN主体结构是RNN,但是每一步的输入是SAN的输出,后续实施例中将对RNN和ARN做出详细的举例说明。第一标准化网络是采用标准化技术的网络模型,例如,第一标准化网络采用层标准化(Layer norm)表示,将矩阵里的数值转化为均值为0,方差为1的数值,该操作用LN()表示。
在本申请的一些实施例中,基于上述图4所示的时序编码器,步骤A1使用时序信息网络对源端序列进行时序建模从而得到时序信息,包括:
A11、使用第一神经网络对源端序列进行时序建模;
A12、使用第一标准化网络对通过时序建模得到的结果进行标准变换,得到时序信息。
其中,第一编码层是时序编码器中的第1个编码层,该第一编码层包括:第一时序信息网络和第一前馈网络,因此首先使用第一神经网络对源端序列进行时序建模让,然后再使用第一标准化网络对通过时序建模得到的结果进行标准变换,得到时序信息。通过对第一编码层的编码过程说明可知,在第一编码层中没有使用残差网络,即在第一神经网络进行时序建模之后直接使用第一标准化网络进行处理,因此不使用残差网络,这样做的目的是消除隐向量表示须和输入序列长度一致的限制,使得时序编码器更加灵活。
在本申请的一些实施例中,如图4所示,为本发明实施例提供的一种时序编码器的组成结构示意图。时序编码器包括:N个编码层,N为正整数,例如时序编码器可以有1个编码层,或者时序编码器可以有2个编码层。时序编码器中的第一编码层,包括:第一时序信息网络和第一前馈网络。时序编码器中的第二编码层,包括:第二时序信息网络和第一前馈网络。其中,第二时序信息网络,包括:第二神经网络、第一残差网络和第二标准化网络,可见第二时序信息网络相对于第一时序信息网络,在神经网络和标准化网络之间增加了残差网络,对于时序编码器中的第三编码层、第四编码层中都可以采用第二编码层的网络结构,即在第三编码层、第四编码层包括有神经网络、残差网络和标准化网络。
进一步的,该第二神经网络为双向神经网络;或者,第二神经网络为循环神经网络,或者基于注意力的循环网络。举例说明如下,循环神经网络是一种将序列建模转变为时序建模的网络模型,它将状态在自身网络中循环传递。基于注意力的循环网络可以用于对于一个输入序列学习到一个紧凑的,全局的特征表示,后续实施例中将对循环神经网络或者基于注意力的循环网络做出详细的举例说明。残差网络可以如下模型描述:y=f(x)+x,f(x)表示一层神经网络,x是这层网络的输入,残差网络没有引入额外参数和计算复杂度。在编码端和解码端都用到了该残差网络,残差网络作用是避免梯度消失,可以训练更深层的网络。
在本申请的一些实施例中,步骤A1使用时序信息网络对源端序列进行时序建模中除了包括上述步骤A11至步骤A12之外,还包括:
A13、在第一编码层中的第一前馈网络输出第一子层编码结果之后,使用第二神经网络对第一子层编码结果进行时序建模;
A14、使用第一残差网络对通过时序建模得到的结果进行残差计算;
A15、使用第二标准化网络对通过残差计算得到的结果进行标准变换,得到时序信息。
其中,第一编码层中的第一前馈网络输出第一子层编码结果,然后第二神经网络对第一子层编码结果进行时序建模,接下来使用第一残差网络对通过时序建模得到的结果进行残差计算,最后使用第二标准化网络对通过残差计算得到的结果进行标准变换,得到时序信息。通过对第一编码层和第二编码层的编码过程说明可知,在第一编码层中没有使用残差网络,而在第二编码层中使用了残差网络,即在第一神经网络进行时序建模之后直接使用第一标准化网络进行处理,因此不使用残差网络,这样做的目的是消除隐向量表示须和输入序列长度一致的限制,使得时序编码器更加灵活。
103、从目标端数据库中获取到目标端序列,并将目标端序列、第一编码结果和第二编码结果输入到序列模型的解码端。
在本发明实施例中,获取到目的端数据库,该目的端数据库中存储有需要用于输入序列模型的多个目的端序列,目的端序列可以用于训练序列模型,从目的端数据库中获取到一个目的端序列之后,可以将该目的端序列输入到序列模型的解码端,如图2所示,为本发明实施例提供的一种序列模型的组成结构示意图。由该解码端中所包括的解码层进行编码处理。举例说明如下,以序列模型为Transformer模型为例,在Transformer模型中可以输入中文的词序列,该Transformer模型的编码端可以对该中文的词序列进行编码处理,在Transformer模型的解码端中可以输入该中文的词序列相对应的英文的词序列,从而通过Transformer模型的解码端来训练Transformer模型,使得该Transformer模型可以用于中英文词序列的翻译。
在本申请的一些实施例中,如图3所示,为本发明实施例提供的另一种序列模型的组成结构示意图。解码端包括:解码层,解码层包括:自关注网络、注意力网络和第二前馈网络。其中,自关注网络可以是自关注神经网络,自关注神经网络是基于自关注机制的神经网络结构模型。第二前馈网络可以是参数由输入层向输出层单向传播的基础神经网络,例如第二前馈网络具体可以是前馈神经网络。注意力网络是指采用注意力机制(AttentionMechanism),注意力网络是一种神经网络模型中将输入信号表示成一些隐藏状态,注意力机制是用来建模这些隐藏状态之间的关系。
在本申请的一些实施例中,步骤103将目标端序列、第一编码结果和第二编码结果输入到序列模型的解码端,包括:
B1、将目标端序列输入到自关注网络中;
B2、将第一编码结果和第二编码结果输入到注意力网络中。
其中,序列模型的解码端可以包括:自关注网络、注意力网络和第二前馈网络,从目标端数据库中获取到目标端序列之后,该目标端序列输入到自关注网络中,由自关注网络进行解码处理,序列模型的编码端输出第一编码结果和第二编码结果,第一编码结果和第二编码结果输入到注意力网络中,由注意力网络进行解码处理,对于自关注网络和注意力网络的计算方式后续实施例中给出详细的说明。
104、通过解码端对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。
在本申请实施例中,目的端序列输入到解码端之后,再将编码端所输出的第一编码结果和第二编码结果也输入到解码端,然后可以由该解码端中包括的解码器进行解码处理,例如序列模型的解码端可以包括多个解码层,通过多个解码层依次对目的端序列、第一编码结果和第二编码结果进行解码处理从而得到解码结果。需要说明的是,多个解码层分别对目的端序列、第一编码结果和第二编码结果的解码处理可以并行的执行,另外多个解码层分别对目的端序列、第一编码结果和第二编码结果的解码方式可由各个解码层采用的机器学习网络模型来确定。
举例说明如下,以序列模型为Transformer模型为例,在Transformer模型的编码端中可以输入中文的词序列,在Transformer模型的解码端中可以输入该中文的词序列相对应的英文的词序列,从而通过Transformer模型的解码端来训练Transformer模型,使得该Transformer模型可以用于中英文词序列的翻译,该Transformer模型的输出可以是对应的英文词序列。
在本申请的一些实施例中,在前述执行步骤B1至B2的实现场景下,步骤104通过解码端对目标端序列、第一编码结果和第二编码结果进行解码处理,包括:
C1、使用自关注网络对目标端序列进行序列变换,得到第一请求键值序列;
C2、将第一请求键值序列输入到注意力网络中,以及使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,得到关系信息;
C3、使用第二前馈网络对关系信息进行单向传播,从而得到解码结果。
其中,使用自关注网络对目标端序列进行序列变换,自关注网络中设置有可学习参数矩阵,可学习参数矩阵就是指在模型训练阶段自关注内部的参数会不断更新,自关注网络可以包括n层网络,将第n-1层的输出作为第n层的输入,被三个不同的可学习参数矩阵线性变换为请求(query)、键(key)、值(value)向量序列,线性变换所得到的向量序列可以称为第一请求键值序列。接下来将第一请求键值序列输入到注意力网络中,由前述实施例中步骤B2的说明可知,第一编码结果和第二编码结果输入到注意力网络中,因此在注意力网络中可以输入有如下三种数据:第一请求键值序列、第一编码结果和第二编码结果,接下来使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,得到关系信息,对于关系信息的建模方式,后续实施例中给出详细的计算说明,在注意力网络输出关系信息之后,可以使用第二前馈网络对关系信息进行单向传播,输出解码结果,第二前馈网络的计算方式后续实施例中给出详细的说明。
在本申请的一些实施例中,如图5所示,为本申请实施例提供的注意力网络的组成结构示意图。注意力网络,包括:第一注意力子层和第二注意力子层,第一编码结果输入到第一注意力子层中,第二编码结果输入到第二注意力子层中。对于解码层中的注意力网络可以包括两个注意力子层,序列模型的编码端输出第一编码结果和第二编码结果,若这两个编码结果同时输入到两个注意力子层,那么可以通过两个注意力子层分别进行解码,在每个注意力子层输出结果时再进入最终结果的融合,从而可以通过两个注意力子层的同时解码处理可以生成关系信息,由于两个注意力子层的同时解码处理再进行输出结果的融合,因此在后续实施例中这种方式也可以称为:门控加和(gated sum)的方式。
具体的,在图5所示的注意力网络中,第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络。
在本申请的一些实施例中,基于上述图5所示的注意力网络,步骤C2中的使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,包括:
C21、将第一请求键值序列分别输入到第一注意力子层和第二注意力子层;
C22、使用第一多头注意力网络对第一请求键值序列、第一编码结果进行关系建模从而得到第一关系子信息,使用第二残差网络对第一关系子信息进行残差计算,使用第三标准化网络对通过残差计算得到的结果进行标准变换,得到第一注意力子层输出结果;
C23、使用第二多头注意力网络对第一请求键值序列、第二编码结果进行关系建模从而得到第二关系子信息,使用第三残差网络对第二关系子信息进行残差计算,使用第四标准化网络对通过残差计算得到的结果进行标准变换,得到第二注意力子层输出结果;
C24、对第一注意力子层输出结果和第二注意力子层输出结果进行融合计算,得到关系信息。
其中,在每个注意力子层中都设置有多头(Multi-Head)注意力网络、残差网络和标准化网络,对于残差网络和标准化网络的功能说明可以参阅前述实施例中的介绍,在每个注意力子层中都可以使用多头注意力网络对第一请求键值序列、编码结果进行关系建模,然后再使用残差网络和标准化网络进行处理,在每个注意力子层输出结果时再进入最终结果的融合,从而可以通过两个注意力子层的同时解码处理可以生成关系信息。
举例说明如下,在时序编码器输出第一编码结果之后,在解码器的第n层中,以第一编码结果作为记忆向量,自关注网络的输出第一请求键值序列作为请求,构建注意力网络,表示对时序编码器输出表示的注意力网络的输出。为了把第一注意力子层输出结果和第二注意力子层输出结果结合起来,利用逻辑回归的sigmoid非线性函数计算权重,之后可以利用这个权重将两个注意力子层的输出结合起来。
在本申请的一些实施例中,如图5所示,为本申请实施例提供的注意力网络的组成结构示意图。注意力网络,包括:第一注意力子层和第二注意力子层,第一编码结果输入到第一注意力子层中,第二编码结果输入到第二注意力子层中。对于解码层中的注意力网络可以包括两个注意力子层,序列模型的编码端输出第一编码结果和第二编码结果,若第二编码结果首先输入到第二注意力子层中进行解码处理,并将第二注意力子层的输出结果输入到第一注意力子层,此时第一注意力子层再对第一编码结果进行解码处理,那么可以通过两个注意力子层依次进行解码,在第二注意力子层输出结果之后再由第一注意力子层输出结果,从而可以通过两个注意力子层的依次解码处理可以生成关系信息,由于两个注意力子层的依次解码处理,因此在后续实施例中这种方式也可以称为:瀑布流(cascade)的方式。
具体的,在图5所示的注意力网络中,第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络,第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络。
在本申请的一些实施例中,基于上述图5所示的注意力网络,步骤C2中的使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,包括:
C25、将第一请求键值序列输入到第二注意力子层;
C26、使用第二多头注意力网络对第一请求键值序列、第二编码结果进行关系建模从而得到第三关系子信息,使用第三残差网络对第三关系子信息进行残差计算,使用第四标准化网络对通过残差计算得到的结果进行标准变换,得到第三注意力子层输出结果;
C27、将第三注意力子层输出结果输入到第一注意力子层,使用第一多头注意力网络对第三注意力子层输出结果、第一编码结果进行关系建模从而得到第四关系子信息,使用第二残差网络对第四关系子信息进行残差计算,使用第三标准化网络对通过残差计算得到的结果进行标准变换,得到关系信息。
其中,在每个注意力子层中都设置有多头注意力网络、残差网络和标准化网络,对于残差网络和标准化网络的功能说明可以参阅前述实施例中的介绍,在第二注意力子层中都可以使用多头注意力网络对第一请求键值序列、第二编码结果进行关系建模,然后再使用残差网络和标准化网络进行处理。若第二编码结果首先输入到第二注意力子层中进行解码处理,并将第二注意力子层的输出结果输入到第一注意力子层,此时第一注意力子层再对第一编码结果进行解码处理,那么可以通过两个注意力子层依次进行解码,在第二注意力子层输出结果之后再由第一注意力子层输出结果,从而可以通过两个注意力子层的依次解码处理可以生成关系信息,由于两个注意力子层的依次解码处理。
举例说明如下,在时序编码器输出第一编码结果之后,在解码器的第n层中,以第一编码结果作为记忆向量,注意力网络中第二注意力子层输出的第三注意力子层输出结果作为请求,构建注意力网络,接下来将其继续地送入前馈神经网络中,就得到了解码器第n层的输出。
在本申请的一些实施例中,解码端包括M个解码层,M为正整数;解码端的第1个至第M-1个解码层中只输入有第二编码结果,且不输入第一编码结果;解码端的第M个解码层中输入有第一编码结果和第二编码结果。
其中,时序编码器输出的第一编码结果并不是输入到每个解码层,而自关注编码器输出的第二编码结果可以输入到每个解码层,因此对于时序编码器输出的第一编码结果是一种短路径效用,在时序编码器中,使用一层的网络建模,并且仅在序列模型的解码端的最后一个解码层中集成时序编码器的第一编码结果,使得源端的输入序列更直接地影响目的端的输出序列,这种短路径的方法在机器翻译的任务上表现出色。
通过以上实施例对本发明实施例的描述可知,序列模型具有编码端和解码端,其中该编码端包括:自关注编码器和时序编码器,从源端数据库中获取到源端序列之后,通过时序编码器、自关注编码器可以分别对源端序列进行编码处理,时序编码器输出的第一编码结果中包括有使用源端序列进行时序建模得到的时序信息,自关注编码器输出第二编码结果。在序列模型的解码端,可以对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。由于本申请实施例中在序列模型的编码端不仅使用了自关注编码器,还同时使用了时序编码器,该时序信息也输入到序列模型的解码端进行了解码。本申请实施例提供的序列模型采用上述两种编码器同时对源端序列进行编码,从而通过时序建模完成了时序信息的生成,使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
图6所示的是本发明实施例提供的Transformer模型的基本结构,左边表示模型的编码器,由N1层网络组成,例如N1取值为6层,每一层网络里有4个子层。每层包含一层自关注网络和一层前馈网络。首先将源端词输入到源端词嵌入模块,然后将位置编码模块的输出和源端词嵌入模块的输出进行相加,然后再输入到编码器中。右边是解码器,由N2层网络组成,例如N2取值为6层,每层包含一层自关注网络,一层以编码器的隐向量作为记忆的注意力网络,以及一层前馈网络。将目标词输入到目标词嵌入模块,然后将位置编码模块的输出和目标词嵌入模块的输出进行相加,然后再输入到解码器中。并且Transformer模型中每一层网络都应用了残差网络以及标准化技术。
接下来对Transformer模型中各个网络层的功能进行简单说明。
首先生成源端向量表示序列,给定一个输入序列x={x1,...,xI},网络的第一层将离散的元素转换成连续的空间表示(embedding)。
对于自关注神经网络,第n-1层的输出作为第n层的输入Hn-1,首先被三个不同的可学习参数矩阵线性变换为请求(query)、键(key)、值(value)向量序列:Q,K,V,可学习参数矩阵就是指在模型训练阶段该矩阵内部的参数会不断更新:
其中,{WQ,WK,WV}都是d×d的可训练的参数矩阵,这三个是这个网络的可学习参数矩阵,n-1层的输出是Hn-1。d表示输入隐藏状态的维度。SAN使用点积建模请求与每个键-值对之间的逻辑相似度e,点积建模就是将两个矩阵做点积乘法,进而计算矩阵内部元素间的相似度。
其中,KT表示键key矩阵的转置,d为模型隐藏状态向量的维度。随后SAN应用SoftMax非线性变换,将逻辑相似度转换为请求与每个键-值对之间的权重关系α:
α=softmax(e),
根据所得权重,当前元素的输出向量由每个值的加权求和获得,实际计算中对权重与值进行点积计算:
SAN(Hn-1)=α*v,
SAN表示自关注网络,可以看作一个函数,输入是Hn-1,等号右边是函数输出。
对于关注神经网络,第n-1层的输出作为第n层的输入Hn-1,以及给定一个记忆向量H,Hn-1被一个可学习的参数矩阵变换为请求,H被两个不同的矩阵变换为键和值。接下来的操作和自关注神经网络一样,用ATT()表示。自关注网络中Q,K,V是由同一个Hn-1向量变换而来,但是关注网络中的K,V是由记忆向量H变换而来的,自关注网络是关注网络的特殊形式。
对于前馈神经网络,第一个子层的输出Cn,首先被一个可学习的参数矩阵W1(维度为dmodel)进行线性变换,再加上可学习的偏差b1,再用max做非线性变换,max(,)就代表取两者间的最大值。非线性变换的结果再次被可学习的参数矩阵W2(维度为dff)线性变换,再加上可学习的偏差b2。用公式表示如下:
FFN(Cn)=max(0,CnW1+b1)W2+b2。
接下来对标准化技术进行说明,Layer norm表示将矩阵里的数值转化为均值为0,方差为1的数值,该操作用LN()表示。
对于残差网络,可以采用如下计算公式:y=f(x)+x,f(x)表示一层神经网络,x是这层网络的输入,残差网络没有引入额外参数和计算复杂度。残差网络作用是避免梯度消失,可以训练更深层的网络。
Transformer模型架构如下:
编码端(encoder):
He n=LN(FFN(Ce n)+Ce n)。
每一层编码端包含两个子层,第一个子层是自关注网络,第二个是前馈网络。
解码端(decoder):
Dd n=LN(ATT(Cd n,He n)+Cd n),
Hd n=LN(FFN(Dd n)+Dd n)。
每一层解码端包含三个子层,第一个子层是自关注网络,第二个是以编码端输出作为记忆,自关注网络输出作为请求的关注神经网络,第三个是前馈网络,Dd n代表关注网络层的输出。
由于Transformer模型仅依赖于SAN来计算序列元素的依存关系,对于时序信息的建模是缺乏的,这会对翻译质量造成影响。本发明实施例可以对Transformer模型进行时序信息的建模,引入额外的循环网络结构建模序列的时序信息,以提升翻译系统的性能。
综上所述,研究开发一个对Transformer模型进行时序信息建模的系统变得十分重要,既保持Transformer模型的简单性,可并行性,又可以引入额外的网络对时序信息建模,可以是其他网络,比如CNN等。但是在本发明实施例中主要运用循环网络,将时序编码器和Transformer模型中原有的自关注编码器集成在一起,可以弥补Transformer模型的不足。特别地,随着Transformer模型在越来越多的任务上的广泛应用,这将是Transformer模型必然面临的问题。
本发明实施例提供了一种简单灵活的神经机器翻译的框架,利用额外的一个建模时序信息的编码器(即时序编码器,后续也成为额外编码器)来对Transformer模型进行补充。对于建模时序信息的编码器,采用了两种神经网络,1)RNN的网络2)注意力的循环网络ARN。另外,本发明实施例提出了两种方式,将额外时序编码器的信息送入解码器端,在Transformer模型的编码器的最后一层,使用如下两种方式:1)门控加和的方式(gatedsum),2)瀑布流的方式(cascade),将额外的时序编码器编码的信息引入Transformer模型。本发明实施例采用的方法简单灵活,可以适配多种额外编码器,并且参数增加较少。就是额外编码器的具体模型,可以很灵活,比如可以是ARN或者RNN等等。
由于本发明提出的模型框架简单灵活,可以在时序编码器中接入多种网络,本发明实施例提供的序列模型有两个编码器,一个是Transformer自带的基于SAN的自关注编码器,另一个是时序编码器(即额外编码器)。增强或修正原来的编码器。例如在机器翻译任务上,本发明中提出的注意力循环网络,能够显著提升翻译质量,并且可以捕捉更多的句法以及时序的信息。
首先,基于Transformer模型,构建对时序信息建模的编码器,本发明实施例使用了两种模型,第一种是的RNN网络,第二种是基于注意力的循环神经网络。本发明实施例提出两种将时序编码器的输出信息传入Transformer模型解码器的方式,第一种是门控加和的方式,第二种是瀑布流的方式。并且提出了“短路径”的方法,即只在解码端的最后一层网络中将额外编码器的输出信息引入。短路径方式首先可以大量减少参数,训练速度更快。另外可以更直接地影响输出端,翻译效果更好。
本发明实施例接下来对时序编码器和自关注编码器分别进行说明,请参阅图7所示,为本发明实施例提供的Transformer模型的自关注编码器和时序编码器的示意图。Transformer模型的编码端具有两种编码器,如图7左侧所示的自关注编码器,图7右侧所示的时序编码器。首先将源端词输入到源端词嵌入模块,然后将位置编码模块的输出和源端词嵌入模块的输出进行相加,然后再输入到自关注编码器中,该源端词嵌入模块的输出也输入到时序编码器中。在自关注编码器中包括如下四层:多头注意力网络、残差网络和标准化网络、前馈神经网络、残差网络和标准化网络。在时序编码器中包括如下四层:循环模型(Recurrence Modeling)、标准化网络、前馈神经网络、残差网络和标准化网络。
如图7所示,本发明实施例提出的编码器包含两部分,左侧是Transformer编码器,Transformer编码器是基于SAN的,右侧是本发明实施例提出的建模时序信息的编码器(即时序编码器)。对于建模时序信息的编码器,和原来Transformer模型编码器层数一致,每一层有两个子层,分别是时序信息网络以及前馈网络,时序信息网络的核心组件是Recurrence modeling。
时序信息网络可以用公式表示如下:
Hr n=LN(FFN(Cr n)+Cr n)。
其中,REC(·)表示时序模型的函数。在第一层网络中(即N=1),本发明实施例没有使用残差网络,这样做的目的是消除隐向量表示须和输入序列长度一致的限制,使得本发明实施例提出的建模时序信息的编码器更加灵活。
如图8所示,为本发明实施例提供的循环神经网络的示意图。其中,h0代表一个节点的隐向量,e1代表这个节点的输入。h连起来表示隐向量是不断向后传递的。对于源端向量表示序列,给出一个输入序列是输入序列的向量表示,/>表示第0层,第J个隐向量。
对于双向RNN网络:双向RNN通过如下方式建模时序信息:
对于前馈神经网络,将双向RNN的输出表示送入前馈神经网络FFN中,得到最终的基于RNN的编码器的输出表示Hr N。
如图9所示,为本发明实施例提供的基于注意力的循环网络的示意图。其中,h0代表一个节点的隐向量,e1代表这个节点的输入,C1和C2表示注意力模型的输出。对于源端向量表示序列,给出一个输入序列是输入序列的向量表示。
本发明实施例提出基于注意力的循环网络(ARN),对于一个输入序列,可以学习到一个紧凑的,全局的特征表示。具体地,在循环网络的每一步,经过如下的公式计算:
进一步的,本发明实施例中采用的ARN网络可以是双向ARN网络。
对于前馈神经网络,将ARN的输出表示送入前馈神经网络FFN中,得到最终的基于ARN的编码器的输出表示Hr N。
在自关注编码器和时序编码器各自编码完成之后,可以将自关注编码器的输出结果和时序编码器的输出结果进行集成。如图10所示,为本发明实施例提供的采用门控加和方式进行解码的示意图。将目标词输入到目标词嵌入模块,然后将位置编码模块的输出和目标词嵌入模块的输出进行相加,然后再输入到多头注意力网络、残差网络和标准化网络进行解码处理,得到的解码结果分别和自关注编码器的输出结果、时序编码器的输出结果进行解码,再将各自解码结果进行门控加和,得到的结果输入到前馈神经网络、残差网络和标准化网络进行处理,最后经过Softmax函数之后输出可能性结果。
Rd n=LN(ATT(cd n,Hr n)+cd n),
Rd n表示对额外的建模时序信息的编码器输出表示的注意力网络的输出。为了把这个输出和原来网络中的输出Dd n结合起来,利用逻辑回归的sigmoid非线性函数计算权重λn:
λn=sigmoid(Dd n,Rd n),
之后可以利用这个权重将两个注意力网络的输出结合起来:
如图11所示,为本发明实施例提供的采用瀑布流方式进行解码的示意图。将目标词输入到目标词嵌入模块,然后将位置编码模块的输出和目标词嵌入模块的输出进行相加,然后再输入到多头注意力网络、残差网络和标准化网络进行解码处理,得到的解码结果和自关注编码器的输出结果进行解码,再将得到的解码结果和时序编码器的输出结果共同输入到多头注意力网络、残差网络和标准化网络,进行解码处理得到的结果输入到前馈神经网络、残差网络和标准化网络进行处理,最后经过Softmax函数之后输出可能性结果。
接下来对瀑布流方式的方式进行详细说明,得到额外的建模时序信息的编码器的表示Hr n之后,在解码器第n层中,以Hr n作为记忆,注意力网络的输出作为请求,构建注意力网络,这里构建的注意力网络是以解码器自注意力网络的输出作为请求,时序编码器的输出作为键,构建注意力网络,目的是要将时序编码器和解码器联系起来。具体可通过方式:
Rd n=LN(ATT(Dd n,Hr n)+Dd n),
其中,Rd n表示对额外的建模时序信息的编码器输出表示的注意力网络的输出。接下来将其继续地送入前馈神经网络中:
Hd n=LN(FFN(Rd n)+Rd n)。
就得到了解码器第n层的输出Hd n。
本发明实施例中提出了一种短路径效用,在额外建模时序信息的编码器中,使用一层的网络建模,并且仅在Transformer模型解码器的最后一层集成额外编码器的信息,使得源端的输入序列更直接地影响目标端的输出序列。这种短路径的方法在机器翻译的任务上表现出色。
接下来举例说明本发明实施例中采用的多种模型组合方式。
方法1:在额外的时序信息建模的编码器中使用6层双向RNN网络,在Transformer模型解码端使用短路径,直接在解码端最后一层使用瀑布流方式融合短路径方式。6层指的是建模时序信息的编码器。
方法2:在额外的时序信息建模的编码器中使用1层双向ARN网络,在Transformer模型解码端使用短路径,直接在解码端最后一层使用门控加和方式融合短路径方式。其中,双向ARN网络就是将输入序列反转,然后再用ARN建模一次,将正向和反向的输出拼接起来。
方法3:在额外的时序信息建模的编码器中使用1层双向ARN网络,在Transformer模型解码端使用短路径,直接在解码端最后一层使用瀑布流方式融合短路径方式。
由于本发明实施例提供的方法简单灵活,可以在时序编码器中加入各种改进的网络结构,从而改善transformer模型的翻译效果,以及在其他语言理解及生成任务上,本发明实施例提供了一个简单有效的方法对序列模型提供额外的编码信息。
以机器翻译为例,在WMT2014英德机器翻译任务的测试中,所提出方法显著提升翻译质量,如下表1所示,双语互译质量评估(bilingual evaluation understudy,BLEU)是机器翻译评测的标准方法,值越高表示效果越好。BLEU一般提高超过0.5个点即是显著提高,该栏的Δ是指提高的绝对数值,参数数量的单位为百万(M),训练速度单位为每秒迭代次数。本申请实施例提供的方法在较长句子的翻译上表现出色。
表1为本发明实施例提供的transformer模型与现有技术的网络模型在机器翻译系统上的效果对比表。
需要说明的是,本发明不限定对时序信息编码的方式,在时序信息编码端可以使用多层单向RNN或ARN以及其他网络机构,例如有向的自关注神经网络等。本发明中使用sigmoid非线性方法计算时序信息编码端的系数,使其成为值域为(0,1)的标量,该项可由其他可将任意实数映射到(0,1)之间方法代替。
本发明实施例中,对Transformer模型进行时序信息建模,增强源端序列的时序信息表示。本发明实施例采用短路径方式,其特点是将建模时序信息的编码器输出直接在解码端的最后一层集成。使用双向基于注意力的循环网络建模序列的时序信息,在建模时序信息的编码器端,采用双向的ARN网络对源端序列进行建模。使用门控加和或者瀑布流的方式将编码端的信息在解码端集成,在解码端单层或多层的使用门控加和或者瀑布流的方式,将建模时序信息的编码端输出在解码端集成。本发明的方法可以应用于多种序列模型中,不局限于机器翻译系,以提升对序列的时序建模能力。其中在机器翻译系统Transformer中,已验证可显著改善翻译任务的翻译质量,提升用户体验。
本发明的主要创新之处是提出了一种对神经机器翻译Transformer模型的时序信息建模方法,利用一个额外的编码器对源端序列进行时序信息的建模,然后提出了两种集成方式(第一种是门控加和的方式,第二种是瀑布流的方式),将该编码器学习到的信息与原来Transformer模型进行集成。进一步地,本发明提出了短路径效应,将源端序列信息高效传递到目标端序列。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图12-a所示,本发明实施例提供的一种序列模型的处理装置1200,可以包括:第一输入模块1201、编码模块1202、第二输入模块1203、解码模块1204,其中,
第一输入模块1201,用于从源端数据库中获取到源端序列,并将所述源端序列输入到序列模型的编码端,所述编码端包括:自关注编码器和时序编码器;
编码模块1202,用于通过所述时序编码器对所述源端序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述源端序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述源端序列进行编码处理从而得到第二编码结果;
第二输入模块1203,用于从目标端数据库中获取到目标端序列,并将所述目标端序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;
解码模块1204,用于通过所述解码端对所述目标端序列、所述第一编码结果和所述第二编码结果进行解码处理,并输出解码处理后得到的解码结果。
在本申请的一些实施例中,所述时序编码器包括:编码层,所述编码层包括:时序信息网络和第一前馈网络;
如图12-b所示,所述编码模块1202,包括:
时序建模子模块12021,用于使用所述时序信息网络对所述源端序列进行时序建模从而得到所述时序信息;
第一传播子模块12022,用于使用所述第一前馈网络对所述时序信息进行单向传播,输出所述第一编码结果。
在本申请的一些实施例中,所述时序编码器包括N个编码层,所述N为正整数;
所述时序编码器中的第一编码层,包括:第一时序信息网络和所述第一前馈网络;
所述第一时序信息网络,包括:第一神经网络和第一标准化网络;
如图12-c所示,所述时序建模子模块12021,包括:
第一时序建模单元120211,用于使用所述第一神经网络对所述源端序列进行时序建模;
第一标准化处理单元120212,用于使用所述第一标准化网络对通过时序建模得到的结果进行标准变换,得到所述时序信息。
在本申请的一些实施例中,所述时序编码器中的第二编码层,包括:第二时序信息网络和所述第一前馈网络;
所述第二时序信息网络,包括:第二神经网络、第一残差网络和第二标准化网络;
如图12-d所示,相对于图12-c所示,所述时序建模子模块12021,还包括:
第二时序建模单元120213,用于在所述第一编码层中的第一前馈网络输出第一子层编码结果之后,使用所述第二神经网络对所述第一子层编码结果进行时序建模;
残差计算单元120214,用于使用所述第一残差网络对通过时序建模得到的结果进行残差计算;
第二标准化处理单元120215,用于使用所述第二标准化网络对通过残差计算得到的结果进行标准变换,得到所述时序信息。
在本申请的一些实施例中,所述第一神经网络为双向神经网络;或者,所述第一神经网络为循环神经网络,或者基于注意力的循环网络。
在本申请的一些实施例中,所述第二神经网络为双向神经网络;或者,所述第二神经网络为循环神经网络,或者基于注意力的循环网络。
在本申请的一些实施例中,所述解码端,包括:解码层,所述解码层包括:自关注网络、注意力网络和第二前馈网络;
所述第二输入模块1203,用于将所述目标端序列输入到所述自关注网络中;将所述第一编码结果和所述第二编码结果输入到所述注意力网络中。
在本申请的一些实施例中,如图12-e所示,所述解码模块1204,包括:
自关注处理子模块12041,用于使用所述自关注网络对所述目标端序列进行序列变换,得到第一请求键值序列;
注意力处理子模块12042,用于将所述第一请求键值序列输入到所述注意力网络中,以及使用所述注意力网络对所述第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,得到关系信息;
第二传播子模块12043,用于使用所述第二前馈网络对所述关系信息进行单向传播,从而得到所述解码结果。
在本申请的一些实施例中,所述注意力网络,包括:第一注意力子层和第二注意力子层,所述第一编码结果输入到所述第一注意力子层中,所述第二编码结果输入到所述第二注意力子层中;
所述第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;
所述第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络;
如图12-f所示,注意力处理子模块12042,包括:
第一输入单元120421,用于将所述第一请求键值序列分别输入到所述第一注意力子层和所述第二注意力子层;
第一注意力处理单元120422,用于使用所述第一多头注意力网络对所述第一请求键值序列、所述第一编码结果进行关系建模从而得到第一关系子信息,使用所述第二残差网络对所述第一关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到第一注意力子层输出结果;
第二注意力处理单元120423,用于使用所述第二多头注意力网络对所述第一请求键值序列、所述第二编码结果进行关系建模从而得到第二关系子信息,使用所述第三残差网络对所述第二关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第二注意力子层输出结果;
融合计算单元120424,用于对所述第一注意力子层输出结果和所述第二注意力子层输出结果进行融合计算,得到所述关系信息。
在本申请的一些实施例中,所述注意力网络,包括:第一注意力子层和第二注意力子层,所述第一编码结果输入到所述第一注意力子层中,所述第二编码结果输入到所述第二注意力子层中;
所述第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;
所述第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络;
如图12-g所示,注意力处理子模块12042,包括:
第二输入单元120425,用于将所述第一请求键值序列输入到所述第二注意力子层;
第三注意力处理单元120426,用于使用所述第二多头注意力网络对所述第一请求键值序列、所述第二编码结果进行关系建模从而得到第三关系子信息,使用所述第三残差网络对所述第三关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第三注意力子层输出结果;
第四注意力处理单元120427,用于将所述第三注意力子层输出结果输入到所述第一注意力子层,使用所述第一多头注意力网络对所述第三注意力子层输出结果、所述第一编码结果进行关系建模从而得到第四关系子信息,使用所述第二残差网络对所述第四关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到所述关系信息。
在本申请的一些实施例中,所述解码端包括M个解码层,所述M为正整数;
所述解码端的第1个至第M-1个解码层中只输入有所述第二编码结果,且不输入所述第一编码结果;
所述解码端的第M个解码层中输入有所述第一编码结果和所述第二编码结果。
通过以上对本发明实施例的描述可知,序列模型具有编码端和解码端,其中该编码端包括:自关注编码器和时序编码器,从源端数据库中获取到源端序列之后,通过时序编码器、自关注编码器可以分别对源端序列进行编码处理,时序编码器输出的第一编码结果中包括有使用源端序列进行时序建模得到的时序信息,自关注编码器输出第二编码结果。在序列模型的解码端,可以对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。由于本申请实施例中在序列模型的编码端不仅使用了自关注编码器,还同时使用了时序编码器,该时序信息也输入到序列模型的解码端进行了解码。本申请实施例提供的序列模型采用上述两种编码器同时对源端序列进行编码,从而通过时序建模完成了时序信息的生成,使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。
本发明实施例还提供了另一种终端,如图13所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图13示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图13,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图13中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图13对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图13中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器1080还具有控制执行以上由终端执行的序列模型的处理方法流程。
图14是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的序列模型的处理方法步骤可以基于该图14所示的服务器结构。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种序列模型的处理方法,其特征在于,所述序列模型为神经机器翻译模型,所述序列模型的编码端包括:自关注编码器和时序编码器;所述序列模型的解码端包括:注意力网络;所述注意力网络包括:第一注意力子层和第二注意力子层;所述第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;所述第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络;所述方法包括:
从源端数据库中获取到中文词序列,并将所述中文词序列输入到所述序列模型的编码端;
通过所述时序编码器对所述中文词序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述中文词序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述中文词序列进行编码处理从而得到第二编码结果;
从目标端数据库中获取到与所述中文词序列对应的英文词序列,并将所述英文词序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;
使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,得到关系信息,利用所述关系信息进行解码处理,并输出解码处理后得到的解码结果,以通过所述解码端来训练所述神经机器翻译模型,使所述神经机器翻译模型用于中英文词序列的翻译;所述第一请求键值序列是所述英文词序列进行序列变换后得到的结果;
其中,使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,得到关系信息包括:将所述第一请求键值序列分别输入到所述第一注意力子层和所述第二注意力子层;使用所述第一多头注意力网络对所述第一请求键值序列、所述第一编码结果进行关系建模从而得到第一关系子信息,使用所述第二残差网络对所述第一关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到第一注意力子层输出结果;使用所述第二多头注意力网络对所述第一请求键值序列、所述第二编码结果进行关系建模从而得到第二关系子信息,使用所述第三残差网络对所述第二关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第二注意力子层输出结果;对所述第一注意力子层输出结果和所述第二注意力子层输出结果进行融合计算,得到所述关系信息;
或者,所述使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,包括:将所述第一请求键值序列输入到所述第二注意力子层;使用所述第二多头注意力网络对所述第一请求键值序列、所述第二编码结果进行关系建模从而得到第三关系子信息,使用所述第三残差网络对所述第三关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第三注意力子层输出结果;将所述第三注意力子层输出结果输入到所述第一注意力子层,使用所述第一多头注意力网络对所述第三注意力子层输出结果、所述第一编码结果进行关系建模从而得到第四关系子信息,使用所述第二残差网络对所述第四关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到所述关系信息。
2.根据权利要求1所述的方法,其特征在于,所述时序编码器包括:编码层,所述编码层包括:时序信息网络和第一前馈网络;
所述通过所述时序编码器对所述中文词序列进行编码处理从而得到第一编码结果,包括:
使用所述时序信息网络对所述中文词序列进行时序建模从而得到所述时序信息;
使用所述第一前馈网络对所述时序信息进行单向传播,输出所述第一编码结果。
3.根据权利要求2所述的方法,其特征在于,所述时序编码器包括N个编码层,所述N为正整数;
所述时序编码器中的第一编码层,包括:第一时序信息网络和所述第一前馈网络;
所述第一时序信息网络,包括:第一神经网络和第一标准化网络;
所述使用所述时序信息网络对所述中文词序列进行时序建模从而得到所述时序信息,包括:
使用所述第一神经网络对所述中文词序列进行时序建模;
使用所述第一标准化网络对通过时序建模得到的结果进行标准变换,得到所述时序信息。
4.根据权利要求3所述的方法,其特征在于,所述时序编码器中的第二编码层,包括:第二时序信息网络和所述第一前馈网络;
所述第二时序信息网络,包括:第二神经网络、第一残差网络和第二标准化网络;
所述使用所述时序信息网络对所述中文词序列进行时序建模,还包括:
在所述第一编码层中的第一前馈网络输出第一子层编码结果之后,使用所述第二神经网络对所述第一子层编码结果进行时序建模;
使用所述第一残差网络对通过时序建模得到的结果进行残差计算;
使用所述第二标准化网络对通过残差计算得到的结果进行标准变换,得到所述时序信息。
5.根据权利要求3所述的方法,其特征在于,所述第一神经网络为双向神经网络;或者,
所述第一神经网络为循环神经网络,或者基于注意力的循环网络。
6.根据权利要求4所述的方法,其特征在于,所述第二神经网络为双向神经网络;或者,
所述第二神经网络为循环神经网络,或者基于注意力的循环网络。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述解码端,包括:解码层,所述解码层包括:自关注网络、所述注意力网络和第二前馈网络;
所述将所述英文词序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端,包括:
将所述英文词序列输入到所述自关注网络中;
将所述第一编码结果和所述第二编码结果输入到所述注意力网络中。
8.根据权利要求7所述的方法,其特征在于,在所述使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模之前,所述方法还包括:
使用所述自关注网络对所述英文词序列进行序列变换,得到所述第一请求键值序列;
将所述第一请求键值序列输入到所述注意力网络中;
所述利用所述关系信息进行解码处理包括:
使用所述第二前馈网络对所述关系信息进行单向传播,从而得到所述解码结果。
9.根据权利要求8所述的方法,其特征在于,所述将所述第一编码结果和所述第二编码结果输入到所述注意力网络中包括:将所述第一编码结果输入到所述第一注意力子层中,将所述第二编码结果输入到所述第二注意力子层中。
10.根据权利要求7所述的方法,其特征在于,所述解码端包括M个解码层,所述M为正整数;
所述解码端的第1个至第M-1个解码层中只输入有所述第二编码结果,且不输入所述第一编码结果;
所述解码端的第M个解码层中输入有所述第一编码结果和所述第二编码结果。
11.一种序列模型的处理装置,其特征在于,所述序列模型为神经机器翻译模型,所述序列模型的编码端包括:自关注编码器和时序编码器;所述序列模型的解码端包括:注意力网络;所述注意力网络包括:第一注意力子层和第二注意力子层;所述第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;所述第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络;所述装置包括:
第一输入模块,用于从源端数据库中获取到中文词序列,并将所述中文词序列输入到所述序列模型的编码端;
编码模块,用于通过所述时序编码器对所述中文词序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述中文词序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述中文词序列进行编码处理从而得到第二编码结果;
第二输入模块,用于从目标端数据库中获取到英文词序列,并将所述英文词序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;
解码模块,用于使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,得到关系信息,利用所述关系信息解码处理,并输出解码处理后得到的解码结果,以通过所述解码端来训练所述神经机器翻译模型,使所述神经机器翻译模型用于中英文词序列的翻译;所述第一请求键值序列是所述英文词序列进行序列变换后得到的结果;
其中,使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,得到关系信息包括:将所述第一请求键值序列分别输入到所述第一注意力子层和所述第二注意力子层;使用所述第一多头注意力网络对所述第一请求键值序列、所述第一编码结果进行关系建模从而得到第一关系子信息,使用所述第二残差网络对所述第一关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到第一注意力子层输出结果;使用所述第二多头注意力网络对所述第一请求键值序列、所述第二编码结果进行关系建模从而得到第二关系子信息,使用所述第三残差网络对所述第二关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第二注意力子层输出结果;对所述第一注意力子层输出结果和所述第二注意力子层输出结果进行融合计算,得到所述关系信息;
或者,所述使用所述注意力网络对第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,包括:将所述第一请求键值序列输入到所述第二注意力子层;使用所述第二多头注意力网络对所述第一请求键值序列、所述第二编码结果进行关系建模从而得到第三关系子信息,使用所述第三残差网络对所述第三关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第三注意力子层输出结果;将所述第三注意力子层输出结果输入到所述第一注意力子层,使用所述第一多头注意力网络对所述第三注意力子层输出结果、所述第一编码结果进行关系建模从而得到第四关系子信息,使用所述第二残差网络对所述第四关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到所述关系信息。
12.根据权利要求11所述的装置,其特征在于,所述时序编码器包括:编码层,所述编码层包括:时序信息网络和第一前馈网络;
所述编码模块,包括:
时序建模子模块,用于使用所述时序信息网络对所述中文词序列进行时序建模从而得到所述时序信息;
第一传播子模块,用于使用所述第一前馈网络对所述时序信息进行单向传播,输出所述第一编码结果。
13.根据权利要求12所述的装置,其特征在于,所述时序编码器包括N个编码层,所述N为正整数;
所述时序编码器中的第一编码层,包括:第一时序信息网络和所述第一前馈网络;
所述第一时序信息网络,包括:第一神经网络和第一标准化网络;
所述时序建模子模块,包括:
第一时序建模单元,用于使用所述第一神经网络对所述中文词序列进行时序建模;
第一标准化处理单元,用于使用所述第一标准化网络对通过时序建模得到的结果进行标准变换,得到所述时序信息。
14.一种序列模型的处理装置,其特征在于,所述序列模型的处理装置包括:处理器和存储器;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,执行如权利要求1至10中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811458681.0A CN109543824B (zh) | 2018-11-30 | 2018-11-30 | 一种序列模型的处理方法和装置 |
PCT/CN2019/118982 WO2020108332A1 (zh) | 2018-11-30 | 2019-11-15 | 一种序列模型的处理方法和装置 |
US17/182,029 US20210174170A1 (en) | 2018-11-30 | 2021-02-22 | Sequence model processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811458681.0A CN109543824B (zh) | 2018-11-30 | 2018-11-30 | 一种序列模型的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109543824A CN109543824A (zh) | 2019-03-29 |
CN109543824B true CN109543824B (zh) | 2023-05-23 |
Family
ID=65852002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811458681.0A Active CN109543824B (zh) | 2018-11-30 | 2018-11-30 | 一种序列模型的处理方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210174170A1 (zh) |
CN (1) | CN109543824B (zh) |
WO (1) | WO2020108332A1 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569864A (zh) * | 2018-09-04 | 2019-12-13 | 阿里巴巴集团控股有限公司 | 基于gan网络的车损图像生成方法和装置 |
CN109543824B (zh) * | 2018-11-30 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种序列模型的处理方法和装置 |
CN110188367B (zh) * | 2019-05-31 | 2023-09-22 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
CN110175338B (zh) * | 2019-05-31 | 2023-09-26 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
CN110223742A (zh) * | 2019-06-14 | 2019-09-10 | 中南大学 | 中文电子病历数据的临床表现信息抽取方法和设备 |
CN110457713B (zh) * | 2019-06-19 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 基于机器翻译模型的翻译方法、装置、设备和存储介质 |
CN110619034A (zh) * | 2019-06-27 | 2019-12-27 | 中山大学 | 基于Transformer模型的文本关键词生成方法 |
CN110347832A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 一种基于transformer的长文本质量分析方法 |
CN110321961A (zh) * | 2019-07-09 | 2019-10-11 | 北京金山数字娱乐科技有限公司 | 一种数据处理方法及装置 |
CN110333517B (zh) * | 2019-07-11 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 障碍物感知方法、装置及存储介质 |
CN110414012B (zh) * | 2019-07-29 | 2022-12-09 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的编码器构建方法及相关设备 |
CN110728625B (zh) * | 2019-10-14 | 2023-06-30 | 北京金山数字娱乐科技有限公司 | 一种图像推理的方法及装置 |
CN111310485B (zh) * | 2020-03-12 | 2022-06-21 | 南京大学 | 机器翻译方法、装置及存储介质 |
CN111222347B (zh) * | 2020-04-15 | 2020-07-28 | 北京金山数字娱乐科技有限公司 | 语句翻译模型的训练方法及装置、语句翻译方法及装置 |
US11562518B2 (en) * | 2020-06-05 | 2023-01-24 | Google Llc | Image manipulation by text instruction |
CN113269277B (zh) * | 2020-07-27 | 2023-07-25 | 西北工业大学 | 基于Transformer编码器和多头多模态注意力的连续维度情感识别方法 |
CN111880157B (zh) * | 2020-08-06 | 2023-08-22 | 中国人民解放军海军航空大学 | 一种雷达图像中目标的检测方法及系统 |
CN116349211A (zh) * | 2020-09-14 | 2023-06-27 | 华为云计算技术有限公司 | 基于自注意力的深度学习的分布式轨迹异常检测 |
CN112288075B (zh) * | 2020-09-29 | 2024-02-02 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
CN114448905B (zh) * | 2020-11-06 | 2024-04-19 | 中国科学院深圳先进技术研究院 | 一种加密流量识别方法、系统、终端以及存储介质 |
CN112348766B (zh) * | 2020-11-06 | 2023-04-18 | 天津大学 | 一种用于监控视频增强的渐进式特征流深度融合网络 |
CN112380876B (zh) * | 2020-12-04 | 2024-06-14 | 北京有竹居网络技术有限公司 | 基于多语言机器翻译模型的翻译方法、装置、设备和介质 |
CN112883149B (zh) * | 2021-01-20 | 2024-03-26 | 华为技术有限公司 | 一种自然语言处理方法以及装置 |
US20220237435A1 (en) * | 2021-01-27 | 2022-07-28 | Google Llc | Systems and methods for routing within multitask mixture-of-experts models |
CN112836526B (zh) * | 2021-01-31 | 2024-01-30 | 云知声智能科技股份有限公司 | 一种基于门控机制的多语言神经机器翻译方法及装置 |
CN112687259B (zh) * | 2021-03-11 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 一种语音合成方法、装置以及可读存储介质 |
CN113011495A (zh) * | 2021-03-18 | 2021-06-22 | 郑州大学 | 基于gtn的多元时间序列分类模型及其构建方法 |
CN113033710A (zh) * | 2021-05-19 | 2021-06-25 | 广东众聚人工智能科技有限公司 | 一种时间序列分类方法、装置及计算机设备 |
CN113312483A (zh) * | 2021-06-02 | 2021-08-27 | 郑州大学 | 一种基于自注意力机制和BiGRU的文本分类方法 |
CN113628630B (zh) * | 2021-08-12 | 2023-12-01 | 科大讯飞股份有限公司 | 基于编解码网络的信息转换方法和装置、电子设备 |
CN113688822A (zh) * | 2021-09-07 | 2021-11-23 | 河南工业大学 | 一种时序注意力机制场景图像识别方法 |
CN113821604A (zh) * | 2021-10-11 | 2021-12-21 | 京东科技控股股份有限公司 | 文本的生成方法和装置 |
CN114046815B (zh) * | 2021-11-09 | 2024-02-09 | 上海精赋达传感技术有限公司 | 基于深度学习的编码器自校正方法及装置 |
CN114679232B (zh) * | 2022-04-06 | 2023-04-07 | 西南交通大学 | 一种基于数据驱动的光载无线传输链路建模方法 |
CN114781726A (zh) * | 2022-04-24 | 2022-07-22 | 北京航空航天大学 | 一种基于tr-lt神经网络的工业时序数据预测方法 |
KR20240027347A (ko) * | 2022-08-23 | 2024-03-04 | 주식회사 Lg 경영개발원 | 입력 시퀀스를 변환하기 위한 시퀀스 변환 신경망 구현 장치 및 이를 이용한 학습 방법 |
CN117113063B (zh) * | 2023-10-19 | 2024-02-02 | 北京齐碳科技有限公司 | 用于纳米孔信号的编解码系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357789A (zh) * | 2017-07-14 | 2017-11-17 | 哈尔滨工业大学 | 融合多语编码信息的神经机器翻译方法 |
CN107632981A (zh) * | 2017-09-06 | 2018-01-26 | 沈阳雅译网络技术有限公司 | 一种引入源语组块信息编码的神经机器翻译方法 |
CN108829667A (zh) * | 2018-05-28 | 2018-11-16 | 南京柯基数据科技有限公司 | 一种基于记忆网络的多轮对话下的意图识别方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650305B2 (en) * | 2016-07-08 | 2020-05-12 | Baidu Usa Llc | Systems and methods for relation inference |
US10929674B2 (en) * | 2016-08-29 | 2021-02-23 | Nec Corporation | Dual stage attention based recurrent neural network for time series prediction |
US10417498B2 (en) * | 2016-12-30 | 2019-09-17 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for multi-modal fusion model |
US10963783B2 (en) * | 2017-02-19 | 2021-03-30 | Intel Corporation | Technologies for optimized machine learning training |
US10839259B2 (en) * | 2017-10-27 | 2020-11-17 | Google Llc | Attention-based image generation neural networks |
US11501076B2 (en) * | 2018-02-09 | 2022-11-15 | Salesforce.Com, Inc. | Multitask learning as question answering |
US10706450B1 (en) * | 2018-02-14 | 2020-07-07 | Amazon Technologies, Inc. | Artificial intelligence system for generating intent-aware recommendations |
CN108615009B (zh) * | 2018-04-24 | 2019-07-23 | 山东师范大学 | 一种基于动态手势识别的手语翻译交流系统 |
US20190354836A1 (en) * | 2018-05-17 | 2019-11-21 | International Business Machines Corporation | Dynamic discovery of dependencies among time series data using neural networks |
CN108763230B (zh) * | 2018-06-07 | 2020-07-21 | 南京大学 | 利用外部信息的神经机器翻译方法 |
WO2020005240A1 (en) * | 2018-06-27 | 2020-01-02 | Google Llc | Adapting a sequence model for use in predicting future device interactions with a computing system |
CN108766414B (zh) * | 2018-06-29 | 2021-01-15 | 北京百度网讯科技有限公司 | 用于语音翻译的方法、装置、设备和计算机可读存储介质 |
WO2020018394A1 (en) * | 2018-07-14 | 2020-01-23 | Moove.Ai | Vehicle-data analytics |
CN109543824B (zh) * | 2018-11-30 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种序列模型的处理方法和装置 |
US11604962B2 (en) * | 2019-05-09 | 2023-03-14 | Genpact Luxembourg S.à r.l. II | Method and system for training a machine learning system using context injection |
-
2018
- 2018-11-30 CN CN201811458681.0A patent/CN109543824B/zh active Active
-
2019
- 2019-11-15 WO PCT/CN2019/118982 patent/WO2020108332A1/zh active Application Filing
-
2021
- 2021-02-22 US US17/182,029 patent/US20210174170A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357789A (zh) * | 2017-07-14 | 2017-11-17 | 哈尔滨工业大学 | 融合多语编码信息的神经机器翻译方法 |
CN107632981A (zh) * | 2017-09-06 | 2018-01-26 | 沈阳雅译网络技术有限公司 | 一种引入源语组块信息编码的神经机器翻译方法 |
CN108829667A (zh) * | 2018-05-28 | 2018-11-16 | 南京柯基数据科技有限公司 | 一种基于记忆网络的多轮对话下的意图识别方法 |
Non-Patent Citations (1)
Title |
---|
Attention Is All You Need;Ashish Vaswani等;《arXiv:1706.03762v5》;20171206;第1-15页 * |
Also Published As
Publication number | Publication date |
---|---|
US20210174170A1 (en) | 2021-06-10 |
CN109543824A (zh) | 2019-03-29 |
WO2020108332A1 (zh) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543824B (zh) | 一种序列模型的处理方法和装置 | |
CN109543195B (zh) | 一种文本翻译的方法、信息处理的方法以及装置 | |
US20210264227A1 (en) | Method for locating image region, model training method, and related apparatus | |
US10956771B2 (en) | Image recognition method, terminal, and storage medium | |
CN108305296B (zh) | 图像描述生成方法、模型训练方法、设备和存储介质 | |
KR102360659B1 (ko) | 기계번역 방법, 장치, 컴퓨터 기기 및 기억매체 | |
WO2020108483A1 (zh) | 模型训练方法、机器翻译方法、计算机设备和存储介质 | |
US20210182504A1 (en) | Text translation method and apparatus, and storage medium | |
CN109918684A (zh) | 模型训练方法、翻译方法、相关装置、设备及存储介质 | |
CN109902296B (zh) | 自然语言处理方法、训练方法及数据处理设备 | |
CN111816159B (zh) | 一种语种识别方法以及相关装置 | |
WO2022253061A1 (zh) | 一种语音处理方法及相关设备 | |
CN110135497B (zh) | 模型训练的方法、面部动作单元强度估计的方法及装置 | |
JP2022517971A (ja) | 言語シーケンスラベリング方法、装置、プログラム及びコンピューティング機器 | |
CN113948060A (zh) | 一种网络训练方法、数据处理方法及相关设备 | |
CN112748899A (zh) | 一种数据处理方法和相关设备 | |
CN114840499B (zh) | 一种表描述信息的生成方法、相关装置、设备及存储介质 | |
Huang et al. | Dynamic sign language recognition based on CBAM with autoencoder time series neural network | |
WO2024046473A1 (zh) | 一种数据处理方法及其装置 | |
CN114840563B (zh) | 一种字段描述信息的生成方法、装置、设备及存储介质 | |
CN117132686A (zh) | 一种数据处理方法及其装置 | |
CN117012184A (zh) | 一种语音识别方法和相关装置 | |
CN117688287A (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 |