基于前馈神经网络的低延时语音识别模型及训练方法与流程
本发明涉及智能信息处理技术领域,尤其是涉及了基于前馈神经网络的低延时语音识别模型及训练方法。
背景技术:
语音是人类最自然的一种交互方式。语音识别是将语音转换为对应的文字的一种智能信息处理技术。将语音转换为文字有利于计算机终端进行进一步地处理,所以语音识别技术被广泛地用于智能对话、智能客服、智能翻译等系统中。
虽然,目前已经有一批语音识别技术,但是,这些语音识别技术都需要在预测阶段自左向右地搜索概率最大的序列,具体来说,预测下一个词需要将上一步预测的词输入进模型,如生成句子“今天_天气_很好”,在预测“很好”时,需要将前一步预测的结果“天气”输入进模型。这导致了以下问题:
1、由于需要搜索序列,自左向右地生成整个序列,所以在预测左边的词时,模型无法利用右侧的词提供的信息;
2、由于需要搜索序列,自左向右地生成整个序列,所以整个预测阶段难以并行执行,影响了预测的速度;
3、由于需要搜索序列,自左向右地生成整个序列,所以神经网络需要前馈多次,影响了预测的速度。
技术实现要素:
为解决现有技术的不足,实现预测每一个词时无需依赖前一步的词,从而提高预测的速度,本发明采用如下的技术方案:
基于前馈神经网络的低延时语音识别模型,包括:编码器和解码器,还包括总结器,编码器将声学特征序列转换为高层语义表示,总结器通过预设的位置编码和高层语义表示转换为对应于每一个词位置的高层语义表示,解码器从对应于每一个词位置的高层语义表示中进一步提取词级别的语义信息。
所述的编码器、总结器、解码器均由多层注意力模块堆叠而成,每一个注意力模块由残差连接的注意力机制和前馈神经网络组成,注意力机制为内积注意力机制:
其中,
所述注意力机制是多头注意力机制:
mha(q,k,v)=cat(head1,…,headn)
其中,
所述前馈神经网络是一个逐位置的前馈神经网络:
ffn(x)=w2relu(w1x+b1)+b2
其中,w1,w2,b1,b2为参数,relu为受限制线性单元激活函数,逐位置表示一个由向量构成的序列,对其中每一个向量用同一个前馈神经网络进行变换,变换后的每一个新的向量构成了一个新的序列。
所述位置编码是正弦-余弦位置编码,其每一个位置元素按照如下方式计算:
其中,2j和2j+1为位置编码序列中第i个位置向量的元素索引。
所述模型采用极大似然估计准则和反向传播算法进行训练,根据成对的声学特征序列和文本,并为文本建立词典,计算损失函数:
其中yj为词典对应位置j的标注正确答案,j为序列的总长度,提前设定好的一个词序列长度,如果句子长度小于j,则在句子末尾添加一序列<eos>符号进行补齐,以便在语音识别阶段自动预测出句子长度。
所述文本建立词典,是通过统计文本中词出现的频率,按照词频从大到小的顺序进行排序,选取前n个词作为词典;不在词典的词就表示为<unk>。
基于前馈神经网络的低延时语音训练方法,包括如下步骤:
s11,语音特征提取,从训练语料中获取声学特征序列及对应文本;
s12,编码器将声学特征序列转换为高层语义表示;
s13,总结器通过预设的位置编码和高层语义表示转换为对应于每一个词位置的高层语义表示;
s14,解码器从对应于每一个词位置的表示中进一步提取词级别的语义信息;
基于前馈神经网络的低延时语音识别方法,包括如下步骤:
s21,语音特征提取,从语音信号中提取声学特征序列;
s22,编码器将声学特征序列转换为高层语义表示;
s23,总结器通过位置编码和高层语义表示转换为对应于每一个词位置的高层语义表示;
s24,解码器从对应于每一个词位置的高层语义表示中进一步提取词级别的语义信息;
s25,预测阶段,根据解码器的输出在每一个位置选取概率最大的词。
所述预测阶段对每一个词位置选取概率最大的词:
其中,yj为词典中的一个词,j为对应的位置,p为其概率,argmax为最大值函数,
在训练完毕后,即可对语音进行识别,根据输入的语音直接预测出每一个位置的字,词,或子词,而不需要实现搜索技术,可以大大加快语音识别的速度,实现低延迟快速识别。
本发明的优势和有益效果在于:
本发明根据输入的语音直接预测出每一个位置的字,词,或子词,避免了序列搜索,直接预测每一个位置的词,有利于计算机并行化计算,无需前馈多次,从而大大加快语音识别的速度,实现低延迟快速识别。
附图说明
图1是本发明的语音识别流程图。
图2是本发明中语音识别模型的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
基于前馈神经网络的低延时语音识别模型,包括一个基于自注意力机制的前馈神经网络的编码器模型,将语音特征序列转换为高层语义表示;一个基于注意力机制的前馈神经网络和注意力机制的位置相关的总结器模型,将编码器模型输出的高层表示转化为对应于每一个词位置的高层语义表示;一个基于自注意力机制的前馈神经网络的解码器模型,进一步提取词级别的语义信息。
编码器、总结器、解码器均由多层注意力模块堆叠而成,每一个注意力模块由残差连接的注意力机制和前馈神经网络组成。
注意力机制为内积注意力机制:
其中,
编码器和解码器的注意力机制为自注意力机制,即q、v、k为相同的序列;总结器为互注意力机制,即v、k为相同的序列,q是提前设置好的位置编码。
注意力机制可以是多头注意力机制:
mha(q,k,v)=cat(head1,…,headn)
其中,
注意力机制之后为一个逐位置的前馈神经网络:
ffn(x)=w2relu(w1x+b1)+b2
其中,w1,w2,b1,b2为参数,relu为受限制线性单元激活函数,逐位置表示一个由向量构成的序列,对其中每一个向量用同一个前馈神经网络进行变换,变换后的每一个新的向量构成了一个新的序列。
注意力模块还包括层归一化模块,归一化模块是注意力模块中的一个运算。
位置编码为正弦-余弦位置编码,其每一个位置元素按照如下方式计算:
其中,2j和2j+1为位置编码序列中第i个位置向量的元素索引。
训练阶段,从训练语料中获取声学特征序列及对应文本,声学特征序列的参数如mfcc,fbank特征等。
根据训练语料中的文本建立词典,具体包括:
1、统计文本中词出现的频率;
2、按照词频从大到小的顺序进行排序,选取前n个词作为词典;不在词典的词就表示为<unk>。
编码器的第一层注意力模块输入该声学特征序列,其后的每一层注意力模块为前一层的输出。
位置相关的总结器模型利用互注意力机制,根据提前设置好的位置编码和编码器输出的结果,生成对应于各词位置的表示,其第一层注意力模块的k和v为编码器的输出,q为位置编码,其后每一层注意力模块的q为前一层注意力模块的输出,k和v仍为编码器的输出。
位置相关的总结器根据编码器编码输出的高层表示序列和对应于每一个词位置的位置编码,提取对应于词位置的高层表示,其第一层注意力模块输入位置编码和编码器生成的高层表示,获得对应于词位置的编码;第二层到第n层注意力模块输入前一层注意力模块获得的编码和编码器生成的高层表示,获得对应于词位置的编码。
解码器第一层注意力模块输入为位置相关的总结器的输出,即对应于各词位置的表示,其后每一层注意力模块为前一层的输出,提取针对词的高层语义表示。
模型采用极大似然估计准则和反向传播算法进行训练,根据成对的语音和文本,计算损失函数:
其中yj为词典对应位置j的标注正确答案,j为序列的总长度,提前设定好的一个词序列长度,如果句子长度小于j,则在句子末尾添加一序列<eos>符号进行补齐,以便在语音识别阶段自动预测出句子长度。反向传播计算损失函数对应于每一个参数的梯度。
预测阶段,在训练完毕后,即可对语音进行识别,根据输入的语音直接预测出每一个位置的字,词,或子词,而不需要实现搜索技术,可以大大加快语音识别的速度,实现低延迟快速识别,包括如下步骤:
1、将语音信号提取为声学特征序列,提取的语音特征可以是梅尔频率倒谱系数等特征;
2、基于前馈神经网络的低延时语音识别模型进行语音识别,包括如下步骤:
(1)通过编码器提取高层语义表示;
(2)通过位置相关总结器,将编码器提取的高层语音表示转换为对应于每一个词位置的高层语义表示;
(3)通过解码器,进一步提取每一个词的高层语义表示,并作出预测;
(4)预测阶段,即语音识别阶段,根据解码器的输出在每一个位置选取概率最大的词,采用线性变换以及非线性变换将提取的针对词的高层表示映射为每一个位置的词概率分布,对每一个词位置选取概率最大的词:
其中,yj为词典中的一个词,j为对应的位置,p为其概率,argmax为最大值函数,
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除