CN110163339A - 神经网络中网络表示生成、编码方法和装置 - Google Patents
神经网络中网络表示生成、编码方法和装置 Download PDFInfo
- Publication number
- CN110163339A CN110163339A CN201910167405.7A CN201910167405A CN110163339A CN 110163339 A CN110163339 A CN 110163339A CN 201910167405 A CN201910167405 A CN 201910167405A CN 110163339 A CN110163339 A CN 110163339A
- Authority
- CN
- China
- Prior art keywords
- vector sequence
- key
- network
- network layer
- elements
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000013598 vector Substances 0.000 claims abstract description 583
- 239000000284 extract Substances 0.000 claims abstract description 3
- 238000000605 extraction Methods 0.000 claims description 38
- 230000002093 peripheral effect Effects 0.000 claims description 27
- 230000009466 transformation Effects 0.000 claims description 7
- 239000006185 dispersion Substances 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 25
- 238000013519 translation Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明揭示了一种神经网络中网络表示生成、编码方法和装置、编码器、机器设备。所述方法包括:获取输入序列中元素对应的空间表示;通过对空间表示的编码,生成键值对向量序列以及映射至键值对向量序列中键向量序列的请求向量序列;相对元素进行局部元素的键向量序列提取,获得以元素为中心的键向量序列集合;通过计算请求向量序列和键向量序列集合的关联性,得到键向量序列集合对应值向量序列集合的权重系数;通过权重系数以及键向量序列集合对应的值向量序列集合,生成对元素输出的网络表示,由于权重系数不再是分散的权重分布,其是基于该元素请求向量序列的关联性得到的,因此局部信息得到强化,神经网络的局部上下文捕获能力得到相应提升。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种神经网络中网络表示生成、编码方法和装置、编码器、机器设备。
背景技术
随着神经网络在各领域的应用和发展,神经网络越来越多的引入注意力机制作为其中的一个基本模块,以此来动态的按需选择输入序列在神经网络中的相关表示,进而相对循环神经网络(Recurrent Neural Network,简称RNN)获得更为优秀的输出质量。
神经网络中,每个上层网络表示都会与下层所有网络表示建立直接连接,即每层的输出作为下一层的输入,多次重复,直至编码完成网络表示。
通过神经网络中引入的注意力机制,将完整地考虑每层中的全部网络表示,并对每一网络表示都进行加权求和操作,这将会在一定程度上分散所获得注意力权重的分布,对于输入序列中的元素而言,也将弱化了其相邻元素的信息,换而言之,在神经网络为元素编码生成的网络表示存在着局部信息被弱化的局限性。
如何对神经网络中网络表示生成的实现强化局部信息,提升神经网络捕获局部上下文的能力成为当前亟待解决的技术问题。
发明内容
为了对相关技术中神经网络的网络表示生成实现强化局部信息,提升神经网络捕获局部上下文的能力,本发明提供一种神经网络中网络表示生成、编码方法和装置、编码器、机器设备
一种神经网络中的网络表示生成方法,所述方法包括:
获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
通过所述元素对应空间表示的编码,生成所述元素的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
相对所述元素进行局部元素的键向量序列提取,获得以所述元素为中心的键向量序列集合;
通过计算所述请求向量序列和所述键向量序列集合的关联性,得到所述键向量序列集合对应值向量序列集合的权重系数;
通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,生成所述神经网络对所述元素输出的网络表示。
一种实现神经网络编码的方法,所述方法包括:
处理器获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
通过所述元素对应空间表示在神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
相对所述元素进行所述网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
所述处理器连接相应的运算部件计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
一种实现神经网络编码的方法,所述方法包括:
获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
通过所述元素对应网络表示在所述神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
相对所述元素进行所述网络层以及周边网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
一种神经网络中的网络表示生成装置,所述装置包括:
空间表示获取模块,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
编码模块,用于通过所述元素对应空间表示的编码,生成所述元素的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
提取模块,用于相对所述元素进行局部元素的键向量序列提取,获得以所述元素为中心的键向量序列集合;
关联性计算模块,用于通过计算所述请求向量序列和所述键向量序列集合的关联性,得到所述键向量序列集合对应值向量序列集合的权重系数;
网络表示生成模块,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,生成所述神经网络对所述元素输出的网络表示。
一种神经网络中的编码器,所述编码器包括:
输入模块,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
网络层编码模块,用于通过所述元素对应空间表示在神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
元素提取模块,用于相对所述元素进行所述网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
一维关联性计算模块,用于计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
编码输出模块,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
一种神经网络中的编码器,所述编码器包括:
编码输入模块,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
编码生成模块,用于通过所述元素对应网络表示在所述神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
二维序列提取模块,用于相对所述元素进行所述网络层以及周边网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
二维关联性计算模块,用于计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
输出模块,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
一种机器设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如前所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
对于给定输入序列,为生成其在神经网络中的网络表示,首先获取输入序列中元素对应的空间表示,输入序列是神经网络生成网络表示的源输入,然后通过元素对应空间表示的编码,生成该元素的键值对向量序列以及映射至键值对向量序列中键向量序列的请求向量序列,相对该元素进行局部元素的键向量序列提取,获得以该元素为中心的键向量序列集合,将以此键向量序列集合对应的值向量序列集合作为局部信息,通过计算请求向量序列和键向量序列集合的关联性,得到键向量序列集合对应值向量序列集合的权重系数,权重系数将用于表征所对应局部元素的值向量序列对该元素的重要程度,进而通过权重系数以及键向量序列集合对应的值向量序列集合,生成神经网络对该元素输出的网络表示,由于权重系数不再是分散的权重分布,其是基于该元素请求向量序列的关联性所得到的,因此该元素所对应的局部信息得到强化,神经网络的局部上下文捕获能力得到相应提升,从而提升神经网络输出网络表示的质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的硬件结构示意图;
图2是根据一示例性实施例示出的一种神经网络中的网络表示生成方法的流程图;
图3是根据图2对应实施例示出的对步骤250进行描述的流程图;
图4是根据图3对应实施例示出的对步骤251进行描述的流程图;
图5是根据图2对应实施例示出的对步骤270进行描述的流程图;
图6是根据图2对应实施例示出的对步骤290进行描述的流程图;
图7是根据图6对应实施例示出的对步骤291进行描述的流程图;
图8是根据一示例性实施例示出的一种实现神经网络编码的方法流程图;
图9是根据图8对应实施例示出的对步骤650进行描述的流程图;
图10是根据一示例性实施例示出的一种实现神经网络编码的方法流程图;
图11是根据一示例性实施例示出的对步骤750进行描述的流程图;
图12是一示例性实施例中本发明所实现机器翻译系统的架构示意图;
图13是根据一示例性实施例示出的编码器1的实现原理图;
图14是根据一示例性实施例示出的编码器2的实现原理图;
图15是在一测试中编码器1和编码器2在不同短语长度上的翻译质量示意图;
图16是根据一示例性实施例示出的一种神经网络中的网络表示生成装置的框图;
图17是根据一示例性实施例示出的一种神经网络中的编码器的框图;
图18是根据另一示例性实施例示出的一种神经网络中的编码器框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本发明所涉及的实施环境的硬件结构示意图。在一个示例性实施例中,该实施环境可以是部署了神经网络的机器设备,应当理解的,根据神经网络部署的实现,此机器设备可以是移动端设备、服务器甚至于服务器集群等计算能力优秀的设备。
正如图1所描述的实施环境,本发明所涉及的实施环境可通过服务器实现,需要说明的是,该服务器100只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该服务器100也不能解释为需要依赖于或者必须具有图1中示出的示例性的服务器100中的一个或者多个组件。
该服务器100的硬件结构可因配置或者性能的不同而产生较大的差异,如图1所示,服务器100包括:电源110、接口130、至少一存储介质150、以及至少一中央处理器(CPU,Central Processing Units)170。
其中,电源110用于为服务器100上的各硬件设备提供工作电压。
接口130包括至少一有线或无线网络接口131、至少一串并转换接口133、至少一输入输出接口135以及至少一USB接口137等,用于与外部设备通信。
存储介质150作为资源存储的载体,可以是随机存储介质、磁盘或者光盘等,其上所存储的资源包括操作系统151、应用程序153及数据155等,存储方式可以是短暂存储或者永久存储。其中,操作系统151用于管理与控制服务器 100上的各硬件设备以及应用程序153,以实现中央处理器170对海量数据155 的计算与处理,其可以是Windows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序153是基于操作系统151之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图1中未示出),每个模块都可以分别包含有对服务器100的一系列操作指令。数据155可以是存储于磁盘中的照片、图片等等。
中央处理器170可以包括一个或多个以上的处理器,并设置为通过总线与存储介质150通信,用于运算与处理存储介质150中的海量数据155。
如上面所详细描述的,适用本发明的服务器100将通过中央处理器170读取存储介质150中存储的一系列操作指令的形式来进行音频的识别。
图2是根据一示例性实施例示出的一种神经网络中的网络表示生成方法的流程图。在一个示例性实施例中,该神经网络中的网络表示生成方法,如图2 所示,至少包括以下步骤。
在步骤210中,处理器获取输入序列中元素对应的空间表示,输入序列是神经网络生成网络表示的源输入。
其中,此神经网络,将用于执行机器翻译、文本处理、语音识别、图像处理等诸多领域的网络表示生成任务。此神经网络可以部署于服务器、终端等类型的机器,以及服务器和终端所形成的机器组合中,因此,部署神经网络的机器,可以是服务器和终端的任意一种,也可以是二者的组合。部署了神经网络的机器,将在处理器的作用下,通过处理器内部的器件以及所连接的部件来完成神经网络中的网络表示生成。
输入序列包括若干元素,输入序列将作为神经网络生成网络表示的源目标,与之相对应的,神经网络所生成的网络表示即为神经网络的输出目标。应用神经网络所执行任务的不同,所对应的输入序列也各不相同。例如,在自然语言处理的语句处理任务中,输入序列为句子,输入序列中的元素即为句子中的词。换而言之,形成句子的词序列即为输入序列。神经网络将为每一元素生成所对应的网络表示。
输入序列中元素对应的空间表示,是通过神经网络中的网络层而将输入序列中离散的元素转换成连续的空间表示,以此即可获取得到输入序列中元素对应的空间表示(embedding),亦称之为源端向量表示。
应当理解,所获取元素对应的空间表示,实质是将元素映射至一空间而实现的元素数值化过程,以便于神经网络能够认知和理解输入序列中的元素。
在步骤230中,通过元素对应空间表示的编码,生成该元素的键值对向量序列以及映射至键值对向量序列中键向量序列的请求向量序列。
其中,编码生成的键值对向量序列是所对应元素的编码表示,也就是说,把输入序列看成是由一系列键值对向量序列构成,每一键值对向量序列都从数值上描述所对应的元素。而对元素所编码生成的请求向量序列,则与所对应键值对向量序列中的键向量序列存在着映射关系。对于一元素而言,能够由请求向量序列映射至键值对向量序列中的键向量序列。键值对向量序列中键向量序列映射至值向量序列,键向量序列和值向量序列二者之间存在着键-值对的对应关系。
应当理解的,对于元素对应空间表示所编码生成的请求向量序列、键值对向量序列,键向量序列和值向量序列合二为一,指向输入序列中的同一个元素,例如,输入序列为输入语句时,键向量序列和值向量序列构成了输入语句中词对应的语义编码。通过请求向量序列和键向量序列之间的多次线性映射,将得以获得请求向量序列和键值对向量序列之间的映射。对元素所生成的键值对向量序列以及请求向量序列,将被处理器写进内部的暂存器,以供随后快速存取。
元素对应空间表示的编码,是通过所执行的线性变换所实现的。在一个示例性实施例中,步骤230包括:对每一元素,都通过神经网络学习的参数矩阵进行元素对应空间表示的线性变换,以分别编码生成该元素的键值对向量序列,以及映射至键值对向量序列中键向量序列的请求向量序列。
其中,用于编码生成键向量序列、值向量序列以及请求向量序列的参数矩阵,为三个不同的可学习参数矩阵。经由这三个不同的可学习参数矩阵所进行的线性变换,而将元素对应空间表示分别编码生成键向量序列、值向量序列和请求向量序列。
键值对向量序列和请求向量序列是神经网络中一网络层的编码输出,在一个示例性实施例中,此网络层与其它网络层相互堆叠,换而言之,神经网络包括着多层堆叠的网络层。与此相对应的,每一网络层都将基于自身所配置参数矩阵来进行元素所对应空间表示的编码,以在此网络层输出键值对向量序列和请求向量序列。
在此神经网络中,通过多层堆叠的网络层将进行元素所对应空间表示的编码,并在此基础之上执行后续流程,直至输出元素的网络表示。可以理解的,此神经网络引入了多头机制(Multi-Head Mechanism),能够并行使用多个网络层,在对元素所执行的网络表示生成中,多层堆叠的网络层之间相互独立。
总而言之,输入序列中元素的键值对向量序列以及映射一至键值对向量序列中键向量序列的请求向量序列都将在多层堆叠的每一网络层编码生成。
在步骤250中,相对该元素进行局部元素的键向量序列提取,获得以该元素为中心的键向量序列集合。
其中,经由前述步骤230,能够对输入序列中的每一元素都编码生成相应的键值对向量序列和请求向量序列。离散分布的元素都能够获得自身所对应的键值对向量序列和请求向量序列。
而输入序列中,每一元素,都有着自身所相关的其它元素,这些元素即为该元素的局部元素。局部元素将携带着该元素所密切相关的局部信息。
对于局部元素而言,其键向量序列是作为索引(Key)而存在的,因此对于元素所相关局部信息的捕捉,将首先进行该元素所对应局部元素的键向量序列的提取。
输入序列中,每一元素都有着相应的局部元素,每一局部元素都有着键向量序列,因此,随着对该元素进行局部元素键向量序列的提取,将获得以该元素为中心的键向量序列集合。
在一个示例性实施例中,一元素的局部元素,是以此元素为中心,在输入序列中向前和向后所确定的若干个元素。局部元素对应于此元素的上下文,因此携带了上下文局部信息。
引入多头机制的神经网络,其多层堆叠的网络层都将为元素进行局部元素的键向量序列的提取,以此类推,每一网络层都将获得输入序列中每一元素的键向量序列集合。
应当说明的是,对当前元素进行局部元素的键向量序列提取,可以是一维的,即所限定的局部范围可以是一维元素轴,也可以是二维的,即由一维元素轴扩展至二维区域,例如多层堆叠的网络层中局部元素的键向量提取,在此不进行限定。
在步骤270中,处理器连接相应的运算部件计算请求向量序列和键向量序列集合的关联性,得到键向量序列集合对应值向量序列集合的权重系数。
其中,在网络表示生成的执行阶段,处理器所连接的相应运算部件,例如,算术逻辑单元(ALU,Arithmetic Logic Unit),将进行所需要的计算。
对一元素,由前述步骤的执行为输入序列中的元素获得了请求向量序列以及所对应局部元素相关的键向量序列集合。键向量序列集合中包含着每一局部元素的键向量序列,由此键向量序列能够映射至局部元素的值向量序列,因此,与键向量序列集合相对应的,也能够映射至所对应的值向量序列集合,即局部元素的值向量序列所构成的集合。
对于输入序列中的每一元素,都在步骤270的执行中,进行请求向量序列和键向量序列集合之间关联性的计算,其中,在此所指的请求向量序列是当前元素的请求向量序列,键向量序列集合则也是归属于当前元素的,是对当前元素的局部元素所提取的键向量序列的集合。
为当前元素计算其请求向量序列与局部元素的键向量序列之间的关联性,在此计算中,请求向量序列和键向量序列二者之间的关联性越大,则说明键向量序列所对应的局部元素与当前元素越为相关或相似,所对应局部元素值向量序列的权重系数也越大;反之,则使得局部元素值向量序列的权重系数越小。
请求向量序列和键向量序列集合的关联性计算,实质为当前元素的请求向量序列与局部元素的键值对向量序列所分别进行的相关性或相似性计算。在一个示例性实施例中,此相似性能够通过逻辑相似度衡量。
在多层堆叠的网络层,每一网络层都为输入序列中的元素进行请求向量序列与自身对应的每一局部元素键值对向量序列二者之间的关联性计算,在此,以逻辑相似度的计算为例,进行详细说明。
一网络层,即神经网络中第h个头中,输入序列中元素对应的空间表示首先被可学习参数矩阵线性变换为请求(query)向量序列Qh、键(key)向量序列Kh和值(value)向量序列Vh。
对于第i个元素,相对输入序列中第i个元素的请求向量序列qi h,计算以i 为中心的周围M+1(M<=I)个元素的键向量序列的集合,即局部元素的键向量序列所形成的键向量序列集合,其可表示为:
其中,I为输入序列的元素数量。
对元素的请求向量序列和键向量序列集合进行计算以获得请求向量序列与每个键-值对,即每一局部元素的键值对向量序列之间的逻辑相似度ei h:
其中,d为元素所对应空间表示的维度。
以此类推,即可在每一网络层都完成输入序列中元素与其每一局部元素之间的关联性计算,进而转换为请求向量序列与每个键-值对之间的权重系数,该权重系数将简单描述了两个元素,即当前元素与所对应局部元素之间的依存关系。
在步骤290中,通过权重系数以及键向量序列集合对应的值向量序列集合,生成神经网络对该元素输出的网络表示。
其中,正如前述所描述的,输入序列中的每一元素,都获得了自身相对于局部元素值向量序列的权重系数,因此,能够依据来融合局部元素与当前元素之间值向量序列的融合,进而生成神经网络对当前元素输出的网络表示。
通过如上所述的示例性实施例,所实现的神经网络得以具备了局部信息的捕获能力,对元素生成的网络表示也参考了自身所密切相关的局部信息,即上下文局部信息,因此,对元素的网络表示输出获得了质量的提升,神经网络的性能也得到了优化。
如上所述示例性实施例所实现的神经网络,将得以应用于机器翻译、文本处理、语音识别、图像处理等诸多领域,进而用于完成机器翻译、自然语言推理、语音模型、图像注释等的网络表示生成任务,得益于本发明所实现神经网络的部署,使得局部信息能够得到强化,进而在各种任务的执行中表现出色。
综上所述的,本发明所实现的神经网络简单有效,能够应用于所有需要强化局部信息的,针对离散序列建模的模型中。
图3是根据图2对应实施例示出的对步骤250进行描述的流程图。在一个示例性实施例中,如图3所示的,该步骤250包括:
在步骤251中,确定输入序列中元素所对应的局部元素,局部元素是输入序列中以元素为中心,对应于预设数量的其它元素。
其中,对于输入序列中的一元素,都有与之相对应的局部元素,输入序列中位于此元素周围的其它元素即为此元素所对应的局部元素。
在一个示例性实施例中,将预先设定局部元素的数量,以当前元素为中心,按照预设数量,即可从输入序列中确定当前元素所对应的局部元素。
例如,所设定的预设数量为M,以当前元素i为中心,在输入序列中的前以及后的元素,都为当前元素i的局部元素。
以此类推,即可对输入序列中的每一元素都确定其所对应的局部元素。
在步骤253中,为该元素面向神经网络中多层堆叠的网络层进行所对应局部元素的键向量序列提取,相对该元素在此网络层获得每一局部元素的键向量序列。
其中,首先应当说明的是,在此示例性实施例中,神经网络包括多层堆叠的网络层。对于所进行的局部元素键向量序列提取,将多头进行,在相互堆叠的每一网络层都为输入序列中的元素提取所对应局部元素的键向量序列。
而面向神经网络中多层堆叠的网络层进行的局部元素键向量序列提取,包括了以一维元素轴作为所限定局部范围的键向量序列提取,以及以二维区域作为所限定局部范围的键向量序列提取。
无论是以一维元素轴作为限定的局部范围,还是以二维区域限定的局部范围,都能够为每一元素按照所确定的局部元素提取其对应空间表示编码生成的键向量序列。
应当说明的,所进行的键向量序列提取,是为了元素以及所在的网络层进行的,也是为了后续进行元素请求向量序列和键向量序列集合之间的关联性计算提供所需要的键向量序列集合,因此,与此相对应的,所进行的键向量序列提取是针对于编码生成当前元素请求向量序列的网络层所进行的。
对于输入序列的每一元素,都在相互堆叠的每一网络层按照一维元素轴或者二维区域进行所对应局部元素的键向量序列提取,以获得该元素在此网络层的键向量序列集合。
具体而言,按照一维元素轴对局部元素进行的键向量序列提取,是为当前元素的请求向量序列,在编码生成请求向量序列的网络层提取每一局部元素的键向量序列,这些键向量序列便与当前元素的键向量序列一起形成键向量序列集合。
而按照限定的二维区域对局部元素进行的键向量序列提取,是为当前元素的请求向量序列,以编码生成请求向量序列的网络层作为当前网络层,在当前网络层以及当前网络层的周边网络层提取局部元素的键向量序列,这些键向量序列与当前元素在当前网络层以及周边网络层的键向量序列一起形成键向量序列集合。
在步骤255中,将每一局部元素的键向量序列以及该元素的键向量序列按序形成该元素在此网络层的键向量序列集合。
其中,通过步骤253提取的键向量序列,将按照其所对应的元素或者元素以及所在网络层,来按序形成当前元素在此网络层的键向量序列集合。
对于按照一维元素轴提取的键向量序列,将与当前元素的键向量序列,按照自各所对应元素的顺序来形成当前元素在一网络层的键向量序列集合。
对于按照二维区域在同一网络层提取的键向量序列,将与当前元素在这一网络层的键向量序列按照自身所对元素顺序排列之后,再按照所对应的网络层顺序拼接,以此来按序形成键向量序列集合。
在一个示例性实施例中,图3所示的步骤251包括:对输入序列中的元素,以网络层中局部元素对应的键向量序列为一维元素轴,提取网络层中局部元素的键向量序列,提取的键向量序列用于形成元素在网络层的键向量序列集合。
其中,此过程为一维键向量序列集合的获得。针对于输入序列中的每一元素,都将在相互堆叠的每一网络层进行局部元素的键向量序列提取,以此来获得该元素在此网络层的键向量序列集合。
以此类推,都将为每一元素在每一网络层获得键向量序列集合,网络层之间无交互,相互独立。
图4是根据图3对应实施例示出的对步骤251进行描述的流程图。在一个示例性实施例中,如图4所示,该步骤251包括:
在步骤301中,针对输入序列中元素在一网络层编码生成的请求向量序列,以此网络层为中心确定神经网络中其它网络层为该元素的周边网络层,周边网络层与局部元素用于确定该元素相对此网络层的二维区域。
其中,对于所进行的局部元素键向量序列提取,是以输入序列中一元素作为当前元素,以相互堆叠的一网络层作为当前网络层,分别相对于当前元素以及当前网络层确定局部元素和周边网络层之后获得限定的局部范围,即限定的二维区域。
周边网络层,是以当前网络层为中心,按照设定数量来确定的网络层。例如,对于当前网络层h,设定数量为N的情况下,所确定的周边网络层为网络层至网络层当然,当前网络层h除外。
对于每一网络层,都照此来确定其周边网络层,进而以此为依据来确定此网络层为所编码请求向量序列进行局部元素键向量序列提取的二维区域。
在步骤303中,在二维区域,分别对作为中心的网络层以及该元素的各周边网络层提取所对应局部元素的键向量序列,提取的键向量序列用于与该元素在二维区域的键向量序列形成该元素在此网络层的键向量序列集合。
其中,在所限定的二维区域,一方面是按照局部元素进行着键向量序列的提取,另一方面,对局部元素进行的键向量序列提取,将在二维区域中的各网络层分别进行,以此来为当前网络层以及当前元素提取所需要的键向量序列。
一元素i,即输入序列中的第i个元素,在相互堆叠的多个网络层中以元素 i以及编码生成元素i请求向量序列的网络层为中心,限定(N+1)×(M+1)(N<=M) 大小的二维区域,进而获得包含(N+1)×(M+1)个键向量序列的键向量序列集合。其中,N为设定的周边网络层数量,M为设定的局部元素数量。
此时,键向量序列集合可表示为:
其中,是当前网络层对局部元素键向量序列和当前元素键向量序列按序排列所获得的。
与此相对应的,图3所示的步骤255包括:对相同网络层提取的键向量序列以及该元素在此网络层的键向量序列按所对应元素排列之后,按照所在网络层顺序进行键向量序列的拼接,获得该元素在此网络层的键向量序列集合。
其中,正如前述所描述的,二维区域提取的键向量序列集合,将按照所对应元素以及所对应网络层与当前元素在二维区域的键向量序列一起按序形成当前元素在当前网络层的键向量序列集合。当前元素以及当前网络层与二维区域紧密相关,是二维区域的中心。
图5是根据图2对应实施例示出的对步骤270进行描述的流程图。在一个示例性实施例中,如图5所示,该步骤270包括:
在步骤271中,对元素在网络层编码生成的请求向量序列和提取的键向量序列集合计算请求向量序列和键向量序列集合二者之间的关联性,关联性通过请求向量序列和键向量序列之间的相关度和相似度表征。
其中,为元素在每一网络层所编码生成的请求向量序列,都为该元素获得在此网络层的键向量序列集合,因此,能够为该元素进行此网络层中请求向量序列和键向量序列集合二者之间的关联性计算。
元素在网络层编码生成的请求向量序列和提取的键向量序列集合之间的关联性计算,是为该元素针对于此网络层进行的,实质为请求向量序列与键向量序列集合中各键向量序列之间的关联性计算。
在步骤273中,非线性变换计算的关联性,获得此网络层中键向量序列集合对应值向量序列集合中值向量序列的权重系数。
其中,在完成关联性计算,获得请求向量序列对每一键-值对的关联性,例如逻辑相似性之后,其转换为所键-值对所对应值向量序列的权重系数。
在一个示例性实施例中,应用SoftMax函数进行非线性变换,将逻辑相似度转换为请求向量序列与每个键-值对之间的权重关系,即:
αi h=softmax(ei h)
其中,αi h是第i个元素在网络层h请求向量序列与每一键-值对之间的权重关系,ei h是逻辑相似度。
图6是根据图2对应实施例示出的对步骤290进行描述的流程图。在一个示例性实施例中,如图6所示,该步骤290至少包括:
在步骤291中,在神经网络中多层堆叠的网络层,为输入序列的元素提取对应于键向量序列集合的值向量序列集合。
其中,针对于元素在一网络层的键向量序列集合,相应进行值向量序列集合的提取,值向量序列集合包括对应于键向量序列集合中键向量序列的值向量序列。
因此,值向量序列集合的获得,是与键向量序列集合中键向量序列的提取相对应的。键向量序列与值向量序列之间存在着键-值对的映射关系,因此,可由键向量序列集合中键向量序列映射得到。
此外,也可通过键向量序列集合所对应的一维元素轴和二维区域进行值向量序列的提取,进而获得相应的值向量序列集合。
在一个示例性实施例中,键向量集合对应于一维元素轴,则步骤291包括:在神经网络中多层堆叠的网络层,对输入序列中的元素进行所对应局部元素的值向量序列提取,提取的值向量序列形成对应于地鲜红在网络层键向量序列集合的值向量序列集合。
图7是根据图6对应实施例示出的对步骤291进行描述的流程图。在另一个示例性实施例中,如图7所示,该步骤291包括:
在步骤501中,根据元素在网络层的键向量序列集合,对应提取元素以及相应局部元素在网络层以及各周边网络层进行值向量序列的提取,获得该元素和局部元素在此网络层以及每一周边网络层所编码生成的值向量序列。
在步骤503中,按照元素顺序以及所在网络层顺序拼接值向量序列获得对应于键向量序列集合的值向量序列集合。
在步骤293中,对权重系数和值向量序列集合中值向量序列进行二者之间的加权求和,获得该元素在此网络层的输出表示。
其中,经由前述步骤所计算得到的权重系数,为局部元素的值向量序列指示了其相对当前元素的重要程度。因此,将通过权重系数进行局部元素的值向量序列以及当前元素的值向量序列的融合,以此来获得当前元素在当前网络层的输出表示。
每一元素在一网络层都获得了所运算的权重系数以及值向量序列集合,通过权重系数与值向量序列集合中值向量序列之间的加权求和,即可获得该元素在此网络层的输出表示。
例如,对一维元素轴所提取的键向量序列集合,即通过所执行的点积计算来完成权重系数和值向量序列集合中值向量序列的加权求和计算,以此来获得网络层h中第i个元素的输出,即:
至此,即可将多个网络层的输出都连接起来,获得神经网络对第i个元素输出的网络表示,即:
O=[O1,...,OH]
又例如,对二维区域所提取的键向量序列集合,即也对权重系数和值向量序列进行点积计算,得到网络层h中第i个元素的输出,即:
将元素在多个网络层的输出都连接起来,得到神经网络对该元素的网络表示:
O=[O1,...,OH]
在步骤295中,拼接该元素在各网络层的输出表示,生成神经网络对该元素输出的网络表示。
通过如上所述的示例性实施例,能够应用于神经网络模型而作为其中的网络层存在,进而处理需要强化局部信息的离散序列。
如上所述的网络表示生成,通过二维区域的引入实现键向量序列集合的提取,这将为神经网络中多层堆叠的网络层实现了信息的交互,即网络层与其周围的网络层都进行了交互,使得网络层的输出计算不再限制于自身的子空间,避免对不同子空间中信息的忽略,神经网络的性能得到进一步增强。
在如上所述示例性实施例中,通过神经网络所进行的网络表示生成,得以引入了注意力机制来动态的按需选择网络中的相关表示,即选择局部元素的相关表示来为当前元素生成网络表示,并且通过所引入的多头机制,即并行应用注意力网络来并行使用和关注不同信息,由此通过如上所述的方法,将实现了堆式多头自关注的神经网络模型。
如上所述的神经网络中的网络表示生成方法,将是一种通用的网络表示生成思想,并不需要依赖于特定的框架,当然对于机器翻译所适用的Nncoder-Decoder框架,本发明所实现的神经网络模型也能够附着于此框架下。
也就是说,本发明所实现的神经网络中网络表示的生成方法,能够应用于神经网络中的编码器,也能够应用于神经网络中的解码器。
下述为本发明所实现编码器的方法实施例。另一方面的,基于前述神经网络中的网络表示生成方法,还可提供一种实现神经网络编码的方法。图8是根据一示例性实施例示出的一种实现神经网络编码的方法流程图。
在一个示例性实施例中,如图8所示的,一种实现神经网络编码的方法,包括:
在步骤610中,处理器获取输入序列中元素对应的空间表示,输入序列是神经网络生成网络表示的源输入。
在步骤630中,通过该元素对应空间表示在神经网络中相互堆叠的网络层编码,生成该元素在此网络层的键值对向量序列以及映射至键值对向量序列中键向量序列的请求向量序列。
在步骤650中,相对该元素进行此网络层中局部元素的键向量序列提取,获得网络层中以该元素为中心的键向量序列集合。
在步骤670中,处理器连接相应的运算部件计算该元素在此网络层中编码生成的请求向量序列和键向量序列集合的关联性,得到网络层中键向量序列集合对应值向量序列集合的权重系数。
在步骤690中,通过权重系数以及键向量序列集合对应的值向量序列集合,由各网络层生成神经网络对元素编码输出的网络表示。
在此示例性实施例中,将对元素对应的空间表示进行编码,进而获得此元素编码输出的网络表示。
在基于神经网络的自然语言处理,特别是语句处理任务中,编码器扮演了至关重要的角色。通过编码器,将离散的语句编码为一个或者多个连续高维空间表示,从而进行下一步操作。
而通过如上所述示例性实施例,将可成为编码器中的一个编码器块,进而与其它神经网络模型一起组成编码器。也就是说,通过如上所述的示例性实施例,将得以实现编码器中的自注意力神经网络层。
示例性的,在所进行的编码中,对于神经网络中相互堆叠的网络层,将为每一元素按照一维元素轴进行局部元素所对应键向量序列的提取,以此来获得键向量序列集合,进而再执行后续步骤。也就是说,将通过如上所述的示例性实施例,实现一维卷积自注意神经网络编码器。
在此编码实现中,随着所进行局部元素键向量序列的提取,得以为元素限定了关注范围,进而在权重系数的作用下按照局部元素与当前元素之间的依赖关系来获得所需要关注的局部信息,避免了离散性。
图9是根据图8对应实施例示出的对步骤650进行描述的流程图。在一个示例性实施例中,如图9所示的,该步骤650包括:
在步骤651中,确定输入序列中元素所对应的局部元素,局部元素是输入序列中以元素为中心,对应于预设数量的其它元素。
在步骤653中,为该元素以网络层中局部元素对应的键向量序列为一维元素轴,提取网络层中局部元素对应的键向量序列。
在步骤655中,将局部元素的键向量序列以及元素在网络层的键向量序列按序形成元素在网络层的键向量序列集合。
此示例性实施例即为键向量序列经由一维元素轴的提取实现,以此来为所引入的注意机制限定关注范围,即局部元素在此网络层的一维元素轴。
下述为本发明所实现编码器的方法实施例。另一方面的,基于前述神经网络中的网络表示生成方法,还可以提供一种实现神经网络编码的方法。图10是根据一示例性实施例示出的一种实现神经网络编码的方法流程图。
在一个示例性实施例中,如图10所示,一种实现神经网络编码的方法,包括以下步骤:
在步骤710中,处理器获取输入序列中元素对应的空间表示,输入序列是神经网络生成网络表示的源输入。
在步骤730中,通过该元素对应网络表示在神经网络中相互堆叠的网络层编码,生成该元素在此网络层的键值对向量序列以及映射至键值对向量序列中键向量序列的请求向量序列。
在步骤750中,相对该元素进行网络层以及周边网络层中局部元素的键向量序列提取,获得此网络层以该元素为中心的键向量序列集合。
在步骤770中,处理器连接相应的运算部件计算元素在网络层中编码生成的请求向量序列和键向量序列集合的关联性,得到网络层中键向量序列集合对应值向量序列集合的权重系数。
在步骤790中,通过权重系数以及键向量序列集合对应的值向量序列集合,由各网络层生成神经网络对元素编码输出的网络表示。
在基于神经网络的自然语言处理,特别是语句处理任务中,编码器用于将源语言编码为高维向量序列,随后解码器其解码为对应的目标语言。
而通过如上所述的示例性实施例,与其它类型的神经网络一起组成编码器块,进而多个编码器块串联组成编码器。
示例性的,在所进行的编码中,对于神经网络中相互堆叠的网络层,将为每一元素按照所限定的二维区域进行局部元素所对应键向量序列的提取,以此来获得键向量序列集合。也就是说,将通过如上所述的示例性实施例,实现二维卷积自注意神经网络编码器。
图11是根据一示例性实施例示出的对步骤750进行描述的流程图。在一个示例性实施例中,步骤750,如图11所示,至少包括以下步骤。
在步骤751中,确定输入序列中元素所对应的局部元素,局部元素是输入序列中以该元素为中心,对应于预设数量的其它元素。
在步骤753中,针对输入序列中元素在一网络层编码生成的请求向量序列,以此网络层为中心确定神经网络中其它网络层为该元素的周边网络层,周边网络层与局部元素用于确定该元素相对此网络层的二维区域。
在步骤755中,在二维区域,分别对作为中心的网络层以及元素的各周边网络层提取所对应局部元素的键向量序列,提取的键向量序列用于与该元素在二维区域的键向量序列形成该元素在此网络层的键向量序列集合。
在步骤757中,对相同网络层提取的键向量序列以及该元素在此网络层的键向量序列按所对应元素排列之后,按照所在网络层顺序进行键向量序列的拼接,获得该元素在此网络层的键向量序列集合。
此示例性实施例是键向量序列经由二维区域的提取实现,在为所引入注意力机制限定关注范围的同时,也实现了网络层之间的交互。在此二维区域中,限制局部范围为临近网络层,即临近子空间,由于是进行多头并行处理,对于网络层之间的组合,可不做限定。
以描述机器翻译系统的实现为例,结合上述方法实现进行阐述。通过如上所述的方法实现,将改进原有机器翻译系统中编码器的自注意力网络层和解码器中的自注意力网络层。
图12是一示例性实施例中本发明所实现机器翻译系统的架构示意图。所实现的机器翻译系统采用Encoder-Decoder框架,即包含了编码器和解码器两大总分。
如图12所示出的,在整体上,左侧为编码器的实现架构,右侧则是解码器的实现架构。在编码器和解码器中,都使用了多头注意力机制(Multi-headed self-attention),此即为本发明的方法实现。
在编码器的一个网络块中,由一个多头attention子层810和一个前馈神经网络子层830组成,整个编码器栈式搭建了N个块。
类似于编码器,解码器的一个网络块中新增一个多头attention层910。右侧的解码器中,由一层自注意力神经网络、一层源到端神经网络以及一层前馈神经网络930组成一个解码器块,多个解码器块串联组成解码器。
整个网络都使用残差连接和对层进行了规范化(Add&Norm)。
自注意力神经网络的现有实现中,会为离散序列的每个元素计算注意力权重,因此相比于传统的序列建模方法,例如,RNN(Recurrent Neural Network,循环神经网络),能够更为直接地捕获元素之间的依赖关系而不考虑其距离,进而在多个语言对的翻译任务中能够取得显著优于使用RNN进行建模的机器翻译系统的翻译质量。
无论编码器,还是解码器,都是基于自注意力神经网络,通过本发明上述神经网络中的网络表示生成方法来改进实现的。
在此,首先以机器翻译场景下的编码器实现为例进行说明。
图13是根据一示例性实施例示出的编码器1的实现原理图。原有的自注意力神经网络会完整的考虑每一网络层中所有元素的向量表示,进而对所有元素都进行加权求和操作,这将会在一定程度上分散权重的分布,进而弱化了相邻元素的信息,而这些信息往往会在诸多任务中都起到关键作用。
例如,在机器翻译系统的自然语言处理任务中,当词A与词B对应,那么词B周围的词往往会与词A对应。再以句子“Bush held a talk with Sharon”为例,如果“Bush”与“held”关联性较强,并获得了较高的权重,则会希望自注意力神经网络能够把更多的关注点集中到“held”周围的词“a talk”,这样,短语“held a talk”的信息才会被捕获并与主语“Bush”相关联,而原有的自注意力神经网络并无法达成,离散的权重与局部信息的弱化成了自注意力神经网络的主要问题。
在此示例性实施例中,正如图13所示出的,将通过限制关注范围,即如前述所指的局部范围来对注意力的局部性进行建模,使得短语“held a talk”得以被捕捉。
编码器1,亦可称之为“一维卷积自注意神经网络编码器”,其具体实现过程如下所示:
1、对一给定输入语句x={x1,...,xI},一维关系自注意神经网络的第一层将离散的词转换成连续的空间表示;
2、上层的输出作为当前层的输入,在第h个头,即相互堆叠的第h个网络层,空间表示被三个不同的可学习参数矩阵线性变换为请求向量序列Qh、键向量序列Kh和值向量序列Vh;
3、对于第i个元素,计算Qh中第i个元素qi h与以i为中心的周围M+1(M<=I) 个key集合,即如前述所指的键向量序列集合,该key集合表示为:
4、对qi h与进行点积以获得请求向量序列与每个键-值对之间的逻辑相似度ei h,即:
随后应用SoftMax非线性变换,将逻辑相似度转换为请求向量序列与键-值对之间的权重系数αi h,该权重系数可以简单理解为两个词之间的依存关系,即:
αi h=softmax(ei h)
5、值的加权平均:根据上一步所得权重系数,当前元素的输出向量由i为中心的周围M+1(M<=I)个value集合,即如前述所指的值向量序列集合加权求和获得,第h头中第i个元素周围的M+1个值向量序列集合表示如下:
实际计算中对权重系数与值进行点积计算,最终第h个头中的第i个元素输出为:
最后的输出表示为多个头沿最后一维的连接,即:
O=[O1,...,OH]
图14是根据一示例性实施例示出的编码器2的实现原理图。该编码器2,亦可称之为关注范围扩展到多头的二维卷积自注意神经网络,也就是说,限定的局部范围将由编码器的一维元素轴扩展到二维区域,即元素×头的矩形区域,以此来如图14所示出的,使得每个头在进行注意力计算时可以与其相邻的多个头进行交互,其具体实现过程如下所示:
1、对给定输入序列x={x1,...,xI},二维卷积自注意神经网络的第一层将词转换成连续的空间表示;
2、上层的输出作为当前层的输入,在第h个头中被三个不同的可学习参数矩阵线性变换为请求向量序列Qh、键向量序列Kh和值向量序列Vh;
3、对于第i个元素,计算Qh中第i个元素qi h与以i为中心的周围(N+1) ×(M+1)(N<=H)个key集合,即键向量序列集合,该key集合可表示为:
4、对qi h与进行点积以获得请求向量序列与每个键-值对之间的逻辑相似度ei h,即:
随后应用SoftMax进行非线性变换,将逻辑相似度转换为请求向量序列与每个键-值对之间的权重系数αi h,即:
αi h=softmax(ei h)
5、值的加权平均,根据上一步所得权重系数,当前元素的输出向量由以i 为中心的周围(N+1)×(M+1)(N<=H)个value集合,即值向量序列集合的加权求和获得,第h头中第i个元素周围的M+1个值向量序列集合表示如下:
实际计算中对权重系数与值进行点积计算,最终第h头中的第i个元素输出为:
最后的输出为多个头沿最后一维的连接,即:
O=[O1,...,OH]
由此可见,如上所述的实现过程简单且易于建模,神经网络中不需要额外的组件和参数,不会降低计算速度。在机器翻译系统中,本发明能够显著提升翻译质量,并且在较长短语和较长句子的翻译上表现出色。
例如,在WMT2017中英机器翻译任务的开发集测试中,应用本发明如上所述的方法,显著提升了翻译质量,如表1所示的,BLEU一般提高超过0.5个点即是显著提高,该栏的Δ是指提高的绝对数值,参数数量的单位为百万(M),训练速度单位为每秒迭代次数。
表1
图15是在一测试中编码器1和编码器2在不同短语长度上的翻译质量示意图。图中,纵坐标为编码器与基准模型之间的BLEU差值,上方折线代表编码器2,下方折线代表编码器1,横坐标表示短语长度。
由图15,可以看到,本发明所提供的方法,将在较大短语和较长句子的翻译上表现出色。
下述为本发明装置实施例,用于执行本发明上述神经网络中的网络表示生成方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明神经网络中的网络表示生成方法实施例。
图16是根据一示例性实施例示出的一种神经网络中的网络表示生成装置的框图。在一个示例性实施例中,如图16所示,该神经网络中的网络表示生成装置,包括但不限于:空间表示获取模块1010、编码模块1030、提取模块1050、关联性计算模块1070和网络表示生成模块1090。
空间表示获取模块1010,用于获取输入序列中元素对应的空间表示,输入序列是神经网络生成网络表示的源输入。
编码模块,用于通过元素对应空间表示的编码,生成该元素的键值对向量序列以及映射至键值对向量序列中键向量序列的请求向量序列。
提取模块1050,用于相对所述元素进行局部元素的键向量序列提取,获得以所述元素为中心的键向量序列集合。
关联性计算模块1070,用于通过计算所述请求向量序列和所述键向量序列集合的关联性,得到所述键向量序列集合对应值向量序列集合的权重系数。
网络表示生成模块1090,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,生成所述神经网络对所述元素输出的网络表示。
图17是根据一示例性实施例示出的一种神经网络中的编码器的框图。在一个示例性实施例中,如图17所示,该编码器包括:输入模块1110、网络层编码模块1130、元素提取模块1150、一维关联性计算模块1170和编码输出模块1190。
输入模块1110,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
网络层编码模块1130,用于通过所述元素对应空间表示在神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
元素提取模块1150,用于相对所述元素进行所述网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
一维关联性计算模块1170,用于计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
编码输出模块1190,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
图18是根据另一示例性实施例示出的一种神经网络中的编码器框图。在另一个示例性实施例中,如图18所示,该编码器包括:编码输入模块1210、编码生成模块1230、二维序列提取模块1250、二维关联性计算模块1270和输出模块1290。
编码输入模块1210,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
编码生成模块1230,用于通过所述元素对应网络表示在所述神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
二维序列提取模块1250,用于相对所述元素进行所述网络层以及周边网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
二维关联性计算模块1270,用于计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
输出模块1290,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
可选的,本发明还提供一种机器设备,该机器设备可以用于图1所示实施环境中,执行图2、图3、图4、图5、图6、图7、图8、图9、图10和图11 任一所示的方法的全部或者部分步骤。所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行实现前述所指的方法。
该实施例中的装置的处理器执行操作的具体方式已经在有关前述实施例中执行了详细描述,此处将不做详细阐述说明。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (15)
1.一种神经网络中的网络表示生成方法,其特征在于,所述方法包括:
处理器获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
通过所述元素对应空间表示的编码,生成所述元素的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
相对所述元素进行局部元素的键向量序列提取,获得以所述元素为中心的键向量序列集合;
所述处理器连接相应的运算部件计算所述请求向量序列和所述键向量序列集合的关联性,得到所述键向量序列集合对应值向量序列集合的权重系数;
通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,生成所述神经网络对所述元素输出的网络表示。
2.根据权利要求1所述的方法,其特征在于,所述神经网络包括多层堆叠的网络层,所述元素的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列都将在多层堆叠的每一网络层编码生成。
3.根据权利要求1所述的方法,其特征在于,所述相对所述元素进行局部元素的键向量序列提取,获得以所述元素为中心的键向量序列集合,包括:
确定所述输入序列中元素所对应的局部元素,所述局部元素是所述输入序列中以所述元素为中心,对应于预设数量的其它元素;
为所述元素面向所述神经网络中多层堆叠的网络层进行所对应局部元素的键向量序列提取,相对所述元素在所述网络层获得每一局部元素的键向量序列;
将每一局部元素的键向量序列以及所述元素的键向量序列按序形成所述元素在所述网络层的键向量序列集合。
4.根据权利要求3所述的方法,其特征在于,所述为所述元素面向所述神经网络中多层堆叠的网络层进行所对应局部元素的键向量序列提取,相对所述元素在所述网络层获得每一局部元素的键向量序列,包括:
对所述输入序列中的元素,以网络层中局部元素对应的键向量序列为一维元素轴,提取所述网络层中局部元素的键向量序列,提取的所述键向量序列用于形成所述元素在所述网络层的键向量序列集合。
5.根据权利要求3的方法,其特征在于,所述输入序列中的元素在每一网络层都编码生成键值对向量序列以及请求向量序列,所述为所述元素面向所述神经网络中多层堆叠的网络层进行所对应局部元素的键向量序列提取,相对所述元素在所述网络层获得每一局部元素的键向量序列,包括:
针对输入序列中元素在一网络层编码生成的请求向量序列,以所述网络层为中心确定所述神经网络中其它网络层为所述元素的周边网络层,所述周边网络层与所述局部元素用于确定所述元素相对所述网络层的二维区域;
在所述二维区域,分别对作为中心的网络层以及所述元素的各周边网络层提取所对应局部元素的键向量序列,提取的所述键向量序列用于与所述元素在所述二维区域的键向量序列形成所述元素在所述网络层的键向量序列集合。
6.根据权利要求1所述的方法,其特征在于,所述计算所述请求向量序列和所述键向量序列集合的关联性,得到所述键向量序列集合对应值向量序列的权重系数,包括:
对所述元素在所述网络层编码生成的请求向量序列和提取的键向量序列集合计算所述请求向量序列和所述键向量序列集合二者之间的关联性,所述关联性通过所述请求向量序列和键向量序列集合之间的相关度或者相似度表征;
非线性变换计算的所述关联性,获得所述网络层中所述键向量序列集合对应值向量序列集合中值向量序列的权重系数。
7.根据权利要求1所述的方法,其特征在于,所述通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,生成所述神经网络对所述元素输出的网络表示,包括:
在所述神经网络中多层堆叠的网络层,为输入序列中的元素提取对应于键向量序列集合的值向量序列集合;
对所述权重系数和所述值向量序列集合中值向量序列进行二者之间的加权求和,获得所述元素在所述网络层的输出表示;
拼接所述元素在各网络层的输出表示,生成所述神经网络对所述元素输出的网络表示。
8.根据权利要求7所述的方法,其特征在于,所述键向量集合对应于一维元素轴,所述在所述神经网络中多层堆叠的网络层,为输入序列中的元素提取对应于键向量序列集合的值向量序列集合,包括:
在所述神经网络中多层堆叠的网络层,对输入序列中的元素进行所对应局部元素的值向量序列提取,提取的所述值向量序列形成对应于所述元素在所述网络层键向量序列集合的值向量序列集合。
9.根据权利要求77所述的方法,其特征在于,所述键向量集合对应于二维区域,所述在所述神经网络中多层堆叠的网络层,为输入序列中的元素提取对应于键向量序列集合的值向量序列集合,包括:
根据所述元素在网络层的键向量序列集合,对应提取所述元素以及相应局部元素在所述网络层以及各周边网络层进行值向量序列的提取,获得所述元素和局部元素在所述网络层以及每一周边网络层编码生成的值向量序列;
按照元素顺序以及所在的网络层顺序拼接所述值向量序列获得对应于所述键向量序列集合的值向量序列集合。
10.一种实现神经网络编码的方法,其特征在于,所述方法包括:
获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
通过所述元素对应空间表示在神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
相对所述元素进行所述网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
11.一种实现神经网络编码的方法,其特征在于,所述方法包括:
获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
通过所述元素对应网络表示在所述神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
相对所述元素进行所述网络层以及周边网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
12.一种神经网络中的网络表示生成装置,其特征在于,所述装置包括:
空间表示获取模块,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
编码模块,用于通过所述元素对应空间表示的编码,生成所述元素的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
提取模块,用于相对所述元素进行局部元素的键向量序列提取,获得以所述元素为中心的键向量序列集合;
关联性计算模块,用于通过计算所述请求向量序列和所述键向量序列集合的关联性,得到所述键向量序列集合对应值向量序列集合的权重系数;
网络表示生成模块,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,生成所述神经网络对所述元素输出的网络表示。
13.一种神经网络中的编码器,其特征在于,所述编码器包括:
输入模块,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
网络层编码模块,用于通过所述元素对应空间表示在神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
元素提取模块,用于相对所述元素进行所述网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
一维关联性计算模块,用于计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
编码输出模块,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
14.一种神经网络中的编码器,其特征在于,所述编码器包括:
编码输入模块,用于获取输入序列中元素对应的空间表示,所述输入序列是神经网络生成网络表示的源输入;
编码生成模块,用于通过所述元素对应网络表示在所述神经网络中相互堆叠的网络层编码,生成所述元素在所述网络层的键值对向量序列以及映射至所述键值对向量序列中键向量序列的请求向量序列;
二维序列提取模块,用于相对所述元素进行所述网络层以及周边网络层中局部元素的键向量序列提取,获得所述网络层中以所述元素为中心的键向量序列集合;
二维关联性计算模块,用于计算所述元素在所述网络层中编码生成的请求向量序列和所述键向量序列集合的关联性,得到所述网络层中键向量序列集合对应值向量序列集合的权重系数;
输出模块,用于通过所述权重系数以及所述键向量序列集合对应的值向量序列集合,由各网络层生成所述神经网络对所述元素编码输出的网络表示。
15.一种机器设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910167405.7A CN110163339A (zh) | 2019-03-06 | 2019-03-06 | 神经网络中网络表示生成、编码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910167405.7A CN110163339A (zh) | 2019-03-06 | 2019-03-06 | 神经网络中网络表示生成、编码方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110163339A true CN110163339A (zh) | 2019-08-23 |
Family
ID=67638326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910167405.7A Pending CN110163339A (zh) | 2019-03-06 | 2019-03-06 | 神经网络中网络表示生成、编码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110163339A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110705273A (zh) * | 2019-09-02 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 基于神经网络的信息处理方法及装置、介质和电子设备 |
CN111783446A (zh) * | 2020-05-26 | 2020-10-16 | 华为技术有限公司 | 序列处理的方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844481A (zh) * | 2017-11-21 | 2018-03-27 | 新疆科大讯飞信息科技有限责任公司 | 识别文本检错方法及装置 |
CN108681539A (zh) * | 2018-05-07 | 2018-10-19 | 内蒙古工业大学 | 一种基于卷积神经网络的蒙汉神经翻译方法 |
CN109034378A (zh) * | 2018-09-04 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 神经网络的网络表示生成方法、装置、存储介质和设备 |
CN109146064A (zh) * | 2018-09-05 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 神经网络训练方法、装置、计算机设备和存储介质 |
-
2019
- 2019-03-06 CN CN201910167405.7A patent/CN110163339A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844481A (zh) * | 2017-11-21 | 2018-03-27 | 新疆科大讯飞信息科技有限责任公司 | 识别文本检错方法及装置 |
CN108681539A (zh) * | 2018-05-07 | 2018-10-19 | 内蒙古工业大学 | 一种基于卷积神经网络的蒙汉神经翻译方法 |
CN109034378A (zh) * | 2018-09-04 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 神经网络的网络表示生成方法、装置、存储介质和设备 |
CN109146064A (zh) * | 2018-09-05 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 神经网络训练方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110705273A (zh) * | 2019-09-02 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 基于神经网络的信息处理方法及装置、介质和电子设备 |
CN111783446A (zh) * | 2020-05-26 | 2020-10-16 | 华为技术有限公司 | 序列处理的方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632987B (zh) | 一种对话生成方法及装置 | |
WO2020048292A1 (zh) | 神经网络的网络表示生成方法、装置、存储介质和设备 | |
CN109712108B (zh) | 一种基于多样鉴别性候选框生成网络的针对视觉定位方法 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN110705273B (zh) | 基于神经网络的信息处理方法及装置、介质和电子设备 | |
CN112464643B (zh) | 一种机器阅读理解方法、装置、设备及存储介质 | |
CN114821169B (zh) | 微服务架构下的方法级无侵入调用链路追踪方法 | |
US20240185086A1 (en) | Model distillation method and related device | |
WO2022028197A1 (zh) | 一种图像处理方法及其设备 | |
CN113961736A (zh) | 文本生成图像的方法、装置、计算机设备和存储介质 | |
CN114239760B (zh) | 多模态模型训练以及图像识别方法、装置、电子设备 | |
CN111475635B (zh) | 语义补全方法、装置和电子设备 | |
WO2021082518A1 (zh) | 机器翻译方法、机器翻译模型训练方法、装置及存储介质 | |
CN110163339A (zh) | 神经网络中网络表示生成、编码方法和装置 | |
CN114065771A (zh) | 一种预训练语言处理方法及设备 | |
CN116206314A (zh) | 模型训练方法、公式识别方法、装置、介质及设备 | |
CN112837673B (zh) | 基于人工智能的语音合成方法、装置、计算机设备和介质 | |
CN113887169A (zh) | 文本处理方法、电子设备、计算机存储介质及程序产品 | |
CN117313531A (zh) | 光子能带预测透射谱模型的训练、预测方法、介质及设备 | |
CN113127615A (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
Huang et al. | Adapted GooLeNet for visual question answering | |
CN114550159A (zh) | 一种图像字幕生成方法、装置、设备及可读存储介质 | |
CN113420869A (zh) | 基于全方向注意力的翻译方法及其相关设备 | |
CN114580443B (zh) | 文本翻译方法、装置、核函数组合方法、服务器和介质 | |
CN113822080B (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 |