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

语音识别、模型训练方法、装置、电子设备和存储介质与流程

2021-08-10 16:37:00 来源:中国专利 TAG:电子设备 装置 模型 语音识别 机器
语音识别、模型训练方法、装置、电子设备和存储介质与流程

本发明涉及机器学习技术领域,尤其涉及一种语音识别、模型训练方法、装置、电子设备和存储介质。



背景技术:

随着机器学习技术的不断发展,越来越多的领域开始使用神经网络模型进行前向推理,例如语音识别、语音唤醒、图像识别等。在语音识别场景下,用户通常会使用智能手机等移动终端进行离线的语音识别,以快速获取语音识别结果。然而,上述移动终端中采用的芯片,例如嵌入式神经网络处理器(neural-networkprocessingunits,npu)芯片,尽管算力强大,但存在内存限制,而语音识别模型由于处理逻辑较为复杂,导致语音识别模型通常较大。因此,若需要在npu芯片上运行语音识别模型,需要对语音识别模型进行压缩。

目前,主流的神经网络模型压缩方法主要包括模型剪枝与量化。然而,模型剪枝与量化会同步降低模型的参数量与运算量,在上述低内存、高算力的运行环境中,同步降低运算量会造成算力的浪费,降低语音识别的准确性。另外,过于精细的模型剪枝操作使得语音识别模型的实际部署存在限制,可适用范围受限。



技术实现要素:

本发明提供一种语音识别、模型训练方法、装置、电子设备和存储介质,用以解决现有技术中同步降低运算量造成语音识别准确性下降以及可适用范围受限的缺陷。

本发明提供一种语音识别方法,包括:

确定待识别的语音数据;

将所述待识别的语音数据输入至压缩语音识别模型,得到所述压缩语音识别模型输出的语音识别结果;

其中,所述压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;所述压缩语音识别模型中结构相同的层之间共享参数。

根据本发明提供一种的语音识别方法,所述压缩语音识别模型是基于如下步骤训练得到的:

基于样本语音数据及其样本语音识别结果,预训练初始模型,得到原始语音识别模型;

对所述原始语音识别模型中结构相同的层进行参数共享,得到初始压缩模型;

基于样本语音数据及其样本语音识别结果,更新所述初始压缩模型中的共享参数,得到所述压缩语音识别模型。

根据本发明提供的一种语音识别方法,所述对所述原始语音识别模型中结构相同的层进行参数共享,得到初始压缩模型,包括:

将所述原始语音识别模型中结构相同的多个层中的任一层的参数作为初始参数赋值给所述多个层中的其他层,得到所述初始压缩模型。

根据本发明提供的一种语音识别方法,所述压缩语音识别模型的损失函数包括识别结果损失函数和共享层差异损失函数;

所述识别结果损失函数用于表示所述压缩语音识别模型对所述样本语音数据进行语音识别得到的输出结果与所述样本语音数据的样本语音识别结果间的差异;

所述共享层差异损失函数表示所述压缩语音识别模型中任一共享层输出的实际特征向量与所述原始语音识别模型中对应层输出的目标特征向量间的差异;其中,共享层是指结构相同的多个层中共享所述多个层中任一层参数的其他层。

根据本发明提供的一种语音识别方法,所述共享层差异损失函数是将所述压缩语音识别模型中每一共享层的特征距离损失进行加权求和后得到的;

任一共享层的特征距离损失是所述压缩语音识别模型中所述任一共享层输出的实际特征向量与所述原始语音识别模型中对应层输出的目标特征向量间的向量距离。

本发明还提供一种模型训练方法,包括:

确定原始神经网络模型的结构;其中,所述原始神经网络模型中存在结构相同的层;

基于样本数据及其样本标注结果,预训练所述原始神经网络模型;

基于所述样本数据及其样本标注结果,更新所述原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得所述压缩神经网络模型中结构相同的层之间共享参数。

本发明还提供一种语音识别装置,包括:

语音数据确定单元,用于确定待识别的语音数据;

语音识别单元,用于将所述待识别的语音数据输入至压缩语音识别模型,得到所述压缩语音识别模型输出的语音识别结果;

其中,所述压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;所述压缩语音识别模型中结构相同的层之间共享参数。

本发明还提供一种模型训练装置,包括:

模型结构确定单元,用于确定原始神经网络模型的结构;其中,所述原始神经网络模型中存在结构相同的层;

预训练单元,用于基于样本数据及其样本标注结果,预训练所述原始神经网络模型;

压缩训练单元,用于基于所述样本数据及其样本标注结果,更新所述原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得所述压缩神经网络模型中结构相同的层之间共享参数。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述语音识别方法或模型训练方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述语音识别方法或模型训练方法的步骤。

本发明提供的语音识别、模型训练方法、装置、电子设备和存储介质,基于样本语音数据及其样本语音识别结果训练压缩语音识别模型,并使压缩语音识别模型中结构相同的层之间共享参数,可以在运算量保持不变的情况下大幅降低模型参数量,使得压缩语音识别模型可以满足低内存、高算力的应用场景需求,并确保压缩语音识别模型的语音识别效果。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的语音识别方法的流程示意图;

图2为本发明提供的压缩语音识别模型训练方法的流程示意图;

图3为本发明提供的特征距离损失的示意图;

图4为本发明提供的模型训练方法的流程示意图;

图5为本发明提供的语音识别装置的结构示意图;

图6为本发明提供的模型训练装置的结构示意图;

图7为本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着机器学习技术的不断发展,越来越多的领域开始使用神经网络模型进行前向推理。例如,在语音识别场景下,用户通常会使用智能手机等移动终端进行离线的语音识别,以快速获取语音识别结果。然而,上述移动终端中采用的芯片,例如嵌入式神经网络处理器(neural-networkprocessingunits,npu)芯片,尽管算力强大,但存在内存限制,因此对终端上运行的语音识别模型的大小有着较为严格的要求。考虑到语音识别模型的处理逻辑较为复杂,导致模型通常较大,因此需要对语音识别模型进行一定程度的压缩,使其得以在npu上正常运行。

目前,主流的神经网络模型压缩方法主要包括模型剪枝与量化。其中,模型剪枝是在网络训练完成之后或者训练过程中,通过一系列方法寻找其中较为重要的权值参数,对不重要的权值参数进行裁剪,从而同步降低神经网络模型的参数量与运算量;模型量化则是将高比特存储的模型参数,量化成低比特存储的模型参数,比如将32bit的参数量化到8bit,则可以降低4倍的参数存储空间,同时在并行计算时提升4倍的运算速度。

然而,模型剪枝与量化会同步降低模型的参数量与运算量,在上述低内存、高算力的运行环境中,同步降低运算量会造成算力的浪费。另外,过于精细的模型剪枝操作可能会带来一些稀疏矩阵运算,而稀疏矩阵运算对计算设备中的数据访问和大规模并行计算不友好,甚至部分设备几乎不支持稀疏矩阵的运算,为实际部署带来了一系列问题,使得语音识别模型的可适用范围受限。

对此,本发明实施例提供了一种语音识别方法。图1为本发明实施例提供的语音识别方法的流程示意图,如图1所示,该方法包括:

步骤110,确定待识别的语音数据;

步骤120,将待识别的语音数据输入至压缩语音识别模型,得到压缩语音识别模型输出的语音识别结果;

其中,压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;压缩语音识别模型中结构相同的层之间共享参数。

具体地,获取待识别的语音数据,该语音数据可以是用户通过声音采集设备实时录入的语音数据,也可以是预先存储或接收的语音数据,本发明实施例对此不作具体限定。

随后,将待识别的语音数据输入至压缩语音识别模型,压缩语音识别模型会对待识别的语音数据进行声学特征提取、状态识别以及解码等操作,得到并输出待识别的语音数据对应的语音识别结果。此处,压缩语音识别模型可以采用传统的声学模型 语言模型的模型结构,例如基于hmm(hiddenmarkovmodel,隐马尔科夫模型)的语音识别模型结构,也可以采用端到端的模型结构,例如encoder-decoder模型结构,本发明实施例对此不作具体限定。

在执行步骤120之前,还可以预先训练得到压缩语音识别模型,具体可以通过如下方式训练得到压缩语音识别模型:首先,收集大量样本语音数据,并标注样本语音数据对应的样本语音识别结果。随即,基于样本语音数据及其样本语音识别结果对初始模型进行训练,从而得到压缩语音识别模型。

其中,为了使上述压缩语音识别模型得以在高算力、低内存的运行环境中正常运行,在训练压缩语音识别模型时,该模型中结构相同的层之间共享参数。此处,共享参数的层可以为相邻层,也可以不为相邻层,两个层之间仅需满足结构相同,即权重矩阵的维度一致,则可以共享参数。例如,若压缩语音识别模型中第1、2层网络结构完全一致,第3、4层网络结构完全一致,则在模型训练过程中,第2层直接共享第1层的参数,第4层直接共享第3层的参数。假设每2层网络共享同一组参数,则模型参数量可以被压缩50%;每3层网络共享同一组参数,则模型参数量可以被压缩66%。可见,由于模型中结构相同的层之间共享参数,因此大大减少了压缩语音识别模型的参数量,且上述训练方式在压缩参数量的同时,并未减少模型的运算量,因此可以在几乎不损失模型精度的情况下,大幅度压缩模型的参数量,使得该压缩语音识别模型可以满足低内存、高算力的应用场景需求。此外,上述共享参数的模型压缩方式还可以配合模型剪枝量化同步使用,具备一定的通用性。

需要说明的是,考虑到过多层网络共享同一组参数虽然可以带来更高的参数压缩比,但可能会带来较高的性能下降,因此可以将共享同一组参数的层数设置在2到4层,以兼顾模型性能和模型大小的要求。

本发明实施例提供的方法,基于样本语音数据及其样本语音识别结果训练压缩语音识别模型,并使压缩语音识别模型中结构相同的层之间共享参数,可以在运算量保持不变的情况下大幅降低模型参数量,使得压缩语音识别模型可以满足低内存、高算力的应用场景需求,并确保压缩语音识别模型的语音识别效果。

基于上述实施例,图2为本发明实施例提供的压缩语音识别模型训练方法的流程示意图,如图2所示,压缩语音识别模型是基于如下步骤训练得到的:

步骤210,基于样本语音数据及其样本语音识别结果,预训练初始模型,得到原始语音识别模型;

步骤220,对原始语音识别模型中结构相同的层进行参数共享,得到初始压缩模型;

步骤230,基于样本语音数据及其样本语音识别结果,更新初始压缩模型中的共享参数,得到压缩语音识别模型。

具体地,基于样本语音数据及其样本语音识别结果,预训练初始模型,得到原始语音识别模型。其中,初始模型可以是传统声学模型 语言模型的模型结构,也可以采用端到端的模型结构,本发明实施例对此不作具体限定。在设计初始模型的模型结构时,尽可能地使模型内部一些层的结构完全一致,为下一阶段的模型参数共享做准备,完全一致的层越多,模型的可压缩空间越大。初始模型的训练目标可以根据实际任务需求设定,预训练完毕后,即可得到原始语音识别模型。

此时,原始语音识别模型是一个满足语音识别任务要求的模型。然而,此时的原始语音识别模型的参数量较多、模型较大,因此需要对其进行压缩,得到可以在低内存运行环境中运行的压缩语音识别模型。具体而言,可以对原始语音识别模型中结构相同的层进行参数共享,得到初始压缩模型,随后再基于样本语音数据及其样本语音识别结果,训练初始压缩模型,通过迭代更新初始压缩模型中的共享参数,得到压缩语音识别模型。其中,由于结构相同的层之间共享参数,因此共享参数即结构相同的多个层中任一层的网络参数。更新结构相同的层中任一层的参数,并同步到上述多个层中的其他层中,即可实现模型参数的更新。此外,在预训练得到的原始语音识别模型基础上,通过更新共享参数的方式训练得到压缩语音识别模型,可以提高压缩语音识别模型的训练效率和训练效果。

基于上述任一实施例,步骤220包括:

将原始语音识别模型中结构相同的多个层中的任一层的参数作为初始参数赋值给上述多个层中的其他层,得到初始压缩模型。

具体地,进行参数共享时,可以将原始语音识别模型中结构相同的多个层中的任一层的参数作为初始参数赋值给上述多个层中的其他层。此处,为了便于说明,可以将上述任一层称为参照层,被赋值的其他层称为共享层,后文不再赘述。其中,参照层可以是结构相同的多个层中的任一层,如首层。例如,假设原始语音识别模型中第1、2和3层为结构相同的层,则可以将第1层作为参照层,第2层和第3层作为共享层,将第1层的参数作为初始参数赋值给第2层和第3层。

基于上述任一实施例,压缩语音识别模型的损失函数包括识别结果损失函数和共享层差异损失函数;

识别结果损失函数用于表示压缩语音识别模型对样本语音数据进行语音识别得到的输出结果与样本语音数据的样本语音识别结果间的差异;

共享层差异损失函数表示压缩语音识别模型中任一共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量间的差异;其中,共享层是指结构相同的多个层中共享上述多个层中任一层参数的其他层。

具体地,为了使压缩语音识别模型的性能尽可能接近原始语音识别模型,以确保实际应用过程中语音识别的效果,可以设置压缩语音识别模型的损失函数包括识别结果损失函数和共享层差异损失函数。

其中,识别结果损失函数用于表示压缩语音识别模型对样本语音数据进行语音识别得到的输出结果与样本语音数据的样本语音识别结果间的差异。识别结果损失函数可以用于保证压缩语音识别模型足以满足语音识别任务的要求。

共享层差异损失函数表示压缩语音识别模型中任一共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量间的差异;其中,共享层是指结构相同的多个层中共享上述多个层中任一层参数的其他层。共享层差异损失函数可以用于使得压缩语音识别模型中共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量尽可能相似,提升共享层的性能,从而进一步保证压缩语音识别模型的性能足够接近原始语音识别模型。

本发明实施例提供的方法,通过设置识别结果损失函数和共享层差异损失函数,可以使得压缩语音识别模型中共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量尽可能相似,提升共享层的性能,从而进一步保证压缩语音识别模型的性能足够接近原始语音识别模型。

基于上述任一实施例,共享层差异损失函数是将压缩语音识别模型中每一共享层的特征距离损失进行加权求和后得到的;

任一共享层的特征距离损失是压缩语音识别模型中该共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量间的向量距离。

具体地,可以将压缩语音识别模型中每一共享层的特征距离损失进行加权求和,得到共享层差异损失函数,从而计算压缩语音识别模型的损失函数。例如,可以采用如下方式计算压缩语音识别模型的损失函数:

loss=lossori ∑iαilossi

其中,lossori为识别结果损失函数,其可以通过具体的任务要求设定;lossi为压缩语音识别模型中任一共享层的特征距离损失,αi为该共享层对应的权重,权重越大表明该共享层越重要,例如可以将靠后的共享层的权重设置得较大。

图3为本发明实施例提供的特征距离损失的示意图,如图3所示,任一共享层的特征距离损失是压缩语音识别模型中该共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量间的向量距离。如图3所示,可以采用如下公式计算各共享层的特征距离损失:

lossi=distance(vi,ui)

其中,vi和ui分别为实际特征向量和目标特征向量;distance()可以为vi和ui间的l1距离、l2距离或余弦距离,本发明实施例对此不作具体限定。

基于上述任一实施例,图4为本发明实施例提供的模型训练方法的流程示意图,如图4所示,该方法包括:

步骤410,确定原始神经网络模型的结构;其中,原始神经网络模型中存在结构相同的层;

步骤420,基于样本数据及其样本标注结果,预训练原始神经网络模型;

步骤430,基于样本数据及其样本标注结果,更新原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得压缩神经网络模型中结构相同的层之间共享参数。

具体地,首先确定原始神经网络模型的结构。其中,设计原始神经网络模型时,尽可能地使模型内部一些层的结构完全一致,为下一阶段的模型参数共享做准备,完全一致的层越多,模型的可压缩空间越大。具体而言,可以将处理的数据维度差异在预设范围内的层设计成相同结构。此处,处理的数据维度差异是指各层对应的输入数据之间的维度差异。

随后,基于样本数据及其样本标注结果,预训练原始神经网络模型。此处,预训练的目标可以根据实际任务需求设定。

此时,原始神经网络模型是一个满足任务需求,但参数量较多的模型,因此需要对其进行压缩,得到可以在低内存运行环境中运行的压缩神经网络模型。具体而言,可以基于样本数据及其样本标注结果,更新原始神经网络模型中各层的参数。其中,在迭代更新原始神经网络模型中各层参数时,保持结构相同的层的参数相同,使得压缩神经网络模型中结构相同的层之间共享参数。

由于压缩神经网络模型中结构相同的层之间共享参数,因此大大减少了压缩神经网络模型的参数量,且上述训练方式在压缩参数量的同时,并未减少模型的运算量,因此可以在几乎不损失模型精度的情况下,大幅度压缩模型的参数量,使得该压缩神经网络模型可以满足低内存、高算力的应用场景需求。此外,上述共享参数的模型压缩方式还可以配合模型剪枝量化同步使用,具备一定的通用性。

需要说明的是,考虑到过多层网络共享同一组参数虽然可以带来更高的参数压缩比,但可能会带来较高的性能下降,因此可以将共享同一组参数的层数设置在2到4层,以兼顾模型性能和模型大小的要求。

此外,在预训练得到的原始神经网络模型基础上,通过更新共享参数的方式训练得到压缩神经网络模型,可以提高压缩神经网络模型的训练效率和训练效果。

本发明实施例提供的方法,预训练原始神经网络模型后,基于样本语音数据及其样本语音识别结果,更新原始神经网络模型中各层的参数,保持结构相同的层的参数相同,使得压缩神经网络模型中结构相同的层之间共享参数,可以在运算量保持不变的情况下大幅降低模型参数量,在保持压缩神经网络模型性能的同时提升模型压缩效果。

基于上述任一实施例,压缩神经网络模型的损失函数可以参照上述实施例中提供的压缩语音识别模型的损失函数进行设定,在此不再赘述。

基于上述任一实施例,图5为本发明实施例提供的语音识别装置的结构示意图,如图5所示,该装置包括语音数据确定单元510和语音识别单元520。

其中,语音数据确定单元510用于确定待识别的语音数据;

语音识别单元520用于将待识别的语音数据输入至压缩语音识别模型,得到压缩语音识别模型输出的语音识别结果;

其中,压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;压缩语音识别模型中结构相同的层之间共享参数。

本发明实施例提供的装置,基于样本语音数据及其样本语音识别结果训练压缩语音识别模型,并使压缩语音识别模型中结构相同的层之间共享参数,可以在运算量保持不变的情况下大幅降低模型参数量,使得压缩语音识别模型可以满足低内存、高算力的应用场景需求,并确保压缩语音识别模型的语音识别效果。

基于上述任一实施例,压缩语音识别模型是基于如下步骤训练得到的:

基于样本语音数据及其样本语音识别结果,预训练初始模型,得到原始语音识别模型;

对原始语音识别模型中结构相同的层进行参数共享,得到初始压缩模型;

基于样本语音数据及其样本语音识别结果,更新初始压缩模型中的共享参数,得到压缩语音识别模型。

基于上述任一实施例,对原始语音识别模型中结构相同的层进行参数共享,得到初始压缩模型,包括:

将原始语音识别模型中结构相同的多个层中的任一层的参数作为初始参数赋值给上述多个层中的其他层,得到初始压缩模型。

基于上述任一实施例,压缩语音识别模型的损失函数包括识别结果损失函数和共享层差异损失函数;

识别结果损失函数用于表示压缩语音识别模型对样本语音数据进行语音识别得到的输出结果与样本语音数据的样本语音识别结果间的差异;

共享层差异损失函数表示压缩语音识别模型中任一共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量间的差异;其中,共享层是指结构相同的多个层中共享上述多个层中任一层参数的其他层。

本发明实施例提供的装置,通过设置识别结果损失函数和共享层差异损失函数,可以使得压缩语音识别模型中共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量尽可能相似,提升共享层的性能,从而进一步保证压缩语音识别模型的性能足够接近原始语音识别模型。

基于上述任一实施例,共享层差异损失函数是将压缩语音识别模型中每一共享层的特征距离损失进行加权求和后得到的;

任一共享层的特征距离损失是压缩语音识别模型中该共享层输出的实际特征向量与原始语音识别模型中对应层输出的目标特征向量间的向量距离。

基于上述任一实施例,图6为本发明实施例提供的模型训练装置的结构示意图,如图6所示,该装置包括:模型结构确定单元610、预训练单元620和压缩训练单元630。

其中,模型结构确定单元610用于确定原始神经网络模型的结构;其中,原始神经网络模型中存在结构相同的层;

预训练单元620用于基于样本数据及其样本标注结果,预训练原始神经网络模型;

压缩训练单元630用于基于样本数据及其样本标注结果,更新原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得压缩神经网络模型中结构相同的层之间共享参数。

本发明实施例提供的装置,预训练原始神经网络模型后,基于样本语音数据及其样本语音识别结果,更新原始神经网络模型中各层的参数,保持结构相同的层的参数相同,使得压缩神经网络模型中结构相同的层之间共享参数,可以在运算量保持不变的情况下大幅降低模型参数量,在保持压缩神经网络模型性能的同时提升模型压缩效果。

图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行语音识别方法,该方法包括:确定待识别的语音数据;将所述待识别的语音数据输入至压缩语音识别模型,得到所述压缩语音识别模型输出的语音识别结果;其中,所述压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;所述压缩语音识别模型中结构相同的层之间共享参数。

处理器710还可以调用存储器730中的逻辑指令,以执行模型训练方法,该方法包括:确定原始神经网络模型的结构;其中,所述原始神经网络模型中存在结构相同的层;基于样本数据及其样本标注结果,预训练所述原始神经网络模型;基于所述样本数据及其样本标注结果,更新所述原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得所述压缩神经网络模型中结构相同的层之间共享参数。

此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的语音识别方法,该方法包括:确定待识别的语音数据;将所述待识别的语音数据输入至压缩语音识别模型,得到所述压缩语音识别模型输出的语音识别结果;其中,所述压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;所述压缩语音识别模型中结构相同的层之间共享参数。

计算机还能够执行上述各方法所提供的模型训练方法,该方法包括:确定原始神经网络模型的结构;其中,所述原始神经网络模型中存在结构相同的层;基于样本数据及其样本标注结果,预训练所述原始神经网络模型;基于所述样本数据及其样本标注结果,更新所述原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得所述压缩神经网络模型中结构相同的层之间共享参数。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述提供的语音识别方法,该方法包括:确定待识别的语音数据;将所述待识别的语音数据输入至压缩语音识别模型,得到所述压缩语音识别模型输出的语音识别结果;其中,所述压缩语音识别模型是基于样本语音数据及其样本语音识别结果训练得到的;所述压缩语音识别模型中结构相同的层之间共享参数。

该计算机程序被处理器执行时还可以执行上述提供的模型训练方法,该方法包括:确定原始神经网络模型的结构;其中,所述原始神经网络模型中存在结构相同的层;基于样本数据及其样本标注结果,预训练所述原始神经网络模型;基于所述样本数据及其样本标注结果,更新所述原始神经网络模型中各层的参数,得到压缩神经网络模型;其中,在更新参数时,保持结构相同的层的参数相同,使得所述压缩神经网络模型中结构相同的层之间共享参数。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜