语音识别的方法、装置及存储介质与流程

文档序号:23007841发布日期:2020-11-20 12:02阅读:138来源:国知局
语音识别的方法、装置及存储介质与流程

本公开涉及语音识别领域,尤其涉及语音识别的方法、装置及存储介质。



背景技术:

语音识别可以简单解释为识别语音或声音信号,在各个领域的应用越来越广泛。例如,在启动终端设备时,用户可以无需通过打开开关或指纹识别等操作,仅通过说出一小段语音即可将终端设备唤醒,这种启动设备的方式方便快捷。语音唤醒时通过检测语音关键词,将设备从休眠状态激活至运行状态,语音唤醒的响应速度和准确度直接影响用户使用设备的体验。

目前,通常通过神经网络模型对语音进行识别,例如端到端的神经网络识别模型。神经网络模型一般由多个子模块组成,相关技术中,神经网络模型中的各个子模块是由人工选取的,由于人工选取的方式没有准确的数据支持,生成的网络模型的性能不佳。并且,相关技术中的神经网络模型一般复用视觉领域的模型,对语音识别的效果不好。如此,相关技术中进行语音识别的准确性和可靠性均不足,例如,在用户想要唤醒终端设备时,可能由于对用户说出的语音识别的不够准确而不能将设备及时唤醒,从而不能很好的满足用户的需求。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种语音识别的方法、装置及存储介质。

根据本公开实施例的第一方面,提供一种语音识别的方法,所述方法包括:当接收到语音信息时,将所述语音信息输入到生成的语音识别模型;通过所述语音识别模型输出识别结果;其中,生成所述语音识别模型,包括:对超网络进行训练,其中,所述超网络包括多层网络层,每一所述网络层包括m个子结构,所述m个子结构中的至少一个所述子结构包括时序卷积网络模块,m为大于或等于2的正整数;根据训练结果,分别从每一所述网络层的m个子结构中确定与所述网络层对应的目标子结构;根据每一所述网络层对应的所述目标子结构,生成所述语音识别模型。

可选地,每一所述网络层的多个子结构中各自包括的所述时序卷积网络模块是根据预设的至少一个卷积核大小确定的,其中,每一所述卷积核大小对应的时序卷积网络模块包括包含压缩激励模块的时序卷积网络模块和不包含所述压缩激励模块的时序卷积网络模块。

可选地,所述多个网络层中包括普通网络层和下采样网络层,所述普通网络层的子结构中包括普通时序卷积网络模块,所述下采样网络层的子结构中包括下采样时序卷积网络模块。

可选地,每一所述网络层包括m个结构参数,所述m个结构参数与所述m个子结构一一对应,所述时序卷积网络模块包括网络参数;所述对超网络进行训练,包括:遍历训练样本,并将当前遍历到的所述训练样本作为目标训练样本;根据所述目标训练样本,对每一所述网络层的所述m个结构参数和所述时序卷积网络模块包括的所述网络参数进行交替更新,其中,在对所述结构参数进行更新时,所述网络参数保持不变,在对所述网络参数进行更新时,所述结构参数保持不变;在全部所述训练样本遍历完成的情况下,确定所述超网络是否符合收敛条件;在所述超网络符合所述收敛条件的情况下,停止训练,并获得所述训练结果;在所述超网络不符合所述收敛条件的情况下,重新执行所述遍历训练样本,并将当前遍历到的所述训练样本作为目标训练样本的步骤至所述根据所述目标训练样本,对每一所述网络层的所述m个结构参数和所述时序卷积网络模块包括的所述网络参数进行交替更新的步骤。

可选地,每一所述网络层中包括归一化函数;所述根据训练结果,分别从每一所述网络层的m个子结构中确定与所述网络层对应的目标子结构,包括:针对每一所述网络层,根据所述训练结果,确定所述网络层的m个结构参数中使得所述归一化函数最大的目标结构参数,并将所述目标结构参数对应的子结构,作为所述目标子结构。

可选地,所述m个子结构中至少一个子结构为跳跃连接。

可选地,所述根据每一所述网络层对应的所述目标子结构,生成所述语音识别模型,包括:将每一所述网络层对应的所述目标子结构依次连接,得到子网络;根据训练样本对所述子网络进行训练,得到所述语音识别模型。

可选地,所述通过所述语音识别模型输出识别结果,包括:对所述语音信息进行预处理,得到所述语音信息对应的频谱信息;通过所述语音识别模型对所述频谱信息进行处理,以得到所述语音信息对应的识别结果。

根据本公开实施例的第二方面,提供一种语音识别的装置,所述装置包括:输入模块,被配置成用于当接收到语音信息时,将所述语音信息输入到生成的语音识别模型;识别模块,被配置成用于通过所述语音识别模型输出识别结果;其中,生成所述语音识别模型的生成装置,包括:超网络训练模块,被配置成用于对超网络进行训练,其中,所述超网络包括多层网络层,每一所述网络层包括m个子结构,所述m个子结构中的至少一个所述子结构包括时序卷积网络模块,m为大于或等于2的正整数;目标子结构确定模块,被配置成用于根据训练结果,分别从每一所述网络层的m个子结构中确定与所述网络层对应的目标子结构;模型生成模块,被配置成用于根据每一所述网络层对应的所述目标子结构,生成所述语音识别模型。

可选地,每一所述网络层包括m个结构参数,所述m个结构参数与所述m个子结构一一对应,所述时序卷积网络模块包括网络参数;所述超网络训练模块,包括:遍历子模块,被配置成用于遍历训练样本,并将当前遍历到的所述训练样本作为目标训练样本;更新子模块,被配置成用于根据所述目标训练样本,对每一所述网络层的所述m个结构参数和所述时序卷积网络模块包括的所述网络参数进行交替更新,其中,在对所述结构参数进行更新时,所述网络参数保持不变,在对所述网络参数进行更新时,所述结构参数保持不变;确定子模块,被配置成用于在全部所述训练样本遍历完成的情况下,确定所述超网络是否符合收敛条件;获得子模块,被配置成用于在所述超网络符合所述收敛条件的情况下,停止训练,并获得所述训练结果;触发子模块,被配置成用于在所述超网络不符合所述收敛条件的情况下,触发所述遍历子模块遍历训练样本,并将当前遍历到的所述训练样本作为目标训练样本以及所述更新子模块根据所述目标训练样本,对每一所述网络层的所述m个结构参数和所述时序卷积网络模块包括的所述网络参数进行交替更新。

可选地,每一所述网络层中包括归一化函数;所述目标子结构确定模块被配置成用于:针对每一所述网络层,根据所述训练结果,确定所述网络层的m个结构参数中使得所述归一化函数最大的目标结构参数,并将所述目标结构参数对应的子结构,作为所述目标子结构。

可选地,所述模型生成模块,包括:连接子模块,被配置成用于将每一所述网络层对应的所述目标子结构依次连接,得到子网络;训练子模块,被配置成用于根据训练样本对所述子网络进行训练,得到所述语音识别模型。

可选地,所述识别模块包括:预处理子模块,被配置成用于对所述语音信息进行预处理,得到所述语音信息对应的频谱信息;频谱信息处理子模块,通过所述语音识别模型对所述频谱信息进行处理,以得到所述语音信息对应的识别结果。

根据本公开实施例的第三方面,提供一种语音识别的装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:当接收到语音信息时,将所述语音信息输入到生成的语音识别模型;通过所述语音识别模型输出识别结果;其中,生成所述语音识别模型,包括:对超网络进行训练,其中,所述超网络包括多层网络层,每一所述网络层包括m个子结构,所述m个子结构中的至少一个所述子结构包括时序卷积网络模块,m为大于或等于2的正整数;根据训练结果,分别从每一所述网络层的m个子结构中确定与所述网络层对应的目标子结构;根据每一所述网络层对应的所述目标子结构,生成所述语音识别模型。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的语音识别的方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过上述技术方案,当接收到语音信息时,可将该语音信息输入到生成的语音识别模型中,通过该语音识别模型输出识别结果,其中,可通过对超网络进行训练的方式生成语音识别模型。超网络可包括多层网络层,每一网络层可包括m个子结构,考虑到语音信息具有时序性的特点,每一网络层的m个子结构中至少一个子结构可包括时序卷积网络模块,使得生成的语音识别模型更加符合语音的时序性特征。并且,可以根据对超网络的训练结果,从每一网络层的m子结构中搜索训练出学习能力更强的相对更可靠的目标子结构,相比于相关技术中人工直接确定模型中各个子模块的方式,搜索出的目标子结构更为准确和可靠。根据每一网络层对应的目标子结构,生成语音识别模型,能保证最终生成的模型的稳定性和可靠性,有效提高语音识别模型的性能,保证语音识别的准确性,并且提高对语音信息的识别速度和响应速度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种语音识别的方法的流程图。

图2是根据一示例性实施例示出的一种语音识别模型生成方法的流程图。

图3是根据一示例性实施例示出的一种超网络的结构示意图。

图4是根据另一示例性实施例示出的一种超网络的结构示意图。

图5a是根据一示例性实施例示出的一种下采样时序卷积网络模块的示意图。

图5b是根据一示例性实施例示出的一种普通时序卷积网络模块的示意图。

图6a是根据一示例性实施例示出的一种压缩激励模块的示意图。

图6b是根据一示例性实施例示出的一种包含压缩激励模块的下采样时序卷积网络模块的示意图。

图6c是根据一示例性实施例示出的一种包含压缩激励模块的普通时序卷积网络模块的示意图。

图7是根据一示例性实施例示出的一种对超网络进行训练的方法的流程图。

图8是根据一示例性实施例示出的一种子网络的示意图。

图9是根据一示例性实施例示出的一种语音识别的装置的框图。

图10是根据一示例性实施例示出的一种生成语音识别模型的生成装置的框图。

图11是根据一示例性实施例示出的一种用于语音识别的装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种语音识别的方法的流程图,如图1所示,该方法可包括s101和s102。

在s101中,当接收到语音信息时,将该语音信息输入到生成的语音识别模型。

在s102中,通过语音识别模型输出识别结果。

语音信息可以是用户说出的声音信号。示例地,以对设备(如智能音箱、手机、平板电脑等)的唤醒为例,用户可以通过说出一小段语音的方式,将设备从休眠状态唤醒至运行状态,设备可以进行语音识别,识别用户说出的语音的目的是否想要唤醒该设备。其中,可在设备中部署生成的语音识别模型,通过该语音识别模型进行识别,以输出语音识别结果。

下面介绍生成语音识别模型的过程。图2是根据一示例性实施例示出的一种语音识别模型生成方法的流程图,如图2所示,该方法可包括s201~s203。

在s201中,对超网络进行训练。

其中,超网络可以是预先构建的,超网络是指包含搜索网络结构空间的网络。该超网络可包括多层网络层,每一网络层可包括m个子结构,m个子结构中的至少一个子结构包括时序卷积网络模块,m为大于或等于2的正整数。

图3是根据一示例性实施例示出的一种超网络的结构示意图。如图3所示,该超网络包括n个网络层,分别为第一网络层、第二网络层、第三网络层、第四网络层至第n网络层,n为大于或等于2的正整数。每一网络层包括m个子结构,分别为子结构1、子结构2、子结构3、子结构4至子结构m。

值得说明的是,该n个网络层仅为超网络的一部分,除了这n个网络层,超网络还可包括头部和尾部(图中未示出)。其中,在第一网络层的上一层还可包括超网络的头部,例如卷积层,在第n网络层的下面还可包括超网络的尾部,例如包括平均池化层(averagepooling)、全连接层(fc,fullyconnected)和归一化指数函数(如softmax函数)。

其中,网络层可以看做是可搜索单元,本公开中可采用神经网络搜索算法(nas,neuralarchitecturesearch),从m个子结构中搜索训练出学习能力更强的相对更可靠的子结构,例如可以采用可微分网络架构搜索算法(darts,differentiablearchitecturesearch)、公平的可微分网络架构搜索算法(fairdarts)、混入噪声的可微分网络架构搜索算法(noisydarts)等。目前,神经网络搜索算法主要应用在视觉领域,搜索空间一般采用专门针对视觉应用的模块,本公开中,考虑到语音信号具有时序性的特点,每一网络层的m个子结构中至少一个子结构可包括时序卷积网络模块(tcn,temporalconvolutionnetwork),使得语音识别模型更加符合语音的时序性特征,以提高最终生成的语音识别模型的性能。

此外,m个子结构中至少一个子结构可以为跳跃连接(skipconnection),即不包括时序卷积网络模块,在跳跃连接的子结构中,本网络层的输入数据不经时序卷积网络模块进行处理。其中,采用跳跃连接的方式可以防止深度神经网络训练过程中的梯度爆炸和梯度消失问题。对于跳跃连接的子结构的数量和包括时序卷积网络模块的子结构的数量,本公开不做具体限制。在一可选实施方式中,m个子结构中,其中一个子结构可以为跳跃连接,m-1个子结构中可包括时序卷积网络模块。

在s202中,根据训练结果,分别从每一网络层的m个子结构中确定与网络层对应的目标子结构。

对预先构建的超网络训练完成之后,可以根据训练结果,确定每一网络层的m个子结构中较优的子结构,并将该子结构确定为与该网络层对应的目标子结构。本公开中,可以通过搜索训练的方式,从m个子结构中搜索出相对更可靠的目标子结构,这种自动搜索的方式确定出的目标子结构更准确、更可靠,相比于相关技术中人工直接确定模型中各个子模块的方式,能有效提高最终生成的模型的稳定性。

在s203中,根据每一网络层对应的目标子结构,生成语音识别模型。

网络层对应的目标子结构,即从该网络层的m个子结构中搜索出的相对更可靠的子结构,根据每一网络层对应的目标子结构,生成语音识别模型,可以保证语音识别模型的稳定性和可靠性,并且可以提高语音识别模型的性能,提高对语音信号的识别速度和响应速度。

通过上述技术方案,当接收到语音信息时,可将该语音信息输入到生成的语音识别模型中,通过该语音识别模型输出识别结果,其中,可通过对超网络进行训练的方式生成语音识别模型。超网络可包括多层网络层,每一网络层可包括m个子结构,考虑到语音信息具有时序性的特点,每一网络层的m个子结构中至少一个子结构可包括时序卷积网络模块,使得生成的语音识别模型更加符合语音的时序性特征。并且,可以根据对超网络的训练结果,从每一网络层的m子结构中搜索训练出学习能力更强的相对更可靠的目标子结构,相比于相关技术中人工直接确定模型中各个子模块的方式,搜索出的目标子结构更为准确和可靠。根据每一网络层对应的目标子结构,生成语音识别模型,能保证最终生成的模型的稳定性和可靠性,有效提高语音识别模型的性能,保证语音识别的准确性,并且提高对语音信息的识别速度和响应速度。

本公开中,多个网络层中可包括普通网络层和下采样网络层,普通网络层的子结构中包括普通时序卷积网络模块,下采样网络层的子结构中包括下采样时序卷积网络模块。

其中,普通网络层不进行下采样处理,其输入和输出大小相同,下采样网络层进行下采样处理。本公开对普通网络层和下采样网络层的数量以及它们的之间的排列不进行限制。图4是根据另一示例性实施例示出的一种超网络的结构示意图,如图4所示,例如第一网络层和第三网络层可以是下采样网络层,第二网络层和第四网络层可以是普通网络层。

以第一网络层和第四网络层为例,第一网络层中可包括子结构11、子结构12、子结构13、子结构14和子结构15,例如子结构11~子结构14可包括时序卷积网络模块,子结构15可以为跳跃连接。由于第一网络层为下采样网络层,因此,子结构11~子结构14包括的时序卷积网络模块为下采样时序卷积网络模块。图5a是根据一示例性实施例示出的一种下采样时序卷积网络模块的示意图,其中,conv表示卷积计算,bn(batchnormalization)表示正则化处理,relu(rectifiedlinearunit)表示非线性整流单元。

第四网络层中可包括子结构41、子结构42、子结构43、子结构44和子结构45,例如子结构41~子结构44可包括时序卷积网络模块,子结构45可以为跳跃连接。由于第四网络层为普通网络层,因此,子结构41~子结构44包括的时序卷积网络模块为普通时序卷积网络模块。图5b是根据一示例性实施例示出的一种普通时序卷积网络模块的示意图。

在一可选实施方式中,每一网络层的多个子结构中各自包括的时序卷积网络模块可以是根据预设的至少一个卷积核大小确定的。其中,每一卷积核大小对应的时序卷积网络模块可包括包含压缩激励模块(se,squeeze-and-excitation)的时序卷积网络模块和不包含压缩激励模块的时序卷积网络模块。

卷积核大小可以预先设置,为正整数,优选可以是奇数,预设的卷积核大小可以为至少一个,例如可以为3和5。其中,卷积核大小为3的时序卷积网络模块可包括包含se模块的时序卷积网络模块和不包含se模块的时序卷积网络模块,同样,卷积核大小为5的时序卷积网络模块可包括包含se模块的时序卷积网络模块和不包含se模块的时序卷积网络模块。

如此,时序卷积网络模块可分为四种:不包含se模块的普通时序卷积网络模块(如图5b所示)、不包含se模块的下采样时序卷积网络模块(如图5a所示)、包含se模块的普通时序卷积网络模块、包含se模块的下采样时序卷积网络模块。

图6a是根据一示例性实施例示出的一种se模块的示意图。其中,globalpooling表示全局池化,fc(fullyconnected)表示全连接层,sigmoid表示归一化激活函数,scale表示scale操作,用于将归一化后的权重加权到每个通道的特征上。图6b为包含se模块的下采样时序卷积网络模块的示意图,图6c为包含se模块的普通时序卷积网络模块的示意图,其中的se模块即为图6a所示的压缩激励模块。值得说明的是,图6b和图6c中se模块的位置仅为示例,例如se模块也可位于第一个relu模块下面,等等其他位置。

如图4所示,对于第一网络层,子结构11包括的可以是卷积核大小为3的不包含se模块的下采样时序卷积网络模块,子结构12中包括的可以是卷积核大小为3的包含se模块的下采样时序卷积网络模块,子结构13中包括的可以是卷积核大小为5的不包含se模块的下采样时序卷积网络模块,子结构14中包括的可以是卷积核大小为5的包含se模块的下采样时序卷积网络模块。对于第四网络层,子结构41包括的可以是卷积核大小为3的不包含se模块的普通时序卷积网络模块,子结构42中的包括的可以是卷积核大小为3的包含se模块的普通时序卷积网络模块,子结构43中包括的可以是卷积核大小为5的不包含se模块的普通时序卷积网络模块,子结构44中包括的可以是卷积核大小为5的包含se模块的普通时序卷积网络模块。

其中,图4中的参数j表示卷积核大小,tc-resnet表示不包含se模块的普通时序卷积网络模块,tc-r-resnet表示不包含se模块的下采样时序卷积网络模块,tc-resnet-se表示包含se模块的普通时序卷积网络模块,tc-r-resnet-se表示包含se模块的下采样时序卷积网络模块。其他网络层中的子结构包括的时序卷积网络模块的确定方式与上述类似。需要说明的是,图4所示的子结构的数量以及卷积核大小仅为示例,便于本领域技术人员更好的理解本公开提供的方法,不构成对本公开实施方式的限制。

通过上述技术方案,有的网络层中可能包含se模块的时序卷积网络模块的学习能力更强,有的网络层中可能用不包含se模块的时序卷积网络模块的学习能力更强,在每一网络层中,设置不同卷积核大小的包含se模块的和不包含se模块的时序卷积网络模块,增大了可搜索的范围。这样,通过对超网络进行搜索训练,可进一步确定出多个子结构中哪一子结构更为稳定和可靠。

下面对超网络的训练过程进行介绍。本公开中,每一网络层可包括m个结构参数,m个结构参数与m个子结构一一对应,时序卷积网络模块可包括网络参数。

结构参数可用于表征对应的子结构的学习能力和该子结构对超网络的贡献程度。如图4所示,子结构11对应的结构参数为a11,子结构12对应的结构参数为a12,子结构13对应的结构参数为a13,子结构14对应的结构参数为a14,子结构15对应的结构参数为a15。子结构41对应的结构参数为a41,子结构42对应的结构参数为a42,子结构43对应的结构参数为a43,子结构44对应结构参数为a44,子结构45对应的结构参数为a45。每一时序卷积网络模块均包括对应的网络参数,例如,子结构11包括的时序卷积网络模块可包括网络参数w11。

图7是根据一示例性实施例示出的一种对超网络进行训练的方法的流程图,如图7所示,该训练方法可包括s701~s704。

在s701中,遍历训练样本,并将当前遍历到的训练样本作为目标训练样本。

训练样本可以是预先设置的语音信号数据、音频数据等,例如可将训练样本分为多组进行遍历,并将当前遍历到的一组训练样本作为目标训练样本。

在s702中,根据目标训练样本,对每一网络层的m个结构参数和时序卷积网络模块包括的网络参数进行交替更新。

在对超网络进行训练时,对于每一网络层来说,本网络层的输入数据可以是上一网络层的输出结果,在获取到输入数据后,本网络层的各个时序卷积网络模块可对该输入数据进行处理。以第四网络层为例,该层的输入数据可以是第三网络层的输出结果,各个时序卷积网络模块可对该输入数据进行处理并得到处理结果。

此外,每一网络层中还可包括归一化函数,该归一化函数可根据实际需要设置。例如,如果采用darts算法,该归一化函数可以为softmax函数,如果采用fairdarts算法,该归一化函数可以为sigmoid函数。

对于包括时序卷积网络模块的子结构来说,该子结构对应的数据可包括时序卷积网络模块对输入数据的处理结果乘以结构参数的归一化函数值。对于跳跃连接的子结构来说,该子结构对应的数据可以为输入数据乘以结构参数的归一化函数值。各个子结构对应的数据求和,即为本网络层的输出结果。

本公开中,对超网络进行训练时,在对结构参数进行更新时,网络参数保持不变,在对网络参数进行更新时,结构参数保持不变。其中,将每一网络层中的m个结构参数均保持不变,根据目标训练样本每一网络层中各个时序卷积网络模块的网络参数进行更新,网络参数更新完之后,再保持各网络参数不变,每一网络层中各个结构参数进行更新,如此对结构参数和网络参数进行交替更新。

在s703中,在全部训练样本遍历完成的情况下,确定超网络是否符合收敛条件。在符合收敛条件的情况下,执行s704;在不符合收敛条件的情况下,重新执行s701和s702。

在全部训练样本遍历完成的情况下,即完成一轮训练,此时可确定超网络是否符合收敛条件。对于收敛条件本公开不进行限定,例如可以确定预先设置的损失函数是否小于设定阈值,在小于的情况下,认为超网络符合收敛条件,在不小于的情况下,认为超网络不符合收敛条件。

在s704中,在超网络符合收敛条件的情况下,停止训练,并获得训练结果。

超网络符合收敛条件,即表征对超网络的训练完成,此时可停止训练并获得训练结果。本公开中,训练结果可包括每一网络层中各个结构参数的取值。

如果超网络不符合收敛条件,则继续对超网络进行训练,即重新执行s701和s702,直至超网络符合收敛条件为止则训练完成。

在上述技术方案中,根据目标训练样本,对每一网络层的m个结构参数和时序卷积网络模块包括的网络参数进行交替更新,以对超网络进行训练。对超网络训练完成之后,可得到训练结果,训练结果例如可包括每一网络层中各个结构参数的取值,该结构参数可表征对应的子结构的学习能力,根据各个结构参数的取值可从多个子结构中确定出目标子结构。如此,通过对超网络进行训练的方式,可准确搜索出多个子结构中学习能力更强的更为可靠的目标子结构。

本公开中,每一网络层中可包括归一化函数,归一化函数已在上文介绍。上述s202可包括:针对每一网络层,根据训练结果,确定网络层的m个结构参数中使得归一化函数最大的目标结构参数,并将目标结构参数对应的子结构,作为目标子结构。

其中,结构参数可表征对应的子结构的学习能力,m个结构参数中使得归一化函数最大的的目标结构参数,表征该目标结构参数对应的子结构在该网络层中学习能力更强,因此可将该子结构作为目标子结构,以基于该目标子结构生成语音识别模型。

示例地,如图4所示,在第一网络层,例如结构参数a11~a15中,结构参数a11使得归一化函数最大,确定为目标结构参数,子结构11可作为第一网络层对应的目标子结构。在第四网络层,例如结构参数a43使得归一化函数最大,则可将子结构43作为第四网络层对应的目标子结构。

本公开中,上述s203可包括:将每一网络层对应的目标子结构依次连接,得到子网络;根据训练样本对子网络进行训练,得到语音识别模型。

图8是根据一示例性实施例示出的一种子网络的示意图。如图8所示,将各个网络层对应的目标子结构依次连接,即得到子网络,其中图8仅示出了第一网络层和第四网络层对应的目标子结构,即子结构11和子结构43。值得说明的是,每一网络层对应的目标子结构仅为子网络的一部分,子网络还可包括头部和尾部,例如可将超网络的头部作为子网络的头部,超网络的尾部作为子网络的尾部。

在得到子网络之后,可根据训练样本对子网络进行训练,以得到语音识别模型。其中,该训练样本与对超网络进行训练的训练样本可以相同,也可以不同。判断子网络是否训练完成的方式可以为判断子网络是否收敛,例如通过损失函数进行判断,如果收敛则子网络训练完成,对子网络训练完成之后得到的模型,即为要生成的语音识别模型。

如此,构成子网络的目标子结构是从多个子结构中搜索出的学习能力更强的子结构,相比于相关技术中直接通过人工选择子模块的方式,构成子网络的各个目标子结构更为可靠,从而对子网络进行训练得到的语音识别模型的性能更佳,通过该语音识别模型进行语音识别和语音唤醒,可以有效避免误识别,提高识别准确度并提高语音唤醒的响应速度。

本公开中,上述s102中通过所述语音识别模型输出识别结果,可包括:

对语音信息进行预处理,得到该语音信息对应的频谱信息;

通过语音识别模型对频谱信息进行处理,以得到语音信息对应的识别结果。

其中,预处理例如包括频谱处理、维度转换等处理,频谱信息例如可以为频谱图信号(spectrogram)、梅尔频谱(log-melspectrogram)、梅尔频率倒谱系数(mfcc,melfrequencycepstrumcoefficient)。通过语音识别模型对频谱信息进行处理,可得到语音信号对应的语音识别结果,该语音识别结果例如可包括是否需要唤醒智能设备等结果。

通过上述技术方案,由于生成的语音识别模型的性能更佳,稳定性和可靠性更高,因此通过该语音识别模型对待识别的语音信号进行识别,可以提高对语音信号的识别速度和响应速度,保证识别结果的准确性。

基于同一发明构思,本公开还提供一种语音识别的装置,图9是根据一示例性实施例示出的一种语音识别的装置的框图,如图9所示,该装置900可包括:

输入模块901,被配置成用于当接收到语音信息时,将所述语音信息输入到生成的语音识别模型;

识别模块902,被配置成用于通过所述语音识别模型输出识别结果;

其中,图10是根据一示例性实施例示出的一种生成语音识别模型的生成装置的框图,如图10所示,生成所述语音识别模型的生成装置1000可包括:

超网络训练模块1001,被配置成用于对超网络进行训练,其中,所述超网络包括多层网络层,每一所述网络层包括m个子结构,所述m个子结构中的至少一个所述子结构包括时序卷积网络模块,m为大于或等于2的正整数;

目标子结构确定模块1002,被配置成用于根据训练结果,分别从每一所述网络层的m个子结构中确定与所述网络层对应的目标子结构;

模型生成模块1003,被配置成用于根据每一所述网络层对应的所述目标子结构,生成所述语音识别模型。

采用上述装置,当接收到语音信息时,可将该语音信息输入到生成的语音识别模型中,通过该语音识别模型输出识别结果,其中,可通过对超网络进行训练的方式生成语音识别模型。超网络可包括多层网络层,每一网络层可包括m个子结构,考虑到语音信息具有时序性的特点,每一网络层的m个子结构中至少一个子结构可包括时序卷积网络模块,使得生成的语音识别模型更加符合语音的时序性特征。并且,可以根据对超网络的训练结果,从每一网络层的m子结构中搜索训练出学习能力更强的相对更可靠的目标子结构,相比于相关技术中人工直接确定模型中各个子模块的方式,搜索出的目标子结构更为准确和可靠。根据每一网络层对应的目标子结构,生成语音识别模型,能保证最终生成的模型的稳定性和可靠性,有效提高语音识别模型的性能,保证语音识别的准确性,并且提高对语音信息的识别速度和响应速度。

可选地,每一所述网络层包括m个结构参数,所述m个结构参数与所述m个子结构一一对应,所述时序卷积网络模块包括网络参数;所述超网络训练模块1001,可包括:遍历子模块,被配置成用于遍历训练样本,并将当前遍历到的所述训练样本作为目标训练样本;更新子模块,被配置成用于根据所述目标训练样本,对每一所述网络层的所述m个结构参数和所述时序卷积网络模块包括的所述网络参数进行交替更新,其中,在对所述结构参数进行更新时,所述网络参数保持不变,在对所述网络参数进行更新时,所述结构参数保持不变;确定子模块,被配置成用于在全部所述训练样本遍历完成的情况下,确定所述超网络是否符合收敛条件;获得子模块,被配置成用于在所述超网络符合所述收敛条件的情况下,停止训练,并获得所述训练结果;触发子模块,被配置成用于在所述超网络不符合所述收敛条件的情况下,触发所述遍历子模块遍历训练样本,并将当前遍历到的所述训练样本作为目标训练样本以及所述更新子模块根据所述目标训练样本,对每一所述网络层的所述m个结构参数和所述时序卷积网络模块包括的所述网络参数进行交替更新。

可选地,每一所述网络层中包括归一化函数;所述目标子结构确定模块1002被配置成用于:针对每一所述网络层,根据所述训练结果,确定所述网络层的m个结构参数中使得所述归一化函数最大的目标结构参数,并将所述目标结构参数对应的子结构,作为所述目标子结构。

可选地,所述模型生成模块1003,可包括:连接子模块,被配置成用于将每一所述网络层对应的所述目标子结构依次连接,得到子网络;训练子模块,被配置成用于根据训练样本对所述子网络进行训练,得到所述语音识别模型。

可选地,所述识别模块902包括:预处理子模块,被配置成用于对所述语音信息进行预处理,得到所述语音信息对应的频谱信息;频谱信息处理子模块,通过所述语音识别模型对所述频谱信息进行处理,以得到所述语音信息对应的识别结果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的语音识别的方法的步骤。

图11是根据一示例性实施例示出的一种用于语音识别的装置1100的框图。例如,装置1100可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图11,装置1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电力组件1106,多媒体组件1108,音频组件1110,输入/输出(i/o)的接口1112,传感器组件1114,以及通信组件1116。

处理组件1102通常控制装置1100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的语音识别方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。

存储器1104被配置为存储各种类型的数据以支持在装置1100的操作。这些数据的示例包括用于在装置1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电力组件1106为装置1100的各种组件提供电力。电力组件1106可以包括电源管理系统,一个或多个电源,及其他与为装置1100生成、管理和分配电力相关联的组件。

多媒体组件1108包括在所述装置1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当装置1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(mic),当装置1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。

i/o接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1114包括一个或多个传感器,用于为装置1100提供各个方面的状态评估。例如,传感器组件1114可以检测到装置1100的打开/关闭状态,组件的相对定位,例如所述组件为装置1100的显示器和小键盘,传感器组件1114还可以检测装置1100或装置1100一个组件的位置改变,用户与装置1100接触的存在或不存在,装置1100方位或加速/减速和装置1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1116被配置为便于装置1100和其他设备之间有线或无线方式的通信。装置1100可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置1100可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的语音识别方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1104,上述指令可由装置1100的处理器1120执行以完成上述的语音识别方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的语音识别方法的代码部分。

本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1