Language Identification with Deep Bottleneck Features

时间:2018.9
没看到发布的地址
作者:Zhanyu Ma, Hong Yu

abstract

用于中文音素分类的DNN的bottleneck特征被用于LSTM的训练。

1. introduction

SLD任务用在语音识别的前端,首先判别一句话的语种,然后唤醒对应的decode去翻译成文本。
世界上有上千种语言,每种语言有不同的区分特征,想要找到一种通用的,快速响应的有效SLD system.总结来说,
在前端,希望找到能够区分不同语言的特征;在后端,需要有效的分类图。
前端特征,(1)考虑过原始的声学特征,比如LPC, Fbank;(2)prosody特征,duration, pitch, stress.(3)token,比如phone, syllables, words sequence.

深度学习技术—(1)21帧堆叠的PLP特征训练DNN,用于SLD;(2)PLP和MFCC训练的CNN用于SLD;(3)DNN生成帧级别的bn,然后bn用于训练ivector-based SLD; 用bn均值和标准差得到的segment-level的x-vector被用于SLD; (4)LSTM-based SLD.

研究一致表明,DNN-based SLD会比GMM, i-vector这种参数方法得到的更好。尤其是对于不能提供足够参数信息的短句子。但是对于小于3s的句子,DNN-based 方法性能也会显著下降。
但是对于智能汽车的语言系统中,大部分都是很短的句子。因此,本文提出一种基于transfer learning和TSM(time-scale modification)的端到端SLD。

用phase vocoder的方法调整短句子,做长度(语速)的调整,弥补信息。研究表明,音素分类器生成的DNN-BN特征会比原始的声学特征有更多的信息。因此用PLP+pitch训练中文音素分类器,然后用训练好的模型提取DNN-BN. DNN-BN特征打包成100帧的小块以适应short duration speech,对于小于100帧的,padding.然后送入到2层LSTM,用以建模特征序列,LSTM的最后一个状态输出包含整个block的信息,因此用softmax对最后一个状态做语言分类。

2. time-scale modification(前端)

短句子会使SLD系统的洗能下降,通过time-scale modification调整语速,然后将不同语速的句子拼接,从而扩大语音的长度,补充信息。
一种典型的技术—phase vocoder,不会对prosody, pitch信息损伤很多。
不正常的语速会降低识别的精度,SV模型的enroll和verification句子语速不匹配也会使得性能下降。语速信息会被包含在提取的特征里边,对于SR和SV,语速不匹配会使得性能下降,因此需要retrain these mismatch。然而,SLD任务中语速信息的丰富组合会改善性能。

phase vocoder的操作步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以通过加减速调整后的频谱和source频谱进行比较,说明没有失真。

3. Structure of neural network based SLD model

A. DNN-BN feature extractor

早期是用statistical model,比如用raw acoustic feature训练的ivector-based model,但是他的性能会和测试语句的长度密切相关,短句子性能就会下降。为了解决这个问题,采用其他的比raw acoustic feature包含更多信息的特征。
PRLM model的理论基础是语言是用音素特性分别开的,因此可以利用音素信息。用morphone lable作为target训练DNN,提取DNN-BN。

DNN 结构:一共L层,前L-1 层是sigmoid function+ linear layer+softmax layer
linear layer最接近morphone 判别器,包含足够的词素判别信息,用它作为DNN-BN 训练语言分类器。相比于包含phonetic information的unit level token feature, frame-level的DNN-BN特征有更高的时间分辨率,更适合短句子任务。

也有研究者提出用language lable作为训练目标,但是这个目标太粗了,不能提供足够的监督训练信息。

morphone label的标签粒度刚刚好,而且和SR任务强相关。用morphone 生成特征再用于SLD,可以看成相关任务预训练一个模型,然后迁移学习。morphone label也有助于交叉语言,也就是说用一种语言训练的DNN也可以识别其他的语言,这对于没有足够数据的小语种的识别很关键。

B. Feature block

DNN-BN特征序列被分成L-b的片段
(1)长句子(>Lb),最后Lb帧分成一个新的block;(2)短句子(<Lb),repeating,然后用分割长句子的方法打包extented feature
训练的时候,block数据的部分重叠可以最大限度利用有效的数据。测试短句子的时候,feature repeating的方法可以提供更多的信息。

C. LSTM-based Language Classifier

lstm层+softmax分类判别

datasets

数据集:AP17-OLR(来自the second oriental language recognition challenge, speechocean 海天瑞声录制的,多语言,少数语言asr数据集)

语料库:男女性别均衡,train/test no overlap
在这里插入图片描述一共有10种语言

conclusion

本文的3个创新点:(1)waveform上,TSM增加语音的长度;(2)feature domain,用音素分类器的DNN-BN特征;
(3)LSTM做language 分类器。
和i-vector based model以及单独的LSTM model,在SLD任务上性能有提升。

发布了98 篇原创文章 · 获赞 9 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_40168949/article/details/103763366