
清华大学 电子工程系, 北京 100084
收稿日期:2017-02-13
基金项目:国家自然科学基金面上项目(61374120)
作者简介:肖熙(1967-), 男, 副研究员。E-mail:xiaoxi@tsinghua.edu.cn
摘要:语音识别模型中帧间独立假设在给模型计算带来简洁的同时,不可避免地降低了模型精度,增加了识别错误。该文旨在寻找一种既能满足帧间独立假设又能保持语音信息的特征。分别提出了基于k均值和基于归一化类内方差的语音识别自适应聚类特征提取算法,可以自适应地实现聚类特征流的提取。将该自适应特征分别应用在Gauss混合模型-隐Markov模型、基于段长分布的隐Markov模型和上下文相关的深度神经网络模型这3种语音识别模型中,与基线系统进行了实验对比。结果表明:采用基于归一化类内方差的自适应特征可以使得3种语言模型的识别错误率分别相对下降10.53%、5.17%和2.65%,展示了语音自适应聚类特征的良好性能。
关键词:特征提取自适应聚类特征帧间独立假设归一化类内方差
Speech recognition adaptive clustering feature extraction algorithms based on the k-means algorithm and the normalized intra-class variance
XIAO Xi

Department of Electronic Engineering, Tsinghua University, Beijing 100084, China
Abstract: The inter-frame independence assumption for speech recognition simplifies the computations. However, it also reduces the model accuracy and can easily give rise to recognition errors. Therefore, the objective of this paper is to search for a feature which can weaken the inter-frame dependence of the speech features and keep as much information of the original speech as possible. Two speech recognition feature extraction algorithms are given based on the k-means algorithm and the normalized intra-class variance. These algorithms provide adaptive clustering feature extraction. Speech recognition tests with these algorithms on a Gaussian mixture model-hidden Markov model (GMM-HMM), a duration distribution based HMM (DDBHMM), and a context dependent deep neural network HMM (CD-DNN-HMM) show that the adaptive feature based on the normalized intra-class variance reduces the relative recognition error rates by 10.53%, 5.17%, and 2.65% relative to the original features. Thus, this adaptive clustering feature extraction algorithm provides improved speech recognition.
Key words: feature extractionadaptive clustering featureassumption of inter-frame independencenormalized intra-class variance
语音特征的概率表示模型一直是语音识别中的重点和难点问题。在经典的隐Markov模型[1](hidden Markov model,HMM)中,特征的概率模型经历了从单Gauss模型到复杂的Gauss混合模型[2](Gaussian mixture model,GMM)的发展过程。伴随着复杂模型的应用,语音识别的正确率也有了显著提高[3-5]。但是,这些经典的HMM模型大都假设语音特征序列是帧间独立的。
当前,针对语音信号的高冗余性和高度相关性,部分****从特征提取的角度入手,提取帧间相关性信息,例如通过传统的特征提取方式比如线性预测倒谱系数(linear prediction cepstrum coefficient,LPCC)的特征矢量预测Mel倒谱系数(Mel frequency cepstrum coefficient,MFCC)中的一、二阶差分;还有部分****通过神经网络[6]的非线性空间映射进行特征提取,如利用深度置信网络[7](deep belief network,DBN)提取的瓶颈特征[8]以及基于上下文相关的深度神经网络模型[9](context dependent deep neural network HMM,CD-DNN-HMM)前后多帧特征矢量输入的网络结构。以上这些研究表明,相邻近的语音帧应该相互高度依存,并非帧间独立,若要提升基于HMM框架的语音识别器性能,去除帧间相关性非常重要。
尽管许多****都意识到必须考虑特征序列的联合分布,但是为了模型的计算简洁,在实际应用中依旧采用了帧间独立的近似假设[10],这就不可避免地降低了模型精度,特别是在连续语音识别中会引发较多的插入错误。因此,寻找一种既能满足帧间独立假设又能保持语音信息的特征成为本文的研究目的。本文分别提出了基于k均值和基于归一化类内方差的两种语音自适应聚类特征提取算法。它们通过无监督聚类的方式,对特征流进行连续的自适应聚类,并使用连续输出的聚类中心作为新的语音特征,可以控制这些聚类特征的帧间距离,确保在尽可能多地保持原始语音信息的条件下削弱这些聚类特征之间的相关性,更好地满足模型计算的假设。将本文提出的语音自适应特征分别用于经典GMM-HMM以及标准DDBHMM模型[11]和现在被广泛应用的CD-DNN-HMM模型,其结果证明了本文提出的语音自适应特征的有效性。
1 汉语语音三音子模型本文实验中的连续语音识别模型采用三音子音节[12]建模。该模型较好地描述了语音声学模型中的上下文关系,能准确地表现连续语音信号的物理特性。每个汉字音节由持续2个状态长度的声母状态和持续4个状态长度的韵母状态组成。每个音素状态分为协同发音和非协同发音状态。协同发音表示该状态和前后音节有关,由前后音节与当前音节确定;而非协同发音只由当前音节确定。
三音子模型整体结构如图 1所示,I0、I1、F0、F1、F2、F3表示非协同发音,只由当前音节确定;I0C、F1C和F2C表示协同发音状态,需由前后音节的声韵母确定。模型结尾还有一个可被跨越的尾部噪声状态,用N表示。模型中使用汉语有调音节共计1 254个,由100个声母和164个韵母有选择地组成,有856个非协同发音状态。为控制状态模型规模,对声韵母分别聚类成声母27类、韵母29类,共有2 349个协同发音状态。加上尾部噪声,状态模型共计3206个。
![]() |
图 1 三音子模型识别示意图[12] |
图选项 |
2 语音识别自适应聚类特征的提取方式经典HMM假设帧间独立,即认为
$p\left( {\mathit{\boldsymbol{O}}|\lambda } \right) = p\left( {{\mathit{\boldsymbol{o}}_1},{\mathit{\boldsymbol{o}}_2},{\mathit{\boldsymbol{o}}_3} \cdots ,{\mathit{\boldsymbol{o}}_T}|\lambda } \right) = \prod\limits_{i = 1}^T {p\left( {{\mathit{\boldsymbol{o}}_i}|\lambda } \right)} .$ | (1) |
由于语音相邻帧是强相关的,因此可以压缩帧率,通过自适应聚类的方法获得逼近帧间独立的代表帧序列,用更加具有统计独立性的代表帧来取代原始强相关的语音特征序列,即
$p\left( {\mathit{\boldsymbol{O}}|\lambda } \right) = p\left( {\mathit{\boldsymbol{M}}|\lambda } \right) = \prod\limits_{j = 1}^N {p\left( {{\mathit{\boldsymbol{\mu }}_j}|\lambda } \right)} .$ | (2) |
$\left\{ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{O}} = \left[ {{\mathit{\boldsymbol{o}}_1},{\mathit{\boldsymbol{o}}_2} \cdots ,{\mathit{\boldsymbol{o}}_T}} \right]} \\ {\mathit{\boldsymbol{M}} = \left[ {{\mathit{\boldsymbol{\mu }}_1},{\mathit{\boldsymbol{\mu }}_2} \cdots ,{\mathit{\boldsymbol{\mu }}_N}} \right]} \end{array}} \right..$ | (3) |
设经过对齐O和M的映射关系为映射路径P,μP(i)表示第i个原始特征帧所对齐的聚类特征帧。式(4) 是在给定路径P的情况下,序列O和M之间的总距离度量。其中,d(oi, μj)表示oi和μj之间的距离。
${D_P}\left( {\mathit{\boldsymbol{O}},\mathit{\boldsymbol{M}}} \right) = \sum\limits_{i = 1}^T {{d_i}\left( {{\mathit{\boldsymbol{o}}_i},{\mathit{\boldsymbol{\mu }}_{\mathit{\boldsymbol{p}}\left( i \right)}}} \right)} .$ | (4) |
$\mathit{\boldsymbol{\hat P = }}{\rm{arg}}\;\mathop {{\rm{min}}}\limits_P {D_P}\left( {\mathit{\boldsymbol{O}},\mathit{\boldsymbol{M}}} \right).$ | (5) |
![]() |
图 2 基于K-均值的特征提取算法 |
图选项 |
本文中聚类函数C取均值函数,
$C\left( {\mathit{\boldsymbol{O}},{\bf{Seg}}} \right) = \left\{ {\frac{{\sum\limits_{i = {s_k}}^{{s_{k + 1}} - 1} {{\mathit{\boldsymbol{o}}_i}} }}{{{\rm{nu}}{{\rm{m}}_k}}}} \right\},\quad k = 1,2, \cdots ,N.$ | (6) |
3 实时化自适应聚类特征提取算法基于k均值分割的自适应语音特征提取算法仍然存在几个问题:1) 该算法受初始点影响大,因此需要多次随机初始化,最终选择序列距离最短的代表帧序列,无形中增加了大量的额外计算量;2) 代表帧的数量需要提前确定,若考虑到语音信号的多样性与随机性、不同说话人的语速变化,针对所有语音信号使用同一压缩率的做法显然不合理;3) 该算法不能满足动态实时聚类的需求。
因此,需要一种不仅能够实时聚类语音特征流,而且还能自动确定聚类数的自适应聚类方法。为此,本文引入了归一化类内方差(normalized intra-cluster variance,NICV)参数,第k个类的NICV定义为
${\rm{NIC}}{{\rm{V}}_k} = \frac{{\frac{{\sum\limits_{i = {s_k}}^{{s_{k + 1}} - 1} {d\left( {{\mathit{\boldsymbol{o}}_i},{\mathit{\boldsymbol{\mu }}_k}} \right)} }}{{{\rm{nu}}{{\rm{m}}_k}}}}}{{\frac{{\sum\limits_{i = {s_k}}^{{s_{k + 1}} - 1} {\mathit{\boldsymbol{o}}_i^2} }}{{{\rm{nu}}{{\rm{m}}_k}}}}} = \frac{{\sum\limits_{i = {s_k}}^{{s_{k + 1}} - 1} {d\left( {{\mathit{\boldsymbol{o}}_i},{\mathit{\boldsymbol{\mu }}_k}} \right)} }}{{\sum\limits_{i = {s_k}}^{{s_{k + 1}} - 1} {\mathit{\boldsymbol{o}}_i^2} }}.$ | (7) |
根据统计,对于第2节算法所提取的帧间特征,NICV分布如图 3所示。可以看出,绝大多数聚类簇的NICV都在0.1以内,可以以此参数为依据构造一种连续特征流自适应聚类方法。
![]() |
图 3 归一化类内方差的分布 |
图选项 |
设NICV的门限为θ,最大类内总帧数为L,算法步骤如下:
步骤1?初始化首个聚类中心为语音流首帧;
步骤2?若新语音数据与聚类中心归一化类内方差小于门限θ,且被聚类帧数小于L,则更新聚类中心,进入下一帧并重复步骤2,否则转步骤3;
步骤3?保留当前聚类中心,若没有新语音帧特征,则转步骤4,否则创建新聚类中心矢量,中心矢量等于当前语音帧特征,转步骤2;
步骤4?将保留的聚类中心序列作为代表帧序列输出。
改进算法不仅可以流化处理语音流,而且比固定聚类数的方法更加灵活合理。由于压缩了输出的帧数,算法在实时识别解码的效率上也有很大提升。下面引入相对压缩率η,
$\eta = \frac{N}{T},$ | (8) |
![]() |
图 4 改进算法的归一化类内方差与平均相对压缩率的关系 |
图选项 |
设D为原始的特征维度,β和γ为观测模型对单帧计算似然的加法次数和乘法次数。3种特征计算似然的运算量如表 1所示。通常β和γ远大于N·T·D,因此运算量被近似压缩了η倍。
表 1 3种特征计算似然加法和乘法运算量
特征 | 加法次数 | 乘法次数 |
原始特征 | T·β | T·γ |
基于k均值的聚类特征 | N·β + N·T·D | N·γ + 2N·T·D |
基于NICV的聚类特征 | N·β +2·T·D | N·γ + 3T·D |
表选项
4 自适应特征语音识别实验实验采用的语音数据来源于“863”连续语音录音数据,使用其中83人的连续语音数据库,共有48 373个句子,包含588 049个汉字音节,每人的采样时长约为50 min。选取70人语料作为训练数据集,其余13人语料作为测试数据集。数据采样率为16 kHz,帧长20 ms,帧移10 ms,每帧语音特征矢量由每帧语音的14维MFCC系数和1维归一化能量,以及它们的一阶差分、二阶差分系数,共45维的特征矢量组成。实验中声学模型采用汉语音节的三音子建模,模型中使用的有调音节共计1 254个,全部独立的HMM状态模型共有3 206个。
实验在GMM-HMM、DDBHMM和CD-DNN-HMM模型下分别对比基于k均值聚类和基于NICV门限聚类的自适应语音特征和原始MFCC特征的识别效果。
1) GMM-HMM框架下,特征的观测概率采用45维4个mixture的全协方差GMM,分别使用经典齐次HMM和DDBHMM。DDBHMM的段长分布用1维的Gauss分布表示。
2) CD-DNN-HMM模型下,输入为前后5帧加当前帧共11帧的多帧特征矢量串联,输出为3 206个HMM状态的后验概率。采用的DNN模型有1个输入层、4个隐层和1个输出层,共6层DNN结构,每层参数分别为495、1 024、2 048、2 048、4 096和3 206。网络输入层和隐层的激活函数采用relu函数,输出层采用softmax函数。
实验结果如表 2所示,特征1和特征2分别表示基于k均值和基于NICV门限的自适应语音特征。可见,应用基于k均值的自适应特征比基线MFCC特征系统效果好,齐次HMM、DDBHMM和CD-DNN-HMM总错误率分别绝对下降1.91%、0.82%和0.15%,相对下降9.31%、4.37%和1.28%。改进的基于NICV门限的自适应特征效果更好,对比基线系统总错误率绝对下降2.16%、0.97%和0.31%,相对下降10.53%、5.17%和2.65%。可见, 加入自适应特征,错误率有很明显的下降,而且改进的自适应聚类特征提取方法更加有效。
表 2 3种模型采用不同特征的连续语音识别总错误率
% | |||
齐次HMM | DDBHMM | CD-DNN-HMM | |
MFCC特征 | 20.51 | 18.75 | 11.69 |
特征1 | 18.60 | 17.93 | 11.55 |
特征2 | 18.35 | 17.77 | 11.38 |
特征1改善 | 1.91 | 0.82 | 0.15 |
特征2改善 | 2.16 | 0.97 | 0.31 |
表选项
5 结论本文首先提出了基于k均值的语音识别自适应聚类特征提取算法,并应用于连续语音识别任务。该算法用聚类中心作为输入特征的代表帧,能更好地满足语音识别模型中对语音信号帧间独立假设的描述。然后, 提出了一种基于NICV的改进算法,能够实时化地自适应聚类语音特征,大幅度减少运算代价。非特定人连续语音实验证明,使用该自适应语音聚类特征比使用原始的MFCC特征可以使识别错误率显著下降。
所提聚类特征有如下4个优点:1) 它们在聚类时无需先验训练的码本支持,可自适应实现,不会因为训练集数据不足出现失配现象;2) 每个聚类的语音帧数量并不固定,不仅可更好地描述语音的随机性,适应语速的变化,而且可对语音流实时处理;3) 本文方法有效地压缩了语音信号,提升了模型的训练和识别速度,工程应用价值明显;4) 本文方法较好地解决了HMM模型中帧间独立假设问题带来的影响,对GMM、DDBHMM和CD-DNN-HMM描述语音声学特征,都有较好的提升和补全作用。
参考文献
[1] | Rabiner L R. A tutorial on hidden Markov models and selected applications in speech recognition[J]. Readings in Speech Recognition, 1990, 77(2): 267–296. |
[2] | Reynolds D A, Rose R C. Robust text-independent speaker identification using Gaussian mixture speaker models[J]. IEEE Transactions on Speech & Audio Processing, 1995, 3(1): 72–83. |
[3] | Sainath T N, Kingsbury B, Saon G, et al. Deep convolutional neural networks for large-scale speech tasks[J]. Neural Networks the Official Journal of the International Neural Network Society, 2015, 64: 39–48. DOI:10.1016/j.neunet.2014.08.005 |
[4] | Ansari Z, Seyyedsalehi S A. Toward growing modular deep neural networks for continuous speech recognition[J/OL]. Neural Computing & Applications, 2016:1-20. DOI:10.1007/s00521-016-2438-x. |
[5] | Hinton G, Deng L, Yu D, et al. Deep neural networks for acoustic modeling in speech recognition:The shared views of four research groups[J]. IEEE Signal Processing Magazine, 2012, 29(6): 82–97. DOI:10.1109/MSP.2012.2205597 |
[6] | Yu D, Deng L, Seide F. The deep tensor neural network with applications to large vocabulary speech recognition[J]. IEEE Transactions on Audio Speech & Language Processing, 2013, 21(2): 388–396. |
[7] | Hinton G, Osindero S, Teh Y. A fast learning algorithm for deep belief nets[J]. Neural Computation, 1989, 18(7): 1527–1554. |
[8] | Yu D, Seltzer M L. Improved bottleneck features using pretrained deep neural networks[C]//INTERSPEECH 2011, Conference of the International Speech Communication Association. Florence, Italy, 2011:237-240. |
[9] | Dahl G E, Yu D, Deng L, et al. Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J]. IEEE Transactions on Audio Speech & Language Processing, 2012, 20(1): 30–42. |
[10] | Rabiner L R. A tutorial on hidden Markov models and selected applications in speech recognition[J]. Readings in Speech Recognition, 1990, 77(2): 267–296. |
[11] | 肖熙. DDBHMM语音识别模型的训练和识别算法[D]. 北京: 清华大学, 2003. XIAO Xi. The Training and Recognition Algorithm for DDBHMM Speech Recognition Model[D]. Beijing:Tsinghua University, 2003. (in Chinese) |
[12] | 李春, 王作英. 基于语音学分类的三音子识别单元的研究[C]//全国人机语音通讯学术会议. 深圳, 2001: 257-262. LI Chun, WANG Zuoying. Triphone recognition unit based on phonetics category[C]//The 6th National Coference of Human-Computer Speech Communication. Shenzhen, 2001:257-262. (in Chinese) |