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

一种端到端长时语音识别方法与流程

2021-10-19 20:07:00 来源:中国专利 TAG:语音识别 端到 方法 端长时


1.本发明涉及语音识别技术领域,尤其涉及一种端到端长时语音识别方法。


背景技术:

2.语音作为信息传递最直接有效的方式,是人们彼此感情交流和思想传递最主要的途径。自动语音识别(automatic speech recognition,asr)技术是指将语音信号正确地识别为对应的文本内容或命令,让机器听懂人类语言并执行相关操作。随着计算机的广泛应用,asr技术成为实现简单便捷的人机智能交互的关键技术,逐渐成为了热门的研究领域。随着深度学习和语音识别技术的进步和发展,基于端到端的语音识别模型凭借强大的建模能力和学习能力相较于传统语音识别技术显著提高了语音识别准确率。不同于传统的语音识别系统,端到端模型解决了需要对语音数据做对齐预处理的问题,并且可以直接得到输入语音波形或特征和输出文本内容之间的映射关系,简化了模型训练流程。使得语音识别技术被广泛应用在智能家居、无人驾驶、安防监控等多个领域,应用前景十分广阔。
3.伴随着语音识别技术快速发展,语音识别在特定的应用环境中需要面对大量长时语音的场景,例长篇演讲和会话级别的语音识别或者是机器人电话交互过程中用户说的是不间断的长时语音。目前对于长句识别的解决方案是将长语句分割固定长度的片段,然后独立地识别每个片段,但分段边界存在单词切割问题,无法有效地从分段片段中恢复原始单词。重叠推理策略解码将长语句分割成重叠的多片段解决单词切割问题,但会在解码阶段大大增加额外的计算量。因此,如何针对长时语音识别任务的特点,构建更加适用于长时语音场景下的语音识别模型,是一个亟待解决的问题。
4.二十世纪五十年代是语音识别技术研究的萌芽期,贝尔实验室开发的自动数字识别机,标志着语音识别技术研究真正意义上的开始,由此开启了语音识别技术的研究热潮。语音识别技术的发展可以分为传统语音识别、基于深度学习的语音识别、端到端语音识别三个阶段。传统语音识别以gmm

hmm的语音识别模型为了主流框架,并取得了令人瞩目的成果。直至进入21世纪,深度学习(deep learning)技术的发展极大促进了语音识别技术的进步,使得识别精度大大提高,基于深度学习的语音识别技术得到迅速发展。基于端到端网络模型是近几年提出的语音识别系统,该模型通过一个神经网络模型可以直接建立输入语音波形和输出文本内容之间的映射关系,而不再需要对系统中各个模块单独训练,简化了语音识别流程。目前,现有实现端到端模型的方法主要有三种:基于连接时序分类技术(connectionist temporal classification,ctc),基于注意力机制的编码器

解码器模型(attention

based model),基于循环神经网络转换器(recurrent neural network transducer,rnn

t)。其中rnn

t模型针对ctc模型的不足设计出来的,它将声学特征和语言信息整合在一起,同时考虑到声学和语言信息,解决了ctc中存在的输出独立假设问题,是本发明研究改进的重点部分之一。
5.近几年,深度学习受到极大关注,并在语音识别、计算机视觉等领域取得了成功的应用。随着深度学习的快速发展,深度神经网络的设计日益复杂,深度学习领域的模型压缩
技术也随之迅速发展。如何在保证模型性能的前提下,有效减少深度神经网络模型的计算量和储存空间成为了研究的热点。现阶段模型压缩技术主要包括:网络剪枝、量化、低秩分解、紧凑网络设计和知识蒸馏(knowledge distillation,kd)。
6.其中知识蒸馏能够将深度较深的模型压缩成较浅的模型,通过模仿大模型的输出将复杂大模型中提取的有用知识传递到简单的小模型中,并有助于降低模型时间和空间复杂度。也是本发明研究改进的重点部分之一。
7.如上所述,现有语音识别方法包括:基于ctc模型假设当前帧的输出与历史输出之间是条件独立的缺点,rnn

t模型通过引入预测网络来弥补ctc条件独立假设且不具备语言建模能力的问题。rnn

t模型将语言信息和声学信息整合在一起,同时进行联合优化,其模型结构图如图1所示。rnn

t模型主要由编码网络(encoder network)、预测网络(prediction network)和联合网络(joint network)共同构成。
8.上述现有技术中的语音识别方法的缺点为:
9.(1)rnn

t模型训练困难。rnn

t模型训练需要大量的语音

文本对数据才能实现模型的收敛,达到较好的识别性能。在实际应用中构建语音

文本语料需要高昂的成本,所以标注数据稀少。训练的rnn

t模型过程中欠缺语言学知识,语言建模能力不足,(即预测网络存在训练不充分)使得rnn

t模型存在训练困难的问题。
10.(2)长时语音识别鲁棒性较差。语音识别技术需要面对大量长时语音的特定场景,例如持续半分钟以上的长篇演讲和会话级别的语音识别。受限于硬件计算设备和训练数据与测试数据不匹配等因素影响。rnn

t模型通常是基于在句子层次上训练的,长时语句被分割成短语句音频片段,使得训练模型在计算上是可行的。但是这会导致在识别长时语音时产生训练和测试数据不匹配的问题,基于短句级别训练数据训练的语音识别模型对于长时语音的识别鲁棒性较差,大大降低模型的识别性能。对于长篇演讲和会话级别的语音识别,依然面临挑战。
11.如上所述,知识蒸馏是时现有使用较为广泛的一种模型压缩,其基于师生学习的训练方式。核心思想是通过知识迁移,使用预训练的大网络作为教师模型,指导一个运行速度更快、参数量更小的网络作为学生模型,将教师模型输出的“软化标签”(soft target)作为知识传递给学生模型,以提升学生模型的性能。图2为现有技术中的一种帧级别和序列级别知识蒸馏算法实现原理图。
12.上述现有技术中的模型压缩方法的缺点为:模型参数量大且计算复杂度高。为了进一步提升模型的识别性能,现有算法不断增加网络模型层数,设计更加复杂的网络结构。然而,在提高识别性能的同时,这些策略普遍存在模型参数量大且计算复杂度高的问题。这导致模型计算效率较低,难以在对实时性有要求的实际环境中使用。针对语音识别模型计算量庞大和参数冗余的问题,序列级知识蒸馏算法对于减少模型冗余参数,减少模型的参数量,降低模型时间和空间复杂度有着重要作用。但是序列级知识蒸馏的效果易受参数设施和模型初始化等信息影响,模型泛化能力较差。


技术实现要素:

13.本发明的实施例提供了一种端到端长时语音识别方法,以实现对端到端长时语音数据进行有效地识别。
14.为了实现上述目的,本发明采取了如下技术方案。
15.一种端到端长时语音识别方法,包括:
16.选取语料库为训练数据集,对所述训练数据集中的语音数据进行数据预处理和特征提取,生成语音特征,并组成测试和验证数据集;
17.构造融合外部语言模型和长时语音识别算法的改进的rnn

t模型,将所述语音特征输入所述改进的rnn

t模型进行训练,得到训练好的改进的rnn

t模型;
18.将训练好的改进的rnn

t模型作为互学习知识蒸馏算法中的教师模型,利用互学习知识蒸馏算法训练互学习知识蒸馏算法中的学生模型,并利用测试和验证数据集对学生模型进行测试和验证,得到训练和验证好的学生模型;
19.利用所述训练和验证好的学生模型对待识别的长时语音数据进行识别,输出语音识别结果。
20.优选地,所述的选取语料库为训练数据集,对所述训练数据集中的语音数据进行数据预处理和特征提取,生成语音特征,并组成测试和验证数据集,包括:
21.选取aishell

1语料库为训练数据集,利用sox音频处理工具对aishell

1中的语音数据进行合成长时语音数据处理,调用kaldi工具包对合成的长时语音数据进行特征提取处理,生成验证和测试学生网络的语音特征,利用语音特征组成测试和验证数据集。
22.优选地,所述的构造融合外部语言模型和长时语音识别算法的改进的rnn

t模型,包括:
23.构造改进的rnn

t模型,所述改进的rnn

t模型完成语音识别任务、语言建模任务和指导语言建模的知识蒸馏任务,所述语音识别任务中将训练数据的语音特征x
t
输入到编码网络中得到声学信息高级表示将声学信息高级表示长时语音识别算法得到的输出c
k
和预测网络得到的输出在联合网络中进行融合,计算得到语音识别任务损失l
rnn

t

24.语言建模任务在rnn

t模型通过预测网络进行语言建模的基础上加入训练好的外部语言模型,训练好的外部语言模型根据先前非空标签y
u
‑1为预测网络提供软化标签,指导预测网络的语言建模,将蒸馏损失函数l
kd
与预测网络语言建模的损失函数l
lm
加权相加作为预测网络语言模型的优化函数。
25.优选地,所述的长时语音识别算法包括模拟长时音频训练模块和跨句上下文模块,所述模拟长时音频训练模块通过修改模型隐层初始状态模拟长时音频训练,实现等价长时语音识别模型训练,所述跨句上下文模块,用于保留跨句历史上下文信息。
26.优选地,所述的模拟长时音频训练模块,具体用于在训练到第k条语句时,对模型隐层状态进行初始化,用第k

1条语句训练结束后编码网络和预测网络的最终隐层状态e
k
‑1(t)和p
k
‑1(u)来初始化e
k
(0)和p
k
(0),在模拟长时音频训练过程中设置随机种子,控制模拟长音频句子的长度,在训练rnn

t模型过程中设置传递lstm状态的概率p=0.5,否则将lstm的初始状态置为0向量,如式(2

4)所示:
[0027][0028]
所述的跨句上下文模块,具体用于将模型预测的历史语句文本输入进入跨距上下
文模块进行特征编码得到使用注意力机制对和历史上下文向量c
k
‑1计算得到注意力分数α
u,i
,使用文本特征与注意力得分计算得到当前语句的历史上下文向量c
k
,计算过程如式(2

5)至(2

6)所示:
[0029][0030][0031]
其中,表示跨句上下文模块的输出,整个模型将声学特征x
t
、文本特征及跨句上下文向量c
k
、预测网络输出输入进入联合网络计算得到z
t,u
,如式(2

7)所示:
[0032][0033]
其中,u和v分别表示为投影矩阵,ψ表示非线性激活函数,b
z
表示偏置。
[0034]
优选地,所述的语言建模任务,用于在rnn

t模型基础上融入外部语言模型,将模型预测的先前非空标签y
u
‑1作为rnn

t预测网络的输入,经过rnn

t预测网络生成高级表示通过全连接层和softmax对进行分类并计算概率进而进行语言建模,所述外部语言模型在文本数据上训练循环神经网络语言模型rnnlm模型,将rnn

t预测网络预测的先前非空标签y
y
‑1和历史隐藏状态h
t
‑1输入训练好的rnnlm模型,rnnlm模型输出软化标签为k的概率计算如式(2

1)所示:
[0035][0036]
其中z
i
表示rnnlm模型的输出,t表示为温度系数,用于标签平滑;
[0037]
所述的指导语言建模的知识蒸馏任务,将rnn

t预测网络预测的先前非空标签y
u
‑1输入训练好的外部语言模型,使用kl散度作为蒸馏损失l
kd
来最小化外部语言模型与rnn

t预测网络模型的后验概率,如式(2

2)所示:
[0038][0039]
将蒸馏损失函数l
kd
与预测网络语言建模的l
lm
损失函数加权相加作为预测网络语言模型的优化函数,在训练阶段,模型总损失函数如式(2

3)所示,包括三个部分:一是rnn

t模型损失函数l
rnn

t
,二是预测网络语言模型的lm损失函数l
lm
,三是外部语言模型蒸馏损失函数l
kd

[0040]
l
total
=l
rnn

t
α((1

β)l
lm
βl
kd
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2

3)
[0041]
其中α、β分别为预测网络语言模型加权系数和外部语言模型知识蒸馏加权系数,用于平衡不同损失函数的尺度差异。
[0042]
优选地,所述的将训练好的改进的rnn

t模型作为互学习知识蒸馏算法中的教师模型,利用互学习知识蒸馏算法训练互学习知识蒸馏算法中的学生模型,并利用测试和验
证数据集对学生模型进行测试和验证,得到训练和验证好的学生模型,包括:
[0043]
(1)教师模型训练:将训练好的改进的rnn

t模型作为互学习知识蒸馏算法中的教师模型,将上述语音特征作为训练数据,利用训练数据对教师模型进行监督训练;
[0044]
(2)教师模型输出获取:将教师模型输出的预测标签保存为伪标签,利用伪标签指导学生模型学习;
[0045]
(3)学生模型训练:学生基线模型为标准rnn

t模型,学生模型a为加入外部语言模型的rnn

t模型,学生模型b为加入跨距上下文算法模块的rnn

t模型,利用教师模型输出的伪标签和真实标签对学生模型进行监督训练,采用从头训练的方式同时对多个学生模型进行训练,实现训练过程中的相互学习;
[0046]
(4)将测试和验证数据集输入至所述教师模型与训练后的学生模型,得到训练和验证好的学生模型。
[0047]
由上述本发明的实施例提供的技术方案可以看出,本发明通过对外部语言模型和rnn

t模型进行融合,对模型中的预测网络直接进行语言建模的同时增加了语言模型辅助任务,利用训练好的外部语言模型为预测网络语言模型提供软化标签,指导预测网络语言建模,实现了声学信息和语言信息的联合优化。本发明还在rnn

t模型的基础上加入长时语音识别算法模块,跨句上下文模块保存句子之间的上下文信息,为rnn

t模型提供跨句级别的历史上下文信息,解决长时语音识别中建立长距离依赖的问题。
[0048]
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0049]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为现有技术中的一种rnn

transducer模型的结构图;
[0051]
图2为现有技术中的一种帧级别和序列级别知识蒸馏算法实现原理图;
[0052]
图3为本发明实施例提供的一种端到端长时语音识别方法的实现原理图;
[0053]
图4为本发明实施例提供的一种改进的rnn

t模型的框架结构图;
[0054]
图5为本发明实施例提供的一种长时语音识别算法模块的整体架构图;
[0055]
图6为本发明实施例提供的一种增加跨句上下文模块的rnn

t模型的结构图;
[0056]
图7为本发明实施例提供的一种基于互学习的知识蒸馏框架的结构图。
具体实施方式
[0057]
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0058]
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措
辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0059]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0060]
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0061]
本发明主要针对现有端到端语音识别的算法存在的语言建模能力不足、长时语音识别场景下鲁棒性较差、模型参数量大且计算复杂度高等问题限进行研究,对现有长音频场景下语音识别算法和模型压缩算法的缺陷与不足进行改进,促进其在实际中更广泛的应用。在提升端到端语音识别模型语言建模能力的基础上,进一步提升模型对长时语音识别场景下的泛化能力和鲁棒性,并通过知识蒸馏技术实现对算法模型的压缩及加速,以求达到理想的识别效果。
[0062]
本发明实施例分析语音识技术研究现状和存在问题的基础上对端到端语音识别算法进行了研究,提出了改进的rnn

t语音识别模型。改进的rnn

t模型融合了外部语言模型和长时语音识别算法,在长句识别场景下缓解了识别准确率下降问题。本发明实施例提供的端到端长时语音识别方法的实现原理图如图3所示,整体方案首先输入语音

文本对,对语音

文本对通过数据预处理得到训练和测试/验证数据集的fbank特征。随后,将训练数据集的fbank特征输入改进的rnn

t模型中对语音识别模型进行训练,得到训练好的改进的rnn

t模型。接下来利用互学习知识蒸馏算法,将训练好的改进的rnn

t模型作为互学习知识蒸馏算法中的教师模型,训练互学习知识蒸馏算法中的学生模型,得到训练好的学生模型;最后将验证集和测试集输入至互学习知识蒸馏算法中教师模型与训练好的学生模型,得到验证和测试好的学生模型。教师模型选用结合外部语言模型和跨距上下文算法的rnn

transducer模型作为基线模型。学生基线模型为标准rnn

transducer模型,学生模型a和学生模型b分别为加入外部语言模型和跨距上下文模型的rnn

transducer模型。通过结合改进的rnn

t模型与互学知识蒸馏算法得到的学生模型在减少精度损失的基础上,去除冗余参数减少模型的参数量,降低模型时间和空间复杂度的目的,使模型在大小及计算量和识别任务性能上达到了较好的平衡。
[0063]
本发明实施例中的对语音

文本对的数据预处理过程包括:数据预处理分为生成训练数据集和生成验证/测试数据集特征两步。aishell

1语料库为训练数据集,通过调用kaldi工具包对aishell

1语音数据进行特征提取处理,生成训练教师网络和学生网络的语音特征。验证/测试数据集利用sox(soundexchange)音频处理工具对aishell

1和aidatatang_200zh中文普通话语料库的语音数据进行合成长时语音数据处理,通过调用kaldi工具包对合成的长时语音数据进行特征提取处理,生成验证/测试学生网络的语音特征。
[0064]
本发明实施例提供的一种改进的rnn

t模型框架结构如图4所示。改进主要包括两部分:
[0065]
1:在语音识别任务中。将编码网络和长时语音识别算法模块的输出和c
k
同时输入联合网络得到l
rnnn

t
,为语音识别任务添加了跨距上下问信息,提高了rnn

t模型对长时语音识别的鲁棒性;
[0066]
2:增加了外部语言模型,利用训练好的外部语言模型为预测网络语言模型提供软化标签,指导预测网络语言建模能力,提高rnn

t模型的语言建模能力;
[0067]
上述改进的rnn

t模型在原始rnn

t模型的基础上融合了外部语言模型和长时语音识别算法。如图4所示,改进的rnn

t模型包含了三路分支,分别用于语音识别任务、语言建模任务和指导语言建模的知识蒸馏任务。语音识别任务中将训练数据的语音特征x
t
输入到编码网络中得到声学信息高级表示然后与长时语音识别算法得到的输出c
k
和预测网络得到的输出在联合网络中进行融合,计算得到语音识别任务损失l
rnnn

t
;rnn

t模型中的联合网络是一个前馈神经网络,上述融合操作可以是将和c
k
拼接,也可以是直接相加。
[0068]
图5为本发明实施例提供的一种长时语音识别算法模块的整体架构图。针对rnn

t对长时语音识别场景鲁棒性较差的问题,本发明提出了长时语音识别算法包括模拟长时音频训练和跨句上下文模块。长时语音识别算法的目标包括:增加跨句上下文模块,得到历史上下文信息c
k
。通过修改模型隐层初始状态模拟长时音频训练。上述长时语音识别算法模块模拟长时音频训练,实现等价长时语音识别模型训练,以提高基于短句训练的语音识别模型对长句识别的鲁棒性,实现等价长时语音识别模型训练过程。模拟长音频训练,通过更新模型内部递归状态来模拟长时数据对模型进行训练,整个rnn

t模型在训练到第k条语句时,首先对模型隐层状态进行初始化,用第k

1条语句训练结束后编码网络和预测网络的最终隐层状态e
k
‑1(t)和p
k
‑1(u)来初始化e
k
(0)和p
k
(0)。为避免模型用长时音频数据训练后对短句正常数据识别泛化能力下降,在模拟长时音频训练过程中设置随机种子,控制模拟长音频句子的长度。在训练rnn

t模型过程中设置传递lstm状态的概率p=0.5,否则将lstm的初始状态置为0向量,如式(2

4)所示:
[0069][0070]
本发明实施例提供的一种增加跨句上下文模块的rnn

t模型的结构图如图6所示。跨句上下文模块,用于保留跨句历史上下文信息,使模型可以更好地学习会话级别的语境信息,提升长时语音识别的性能。跨句上下文模块首先将模型预测的历史语句文本输入进入跨距上下文模块进行特征编码得到然后使用注意力机制对和历史上下文向量c
k
‑1计算得到注意力分数α
u,i
,最后使用文本特征与注意力得分计算得到当前语句的历史上下文向量c
k
,计算过程如式(2

5)至(2

6)所示:
[0071]
[0072][0073]
其中,表示跨句上下文模块的输出。然后将声学特征x
t
、文本特征及跨句上下文向量c
k
、预测网络输出输入进入联合网络计算得到z
t,u
,如式(2

7)所示:
[0074][0075]
其中,u和v分别表示为投影矩阵,ψ表示非线性激活函数,b
z
表示偏置。
[0076]
上述改进的rnn

t模型的语言建模任务和知识蒸馏任务通过加入外部语言模型,指导rnn

t模型的预测网络进行语言建模,使得预测网络建模更加容易,模型能够更好的学习语言知识。语言建模任务通过预测网络直接进行语言建模,将模型预测的先前非空标签y
u
‑1作为输入,进入预测网络,然后通过全连接层与softmax层进行分类和概率计算,完成语言建模任务;同时,指导语言建模的知识蒸馏任务将模型预测的先前非空标签y
u
‑1输入训练好的外部语言模型,并利用训练好的外部语言模型为预测网络语言模型提供软化标签,指导预测网络语言建模。最后利用加权方法结合三个损失函数,对模型进行整体训练优化。本发明在训练原始rnn

t模型阶段融入外部语言模型,将语言信息传递给预测网络语言模型,实现外部语言模型与rnn

t模型的融合,得到的l
total_lm
。外部语言模型为预测网络语言模型提供软化标签,指导预测网络语言建模,计算得到知识蒸馏损失。上述传递具体指后验概率中p
lm
(外部语言模型中的语言信息知识)送到计算kl散度的损失函数中。语言信息指的是将先前非空标签y
u
‑1输入外部语言模型或者预测网络后对网络输出进行分类,得到的分类结果的概率。提高rnn

t模型语言建模的能力的同时,将编码网络和长时语音识别算法模块的输出和c
k
输入联合网络得到的l
rnnn

t
与l
total_lm
组成一个目标函数l
total
,使用一个目标函数对改进后的rnn

t模型进行整体训练。实现提高rnn

t模型语言建模的能力,提升了模型的同近音纠错能力的同时,提升了模型对长时语音识别的准确率。
[0077]
本发明在rnn

t模型基础上融入外部语言模型的具体步骤首先将模型预测的先前非空标签y
u
‑1作为rnn

t预测网络的输入,经过预测网络生成高级表示然后通过全连接层和softmax对进行分类并计算概率进而进行语言建模,通过增加预测网络语言建模辅助任务以帮助其训练。外部语言模型首先在大规模文本数据上训练循环神经网络语言模型(recurrent neural network language model,rnnlm),将模型预测的先前非空标签y
u
‑1和历史隐藏状态h
t
‑1(训练好的rnnlm网络本身会存在历史隐藏状态h
t
‑1)输入训练好的rnnlm语言模型,rnnlm模型输出软化标签为k的概率计算如式(2

1)所示:
[0078][0079]
其中z
i
表示rnnlm模型的输出,t表示为温度系数,用于标签平滑。为了使rnn

t模型中的预测网络从软化标签中学习到语言学知识,使用kl散度作为蒸馏损失l
kd
来最小化外部语言模型与预测网络语言模型的后验概率,如式(2

2)所示:
[0080][0081]
将蒸馏损失函数l
kd
与预测网络语言建模的l
lm
损失函数加权相加作为预测网络语言模型的优化函数。在训练阶段,模型总损失函数如式(2

3)所示,包括三个部分:一是rnn

t模型损失函数l
rnn

t
,二是预测网络语言模型的lm损失函数l
lm
,三是外部语言模型蒸馏损失函数l
kd

[0082]
l
total
=l
rnn

t
α((1

β)l
lm
βl
kd
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2

3)
[0083]
其中α、β分别为预测网络语言模型加权系数和外部语言模型知识蒸馏加权系数,用于平衡不同损失函数的尺度差异。
[0084]
语音识别任务中最常用的评价指标就是错误率。根据真实标注序列,对识别结果进行删除、插入或替换操作,使得两序列相同,计算得到两者的编辑距离(edit distance)即为识别错误率。在中文数据集上常用的是字符错误率(character error rate,cer),英文数据集上常用的是字错误率(word error rate,wer)。两者计算公式形式一致,以计算字错误率为例,计算如式(2

8)所示:
[0085][0086]
即字错误率为识别结果出现错误的字数与真实标注序列总字数的比值,其中s表示替换操作错误,d表示删除操作错误,i表示插入操作错误,n表示真实标注序列总字数。融合长时语音识别算法模块及外部语言模型的rnn

t识别结果如表所示:
[0087]
表1.aishell

1及合成长句数据集对比实验结果
[0088][0089]
通过融合长时语音识别算法模块及外部语言模型的方式,可以有效地提升rnn

t模型在长音频中的识别性能,且能保持在正常数据中识别准确率,有效地解决了基于句子级别训练的端到端模型对于长句语音的识别性能严重下降的问题,使得模型具有了更好的鲁棒性和泛化能力。
[0090]
改进的rnn

t模型,缓解了模型对长时语音识别性能严重下降的问题,有效地提高基于句子级别训练的模型对于长时音频识别场景的泛化能力和鲁棒性。与此同时考虑到模型大小和识别任务性能之间的平衡关系,提出了基于互学习的知识蒸馏算法。利用互学习知识蒸馏算法,将2.4节中提到的已训练好的改进的rnn

t模型作为教师模型对学生模型进行训练。得到的学生模型在减少精度损失的基础上,去除冗余参数减少模型的参数量,降低模型时间和空间复杂度,使模型在大小及计算量和识别任务性能上达到了较好的平衡。
[0091]
针对语音识别模型计算量庞大和参数冗余的问题,基于互学习知识蒸馏算法
(mutual

learning knowledge distillation,mlkd)通过不同结构学生模型的相互学习,学习学生模型间的结构差异,克服每个学生模型在结构上的缺陷,引入了更多的多样性。本发明实施例提供的一种基于互学习的知识蒸馏框架如图7所示。
[0092]
(1)教师模型训练:将训练好的改进的rnn

t模型作为互学习知识蒸馏算法中的教师模型,将上述语音特征作为训练数据,利用训练数据来训练教师模型;
[0093]
(2)教师模型输出获取:将教师模型输出的预测标签保存为伪标签,用于后续指导学生模型学习,以减少训练中的计算开销;
[0094]
(3)学生模型训练:学生基线模型为标准rnn

t模型,学生模型a为加入外部语言模型的rnn

t模型,学生模型b为加入跨距上下文算法模块的rnn

t模型。利用教师模型输出的伪标签和真实标签对学生模型进行监督训练。在训练学生模型时,采用从头训练的方式同时对多个学生模型进行训练,实现训练过程中的相互学习。
[0095]
后续,利用训练和验证好的多个学生模型分别对待识别的长时语音数据进行识别,因此获取所述待识别的长时语音数据的最终识别结果过程中不会引入模型额外的计算量。
[0096]
通过利用互学习知识蒸馏算法,在开源aishell

1数据集及合成长时语音数据集上进行测试,经过互学习知识蒸馏算法压缩的学生模型a(学生模型a mlkd)及学生模型b(学生模型b mlkd)的cer都有所下降。经过互学习知识蒸馏算法压缩的学生模型b(学生模型b mlkd)在合成长时语音数据的验证集和测试集上最佳cer达到了15.53%和18.10%,进一步缩小了与教师基线模型性能差距。
[0097]
表2.rnn

transducer模型压缩识别性能结果
[0098][0099]
对比了教师模型与学生模型编码网络与预测网络压缩前后的参数量及计算量。结果如表3所示,编码网络在模型压缩前后参数量减少了41.02%,浮点运算数减少了43.62%。预测网络参数量减少了63.03%,浮点运算数减少了77.98%。模型中编码网络和预测网络都明显地减少了参数量和计算量,达到了压缩的目的,并且模型依然能保持较高的识别准确率。
[0100]
表3.编码网络与预测网络压缩前后参数量及计算量对比结果
[0101][0102]
综上所述,本发明实施例解决了现有长时端到端语音识别算法中无法解决的3个问题:
[0103]
(1)rnn

t模型语言建模能力不足的问题。rnn

t模型语言建模能力不足会使得模型训练困难。针对rnn

t模型语言建模能力不足的问题。本发明通过对外部语言模型和rnn

t模型进行融合,对模型中的预测网络直接进行语言建模的同时增加了语言模型辅助任务,利用训练好的外部语言模型为预测网络语言模型提供软化标签,指导预测网络语言建模,实现了声学信息和语言信息的联合优化。在不增加解码阶段模型参数量及计算量的情况,进一步提升模型的语言建模能力,降低模型的训练难度。
[0104]
(2)长时语音识别场景下鲁棒性较差的问题。针对rnn

t模型对长时语音的识别鲁棒性较差。本发明在rnn

t模型的基础上加入长时语音识别算法模块,跨句上下文模块保存句子之间的上下文信息,为rnn

t模型提供跨句级别的历史上下文信息,解决长时语音识别中建立长距离依赖的问题;其次,长时语音识别算法中加入模拟长音频训练步骤,通过更新模型内部递归状态来模拟长时数据对模型进行训练,以提高基于短句训练的语音识别模型对长句识别的鲁棒性。跨句上下文模块和模拟长时音频训练二者组合后能够进一步提升模型在长时语音识别场景下的识别准确率,有效地缓解了模型训练语句与测试语句长度差距过大造成的识别性能损失问题,使模型具有更强的鲁棒性和泛化能力。
[0105]
(3)模型参数量大且计算复杂度高的问题。针对语音识别模型参数量过大且计算复杂度高的问题,本发明通过提出互学习知识蒸馏算法,解决传统知识蒸馏算法易受参数设施和模型初始化等信息影响的同时,减少语音识别模型冗余参数,减少模型的参数量,降低模型时间和空间复杂度。基于互学习知识蒸馏算法通过不同结构学生模型的相互学习,学习学生模型间的结构差异,克服每个学生模型在结构上的缺陷,引入了更多的多样性。将教师模型中丰富且正确的信息传递给学生模型,以实现学生模型更好的识别性能,使模型大小及计算量和识别任务性能上达到了较好的平衡。
[0106]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0107]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备
(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0108]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0109]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜