基于快速跳跃解码的语音转写识别训练解码方法及系统

文档序号:88033 发布日期:2021-10-08 浏览:45次 >En<

阅读说明:本技术 基于快速跳跃解码的语音转写识别训练解码方法及系统 (Speech transcription recognition training decoding method and system based on rapid skip decoding ) 是由 温正棋 田正坤 于 2021-06-23 设计创作,主要内容包括:本发明公开了基于快速跳跃解码的语音转写识别训练解码方法及系统,包括声学特征提取模块,提取声学特征序列;声学编码器,将声学特征序列转变为声学编码状态序列;解码器,基于声学编码状态序列,在预测概率分布,训练阶段计算损失;在解码阶段预测当前位置,将非空格标记为触发解码位置;语言预测器,用于建模文本标记之间的时序依赖关系;联合网络模块,通过声学编码状态序列和文本编码状态序列组合,在训练阶段预测得到概率分布;在解码阶段基于概率分布,使用搜索算法对解码路径进行更新;联合损失计算模块,训练阶段,根据解码器得到的概率分布,以及联合网络模块预测得到的概率分布,计算联合损失,根据联合损失计算梯度,进行反向传播。(The invention discloses a speech transcription recognition training decoding method and a system based on rapid skip decoding, which comprises an acoustic feature extraction module, a speech recognition training decoding module and a speech recognition training decoding module, wherein the acoustic feature extraction module is used for extracting an acoustic feature sequence; the acoustic encoder converts the acoustic characteristic sequence into an acoustic encoding state sequence; a decoder for calculating losses in a prediction probability distribution, training phase based on the acoustic coding state sequence; predicting the current position in a decoding stage, and marking a non-blank space as a trigger decoding position; a language predictor for modeling timing dependencies between text labels; the joint network module is used for predicting probability distribution in a training stage through the combination of the acoustic coding state sequence and the text coding state sequence; updating a decoding path by using a search algorithm based on probability distribution in a decoding stage; and the joint loss calculation module calculates joint loss according to the probability distribution obtained by the decoder and the probability distribution obtained by the joint network module in a training stage, calculates gradient according to the joint loss and carries out back propagation.)

基于快速跳跃解码的语音转写识别训练解码方法及系统

技术领域

本发明涉及电子信号处理

技术领域

,尤其是涉及基于快速跳跃解码的语音转写识别方法及系统。

背景技术

语音识别作为人机交互的入口,是人工智能领域中一个重要的研究方向。端到端语音识别丢弃了混合语音识别模型依赖的发音词典、语言模型和解码网络,实现了音频特征序列到文字序列的直接转换。其中语音转写模型为代表的模型在流式语音识别场景下取得了巨大的成功,尤其是循环神经网络语音转写模型(RNN-Transducer)和基于Transformer的语音转写模型(Transformer-Transducer)为代表。语音转写模型采用逐帧解码的方式,沿着声学编码状态序列,从左到右开始解码。解码过程中将声学编码状态向量和语言预测器产生的文本编码状态向量一起输入到联合网络模块中,最终解码出该帧是空格标记还是文本标记。经过统计,对于普通的中文语音识别场景,解码到的空格标记占据了最终解码结果的近90%的位置,而空格标记并不会出现在最终的识别结果中。分析得到,每次解码出空格标记的过程都需要经过语言预测网络和联合网络模块的前向计算,这一特性浪费了大量的计算时间,进而导致语音转写模型的解码计算量大,速度低下。

发明内容

为解决现有技术的不足,实现加速语音转写模型的解码速度的目的,本发明采用如下的技术方案:

基于快速跳跃解码的语音转写识别训练方法,包括如下步骤:

S11,获取语音训练数据和对应的文本标注训练数据,并提取一系列语音训练数据的特征,构成声学特征序列;

S12,将声学特征序列进行声学编码,输出声学编码状态序列,包括一系列的声学编码状态向量;

S13,将声学编码状态序列进行CTC解码,预测得到CTC概率分布矩阵,并计算CTC损失LCTC

S14,将对应的文本标注训练数据进行语言预测,并计算得到文本编码状态序列,包括一系列的文本编码状态向量;

S15,将声学编码状态序列和文本编码状态序列组合,并输入联合网络,预测得到Transducer概率分布矩阵;

S16,根据解码预测得到的CTC概率分布矩阵,以及联合网络预测得到的Transducer概率分布矩阵,计算对齐Transducer损失LAL-Transducer,通过在原始Transducer损失函数中添加正则项,迫使联合网络预测到空格的位置与CTC解码预测的空格标记的位置对齐;

S17,将CTC损失LCTC和对齐Transducer损失LAL-Transducer相加得到联合损失LJoint=(1-λ)LCTC+λLAL-Transducer,λ表示对齐权重,根据两者的联合损失LJoint计算梯度,进行反向传播,其中λ的典型值为0.5;

S18,循环执行S12至S17,直至达到预设的训练结束条件,完成训练。

进一步地,所述S16中的对齐Transducer损失,包括如下步骤:

S161,根据CTC概率分布矩阵,计算预测空格的概率分布,在t时刻预测得到空格标记的概率:

其中,表示CTC解码过程的最后映射层在第t时刻,对应词表V中第j个单元的值,表示最后映射层在第t时刻,对应词表中空格标记位置的值,预测得到非空格标记的概率表示为

S162,构建Transducer概率图,用于对齐Transducer损失的计算,针对长度为T的声学编码状态向量和长度为U的文本编码状态向量,其概率图大小为长为T,宽为U+1的矩形,+1表示添加了一个额外的空格标记,概率图中只存在横向转移和纵向转移,横向转移表示在任意节点(t,u)预测得到一个空格标记,纵向转移表示在任意节点(t,u)预测得到一个非空格标记,图中任何一条从左下角开始到右上角结束的转移路径都是模型一条可行路径;

S163,对齐Transducer损失的函数:

其中,γ1和γ2分别是非空格对齐权重和空格对齐权重,P(At,u|x)表示Transducer概率图中经过节点(t,u)的所有可行路径的概率和;表示Transducer概率图中经过节点(t,u),并以此节点位置预测标记为非空格标记的所有可行路径的概率和;表示Transducer概率图中经过节点(t,u),并以此节点位置预测标记为空格标记的所有可行路径的概率和。

进一步地,所述对齐损失的函数计算中,各子项的计算过程如下:

P(At,u|x)=α(t,u)β(t,u)

其中,y(t,u)和分别表示在节点(t,u)位置预测为非空格标记和空格标记的概率;α(t,u)是前向变量,表示概率图中所有从起始点出发到达节点(t,u)的路径的概率和;β(t,u)是后向变量,表示所有从节点(t,u)出发,到达概率图中右上角结束标记停止的路径的概率和。为了高效的计算对齐Transducer损失,其在实际计算过程中应用了基于动态规划的前后向算法。

进一步地,所述S15中的联合网络,将声学编码状态序列和文本编码状态序列的特征维度拼接在一起的组合特征作为输入,输出为词表的大小。

进一步地,所述S15中的概率分布矩阵,是四维的张量的Transducer概率矩阵,第一维度表示批的大小B,第二维度表示声学编码状态向量的长度T,第三个维度为U+1,表示文本编码状态向量的长度U再加上一个空格标记,第四维度表示词表的大小V。

进一步地,所述S11中语音训练数据的特征提取,通过对时域下的语音波形信号加窗分帧后,进行离散傅里叶变换,提取特定频率分量的系数组成特征向量,一系列的特征向量构成语音特征序列,所述系数包括梅尔频率倒谱系数、梅尔滤波器组系数。

进一步地,所述S12中的声学编码,使用带有卷积前端模块的Transformer模型构建,包括卷积前端模块和Transformer编码层,卷积前端模块包括一组卷积层和线性映射层,卷积层将输入的声学特征序列计算和时序降采样后,将不同卷积层通道的声学特征进行拼接,使卷积层通道维度和声学特征维度整合到同一纬度,通过线性映射层进行线性变换,使卷积前端模块的输出匹配Transformer编码层的输入维度,即编码器的维度。

基于快速跳跃解码的语音转写识别解码方法,完成训练后,对语音数据进行解码,包括如下步骤:

S21,获取语音数据并提交处理器;

S22,对语音数据提取特征,得到声学特征序列;

S23,将声学特征序列进行声学编码,计算得到声学编码状态序列;

S24,将声学编码状态序列进行CTC解码,计算得到CTC概率分布矩阵,并计算在每一帧预测得到空格的概率

S25,如果预测得到空格的概率大于等于空格触发阈值则标记为非触发解码位置,并丢弃该声学编码状态向量,否则标记为触发解码位置,并将其声学编码状态向量按时间顺序拼接,构成声学触发解码状态序列,从声学触发解码状态序列,按时间顺序逐帧选择声学编码状态向量;训练过程中,为了追求快速计算,都是以序列的形式进行的,但是在解码过程中,当前模型针对语音识别任务必须进行逐帧(声学特征向量)的解码。因此都是按照时间顺序,一个声学向量接着一个向量的进行处理;

S26,将先前的语言预测器的隐藏层向量和上一时刻预测得到的触发解码位置标记,即非空格文本标记(如果先前没有预测出任何非空格文本标记,则输入<BLK>)进行语言预测,预测得到文本编码状态向量,并产生新的隐藏层向量;

S27,将文本编码状态向量与触发解码位置的声学编码状态向量组合,并输入联合网络,预测得到Transducer概率分布矩阵;

S28,基于Transducer概率分布矩阵,计算出当前位置预测得到的文本标记(可能是空格标记或者非空格标记),并使用BeamSearch搜索算法对可能的解码路径进行更新;

S29,重复S25至S28步骤,直至达到BeamSearch搜索的停止条件为止,并输出概率最大的解码路径作为最终解码结果。

进一步地,所述S25中划定固定长度的窗口,例如触发位置的前后各一帧,将窗口内的非触发帧也标记为触发帧。该方法用来避免关键帧的丢失进而导致模型的解码准确率下降。

基于快速跳跃解码的语音转写识别系统,包括:依次相互连的声学特征提取模块、声学编码器、CTC解码器、语言预测器、联合网络模块和联合损失计算模块;

所述声学特征提取模块,训练阶段,用于提取一系列语音训练数据的特征,构成声学特征序列;解码阶段,用于提取一系列语音数据的特征,构成声学特征序列;

所述声学编码器,用于输入声学特征序列转变为声学编码状态序列;

所述CTC解码器,基于声学编码状态序列,预测CTC概率分布,训练阶段,计算CTC损失;解码阶段,基于每个待解码的声学编码状态向量,预测当前位置是否是空格标记,如果是,则直接跳过,否则,标记为触发解码位置;

所述语言预测器,用于建模文本标记之间的时序依赖关系,训练阶段,将对应的文本标注训练数据进行语言预测,并计算得到文本编码状态序列;解码阶段,语言预测器进行逐步的解码,解码的每步都采用先前预测得到的非空格标记和隐藏层向量作为输入,计算得到文本编码状态向量,并更新隐藏层向量;

所述联合网络模块,将声学编码状态序列和文本编码状态序列组合,并输入联合网络模块,训练阶段,预测得到Transducer概率分布;解码阶段,基于Transducer概率分布,使用BeamSearch搜索算法对可能的解码路径进行更新;

所述联合损失计算模块,训练阶段,根据CTC解码器得到的CTC概率分布,以及联合网络模块预测得到的Transducer概率分布矩阵,计算对齐Transducer损失,使联合网络模块预测到空格的位置与CTC解码器预测的空格标记的位置对齐,将CTC解码器计算的CTC损失和对齐Transducer损失相加得到联合损失,根据联合损失计算梯度,进行反向传播。

所述CTC解码器,包括一层线性映射层,其输入为声学编码状态向量的维度,输出为词表的大小。

所述语言预测器,包括词嵌入表示模块,以及循环神经网络,所述循环神经网络包括多层单向循环神经网络或循环神经网络的变体结构(如门控循环神经网络和长短时记忆网络)。

所述语言预测器是基于Transformer的文本编码器。

所述联合网络模块,包括使用Tanh激活函数进行连接的两层线性映射层堆叠而成。

本发明的优势和有益效果在于:

本发明将CTC解码器引入到原始的语音转写模型中,利用对齐Transducer损失函数,将CTC解码器预测的空格标记以及文本标记的位置与联合网络模块预测的空格标记以及文本标记的位置进行了对齐。在解码过程中,系统可通过简单的CTC解码器,提前预测得到待解码帧是否是空格标记,而不需要经过复杂的语言预测器和联合网络的前向计算,如果是空格标记则可以跳过该帧。如果该帧标记为非空格标记或者处于触发窗口中,则在该帧进行解码。这一操作使得系统能够避免冗余的计算,获得至少3倍的解码速度提升,并且几乎没有性能损失。

附图说明

图1是本发明的整体结构以及训练过程示意图。

图2是本发明中对齐损失计算的结构示意图。

图3是本发明模型解码过程的结构示意图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

基于快速跳跃解码的语音转写识别模型及训练方法,如图1所示,包括以下步骤:

步骤1,获取语音训练数据和对应的文本标注训练数据,并提取一系列语音训练数据的特征,构成声学特征序列;

语音识别的目标是将连续语音信号转化为文字序列,在识别过程中,通过对时域下的波形信号加窗分帧后进行离散傅里叶变换,提取特定频率分量的系数组成特征向量,一系列的特征向量构成语音特征序列,语音特征为梅尔频率倒谱系数(MFCC)或梅尔滤波器组系数(FBANK)。典型地采用80维的FBANK特征。

步骤2,将声学特征序列输入声学编码器中,输出声学编码状态序列;

典型地采用Transformer结构作为声学编码器,声学编码器包含一个卷积前端模块和12层Transformer编码层。其中卷积前端模块包含有两个层卷积和一个线性映射层,卷积核的大小均为3×3(两个堆叠的3×3卷积),第一层卷积的通道数与输入特征维度匹配,输出通道数等于模型维度,第二次卷积的输入通道数与输出通道数均等于模型维度,两层卷积的步长均为2,因此每层卷积降采样2倍,两层卷积近似将输入特征序列降采样了4倍,然后将通道维度和特征维度整合到同一纬度,然后通过线性变换以使得模块输出匹配编码器的输入维度。在其他实施例中,也可以以使用多层单向或者双向循环神经网络和多层卷积编码器以及以上描述的模型结构的组合。

步骤3,将声学编码状态序列输入到CTC解码模块中,预测得到CTC概率分布矩阵,并进一步计算CTC损失函数LCTC

在本实施例中,所述CTC解码器模块仅包含一层线性映射,其输入等于声学编码状态向量的维度,输出等于词表的大小。

步骤4,将文本序列输入到语言预测器中,并计算得到文本状态编码序列;

语言预测器类似于语言模型,在本实施例中,其包含一层词嵌入表示层(Embedding)和两层单向的长短时记忆网络。语言预测器用来建模文本标记之间的时序依赖关系。

步骤5,将声学编码状态序列和文本编码状态序列组合输入到联合网络模块中,并预测得到Transducer概率分布矩阵;

联合网络模块由两层线性映射层堆叠组成,中间使用Tanh激活函数进行连接。联合网络模块采用按照特征维度拼接在一起的组合特征作为输入,输出大小等于词表的大小。在其他的实施例中,联合网络可由其他更加复杂的方式构成,但是其输入和输出保持不变。Transducer概率矩阵为一个四维的张量,其第一维度表示批的大小B;第二维度表示声学编码状态向量的长度T;第三个维度为U+1,表示文本编码状态向量的长度U再加上一个空格标记;最后一个维度表示词表的大小V。

步骤6,依赖预测得到的CTC概率分布矩阵和Transducer概率分布矩阵,计算对齐Transducer损失LAL-Transducer

如图2所示,对齐Transducer损失的基本原理是通过在原始Transducer损失函数中添加正则项,来迫使语音转写模型预测到空格的位置能够与CTC解码器预测的空格标记的位置对齐。为了实现这一功能,首先应该针对CTC概率分布矩阵来计算CTC解码器预测空格的概率分布,其中,CTC解码器在t时刻预测得到空格标记的概率可以表示为(表示CTC解码器最后映射层在第t时刻,对应词表V中第j个单元的值;则表示最后映射层在第t时刻对应词表中空格标记位置的数值):

那么预测得到非空格标记的概率可以表示为

对齐Transducer损失的计算需要构建一个Transducer概率图,针对长度为T的声学编码状态序列和长度为U的文本编码状态向量,其概率图大小为长为T,宽为U+1(添加了一个额外的空格标记)的矩形。概率图中只存在横向转移和纵向转移,其中横向转移表示在任意节点(t,u)预测得到一个空格标记,纵向转移表示在任意节点(t,u)预测得到一个非空格标记。图中任何一条从左下角开始到右上角结束的转移路径都是模型一条可行路径。

对齐Transducer损失定义为以下形式:

其中γ1和γ2分别是非空格对齐权重和空格对齐权重,本实施例中,其值均在0.0001~0.01范围内。损失函数计算中的子项可以被进一步拆解,具体计算过程如下:

P(At,u|x)=α(t,u)β(t,u)

其中,P(At,u|x)表示Transducer概率图中经过节点(t,u)的所有可行路径的概率和;表示Transducer概率图中经过节点(t,u),并以此节点位置预测标记为非空格标记的所有可行路径的概率和;表示Transducer概率图中经过节点(t,u),并以此节点位置预测标记为空格标记的所有可行路径的概率和;y(t,u)和分别表示在节点(t,u)位置预测为非空格标记和空格标记的概率;α(t,u)是前向变量,表示概率图中所有从起始点出发到达节点(t,u)的路径的概率和;β(t,u)是后向变量,表示所有从节点(t,u)出发,到达概率图中右上角结束标记停止的路径的概率和。为了高效的计算对齐Transducer损失,其在实际计算过程中应用了基于动态规划的前后向算法。

步骤7,将CTC损失LCTC和对齐Transducer损失LAL-Transducer相加得到联合损失LJoint=LCTC+LAL-Transducer,根据两者的联合损失LJoint计算梯度,并进行反向传播;

由于CTC损失的权重和对齐Transducer损失的权重在数值上很接近,在本实施例中没有对齐进行加权求和,等效于权重为0.5。在其他的实施例中可以设置不同的权重。

步骤8,循环执行步骤1至步骤7,直至达到预设的训练结束条件,完成训练。

实施例二:

如图3所示,基于快速跳跃解码的语音转写识别模型解码方法。

解码步骤1,从文件路径中读取语音文件并提交给处理器;

处理器可以是智能手机,云端服务器或者其他嵌入式设备。

解码步骤2,对输入语音提取特征,得到声学特征序列;

语音特征为梅尔频率倒谱系数(MFCC)或梅尔滤波器组系数(FBANK),特征处理方法与训练过程保持一致。

解码步骤3,将语音特征序列依次输入声学编码器,计算得到声学编码状态序列;

解码步骤4,将声学编码状态序列输入到CTC解码器中,计算得到CTC概率分布矩阵,并进一步计算在每一帧预测得到空格的概率

解码步骤5,如果预测得到空格的概率大于等于空格触发阈值则标记为非触发解码位置,并丢弃该声学编码状态向量,将所有的触发解码位置(预测得到空格的概率小于触发阈值)的声学编码状态向量按照时间顺序拼接起来,构成声学触发解码状态序列;

使用CTC解码器对声学编码状态序列进行提前预测,如果预测结果为空格,并概率大于预先设定的触发阈值,则将该帧跳过。在本实施例中,设定触发阈值为0.98,。解码过程实际上仅在触发位置应用BeamSearch方法进行解码。为了避免关键帧的丢失进而导致模型的解码准确率下降,可以划定一个固定长度的窗口,其典型值为触发位置的前后各一帧,即窗口内的非触发帧也标记为触发帧。

解码步骤6,从声学触发解码状态序列按照时间顺序逐帧选择声学编码状态向量;

解码步骤7,将先前的语言预测器的隐藏层向量和上一时刻预测得到的触发解码位置标记,即非空格文本标记(如果先前没有预测出任何非空格文本标记,则输入<BLK>)进行语言预测,预测得到文本编码状态向量,并产生新的隐藏层向量;

解码步骤8,将文本编码状态向量和声学编码状态向量进行组合,输入到联合网络模块中,并预测得到Transducer概率分布;

解码步骤9,基于Transducer概率分布,使用BeamSearch搜索算法来对可能的解码路径进行更新;

在本实施例中,典型的BeamSearch搜索方法,设定搜索宽度为5。并且在解码过程中,对于拥有相同前缀标记的路径进行概率融合,融合方法为对两条不同路径的求概率和,并更新合并之后的路径的概率值。

解码步骤10,重复解码步骤4至解码步骤9,直至达到BeamSearch搜索的停止条件为止,并输出概率最大的解码路径作为最终解码结果。

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

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于参数共享非自回归语音识别训练解码方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!