用于识别语音的方法和电子装置
1.本技术要求于2020年5月25日在韩国知识产权局提交的第10
‑
2020
‑
0062450号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
2.下面的描述涉及用于识别语音的方法和电子装置。
背景技术:3.在语音识别技术中,为了解决响应于未确定长度的序列的输入语音而生成未确定长度的输出的问题,编码器
‑
解码器人工神经网络模型(序列到序列模型之一)已经被引入。然而,随着输入语音的长度增加,语音识别的准确性可能降低。
技术实现要素:4.提供本发明内容以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。
5.在一个总体方面,一种用于识别语音的方法包括:接收输入序列;根据基于注意力的序列到序列模型确定与输入序列对应的输出序列;从基于注意力的序列到序列模型的多个注意力头之中选择目标注意力头;基于目标注意力头检测构成输出序列的输出词法单元之中的至少一个错误输出词法单元;基于所述至少一个错误输出词法单元校正输出序列;和输出校正后的输出序列。
6.在一个总体方面,一种用于识别语音的电子装置包括:处理器,被配置为:接收输入序列,根据基于注意力的序列到序列模型确定与输入序列对应的输出序列,从基于注意力的序列到序列模型的多个注意力头之中选择目标注意力头,基于目标注意力头检测构成输出序列的输出词法单元之中的至少一个错误输出词法单元,基于所述至少一个错误输出词法单元校正输出序列,并且输出校正后的输出序列。
7.在一个总体方面,一种改进基于注意力的序列到序列模型的质量的方法包括:根据基于注意力的序列到序列模型确定与输入序列对应的输出序列;从多个注意力头之中选择至少一个目标注意力头;基于目标注意力头检测构成输出序列的输出词法单元之中的至少一个错误输出词法单元;和基于所述至少一个错误输出词法单元校正输出序列。
8.选择的步骤可包括:选择生成预定注意力权重矩阵的注意力头作为目标注意力头,预定注意力权重矩阵被训练为与目标注意力头对应的目标注意力权重矩阵。
9.可基于具有预定形状的引导权重矩阵来训练预定注意力权重矩阵。
10.可基于输出序列长度、输入帧长度、开始移位、结束移位和扩散率中的任何一个或任何组合来确定引导权重矩阵。
11.预定注意力权重矩阵可被训练为针对每个步具有不同的注意力权重分布。
12.预定注意力权重矩阵可被训练为基于先前步的注意力权重的累积和来确定当前
步的注意力权重。
13.选择的步骤可包括:选择生成最适合于预定目的的注意力权重矩阵的注意力头作为目标注意力头。
14.选择的步骤可包括:基于具有根据预定目的的预定形状的引导权重矩阵来选择目标注意力头。
15.选择的步骤可包括:响应于基于注意力的序列到序列模型具有单调性,通过对由所述多个注意力头生成的多个注意力权重矩阵执行单调回归分析来选择目标注意力头。
16.选择的步骤可包括:基于由所述多个注意力头生成的多个注意力权重矩阵的熵来选择目标注意力头。
17.基于熵选择目标注意力头的步骤可包括:选择生成所述多个注意力权重矩阵之中的具有最大熵的注意力权重矩阵的注意力头作为目标注意力头。
18.基于熵选择目标注意力头的步骤可包括:基于kullback
‑
leibler散度选择目标注意力头。
19.选择的步骤可包括:选择生成在注意力权重矩阵中的行的分布之间具有最大距离的注意力权重矩阵的注意力头作为目标注意力头。
20.检测的步骤可包括:在目标注意力头的输入序列与输出序列之间的注意力权重之中检测目标注意力头的注意力权重与引导权重矩阵的注意力权重之间的差大于或等于阈值的至少一个错误注意力权重;并且将与所述至少一个错误注意力权重对应的输出词法单元确定为所述至少一个错误输出词法单元。
21.检测的步骤可包括:在目标注意力头的输入序列与输出序列之间的注意力权重之中检测与前一步的注意力权重的相似度大于或等于阈值的至少一个错误注意力权重;并且将与所述至少一个错误注意力权重对应的输出词法单元确定为所述至少一个错误输出词法单元。
22.校正的步骤可包括:从输出序列排除所述至少一个错误输出词法单元。
23.校正的步骤可包括:在除了所述至少一个错误输出词法单元之外的其他输出词法单元候选之中确定下一输入词法单元。
24.确定下一输入词法单元的步骤可包括:将所述至少一个错误输出词法单元被输出的步的输入词法单元确定为下一输入词法单元。
25.注意力头的数量可对应于基于注意力的序列到序列模型中的注意力层的数量与解码器层的数量的乘积。
26.在另一总体方面,一种基于注意力的序列到序列模型的电子装置包括:处理器,被配置为:根据基于注意力的序列到序列模型确定与输入序列对应的输出序列,从多个注意力头之中选择至少一个目标注意力头,基于目标注意力头检测构成输出序列的输出词法单元之中的至少一个错误输出词法单元,并且基于所述至少一个错误输出词法单元校正输出序列。
27.处理器可被配置为:选择生成预定注意力权重矩阵的注意力头作为目标注意力头,预定注意力权重矩阵被训练为与目标注意力头对应的目标注意力权重矩阵。
28.预定注意力权重矩阵可基于具有预定形状的引导权重矩阵来训练。
29.预定注意力权重矩阵可被训练为针对每个步具有不同的注意力权重分布。
30.处理器可被配置为:选择生成最适合于预定目的的注意力权重矩阵的注意力头作为目标注意力头。
31.处理器可被配置为:基于具有根据预定目的的预定形状的引导权重矩阵来选择目标注意力头。
32.处理器可被配置为:响应于基于注意力的序列到序列模型具有单调性,通过对由所述多个注意力头生成的多个注意力权重矩阵执行单调回归分析来选择目标注意力头。
33.处理器可被配置为:基于由所述多个注意力头生成的多个注意力权重矩阵的熵来选择目标注意力头。
34.处理器可被配置为:选择生成所述多个注意力权重矩阵之中的具有最大熵的注意力权重矩阵的注意力头作为目标注意力头。
35.处理器可被配置为:选择生成在注意力权重矩阵中的行的分布之间具有最大距离的注意力权重矩阵的注意力头作为目标注意力头。
36.处理器可被配置为:在目标注意力头的输入序列与输出序列之间的注意力权重之中检测目标注意力头的注意力权重与引导权重矩阵的注意力权重之间的差大于或等于阈值的至少一个错误注意力权重;并且将与所述至少一个错误注意力权重对应的输出词法单元确定为所述至少一个错误输出词法单元。
37.处理器可被配置为:在目标注意力头的输入序列与输出序列之间的注意力权重之中检测与前一步的注意力权重的相似度大于或等于阈值的至少一个错误注意力权重;并且将与所述至少一个错误注意力权重对应的输出词法单元确定为所述至少一个错误输出词法单元。
38.处理器可被配置为:从输出序列排除所述至少一个错误输出词法单元。
39.处理器可被配置为:在除了所述至少一个错误输出词法单元之外的其他输出词法单元候选之中确定下一输入词法单元。
40.处理器可被配置为:将所述至少一个错误输出词法单元被输出的步的输入词法单元确定为下一输入词法单元。
41.在另一总体方面,一种电子装置包括:编码器和解码器,被配置为输入输入序列并且基于输入序列输出输出序列;和一个或多个处理器,被配置为:从包括在解码器的基于注意力的序列到序列模型中的多个注意力头选择目标注意力头;基于目标注意力头检测包括在输出序列中的错误输出词法单元;和基于错误输出词法单元校正输出序列并且输出校正后的输出序列。
42.编码器和解码器可包括在人工神经网络中。
43.所述一个或多个处理器可被配置为:从存储在基于注意力的序列到序列模型中的多个注意力权重矩阵之中选择目标注意力头。
44.基于注意力的序列到序列模型可通过将正确结果的示例输入输入到编码器和解码器来存储关于所有的所述多个注意力头的所述多个注意力权重矩阵,并且所述一个或多个处理器被配置为:选择生成最适合于序列到序列模型的操作的注意力权重矩阵的注意力头作为目标注意力头。
45.所述一个或多个处理器可被配置为:训练所述多个注意力头之中的特定注意力头生成期望形状的注意力权重矩阵,并且选择特定注意力头作为目标注意力头。
46.从下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
47.图1示出使用序列到序列模型的系统的示例。
48.图2a示出具有编码器
‑
解码器结构的端到端的人工神经网络的电子装置的操作的示例。
49.图2b和图2c示出确定注意力权重的示例。
50.图3a和图3b示出注意力权重矩阵的示例。
51.图4a示出电子装置的示例。
52.图4b示出电子装置的示例。
53.图5示出改进基于注意力的序列到序列模型的质量的方法的示例。
54.图6示出具有预定形式的引导权重矩阵的示例。
55.图7示出被配置为在生成每个输出词法单元时具有与先前注意力权重不同的注意力权重的引导权重矩阵的示例。
56.贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对尺寸、比例和描绘可被夸大。
具体实施方式
57.在下文中,将参照附图详细描述示例。然而,可对示例进行各种改变和修改。这里,示例不被解释为限于公开。示例应当被理解为包括在公开的构思和技术范围内的所有改变、等同物和替代物。
58.在此使用的术语仅用于描述特定示例,而将不限制示例。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。还将理解,术语“包含”和/或“包括”在此使用时,说明存在陈述的特征、整体、步、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步、操作、元件、组件和/或它们的组。
59.除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与示例所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文中的含义一致的含义,并且将不以理想化或过于形式化的含义进行解释。
60.当参照附图描述示例时,相同的参考标号表示相同的构成元件,并且与其相关的重复描述将被省略。在示例的描述中,当认为公知的相关结构或功能的详细描述将导致对本公开的模糊解释时,这样的描述将被省略。
61.此外,在组件的描述中,当描述本公开的组件时,可在此使用诸如第一、第二、a、b、(a)、(b)等的术语。这些术语仅用于将一个构成元件与另一构成元件区分开的目的,并且构成元件的性质、序列或次序不受术语的限制。当一个构成元件被描述为“连接”、“结合”或“附接”到另一构成元件时,应当理解,一个构成元件可直接连接、结合或附接到另一构成元件,并且中间构成元件也可“连接”、“结合”或“附接”到构成元件。
62.相同的名称可用来描述包括在上述示例中的元件和具有共同功能的元件。除非另
外说明,否则对示例的描述可适用于下面的示例,因此,为了简明,重复的描述将被省略。
63.图1示出使用序列到序列模型的系统的示例。
64.参照图1,使用序列到序列模型的系统可包括用户终端110和电子装置120。图1中示出的系统中的元件在功能上彼此不同,并且至少一个元件可在实际物理环境中以彼此集成的形式实现。例如,图1将电子装置120示出为一种服务器装置。然而,电子装置120的每个功能可以以嵌入在用户终端110中的形式实现。
65.例如,序列到序列模型可用在语音识别系统中。语音识别系统可接收语音并输出语音识别句子。在下文中,为了易于描述,语音识别系统中的序列到序列模型将被描述。
66.在语音识别系统中,用户终端110可接收输入序列130并将输入序列130发送到电子装置120,并且向用户提供从电子装置120接收的输出序列140。图1将用户终端110示出为智能电话。然而,用户终端110可以是电子装置(诸如,计算机、超移动个人计算机(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板计算机、无线电话、移动电话、电子书、便携式多媒体播放器(pmp)、便携式游戏控制台、导航装置、黑匣子和数码相机)之一。
67.电子装置120是接收说话者的输入序列130并提供作为识别结果的输出序列140的计算装置,并且可基于序列到序列模型。输入序列130可包括输入数据和从输入数据提取的输入特征向量。例如,在语音识别系统中,输入序列130可包括输入语音和从输入语音提取的输入语音特征向量。此外,计算装置可以是移动装置(诸如,笔记本计算机、台式计算机、膝上型计算机或智能电话),但不限于此,并且可包括配备有计算装置的所有类型的装置。
68.电子装置120可构建包括人工神经网络的序列到序列模型,并且提供输出序列140作为使用构建的序列到序列模型来识别输入序列130的结果。人工神经网络可包括例如循环神经网络(rnn)、卷积神经网络(cnn)、自注意力神经网络(self
‑
attention neural network,sann)、双向rnn(brnn)、长短期记忆(lstm)、双向lstm(blstm)、门控循环单元(gated recurrent unit,gru)和双向gru(bgru),但不限于此。
69.电子装置120还可包括用于提高输出序列140的准确性的校正器。校正器表示在功能上与电子装置120不同的功能性元件,并且校正器的至少一个元件可在实际物理环境中以与电子装置120集成的形式实现。电子装置120可使用校正器检测输出序列140中的错误并且输出校正后的输出序列。
70.在下文中,将参照图2a至图2c描述基于多头注意力的序列到序列模型的操作方法。将参照图3a和图3b描述注意力权重矩阵。将参照图4a至图7描述改进基于注意力的序列到序列模型的质量的方法。
71.图2a示出具有编码器
‑
解码器结构的端到端的人工神经网络的电子装置的操作的示例。
72.参照图2a,人工神经网络可包括编码器220和解码器230。
73.人工神经网络是编码器220
‑
解码器230结构的端到端的人工神经网络,其中,存在针对单个损失函数将同时训练模型的所有参数的路径,因此,编码器220和解码器230可被同时训练。人工神经网络在一端接收输入并在另一端生成输出,在这种情况下,人工神经网络直接考虑输入和输出来优化网络权重。人工神经网络中的层的节点可处于彼此非线性地影响的关系,并且人工神经网络的参数(诸如,分别从节点输出的值和节点之间的关系)可
通过学习被优化。
74.编码器220
‑
解码器230结构的端到端的人工神经网络具有集成了编码器220和解码器230的网络结构,并且编码器220和解码器230可从输入序列直接生成与输入序列对应的输出序列。
75.例如,电子装置可从输入数据210提取输入特征向量215,并且编码器220可通过对输入特征向量215进行编码来生成编码特征225。编码器220可通过改变输入特征向量215的维度来生成编码特征225。也就是说,编码器220可用于很好地概括输入序列的含义。
76.编码特征225可被应用于人工神经网络的解码器230。解码器230可基于编码特征225和先前确定的识别结果以词法单元(token)为单位确定输出词法单元。
77.详细地,接收编码特征225的解码器230以词法单元为单位输出识别结果,其中,词法单元是词、子词、单个字符或形成单个字符的单元(例如,朝鲜语中的开始、核心和尾音、韩语的字母表)。在下文中,从解码器230输出的整个识别结果将被称为输出序列。输出序列可包括多个输出词法单元。
78.为了使用人工神经网络计算未确定长度的输出,解码器230可通过使用到目前为止估计的词法单元逐一地连续预测接下来的词法单元,直到出现表示结束的特殊词法单元<eos>为止。解码器230基于由编码器220计算的信息来在每个步获得输出词法单元(例如,这里的每个步可以是用于估计一个输出词法单元的过程)。在这个示例中,输出词法单元可基于先前步的输出词法单元被获得。这个方法被称为自回归解码(auto
‑
regressive decoding)。
79.也就是说,由执行自回归解码的端到端的人工神经网络模型选择为输出词法单元的词法单元可被确定为下一输入词法单元。例如,在“tell me a joke”的句子中,“me”可考虑作为先前步的输出词法单元的“tell”而被识别。
80.然而,编码器220
‑
解码器230结构的端到端的神经网络将整个输入数据处理为单个向量,因此,如果输入数据长,则数据的前部的信息被稀释(dilute),并且输出序列的质量可能劣化。为了解决这个问题,针对解码器230估计输出词法单元的每个步,编码器220的整个输入数据可被再次参考。然而,不是以相同速率参考整个输入数据,而是与该步中的待预测的输出词法单元相关的输入语音部分可被以更高的注意力来考虑。
81.详细地,可根据与相应步中的待预测的输出词法单元的相关联的程度,来针对构成输入序列的输入帧设置注意力权重,并且解码器230可基于设置的注意力权重来估计每个步的输出词法单元。
82.编码器220和解码器230可被预先训练,以从接收的输入特征向量生成识别结果序列。例如,编码器220和解码器230的模型参数(例如,突触连接的权重和神经元的偏置)可被预先学习,以从与输入数据对应的正确答案数据对序列生成识别结果序列。此外,编码器220和解码器230的注意力权重也可被预先学习,以从与输入数据对应的正确答案文本对序列生成识别结果序列。
83.图2b和图2c示出确定注意力权重的示例。
84.参照图2b,编码器240可接收包括输入帧(例如,i1至i
n
,n表示输入帧的数量)的输入序列,并且生成编码器的隐藏状态向量(例如,h1至h
n
)。
85.注意力模块251可在相应步中确定构成输入序列的各个输入帧(例如,i1至i
n
)的注
意力权重,并且基于确定的注意力权重生成上下文向量(例如,c1至c
m
,m表示输出词法单元的数量),其中,当解码器250估计每个步的输出词法单元时,确定的注意力权重可被使用。
86.在基于多头注意力的序列到序列模型的情况下,注意力模块251可以是多头注意力模块,并且注意力层可包括多个注意力层(例如,第一注意力层到第k注意力层,例如,k可以是大于1的整数),其中,各个注意力层可并行地确定注意力权重并且基于确定的注意力权重生成上下文向量。注意力模块251可使用被训练为隐式地发挥各种作用的多个注意力层。
87.解码器250可接收前一步的解码器的隐藏状态向量s
t
‑1、前一步的输出词法单元y
t
‑1和当前步的上下文向量c
t
,并且提取当前步的解码器的隐藏状态向量s
t
和当前步的输出词法单元y
t
。当解码器在当前步提取输出词法单元时使用的当前步的上下文向量c
t
可如等式1所表示那样被获得。
88.等式1:
[0089][0090]
在等式1中,可表示步t中的第i输入帧的注意力权重。
[0091]
参照图2c,可以是步t中的第i输入帧的注意力权重,并且所有输入帧(例如,帧i1至帧i
n
)的注意力权重之和可以是“1”。如果是至之中的最大值,则解码器250可在当前步t中以对第二输入帧最关注,来提取输出词法单元。
[0092]
与现有的单注意力模型相比,多头注意力模型具有改进的性能,但是仍然具有跳过一些输出(跳跃)或连续重复先前输出的问题,这是输出可变长度的序列到序列模型的长期缺点。
[0093]
例如,在一些情况下,响应于与句子“tell me a joke”对应的语音的输入,基于多头的序列到序列模型可输出“tell”,然后跳过“me a”输出“joke”。
[0094]
此外,响应于异常语音或与之前从未看到的词(essendi rerum)对应的语音的输入,基于多头的序列到序列模型可能重复如表1中所示的短语或词。
[0095]
表1
[0096][0097]
因此,校正器可从多个注意力头之中选择目标注意力头,基于目标注意力头检测至少一个错误输出词法单元,并且基于错误输出词法单元校正输出序列,从而提高电子装置的最终输出序列的准确性,并且因此,语音识别的准确性可提高。
[0098]
图3a和图3b示出注意力权重矩阵的示例。
[0099]
注意力权重矩阵可具有针对构成输出序列的输出词法单元的构成输入序列的相应的输入帧的注意力权重作为元素。例如,在电子装置输出输出序列(诸如,“tell me a joke”)的情况下,注意力权重矩阵可如以下表2所示。
[0100]
表2
[0101] i1i2i3i4i5i6i7i8i9tell0.90.070.020.0040.0010.0010.0010.0010.001me0.0040.020.90.070.0010.0010.0010.0010.001a0.0010.0010.0010.0040.330.30.360.0010.001joke0.0010.0010.0010.0010.0010.620.370.0040.001
[0102]
在表2的示例中,输出词法单元可以以词为单位,并且每个输入帧可具有10ms的时间单位。参照表2,输出词法单元“tell”在输入帧i1中具有作为0.9的最大注意力权重,在输入帧i2中具有作为0.07的第二大注意力权重,并且在输入帧i3中具有作为0.02的第三大注意力权重。与输出词法单元“tell”对应的输入帧i1至i3的注意力权重的总和是0.99,这教导利用输入帧i1至i3的注意力来提取输出词法单元“tell”。
[0103]
在基于多头的序列到序列模型中,可每个注意力头生成一个注意力权重矩阵,并且每个注意力权重矩阵可被训练以隐式地发挥其作用。例如,具有n个注意力头的基于多头的序列到序列模型可生成n个注意力权重矩阵(例如,n可以是大于1的整数)。
[0104]
参照图3a,可使用颜色来表示注意力权重矩阵的注意力权重。例如,在两个注意力权重矩阵310和320中,可使用更接近白色的颜色来表示更大的注意力权重,相反地,可使用更接近黑色的颜色来表示更小的注意力权重。在两个注意力权重矩阵310和320中,横轴表示从左到右按时间顺序的输入帧,纵轴表示从上到下按时间顺序的输出词法单元(例如,
词)。
[0105]
在使用多个注意力权重矩阵估计输出序列的情况下,各个注意力权重矩阵可发挥不同的作用。可以解释的是,尽管两个注意力权重矩阵310和320被隐式地训练,但是两个注意力权重矩阵310和320发挥不同的作用。例如,注意力权重矩阵310在语音中没有实际说话的静默时段中具有相对大的注意力权重,这有助于在构建输出时很好地忽略背景噪声。注意力权重矩阵320在语音中实际说出的每个词的位置具有相对大的注意力权重,这有助于关注实际待识别的词的语音部分。
[0106]
如上所述,与现有的单注意力模型相比,多头注意力模型具有改进的性能,但是具有跳过一些输出(跳跃)或连续重复先前输出的问题,这是输出可变长度的序列到序列模型的长期缺点。
[0107]
例如,图3b的注意力权重矩阵330示出正常识别失败并提供重复错误输出的示例。注意力权重矩阵330和注意力权重矩阵320可通过相同的注意力头生成。然而,注意力权重矩阵320是正常生成输出词法单元的示例,并且注意力权重矩阵330是提供连续重复先前输出的错误输出的示例。参照注意力权重矩阵330,正常结果被输出至基于表示输出词法单元的纵轴的约三分之一的点,但是此后,一些输出词法单元(例如,词)连续地被重复并输出。
[0108]
校正器可选择预定的注意力头来校正这样的错误,并且通过分析注意力头(在下文中,目标注意力头)的注意力权重来抑制错误输出,从而提高基于多头的序列到序列模型的质量。以下将参照图4a至图7详细描述改进基于注意力的序列到序列模型的质量的示例。
[0109]
图4a示出电子装置的示例。
[0110]
参照图4a,电子装置401可包括编码器420、解码器430、目标注意力头选择模块460以及错误输出词法单元检测和校正模块470。尽管图4a仅示出与示例相关联的元件,但是电子装置401还可包括其他通用元件。此外,图4a中示出的电子装置401的元件被单独示出以指示元件可在功能上和逻辑上分离,然而,这不指示元件必须是物理上分离的元件或由单独的代码实现。元件可在实际物理环境中以彼此集成的形式实现。在下文中,将描述电子装置401的各个元件。
[0111]
电子装置401还可包括特征向量提取模块(未示出)。特征向量提取模块可从输入信号(例如,语音信号)提取特征向量。输入信号是包括多个帧的信息的信号,并且特征向量可以是基于帧提取并表示为多维向量的信息序列。在下文中,输入序列可包括输入信号和从输入信号提取的特征向量,并且可包括关于每个输入帧的信息。
[0112]
图4a的编码器420和解码器430可对应于参照图2a描述的编码器220和解码器230。因此,与图2a中的描述重复的描述将被省略。解码器430可包括注意力模块440,注意力模块440在每次每个步的输出词法单元将被估计时确定需要更高的注意力的输入帧。详细地,注意力模块440可在每个步中确定构成输入序列的输入帧的注意力权重(当解码器430估计每个步的输出词法单元时要使用的注意力权重)。解码器430可基于确定的注意力权重来估计每个步的输出词法单元。注意力模块440可以是多头注意力模块。多头注意力模块可将所有维度划分为多个单元并多次施加注意力,而不是使用被训练以发挥各种作用的多个注意力层将注意力施加到所有维度仅一次。此外,注意力模块440可存储所有注意力头的注意力权重矩阵。
[0113]
电子装置401可使用编码器420和解码器430输出与输入序列410对应的输出序列
450。然而,如上所述,输出序列450可能与预期不同。
[0114]
电子装置401可使用目标注意力头选择模块460从多个注意力头之中选择目标注意力头,并且输出输出序列480作为最终结果,输出序列480通过使用错误输出词法单元检测和校正模块470检测在基于被选目标注意力头的输出序列中包括的输出词法单元之中的错误输出词法单元而被校正。
[0115]
详细地,目标注意力头选择模块460可从关于存储在注意力模块440中的多个注意力权重矩阵的注意力头之中选择目标注意力头。注意力模块440可通过将正确结果的示例输入输入到编码器420和解码器430来存储关于所有注意力头的注意力权重矩阵,并且目标注意力头选择模块460可从所有存储的注意力头之中选择生成最适合于序列到序列模型的目的(或操作)的注意力权重矩阵的注意力头作为目标注意力头。这里,可在接收到将针对其确定是否存在错误的输入序列410之前预先执行存储注意力权重矩阵和选择目标注意力头的操作。
[0116]
如上所述,电子装置401可包括校正器,并且校正器可包括目标注意力头选择模块460和错误输出词法单元检测和校正模块470。
[0117]
图4b示出电子装置的示例。
[0118]
参照图4b,电子装置402可包括注意力引导模块490,而不是图4a的电子装置401的目标注意力头选择模块460。图1至图4a的描述也适用于图4b的示例,因此重复的描述将被省略。
[0119]
与图4a的电子装置401从关于存储在注意力模块440中的注意力权重矩阵的注意力头之中选择目标注意力头不同,图4b的电子装置402可训练明确用作目标注意力头的预定注意力头。
[0120]
详细地,注意力引导模块490可训练预定注意力头以生成期望形状的注意力权重矩阵,并且当在未来确定输出序列是否包括错误时,通知错误输出词法单元检测和校正模块470训练的注意力头作为目标注意力头。
[0121]
如上所述,电子装置402可包括校正器,并且校正器可包括注意力引导模块490和错误输出词法单元检测和校正模块470。
[0122]
图5示出改进基于注意力的序列到序列模型的质量的方法的示例。
[0123]
参照图5,操作510至操作540可由以上参照图1至图4b描述的电子装置之一执行。电子装置可由一个或多个硬件模块、一个或多个软件模块或它们的各种组合来实现,并且如上所述,电子装置可包括校正器。图1至图4a的描述也适用于图5的示例,因此重复的描述将被省略。
[0124]
在操作510中,电子装置根据基于注意力的序列到序列模型来确定与输入序列对应的输出序列。例如,电子装置可接收输入语音或与输入语音对应的输入语音特征向量。
[0125]
在操作520中,电子装置从多个注意力头之中选择至少一个目标注意力头。根据基于多头注意力的序列到序列模型的电子装置可具有与注意力层的数量和解码器层的数量的乘积一样多的注意力头。在这个示例中,解码器层可以与输出词法单元相关联,例如,解码器层的数量可以与输出词法单元的数量相同。由各个注意力头生成的注意力权重矩阵可发挥不同的作用。电子装置可从生成发挥不同作用的注意力权重矩阵的注意力头之中选择生成最适合于基于多头的序列到序列模型的目的的注意力权重矩阵的至少一个注意力头
作为目标注意力头。
[0126]
存在两种选择目标注意力头的方法。第一方法可通过将正确结果的示例输入输入到电子装置中来预先存储所有注意力头的注意力权重矩阵,并且在所有存储的注意力头之中寻找生成最适合于序列到序列模型的目的的注意力权重矩阵的注意力头。第二方法可训练预定注意力头以生成期望形状的注意力权重矩阵,并且选择生成的注意力权重矩阵作为目标注意力层。
[0127]
根据第一方法,电子装置可从多个注意力头之中选择生成最适合于预定目的的注意力权重矩阵的注意力头作为目标注意力头。
[0128]
电子装置可基于具有根据预定目的的预定形状的引导权重矩阵来选择目标注意力头。例如,如果输入序列(例如,输入语音)基于时间被映射到输出序列(例如,识别的词),则语音识别具有单调性。在这个示例中,电子装置可对由多个注意力头生成的注意力权重矩阵执行单调回归分析,从而选择生成最满足单调性的注意力权重矩阵的注意力头作为目标注意力头。引导权重矩阵可以是单调矩阵。
[0129]
图6示出具有预定形式的引导权重矩阵的示例。
[0130]
参照图6,引导权重矩阵600可具有诱导基于注意力的序列到序列模型具有单调性的注意力权重。引导权重矩阵600的注意力权重可如以下等式2所示被确定。
[0131]
等式2:
[0132][0133]
在等式2中,w[i,j]表示引导权重矩阵600的针对构成输出序列的第i输出词法单元的构成输入序列的第j输入帧的注意力权重,i表示输出序列的长度,j表示输入序列的长度,s
b
表示开始移位,s
e
表示结束移位,g表示扩散率。在一个示例中,可基于输出序列的长度、输入序列的长度(或者输入帧的长度)、开始移位、结束移位和扩散率中的一个或多个来确定引导权重矩阵。参照条610,引导权重矩阵600中的颜色可指示注意力权重。
[0134]
再次参照图5,在以各种方式查看的输入的任务的情况下,当生成每个输出词法单元时,第一方法的另一示例可配置具有与先前注意力权重不同的引导注意力权重(而不是具有预定形状的注意力权重)的引导权重矩阵。在这个示例中,电子装置可基于由多个注意力头生成的注意力权重矩阵的熵来选择目标注意力头。电子装置可选择生成注意力权重矩阵之中的具有最大熵的注意力权重矩阵的注意力头作为目标注意力头。例如,电子装置可选择生成注意力权重矩阵之中的在注意力权重矩阵中的行的分布之间具有最大距离的注意力权重矩阵的注意力头作为目标注意力头。详细地,电子装置可通过计算kullback
‑
leibler散度来选择生成具有最大kullback
‑
leibler散度的注意力权重矩阵的注意力头作为目标注意力头。本领域普通技术人员可清楚地理解kullback
‑
leibler散度,因此详细描述将被省略。
[0135]
图7示出被配置为在生成每个输出词法单元时具有与先前注意力权重不同的注意力权重的引导权重矩阵的示例。
[0136]
参照图7,引导权重矩阵700可被配置为在生成每个输出词法单元时具有与先前注意力权重不同的注意力权重。在图7中,横轴可对应于输出序列,纵轴可对应于输入序列。当
预测输出词法单元t时,引导权重矩阵700可在第6输入帧中具有更大的注意力权重,第6输入帧在预测先前的输出词法单元时较不重要。
[0137]
再次参照图5,根据第二方法,电子装置可训练预定注意力头以生成期望形状的注意力权重矩阵,并且选择生成的注意力权重矩阵作为目标注意力层。电子装置可选择生成被训练为与目标注意力头对应的目标注意力权重矩阵的预定注意力权重矩阵的注意力头作为目标注意力头。
[0138]
例如,预定注意力权重矩阵可基于具有根据预定目的的预定形状的引导权重矩阵被训练。具有根据预定目的的预定形状的引导权重矩阵可以是第一方法中描述的引导权重矩阵。例如,电子装置可基于图6的引导权重矩阵600来训练预定注意力权重矩阵具有单调性。
[0139]
作为另一示例,在以各种方式查看输入的任务的情况下,预定注意力权重矩阵可被训练为针对每个步具有不同的注意力权重分布。预定注意力权重矩阵可被训练为基于先前步的注意力权重的累积和来确定当前步的注意力权重。例如,参照图7,针对预测输出词法单元的每个步,先前步的注意力权重的累积和可被计算,并且预定注意力权重矩阵可被训练为针对先前步的注意力权重的相对小的累积和具有相对大的注意力权重。
[0140]
第二方法可训练预定注意力权重矩阵,以在人工神经网络训练处理中通过利用引导权重矩阵作为偏置来自然地生成与引导权重矩阵的形状类似的形状的注意力权重,或者可显式地添加损失函数(诸如,kullback
‑
leibler散度)作为人工神经网络训练损失。
[0141]
在操作530中,电子装置基于目标注意力头检测构成输出序列的输出词法单元之中的至少一个错误输出词法单元。电子装置可在确定输出序列是否包括错误之前预先确定目标注意力头。电子装置可基于确定的目标注意力头来检测至少一个错误输出词法单元。
[0142]
例如,电子装置可获得输入序列与输出序列之间的注意力权重矩阵(在下文中,称为目标注意力权重矩阵),其中,目标注意力头是否包括错误将针对输入序列被确定。电子装置可将与引导权重矩阵的注意力权重的差大于或等于第一阈值的目标注意力头的注意力权重检测为至少一个错误注意力权重。例如,电子装置可将与引导权重矩阵的注意力权重的kullback
‑
leibler散度的差大于或等于第一阈值的目标注意力头的注意力权重检测为至少一个错误注意力权重。电子装置可将与错误注意力权重对应的输出词法单元确定为错误输出词法单元。
[0143]
作为另一示例,在以各种方式查看的输入的任务的情况下,电子装置可在目标注意力权重矩阵的注意力权重之中检测与前一步的注意力权重的相似度大于或等于第二阈值的至少一个错误注意力权重。
[0144]
在操作540中,电子装置可基于错误输出词法单元校正输出序列。一旦整个输出序列被确定,电子装置可检测错误输出词法单元,并且基于错误输出词法单元校正输出序列。在这个示例中,电子装置可通过从输出序列排除错误输出词法单元来校正输出序列中的错误。
[0145]
可选地,电子装置可针对预测输出词法单元的每个步实时检测错误输出词法单元,并且基于错误输出词法单元校正输出序列。如果错误输出词法单元未被校正,则电子装置应基于错误输出词法单元确定下一输出词法单元。然而,电子装置不仅可从输出序列排除错误输出词法单元,而且还可在除了错误输出词法单元之外的其他输出词法单元候选之
中确定下一输入词法单元。例如,电子装置可将错误输出词法单元被输出的步的输入词法单元确定为下一输入词法单元。当响应于与句子“tell me a joke”对应的语音的输入而输出“tell”跳过“me a”并且然后输出“joke”时,“joke”可不作为下一输入词法单元而被输入,并且“tell”可作为下一输入词法单元而被再次输入。可选地,错误输出词法单元可被排除,并且具有最高概率的输出词法单元候选可被确定为下一输入词法单元。
[0146]
以下表3示出电子装置校正重复一个词的错误。
[0147]
表3
[0148][0149][0150]
根据上述示例的方法可记录在包括程序指令的非暂时性计算机可读介质中,以执行上述示例的各种操作。介质还可单独包括程序指令、数据文件、数据结构等,或者还可包括程序指令、数据文件、数据结构等的组合。记录在介质上的程序指令可以是为了示例的目的而专门设计和构造的程序指令,或者它们可以是计算机软件领域的技术人员公知和可用的类型。非暂时性计算机可读介质的示例包括:磁介质(诸如,硬盘、软盘和磁带);光学介质(诸如,cd
‑
rom盘、dvd和/或蓝光盘);磁光介质(诸如,光盘);以及被专门配置为存储和执行程序指令的硬件装置(诸如,只读存储器(rom)、随机存取存储器(ram)、闪存(例如,usb闪存驱动器、存储器卡、记忆棒等))等。程序指令的示例包括诸如由编译器产生的机器代码和包含可由计算机使用解释器执行的高级代码的文件两者。上述装置可被配置为用作一个或多个软件模块,以便执行上述示例的操作,或者反之亦然。
[0151]
软件可包括计算机程序、代码段、指令或它们的一些组合,以独立地或统一地指示或配置处理装置如期望那样进行操作。软件和数据可永久地或临时地实现在任何类型的机
器、组件、物理或虚拟设备、计算机存储介质或装置中,或者实现在能够向处理装置提供指令或数据或能够由处理装置解释的传播的信号波中。软件还可分布在联网的计算机系统上,使得软件以分布式方式被存储和执行。软件和数据可由一个或多个非暂时性计算机可读记录介质存储。
[0152]
以上已经描述了多个示例。然而,应当理解,可对这些示例进行各种修改。例如,如果描述的技术以不同的顺序执行、和/或如果描述的系统、架构、装置或电路中的组件以不同的方式组合、和/或由其他组件或它们的等同物替代或补充,则可实现合适的结果。
[0153]
因此,其他实施方式在权利要求的范围内。
[0154]
虽然本公开包括特定示例,但是对本领域普通技术人员将清楚的是,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例应仅被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述应被认为可适用于其他示例中的相似的特征或方面。因此,公开的范围不是由具体实施方式限定,而是由权利要求及其等同物限定,并且在权利要求及其等同物的范围内的所有变化将被解释为被包括在公开中。