张禹 李建文
摘要:为了解决语音识别系统在低资源语料下识别性能低下的问题,提出了一种采用因子分解时延神经网络的低资源语音识别方案,并从数据扩展和模型优化两个方面展开。在数据扩展方面提出了一种以语谱图增强、语音合成以及半监督学习为主的数据增强方案。在模型优化方面,在因子分解时延神经网络基础上,引入卷积神经网络。实验结果表明,在低资源语料环境下,与传统低资源语音识别解决方案相比,本方案对语音识别系统性能的提升具有更好的效果。
关键词: 时延神经网络; 半监督学习; 语音合成; 语音识别; 數据增强
中图分类号: TP18 文献标识码:A
文章编号:1009-3044(2019)31-0001-04
Abstract: To solve the problem of low recognition performance of speech recognition system in low resource corpus, a low resource speech recognition scheme based on factorized time delay neural network is proposed, which is developed from data expansion and model optimization. In the aspect of data enhancement, the common speech data enhancement methods are synthetically compared, and a data enhancement scheme based on spectrogram enhancement, speech synthesis and semi-supervised learning is proposed. In the aspect of model optimization, on the basis of factorized time delay neural network, convolution neural network is introduced to extract local semantic information from spectrogram and further improve the performance of model recognition. The experimental results show that in the low resource corpus environment, compared with the traditional low resource speech recognition solution, this solution has a better effect on improving the performance of speech recognition system.
Key words: Time Delay neural network eyword; Semi-supervised training; Speech synthesis; Speech recognition;Data augmentation
在研究某些低资源语言的语音识别时,能够收集到的数据集样本稀少且质量差。自行录制或者直接购买都会消耗大量的资源。碍于限制,研究人员试图寻求其他方法来解决问题,这就是低资源语音识别[1]。
解决低资源语料的语音识别问题,通常在两个方面入手:1)使用更为高效的声学模型[2]。Myat Aye等人使用时延神经网络(Time Delay Neural Network,TDNN)用于缅甸语语音识别,其性能优于传统的声学模型[3]。2)使用数据增强方法来扩充有限的训练数据,从根本上解决训练样本不足的问题。Ramazan Gokay等人通过语音合成有效解决了土耳其语训练样本缺乏问题,最终将词错率降低了14.8%[6]。
为进一步提升低语料资源环境下的语音识别率,本文同时在模型优化和数据增强两方面入手。在模型优化方面将卷积神经网络(Convolutional Neural Network,CNN)、因子分解时延神经网络相结合以构建声学模型,在数据增强方面,对比评估所有常见的数据增强方法并且根据结果有选择性地对原始语料库进行扩增。实验结果表明,本文提出的方法有效提升了语音识别系统的识别性能。
1 数据增强
数据增强是能够有效增加数据量和数据多样性的方法,其最终目的是提升语音识别系统的识别率和降低声学模型的过拟合程度。
1.1 语音合成
语音合成实际上是一种数据增强技术。在本文中根据原始语音训练集的标签,使用科大讯飞的讯飞智声语音合成服务[7](TTS)来合成新的语音数据。
1.2 语速扰动
语速扰动是语音数据增强的常用方法之一,它通过给定的规整因子[α]和原始的语音信号[xt],来生成新的语音信号为
1.3 音量扰动
对所有训练数据的音量大小进行调节。在0.7到1.4之间随机选择一个系数,对训练数据的音量进行调整。
1.4 声道长度扰动
声道长度扰动(Vocal Tract Length Perturbation,VTLP)[9]则和声道长度归一化(Vocal Tract Length Normalization,VTLN)[3]相反,它通过使用不同的扰动系数,由一个说话人的语音产生具有不同声道长度的衍生语音数据,以此来达到扩充语音数据的目的。
对于VTLP,本文为每一段语音信号随机生成一个扭曲因子[β],用于扭曲频率轴,将原始频率[f]映射到新的频率[f']。如公式(3)所示,其中,[S]是采样频率,[Fhi]是一个足以覆盖重要的共振峰的边界频率,为4800Hz。
1.5 语谱图增强
语谱图增强[10]是一种直接作用于音频语谱图的增强方法,它将即将进入神经网络的音频特征当作一幅图像[11]来进行处理。语谱图增强分为三个部分,首先是时间扭曲,即语谱图在时间方向的变形。另外两种方法分别为时间屏蔽和频率屏蔽,即在时域或者是频域上随机屏蔽一段连续的时间步或频率通道。本文采取的特征增强策略具体如图1所示,a是原始语谱图,b是过时间扭曲的语谱图,c是经过时间遮蔽的语谱图,d是经过频率遮蔽的语谱图。
1.6 半监督训练
对于低资源语音识别来说,最大的问题往往是缺乏足够数量的标注数据或大部分语音数据并没有或者没有进行准确的标注。针对这种问题,可以使用半监督训练方法:首先使用有标注的数据来训练语音识别系统,后作为种子系统来对无标注的数据进行解码,生成新的标注数据。然后对解码的结果进行置信度评分,选择高分的标注数据加入原始训练集中,后用于模型的训练。
2基于CNN-TDNN-F的声学模型
2.1 卷积神经网络(CNN)
本文利用CNN来提取语谱图的局部特征。CNN是由LeCun于2014年提出的,在深度学习中被广泛应用的一种前馈神经网络模型。CNN网络模型对图像特征有优秀的学习能力,所以将语音生成的语谱图输入网络中,使得CNN将由语谱图通过图像的方式来学习其特征,并建模。
2.2 因子分解时延神经网络(TDNN-F)
因子分解时延神经网络(Factorised Time Delay NeuralNetwork,TDNN-F)是DanielPovey提出的基于TDNN的一种改进版本,和传统的TDNN相比,它主要有两点改进。一是增加了中间层,它将原来的权重矩阵[M]分解为两个因子矩阵[A]和[B],并约束[B]矩阵为半正交矩阵,满足[M=AB],从而降低了中间层的维数,在减少了模型参数的同时具有优秀的建模能力。二是增加了类似残差网络的跳层连接以缓解梯度消失。
2.3 CNN-TDNN-F声学模型
本文将CNN和TDNN-F相融合应用于声学模型的构建之中。CNN擅长提取局部特征,作用于空间上的抽象和泛化,并且能够在空间维度上提取更具有表现力的高维特征。在TDNN-F中,每一层都有着不同的时间分辨率,前一藏层的输出经过拼接之后作为当前层的输入。和前一层相比,当前层能获取更为广阔的上下文信息,层次越高,网络所获得的信息也越广泛。同时由于中间层的存在,和传统的TDNN相比,TDNN-F的层数能够达到更深,获得的感受野越大。
本文结合了CNN与TDNN-F的优点,将它们融合后应用于构建语音识别模型,同时考虑其在空间和时间上的特征联系,充分利用它在空间和时间上的表征能力。
3实验及结果分析
3.1 实验平台
本文所有的实验都是在32G内存,2块1080TI显卡搭建的平台上进行的。
3.2 实验语料
本文使用Mozilla的开源语音数据库CommonVoice,选择其中的两个子数据集,一个是蒙古语数据集MN,时长为12小时。另一个是中文语音数据集ZHCN,时长为20小时。二者的采样率均为16kHz,声道为单声道,每一句话为1~8秒。两个数据集均取10%用于验证集和测试集。
3.3 评价指标
本文选取通用的词错误率(Word Error Rate,WER)作为语音识别性能的评价指标,其计算公式如下:
[WER=I+D+ST×100%] (4)
其中,[I]表示插入错误的词数,[D]表示删除错误的词数,[S]表示替换错误的词数,[T]表示句子中的总词数。WER值越小,表示识别效果越好。
3.4 实验结果及分析
本文选取的语音片段时长在1~8s范围内,将不足8s的以留白方式处理,统一至8s,使用Librosa工具包进行预加重,系数为0.97。以帧长25ms,帧移10ms进行分帧,加汉明窗。
(1)不同网络模型的对比实验
TDNN模型参考文献[3],网络包含有8个隐层,每一层含有512个节点,学习率恒定为0.001,激活函数为Relu。上下文配置为{-1,1}。
TDNN-LSTM模型参考文献[4],整体分为三个部分。作为第一部分的输入层是一个LDA变换,作为特征和模型空间的变换和投影。作为第二部分的隐藏层是如上所述的TDNN层,共8层,每层有1024个单位。前两层和第四层的延迟上下文是{-1,0,1},后三层是{-3,0,3}。第三部分是LSTM层。
Transformer模型参考文献[5],共有8个头部,模型各有4个Encoder和Decoder,隐藏层单元数目为512,Residual-drop设置为0.3。模型的输入为120为的滤波器组FBanks特征(FilterBanks,FBanks)特征,上下文窗口設置为{-3,-2,-1,0}。
TDNN-F模型共计8层,后接上一个60维的降维层,时间步长为3,使用40维的MFCC加上100维的i-vector特征,基于LF-MMI准则进行训练[18]。
CNN-TDNN-F模型是在上文TDNN-F模型的基础上,在前面加上3层CNN,利用CNN来进一步提取语谱图中的声学信息。模型的输入特征为语谱图。对各个声学模型的语音识别性能进行对比,其实验结果如表1所示。
由表1可知,基于CNN-TDNN-F的声学模型在中文语音数据集和蒙古语语音数据集中均取得了最好的成绩。这是因为和TDNN,LSTM以及Transformer相比,在网络层数相近的情况下,TDNN-F模型的参数量更小,模型的复杂度更低,尤其是在低资源语料的环境下,对过拟合现象的缓解有助于模型性能的提升,CNN层的加入加强了模型对语音信息的提取能力。
(2)不同结构的CNN-TDNN-F的对比实验
为了研究不同结构下的CNN-TDNN-F模型语音识别性能,针对CNN和TDNN-F的层数进行对比实验。结果如表2所示。其中3c8t表示3层CNN和8层TDNN-F。
由表2可知,在总层数为11层的前提下,当CNN层数达到4层的时候,模型的词错率达到了最低。随着CNN层数的不断增加,模型的词错率开始上升,模型的识别性能开始下滑。这是因为随着CNN层数的增加,模型在语谱图中所提取的特征信息就越高级,但是同时TDNN-F的层数越少,这导致模型对上下文信息的建模能力下降,其影响要大于CNN层数增加带来的影响。由结果可知,当TDNN-F的层数小于7层时,模型的性能整体上开始出现下滑。
(3)不同语音数据增强的对比实验
为了从根本上解决低资源语音识别系统识别率低下的问题,对于低资源语音数据集的数据增强必不可少。本文罗列了近年来所有常见的低资源语料数据增强方法,如表3所示。
在表3显示的各种语音数据增强中,②表示的语谱图增强只选择了时间遮蔽和频率遮蔽,因为在实际的实验过程中发现时间扭曲的提升效果有限,其计算成本远高于另外两个。⑦表示的半监督学习,根据表1中的TDNN和TDNN-F这两个模型建立种子系统,并对所有的无标注数据进行识别,最后根据识别结果的置信度高低进行筛选以确定为无标注数据的正确标注,并加入训练集中去。实验结果如图2、表4所示。只展示在测试集的结果,其中在MN数据集上没有进行③实验。
图2和表4分别显示了不同语音数据增强方法以及不同的语音数据增强组合方案对语音识别效果的影响。其中,方法③~⑦生成了新的训练数据,①②对提取到的特征进行了处理,实质上没有新数据的产生。在不增加原始训练集大小的方法中,语谱图增强的应用使得模型的性能提升最大,这是因为和VTLP相比,语谱图增强增加了特征的多样性,同时保持特征信息其余部位的完整性,而VTLP相当于在频率轴上进行扭曲变形,这使得采集到的特征丢失了相当部分的信息,降低了特征的表现力,所以对模型识别性能的提升不大。在方法③~⑦中,TTS和无监督学习对于语音识别性能的提升大于语速音量的扰动和背景噪声的添加,这是因为基于数据扰动而产生的新数据实质上还是基于原始数据的变化而得到的,而TTS和无监督训练得到的新的数据具有更多的差异性。组合方案①④⑤⑥和②④⑤⑥一共产生了3倍的新数据,但是其对模型的性能提升却并不明显,这进一步说明了在语音数据增强中一味的地堆积数据量,而忽视数据差异性的重要性是不可取的。
结合表4以及图2的实验结果,确定最终的数据增强组方案是②基于特征的语谱图增强和以及③TTS和⑦无监督学习的组合,最后对表1中的所有主流声学模型进行实验,观察经过数据增强后的声学模型性能表现。在MN和ZHCN数据集上的实验结果分别如图3、图4所示,只显示在测试集上的结果。
由图3图4可知,CNN-TDNN-F模型经过数据增强方案的优化过后,在MN和ZHCN数据集上性能的提升程度排在靠前的位置。
4 结束语
首先本文将融合的CNN-TDNN-F模型用于语音识别任务中,其次研究了不同层次结构CNN-TDNN-F模型的性能差异,然后验证当前所有的主流语音数据增强方法,提出一套语音数据增强方案。实验结果表明,提出的CNN-TDNN-F模型性能优于其他主流模型,将数据增强方案应用于各个主流模型之上,和传统的数据增强方法相比,其对CNN-TDNN-F系统性能的提升最大。
参考文献:
[1] Hannun A,Case C,Casper J,et al.Deep Speech:Scaling up end-to-end speech recognition[EB/OL].2014:arXiv:1412.5567[cs.CL].https://arxiv.org/abs/1412.5567
[2] Li Q, Russell M J. An analysis of the causes of increased error rates in children's speech recognition[C]//Seventh International Conference on Spoken Language Processing,2002.
[3] Aung M A A,Pa W P.Time delay neural network for Myanmar automatic speech recognition[C]//2020 IEEE Conference on Computer Applications (ICCA).February27-28,2020,Yangon,Myanmar.IEEE,2020:1-4.
[4] Van H N.An end-to-end model for Vietnamese speech recognition[C]//2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF).March20-22,2019,Danang,Vietnam.IEEE,2019:1-6.
[5] Pan L X,Li S,Wang L B,et al.Effective training end-to-end ASR systems for low-resource Lhasa dialect of Tibetan language[C]//2019 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC).November18-21,2019,Lanzhou,China.IEEE,2019:1152-1156.
[6] Gokay R,Yalcin H.Improving low resource Turkish speech recognition with data augmentation and TTS[C]//2019 16th International Multi-Conference on Systems,Signals & Devices (SSD).March21-24,2019,Istanbul,Turkey.IEEE,2019:357-360.
[7] Oord A, Dieleman S, Zen H, et al. Wavenet: A generative model for raw audio[J]. arXiv preprint arXiv:1609.03499, 2016.
[8] 舒帆,屈丹,張文林,等.采用长短时记忆网络的低资源语音识别方法[J].西安交通大学学报,2017,51(10):120-127.
[9] Jaitly N, Hinton G E. Vocal tract length perturbation (VTLP) improves speech recognition[C]//Proc. ICML Workshop on Deep Learning for Audio, Speech and Language. 2013, 117.
[10] Park D S,Chan W,Zhang Y,et al.SpecAugment:a simple data augmentation method for automatic speech recognition[C]//Interspeech2019.ISCA:ISCA,2019.
[11] DeVries T, Taylor G W. Improved regularization of convolutional neural networks with cutout[J]. arXiv preprint arXiv:1708.04552, 2017.
【通联编辑:唐一东】