HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

基于LSTM-CTC尾部卷积的语音识别模型的构建方法及装置、语音识别方法与流程

2021-01-28 18:01:49|431|起点商标网
基于LSTM-CTC尾部卷积的语音识别模型的构建方法及装置、语音识别方法与流程

本发明涉及语音识别领域,具体涉及基于lstm-ctc尾部卷积的语音识别模型的构建方法及装置、语音识别方法。



背景技术:

语音识别技术是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。近年来,随着人工智能能技术的大热,语音识别技术也被迅速发展,语音识别模型经过数次更新和优化,比较典型的模型有隐马尔科夫模型(hiddenmarkovmodel,hmm)、深度神经网络(deepneuralnetworks,dnn)、循环神经网络(recurrentneuralnetwork,rnn)、长短时记忆网络(longshorttermmemory,lstm)。

其中,以ctc为损失函数的长短时记忆网络(longshorttermmemoryconnectionisttemporalclassification,lstm-ctc)由于其易于训练,解码高效,性能良好的特性而被广泛应用于语音识别。

本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:

虽然lstm-ctc拥有很多的优点,但是由于lstm时序性特点,使得lstm在网络训练时因为难以并行化而非常耗时,也在一定程度上提高了机器的硬件需求。

由此可知,现有技术的方法中模型训练时间长的技术问题。



技术实现要素:

本发明提出基于lstm-ctc尾部卷积的语音识别模型的构建方法及装置、语音识别方法,用于解决或者至少部分解决现有技术的方法中模型训练时间长的技术问题。

为了解决上述技术问题,本发明第一方面提供了基于lstm-ctc尾部卷积的语音识别模型的构建方法,包括:

s1:获取训练数据;

s2:构建神经网络模型,其中,神经网络模型包括两个lstm层、全卷积层以及softmax层,其中,lstm层用以提取出与输入特征序列长度相同的隐藏状态序列,全卷积层用以对输入的隐藏状态序列进行降秩、分类,softmax层用以对全卷积层的输出进行映射,得到类别预测;

s3:将获取的训练数据输入神经网络模型,并采用ctc损失函数训练神经网络模型,根据ctc损失函数判断模型是否最优,当最优时停止训练,得到训练好的模型,作为语音识别模型。

在一种实施方式中,s1具体包括:

将从语音数据中提取的fbank特征作为训练数据。

在一种实施方式中,s3具体包括:

s3.1:计算前向传播变量α(t,u),α(t,u)为所有输出长度为t,经过映射之后为序列l的路径的概率之和,如下:

其中u表示序列长度,表示t时刻输出为空格字符的概率,l’u表示第t时间步输出的标签;

s3.2:计算反向传播向量β(t,u),β(t,u)为从t+1时刻开始在前向变量α(t,u)上添加路径π',使得最后通过映射以后为序列l的概率之和,如下

其中u表示序列长度,表示t+1时刻输出为空格字符的概率,l’u表示第t时间步输出的标签;

s3.3:根据前向传播变量和反向传播变量获得ctc损失函数l(x,z),如下:

s3.4:采用随机梯度下降算法对模型进行训练,计算损失函数的梯度,其中,损失函数关于网络输出为:

其中b(z,k)为标签k出现在序列z'的所有路径的集合,表示t时刻输出的字符,p(z|x)表示对于标签z其关于输入x的后验概率,x表示训练数据,z表示语音对应的文本信息,即标签;

s3.5:根据损失函数的输出判断模型是否达到最优,当达到最优时停止训练,得到训练好的模型。

基于同样的发明构思,本发明第二方面提供了基于lstm-ctc尾部卷积的语音识别模型的构建装置,包括:

训练数据获取模块,用于获取训练数据;

模型构建模块,用于构建神经网络模型,其中,神经网络模型包括两个lstm层、全卷积层以及softmax层,其中,lstm层用以提取出与输入特征序列长度相同的隐藏状态序列,全卷积层用以对输入的隐藏状态序列进行降秩、分类,softmax层用以对全卷积层的输出进行映射,得到类别预测;

模型训练模块,用于将获取的训练数据输入神经网络模型,并采用ctc损失函数训练神经网络模型,根据ctc损失函数判断模型是否最优,当最优时停止训练,得到训练好的模型,作为语音识别模型。

基于同样的发明构思,本发明第三方面提供了一种语音识别方法,包括:

将待识别的语音数据进行特征提取后输入第一方面所构建的语音识别模型中,得到语音识别结果。

在一种实施方式中,语音识别模型的识别过程包括:

s1:通过lstm层提取出与输入特征序列长度相同的隐藏状态序列;

s2:通过全卷积层用以对输入的隐藏状态序列进行降秩、分类;

s3:通过softmax层对全卷积层的输出进行映射,得到类别预测。

在一种实施方式中,lstm层包括时刻的输入词xt,细胞状态ct,临时细胞状态隐藏状态ht,遗忘门ft,输入门it,输出门ot,通过lstm层提取出与输入特征序列长度相同的隐藏状态序列,包括:

s1.1:计算遗忘门,选择要遗忘的信息:ft=σ(wf·[ht-1,xt]+bf)

其中,输入为前一时刻隐藏状态ht-1和当前时刻的输入词xt,输出为ft,wf、bf分别为遗忘门的权值矩阵和偏置;

s1.2:计算输入门,选择要记忆的信息:

it=σ(wi·[ht-1,xt]+bi)

其中,输入为前一时刻隐藏状态ht-1和当前时刻的输入词xt,输出为记忆门的值it和临时细胞状态wi、bi分别为输入门的权值矩阵和偏置,wc、bc分别为输出门的权值矩阵和偏置;

s1.3:计算当前时刻细胞状态:

其中输入为记忆门的值it、遗忘门的值ft、临时细胞状态和上一刻细胞状态ct-1,输出为当前时刻细胞状态ct;

s1.4:计算输出门和当前时刻隐藏状态

ot=σ(wo[ht-1,xt]+bo)

ht=ot*tanh(ct)

其中,输入为前一时刻的隐藏状态ht-1、当前时刻的输入词xt和当前时刻细胞状态ct,输出为输出门的值ot和隐藏状态ht;

s1.5:最后计算得到与输入的特征序列长度相同的隐藏状态序列{h0,h1,...,hn-1}。

在一种实施方式中,s3具体包括:将全卷积层输出的特征表征为不同类别之间的相对概率,得到最终的类别预测,

其中,i表示第i个类别,n表示类别总数,vi表示第i个类别的概率值,si表示经softmax处理之后第i个类别的概率值。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本发明提供的一种基于lstm-ctc尾部卷积的语音识别模型的构建方法,构建的神经网络模型包括两个lstm层、全卷积层以及softmax层,采用全卷积层替换现有传统方案中lstm层和softmax层之间的全连接层,与现有的全连接层相比,卷积层中由卷积核来进行计算,卷积核的计算是并行的,因此可以减少模型的训练时间。

基于以上构建的语音识别模型,本发明还提供了一种基于该模型的语音识别方法,从而可以提高语音识别效率。

附图说明

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

图1为本发明提供的一种基于lstm-ctc尾部卷积的语音识别模型的构建方法的实现流程示意图;

图2为本发明实施例提供的lstm-ctc的模型的流程图;

图3是本发明基于lstm-ctc尾部卷积的语音识别模型的构建装置的结构框图;

图4为利用本发明的语音识别模型进行语音识别的工作流程图。

具体实施方式

本申请发明人通过大量的研究与实践发现:基于先验知识,长短时记忆网络在backprop(反向传播)时三个门(gate)以及memorycell(记忆细胞)都依赖于上一个时间点的预测,因此是无法并行的。这就使得lstm在训练时非常耗时,且由于lstm的时序性特征,并行化lstm网络十分困难。基于此,本发明旨在通过修改lstm-ctc的网络结构,减少语音识别模型的训练时间。

为了实现上述目的,本发明的主要构思如下:

本发明提出了基于lstm-ctc(longshorttermmemoryconnectionisttemporalclassification)尾部卷积的语音识别模型的构建方法,通过用一个全卷积层来替换bilstm层与softmax层之间的全连接层,以达到网络训练加速的效果。其中,lstm用于训练语音识别模型,ctc作为损失函数,卷积层用于并行化原全连接层需同时进行的计算。基于卷积层的lstm-ctc网络利用卷积核并行计算的特点,使得原本的全连接层的计算不需要同时输入到内存中,从而加速网络的优化。与现有技术相比,本发明加快了语音模型的训练,减少了开发者的时间成本,在一定程度上降低了硬件的需求标准。

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

实施例一

本实施例提供了一种基于lstm-ctc尾部卷积的语音识别模型的构建方法,请参见图1,该方法包括:

s1:获取训练数据;

s2:构建神经网络模型,其中,神经网络模型包括两个lstm层、全卷积层以及softmax层,其中,lstm层用以提取出与输入特征序列长度相同的隐藏状态序列,全卷积层用以对输入的隐藏状态序列进行降秩、分类,softmax层用以对全卷积层的输出进行映射,得到类别预测;

s3:将获取的训练数据输入神经网络模型,并采用ctc损失函数训练神经网络模型,根据ctc损失函数判断模型是否最优,当最优时停止训练,得到训练好的模型,作为语音识别模型。

具体来说,s1中的训练数据可以通过语音识别获取。

s2中是构建神经网络模型框架,本发明创新性地将lstm层与softmax层之间的全连接层替换为卷积层,通过卷积层的并行计算,从而提高模型训练的效率。

s3中ctc(connectionisttemporalclassification)可以直接使用序列进行训练。ctc引入了一个新的损失函数,可以直接使用未切分的序列记性训练。

在一种实施方式中,s1具体包括:

将从语音数据中提取的fbank特征作为训练数据。

具体来说,可以通过通过音频输入设备获取语音数据,然后通过音频前端处理获取音频的fbank特征。

在一种实施方式中,s3具体包括:

s3.1:计算前向传播变量α(t,u),α(t,u)为所有输出长度为t,经过映射之后为序列l的路径的概率之和,如下:

其中u表示序列长度,表示t时刻输出为空格字符的概率,l’u表示第t时间步输出的标签;

s3.2:计算反向传播向量β(t,u),β(t,u)为从t+1时刻开始在前向变量α(t,u)上添加路径π',使得最后通过映射以后为序列l的概率之和,如下

其中u表示序列长度,表示t+1时刻输出为空格字符的概率,l’u表示第t时间步输出的标签;

s3.3:根据前向传播变量和反向传播变量获得ctc损失函数l(x,z),如下:

s3.4:采用随机梯度下降算法对模型进行训练,计算损失函数的梯度,其中,损失函数关于网络输出为:

其中b(z,k)为标签k出现在序列z'的所有路径的集合,表示t时刻输出的字符,p(z|x)表示对于标签z其关于输入x的后验概率,x表示训练数据,z表示语音对应的文本信息,即标签;

s3.5:根据损失函数的输出判断模型是否达到最优,当达到最优时停止训练,得到训练好的模型。

具体来说,以ctc作为损失函数,采用随机梯度下降算法(stochasticgradientdescent,sgd)来训练网络,通过损失函数来衡量模型是否“最优”,如果“最优”,则停止训练,若不是,则需配合随机梯度下降算法来指导网络的下一步训练和优化。

请参见图2,为语音识别的模型的流程图,首先输入训练数据,然后构建网络结果:两层lstm(lstm1和lstm2)、全卷积层和softmax层,在确定模型的结构后,采用ctc损失函数对模型进行训练,最后得到语音识别模型。

与现有技术相比,本发明具有以下优点和有益效果:节约网络训练的时间成本,一定程度上降低网络训练的硬件需求。

实施例二

基于同样的发明构思,本实施例提供了一种基于lstm-ctc尾部卷积的语音识别模型的构建装置,请参见图3,该装置包括:

训练数据获取模块201,用于获取训练数据;

模型构建模块202,用于构建神经网络模型,其中,神经网络模型包括两个lstm层、全卷积层以及softmax层,其中,lstm层用以提取出与输入特征序列长度相同的隐藏状态序列,全卷积层用以对输入的隐藏状态序列降秩、分类,softmax层用以对全卷积层的输出进行映射,得到类别预测;

模型训练模块203,用于将获取的训练数据输入神经网络模型,并采用ctc损失函数训练神经网络模型,根据ctc损失函数判断模型是否最优,当最优时停止训练,得到训练好的模型,作为语音识别模型。

由于本发明实施例二所介绍的装置,为实施本发明实施例一中基于lstm-ctc尾部卷积的语音识别模型的构建方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。

实施例三

基于同样的发明构思,本实施例提供了一种语音识别方法,包括:

将待识别的语音数据进行特征提取后输入实施例一构建的语音识别模型中,得到语音识别结果。

在一种实施方式中,语音识别模型的识别过程包括:

s1:通过lstm层提取出与输入特征序列长度相同的隐藏状态序列;

s2:通过全卷积层用以对输入的隐藏状态序列进行降秩、分类;

s3:通过softmax层对全卷积层的输出进行映射,得到类别预测。

在一种实施方式中,lstm层包括时刻的输入词xt,细胞状态ct,临时细胞状态隐藏状态ht,遗忘门ft,输入门it,输出门ot,通过lstm层提取出与输入特征序列长度相同的隐藏状态序列,包括:

s1.1:计算遗忘门,选择要遗忘的信息:ft=σ(wf·[ht-1,xt]+bf)

其中,输入为前一时刻隐藏状态ht-1和当前时刻的输入词xt,输出为ft,wf、bf分别为遗忘门的权值矩阵和偏置;

s1.2:计算输入门,选择要记忆的信息:

it=σ(wi·[ht-1,xt]+bi)

其中,输入为前一时刻隐藏状态ht-1和当前时刻的输入词xt,输出为记忆门的值it和临时细胞状态wi、bi分别为输入门的权值矩阵和偏置,wc、bc分别为输出门的权值矩阵和偏置;

s1.3:计算当前时刻细胞状态:

其中输入为记忆门的值it、遗忘门的值ft、临时细胞状态和上一刻细胞状态ct-1,输出为当前时刻细胞状态ct;

s1.4:计算输出门和当前时刻隐藏状态

ot=σ(wo[ht-1,xt]+bo)

ht=ot*tanh(ct)

其中,输入为前一时刻的隐藏状态ht-1、当前时刻的输入词xt和当前时刻细胞状态ct,输出为输出门的值ot和隐藏状态ht;

s1.5:最后计算得到与输入的特征序列长度相同的隐藏状态序列{h0,h1,...,hn-1}。

具体来说,s1.1~s1.5详细介绍了ltsm层的实现过程,两层lstm的作用是相同的,采用多层lstm加深网络深度,可以加强网络模型的表达能力,但是因为梯度消失的问题,所以选择用两层lstm来训练和预测。

在一种实施方式中,s3具体包括:将全卷积层输出的特征表征为不同类别之间的相对概率,得到最终的类别预测,

其中,i表示第i个类别,n表示类别总数,vi表示第i个类别的概率值,si表示经softmax处理之后第i个类别的概率值。

请参见图4,为利用语音识别模型进行语音识别的流程图,训练语音中提取的fbank特征用于模型的训练,得到的解码模型即最终的语音识别模型,将待识别的语音或者测试语音输入解码模型得到最终的识别结果,即识别文本。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips