采用双向时序卷积与自注意力机制网络的语音识别系统的制作方法

文档序号:21680867发布日期:2020-07-31 21:52阅读:575来源:国知局
本发明涉及语音信号处理领域,尤其涉及一种采用双向时序卷积与自注意力机制网络的语音识别系统。
背景技术
:目前,主流的大规模连续语音识别依据其识别原理可分为两类,一类是基于隐马尔可夫模型(hiddenmarkovmodel,hmm)的传统语音识别,另一类则是端到端的语音识别系统。而端到端的语音识别系统又主要分为基于链接时序分类(connectionisttemporalclassification,ctc)的语音识别系统,以及基于编码器——解码器(encoder-decoder)的语音识别系统。基于hmm框架的声学模型优化目标是最大化语音帧和帧级标注之间的似然概率,或者后验概率;而端到端的语音识别系统从全局出发,强调序列到序列的对应关系。相比于基于hmm框架的声学模型,端到端的语音识别系统更强调时序建模与长时建模,因此解决语音信号的长时依赖在端到端的语音识别系统中显得尤为重要。循环神经网络(recurrentneuralnetworks,rnn)及其变体长短时记忆网络(longshort-termmemory,lstm)广泛用于语音识别,在传统的hmm声学建模和端到端的识别模型中都表现出显著的性能提升。lstm通过记忆单元解决了信号的长时依赖,同时在一定程度上,缓解了rnn训练过程中的梯度消失和梯度爆炸等问题,但是lstm训练时间长,参数量大,训练难度大。与此同时,卷积神经网络(convolutionalneuralnetwork,cnn)通过加深网络层数,增大感受野,提高了网络对信号的长时建模能力,并在基于hmm框架下的声学建模发挥出显著的优势。很多学者将cnn用于ctc的声学模型,尽管训练速度相比lstm获得明显提升,但是识别效果并不是十分理想。为了增强cnn的序列建模能力,并且进一步扩大其感受野,有学者提出一种新型的卷积神经网络——时序卷积网络(temporalconvolutionnetworks,tcn)。tcn由因果卷积,空洞卷积和残差连接组成,在音乐建模和语言模型等序列任务上超越一般的循环网络结构,但是这个网络只考虑了因果的卷积,而语音实际上是一种上下文相关的序列,也就是包含反因果的过程,此外,cnn本身在提取长时信息方面存在一定缺陷。近年来,编码器——解码器网络结构在多个领域表现出强大的优势,并成功应用到语音识别领域。las(listen,attendandspell)模型通过金字塔形的rnn或lstm对语音特征进行编码,并通过rnn的解码器和注意力机制将语音信号转换为目标端的文字。编码器——解码器结构省略发音词典,并且具有高效的训练流程和解码流程,也因此成为语音识别的重点研究方向。2017年谷歌提出新型编码——解码器网络transformer用于机器翻译领域,利用自注意力机制(self-attention)代替rnn或lstm,transformer很快被应用达到语音识别上,这种前馈神经网络不仅在速度上超越las模型,并且获得了显著的性能提升,随后自注意力机制结合编码器——解码器框架成功应用于语音识别中。self-attention具有很强的全局信息捕捉能力,充分利用语音信号的长时信息,但是self-attention对局部信息的建模能力不足。谷歌在阅读理解任务上提出qanet(questionansweringnetworking,问答网络),结合cnn和self-attention,使得网络同时具有较好的局部建模能力和全局建模能力,在语音文本建模领域获得了广泛的应用,但仍然局部信息捕捉能力不够。技术实现要素:本发明的目的是提供一种采用双向时序卷积与自注意力机制网络的语音识别系统,可以保证了对语音序列信号的刻画能力,又提高了运算的速度。本发明的目的是通过以下技术方案实现的:一种采用双向时序卷积与自注意力机制网络的语音识别系统,包括:依次设置的下采样模块、位置编码模块、堆叠的btcsan模块、上采样模块以及输出层;所述下采样模块,用于对输入的原始语音特征序列进行下采样处理来降低序列长度;位置编码模块,用于根据原始语音特征序列对应的时长以及系统模型维度来生成位置编码,再将位置编码与下采样结果叠加后输出至第一个btcsan模块;所述btcsan模块即为双向时序卷积与自注意力机制网络,其包括:自注意力机制网络和堆叠的多个双向时序卷积网络;通过每一双向时序卷积网络对语音特征序列中的位置信息和局部信息进行建模,并结合自注意力机制网络实现全局建模,输出处理后的语音特征序列;上采样模块,用于对最后一个btcsan模块输出的语义特征序列进行上采样,从而将序列长度还原;输出层,用于对上采样模块的输出进行建模,获得语音识别结果。由上述本发明提供的技术方案可以看出,1)采用双向时序卷积与自注意力机制网络既保证语音时序的感知又提升:通过双向时序卷积(bidirectionaltemporalconvolutionnetwork,btcn)与自注意力机制网络,btcn可以同时捕捉过去和未来的信息,既保留了序列信息,也更好的适应self-attention的全局建模能力。从而既保证了对语音序列信号的刻画能力,又提高了运算的速度。2)利用下采样和上采样来减少资源需求:设计了下采样模块去减少语音序列的长度,从而减少资源需求,在输出层由于需要每一帧语音对应的标签,又通过上采样模块来恢复语音的长度。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本发明实施例提供的一种采用双向时序卷积与自注意力机制网络的语音识别系统的示意图;图2为本发明实施例提供的btcsan模块组成原理图;图3为本发明实施例提供的多头自注意力机制原理图;图4为本发明实施例提供的自注意力机制原理图;图5为本发明实施例提供的btcn结构图。具体实施方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。受
背景技术
介绍的各项工作的启发,本发明实施例提出一种双向时序卷积与自注意力机制网络(bidirectionaltemporalconvolutionwithself-attentionnetwork,btcsan),并将其成功应用到ctc和hmm的声学建模中。与传统编码器方法不同之处在于,本发明使用双向时序卷积网络(bidirectionaltemporalconvolutionnetwork,btcsan)代替cnn模块去捕捉局部信息,btcn可以同时捕捉过去和未来的信息,既保留了序列信息,也更好的适应self-attention的全局建模能力。从而既保证了对语音序列信号的刻画能力,又提高了运算的速度。除此之外,在训练过程中,自注意力机制需要计算每两帧语音帧的注意力系数,因此gpu显存的开销非常大,并且显存增长和语音序列的长度是平方关系;此外整个语音序列进行自注意力计算时,网络收敛速度慢,收敛效果差,考虑到这两个问题,还设计了对应的下采样和上采样模块,增强网络的建模能力。如图1所示,为本发明实施例提供一种采用双向时序卷积与自注意力机制网络的语音识别系统,其主要包括:依次设置的下采样模块(downsample)、位置编码模块(positionembedding)、堆叠的btcsan模块、上采样模块(upsample)以及输出层。本发明实施例中,下采样模块输入原始语音特征序列(batch_size,time,108),输出(batch_size,time/4,dmodel),dmodel代表模型的节点数目(也即系统模型维度);位置编码层输入语音特征对应的时长和模型维度dmodel直接生成位置编码,与下采样模块的输出直接叠加;btcn,位置前馈网络层和多头自注意力层的输入均为上一层网络输出(batch_size,time/4,dmodel),输出也相同。下面针对每一模块做详细的介绍。一、下采样模块与上采样模块。由于下采样模块和上采样模块是一对相反的过程,因此,一并进行介绍。如之前所述,在训练过程中,自注意力机制需要计算每帧语音帧的注意力系数,因此gpu显存的开销非常大,并且显存增长和语音序列的长度是平方关系;此外整个语音序列进行自注意力计算时,网络收敛速度慢,收敛效果差,考虑到这两个问题,设计了下采样模块去减少语音特征序列的长度。如图1所示,所述下采样模块包括两个依次连接的子模块;每一子模块都包含依次连接的二维卷积神经网络(cnn)、最大池化层(max-pooling)、以及投影层(projection),其中,池化操作在时间维度上执行,投影层将输出的特征图拉平以获得向量维度dmodel。在两次最大池化操作后,语音序列长度变为原来的1/4,考虑到hmm中语音帧和标签的关系,需要最终在上采样模块中通过反卷积(deconvolution)操作将语音特征序列长度还原,因此可以采用1×4的反卷积操作。二、位置编码模块。在transformer及其一系列变体中,采用位置编码为网络提供时序信息。为了提高基线系统的性能,同时进一步加强时序建模能力,本发明实施例中同样参考这个算法,在系统中仍然加入了位置编码,根据原始语音特征序列对应的时长以及系统模型维度来生成位置编码,再将位置编码与下采样结果叠加后输出至第一个btcsan模块,为btcsan模块提供时序信息,pe表示位置编码,最简单的编码就是按照顺序1,2,3….,一直到最后一个特征;但是由于语音有长有短,这种编码就无法规整,也无法体现特征位置上的信息。因此,通过sin,cos函数将编码限制在[0,1]的范围内,其中分子代表的是特征时间上的信息,分母是特征第几维的信息,分母采用指数函数的形式,通过这种方式可以获得一个既有时间又有位置的编码。pos为语音特征所属语音帧在语音序列中的位置,2i和2i+1表示一个dmodel大小的特征中的每一维,比如dmodel是512,i的取值为[0,255]。位置编码的公式为:其中,dmodel为系统模型的维度,pos表示位置信息,2i与2i+1均表示语音特征中的一个维度。三、btcsan模块。如图1所示,系统设有连续堆叠的ne层相同的btcsan模块(即双向时序卷积与自注意力机制网络)。如图2所示,btcsan模块包括:自注意力机制网络(self-attentionnetwork,san)和堆叠的多个双向时序卷积网络(bidirectionaltemporalconvolutionnetwork,btcn);通过每一双向时序卷积网络对语音序列序列中的位置信息和局部信息进行建模,并结合自注意力机制网络实现全局建模,输出处理后的语音特征序列。其中,自注意力机制网络包括:多头自注意力层(multiheadself-attention)与位置前馈网络层(position-wisefeed-forwardnetwork,ffn)。所述多头自注意力层与最后一个双向时序卷积网络之间、多头自注意力层与位置前馈网络层之间、以及相邻两个双向时序卷积网络之间均设有归一化(layernorm)和残差连接,可以加速网络的收敛,提高训练精度。1、多头自注意力层。通过多头注意力机制,完成了输入语音帧和标签在模型训练中的对齐加权。如图3所示,所述多头自注意力层中并联有若干个相同的子层,每一子层均为一个自注意力机制层,可通过如图4所示的缩放的点乘注意力来实现;自注意力是一种利用输入序列的不同位置间的联系来计算输入表示的机制。具体来说,每一子层均有三个输入,分别为查询(query)、键(key)和值(value),可以理解为编码后的语音特征。query的输出由value加权求和得到,而每个value的权值通过query及与之相关的key的设计函数计算得到。如图4所示,设q表示query,维度为tq×dq;k表示key,维度为tk×dk;v表示value,维度为tv×dv,其中,t表示时间维度,d表示特征维度。通常情况下,tq=tk=tv,dq=dk=dv,自注意力机制的输出通过下式计算:其中,为调节因子,防止q与k的内积过大,导致softmax值非0即1。“多头”机制用来联合多个层不同的自注意力表示,即计算h次自注意力,h表示“头”的数目,也即子层的数目。如图3所示,每一子层的q、k与v各自经过一个线性投影层(linear)以增加彼此之间的区分性,所有子层的输出拼接(concatenate)在一起后,经过一个线性投影层作为多头自注意力层的输出,表示为:multihead(q,k,v)=concat(head1,...,headh)wo其中,concat表示拼接操作,headi表示第i个子层的q、k与v经过线性投影层后得到的点乘自注意力计算结果,依次表示第i个子层的q、k、v经过的线性投影层的权重;wo表示拼接结果后经过的线性投影层的权重。本领域技术人员可以理解,线性投影层的目的是为了将原始的q,k,v降维,上述式子headi中计算得到新的q,k,v,直接带入之前提供的式子进行计算即可。2、位置前馈网络层。本发明实施例中,所述位置前馈网络层包含两个全连接的线性层,中间设有一个relu非线性激活函数;fn可用来增加网络深度和非线性,增强网络的表达能力。位置前馈网络层的处理过程表示为:ffn(x')=max(0,x'w1+b1)w2+b2其中,x'表示输入至位置前馈网络层的数据,w1与w2、b1与b2分别表示两个线性层的权重、偏置;可设置dff=2dmodel。3、双向时序卷积网络双向时序卷积网络(bidirectionaltemporalconvolutionnetwork,btcn)相比于传统的卷积神经网络,时序卷积网络有更大的感受野,同时加强了网络的序列信息建模能力,由于自注意力机制缺乏语音序列的相对或绝对位置信息,本发明实施例中,采用双向时序卷积网络对位置信息和局部信息进行建模。双向时序卷积网络包括因果卷积(causalconvolution)和反因果卷积(anticausalconvolution)操作。因果卷积利用上一层过去到当前时刻的输出结果执行卷积操作,反因果卷积则与之相反,通过因果和反因果的卷积,实现了对语音上下文关系的捕获,从而提升了模型的时序建模能力。在本发明实施例中,双向时序卷积采用一维卷积来使网络的输入输出信号长度保持一致,同时考虑到模型参数量的大小和gpu显存限制,采用深度可分离卷积代替传统网络。为了获得更多的历史信息或未来信息,双向时序卷积网络采用空洞卷积操作(dilatedconvolution)与因果卷积以及反因果卷积的联合运算方式,对于输入的一维序列x(语音特征序列)和卷积核f:{0,1,...,k-1},时刻t空洞卷积与因果卷积以及反因果卷积的输出如下:其中,d为空洞卷积因子,k为卷积核大小,dilated_causal表示空洞卷积与因果卷积的联合运算,dilated_anticausal表示空洞卷积与反因果卷积的联合运算,f(j)是卷积核参数,x的下标表示语音特征所对应的语音帧序号;每一btcsan模块中堆叠了nc个双向时序卷积网络,如图5所示,对于第l个双向时序卷积网络,其输出o按如下方式计算:x_fw=dilated_causal(layernorm(x),dl,k)x_bw=dilated_anticausal(layernorm(x),dl,k)o=concat(x_fw,x_bw)+x其中,layernorm(x)表示归一化后的x,dl是第l个双向时序卷积网络的空洞卷积因子,1≤l≤nc,且dl=2l-1,t为时刻总数。在每一层空洞卷积之后,采用leakyrelu作为非线性激活函数。四、输出层。本发明实施例中,输出层可通过全连接层fc+softmax实现,用于对上采样模块的输出进行建模,获得语音识别结果。相对于传统的端到端语音识别建模方法,本发明提出的采用双向时序卷积与自注意力机制网络的语音识别系统具有如下优点:1、采用双向时序卷积与自注意力机制网络既保证语音时序的感知又提升。采用cnn结构替代rnn或lstm可以加快运算的速度,但是cnn由于受卷积核大小的限制,对上下文感知能力不强。为了增强cnn的序列建模能力,并且进一步扩大其感受野,提出双向时序卷积(bidirectionaltemporalconvolutionnetwork,btcn)与自注意力机制网络,btcn可以同时捕捉过去和未来的信息,既保留了序列信息,也更好的适应self-attention的全局建模能力。从而既保证了对语音序列信号的刻画能力,又提高了运算的速度。2、利用下采样和上采样来减少资源需求。在训练过程中,自注意力机制需要计算每帧语音帧的注意力系数,因此gpu显存的开销非常大,并且显存增长和语音序列的长度是平方关系;此外整个语音序列进行自注意力计算时,网络收敛速度慢,收敛效果差,考虑到这两个问题,首先设计了下采样模块去减少语音序列的长度,从而减少资源需求,在输出层由于需要每一帧语音对应的标签,又通过上采样模块来恢复语音的长度。本发明提出的方法解决了cnn在语音识别中声学建模的上下文感知能力,并通过下采样和上采样减少了资源需求,同时保证了识别准确率。为了验证本发明所提出方法的有效性,设计了如下实验。1、实验设置在对话式日语语音数据集king-asr-222-2和king-asr-222-3上进行实验。语音数据集均为8khz,16bit,单通道的语音文件,由海天瑞声公司收集。数据集king-asr-222-2包括120小时的语音,随机选择105h,12h,2h作为训练集,开发集,测试集,用于建立语音识别系统。为了进一步验证系统性能,将king-asr-222-3整体作为另一个测试集,king-asr-222-3包含200h的对话语音,涉及21个主题,可更好的展现语音识别的性能。所有实验采用pytorch,kaldi,eesen作为训练平台。由于是日文,采用字符错误率(charactererror,cer)作为评价指标,cer数值越小说明系统性能越优越。2、实验结果1)基于hmm的语音识别系统本实验建立了不同的声学模型(gmm-hmm,dnn-hmm,blstm-hmm,san-hmm,btcsan-hmm),通过多组实验探究声学模型对识别性能的影响。根据发音词典,king-asr-222-2数据集共有237个单音素,经过决策树绑定之后的三音素状态共有13566个,以此作为我们的建模单元,之后通过gmm-hmm的模型强制对其得到帧级标注用于神经网络的训练。所有的hmm系统解码过程中均采用基于词的3-gram语言模型。实验结果通过wer(worderrorrate)与cer(charactererrorrate)显示,如表2所示。在gmm-hmm和dnn-hmm中,将39维的梅尔频率倒谱系数(mfcc,包括一阶、二阶差分并对其做均值方差归一化),作为输入声学信号,且对dnn采取拼帧操作。在其余神经网络的训练中,声学特征采用108维的filterbank特征(包括一阶、二阶差分,并对其做均值方差归一化)。dnn-hmm采用5层隐藏层,每层有1024个隐藏节点;而blstm-hmm则采用3层隐藏层,每层1024个节点;san-hmm用来探究自注意力机制对声学建模的能力,且san-hmm与btcsan-hmm基本配置都相同,都采用了相同的下采样和上采样模块,具体配置可见表1,表1中参数(a,b,c,d)表示输入通道,输出通道,卷积操作沿着向量维度和时间轴的卷积核大小。步长(e,f)表示卷积操作沿着向量维度和时间轴的步长大小。实验中,设置多头自注意力机制中头的数目h=8,模型维度dmodel=512,核心部分的san与btcsan模块数ne均为6。与此同时,设置自注意力机制和残差连接的dropout均为0.1。对于模型中所有的leakyrelu激活函数,负斜率设置为0.1。表格2展示了不同声学模型在king-asr-222-2测试集上的识别结果。由表格可以看出,dnn-hmm由于缺乏记忆长时信息的能力,性能明显不如blstm-hmm和san-hmm。san-hmm相比于传统的blstm-hmm,在保持高性能的同时,极大减少了模型参数,同时得益于其前馈计算的方式,训练速度提高很多,可见自注意力机制声学建模的能力非常强大。表1san-hmm与btcsan-hmm系统中下采样和上采样模块参数配置模型wer%cer%gmm-hmm57.4651.45dnn-hmm48.0442.48blstm-hmm41.1035.84san-hmm40.6735.21表2不同声学模型在king-asr-222-2测试集上的识别结果btcsan-hmm中所有的卷积核大小为3,其实验结果在表3中显示,可以看到btcn层数设置为nc=1时,在king-asr-222-2测试集上的识别结果表现最好,wer达到了39.50%,cer达到了34.37%,可以作为hmm的最终系统。实验证明了btcn对于san表达能力的补充,btcsan能够充分利用san的全局表达能力和btcn的序列建模能力与局部建模能力,使得网络的性能进一步提升。为进一步测试系统性能,在200h的语音数据集king-asr-222-3上进行测试,实验结果如表4所示。在非同源数据集上,btcsan相对于blstm获得明显的性能提升,进一步展现了btcsan模型的鲁棒性。表3btcsan-hmm在king-asr-222-2测试集上的识别结果模型wer%cer%blstm-hmm44.9138.36btcsan-hmm41.4535.25表4不同hmm系统在king-asr-222-3测试集上的识别结果2)基于ctc的语音识别系统在ctc系统中,采纳2488个不同的字(平假名、片假名、日语汉字)加上ctc中的blank,共2489个建模单元,在解码过程中采用基于字的3-gram语言模型。最后我们采用cer(charactererrorrate)作为评价指标。实验所涉及到的网络模型均与hmm系统保持一致,各语音识别系统在在king-asr-222-2测试集上的表现如表5所示。尽管san相比blstm的性能有所下降,但是btcsan表现出优异的建模能力,并且提升幅度超过hmm系统,这是由于ctc准则本质上是一种端到端的思想,它与hmm不同,不强调每一帧语音帧的硬对齐,更加强调全局性和序列性,从源端序列到目标端序列的映射,而hmm系统强调每一帧的作用,因此btcsan能够发挥更大的作用。当btcn层数设置为nc=3时,在king-asr-222-2测试集上的识别结果表现最好。同样,为进一步测试不同ctc系统的性能,在语音数据集king-asr-222-3上进行测试,实验结果如表6所示,btcsan模型依然获得明显的提升。表5不同ctc声学模型在king-asr-222-2测试集上的识别结果模型cer%blstm-ctc45.92btcsan-ctc39.79表6不同ctc系统在king-asr-222-3测试集上的识别结果通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。当前第1页12
当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1