计算机应用   2016, Vol. 36 Issue (9): 2609-2615  DOI: 10.11772/j.issn.1001-9081.2016.09.2609
0

引用本文 

秦楚雄, 张连海. 低资源语音识别中融合多流特征的卷积神经网络声学建模方法[J]. 计算机应用, 2016, 36(9): 2609-2615.DOI: 10.11772/j.issn.1001-9081.2016.09.2609.
QIN Chuxiong, ZHANG Lianhai. Acoustic modeling approach of multi-stream feature incorporated convolutional neural network for low-resource speech recognition[J]. Journal of Computer Applications, 2016, 36(9): 2609-2615. DOI: 10.11772/j.issn.1001-9081.2016.09.2609.

基金项目

国家自然科学基金资助项目(61175017,61403415)

通信作者

秦楚雄(1991-), 男, 山东章丘人, 硕士研究生, 主要研究方向:智能信息处理、语音信号处理, qinchuxiong911@163.com

作者简介

张连海(1971-), 男, 山东单县人, 副教授, 硕士, 主要研究方向:语音信号处理、语音识别

文章历史

收稿日期:2016-02-02
修回日期:2016-03-29
低资源语音识别中融合多流特征的卷积神经网络声学建模方法
秦楚雄, 张连海    
信息工程大学 信息系统工程学院, 郑州 450001
摘要: 针对卷积神经网络(CNN)声学建模参数在低资源训练数据条件下的语音识别任务中存在训练不充分的问题,提出一种利用多流特征提升低资源卷积神经网络声学模型性能的方法。首先,为了在低资源声学建模过程中充分利用有限训练数据中更多数量的声学特征,先对训练数据提取几类不同的特征;其次,对每一类类特征分别构建卷积子网络,形成一个并行结构,使得多特征数据在概率分布上得以规整;然后通过在并行卷积子网络之上加入全连接层进行融合,从而得到一种新的卷积神经网络声学模型;最后,基于该声学模型搭建低资源语音识别系统。实验结果表明,并行卷积层子网络可以将不同特征空间规整得更为相似,且该方法相对传统多特征拼接方法和单特征CNN建模方法分别提升了3.27%和2.08%的识别率;当引入多语言训练时,该方法依然适用,且识别率分别相对提升了5.73%和4.57%。
关键词: 低资源语音识别    卷积神经网络    特征规整    多流特征    
Acoustic modeling approach of multi-stream feature incorporated convolutional neural network for low-resource speech recognition
QIN Chuxiong, ZHANG Lianhai     
School of Information System Engineering, Information Engineering University, Zhengzhou Henan 450001, China
Background: This work is partially supported by the National Natural Science Foundation of China (61175017, 61403415).
QIN Chuxiong, born in 1991, M. S. candidate. His research interests include intelligent information processing, speech signal processing.
ZHANG Lianhai, born in 1971, M. S., associate professor. His research interests include speech signal processing, speech recognition.
Abstract: Aiming at solving the problem of insufficient training of Convolutional Neural Network (CNN) acoustic modeling parameters under the low-resource training data condition in speech recognition tasks, a method for improving CNN acoustic modeling performance in low-resource speech recognition was proposed by utilizing multi-stream features. Firstly, in order to make use of enough acoustic information of features from limited data to build acoustic model, multiple features of low-resource data were extracted from training data. Secondly, convolutional subnetworks were built for each type of features to form a parallel structure, and to regularize distributions of multiple features. Then, some fully connected layers were added above the parallel convolutional subnetworks to incorporate multi-stream features, and to form a new CNN acoustic model. Finally, a low-resource speech recognition system was built based on this acoustic model. Experimental results show that parallel convolutional subnetworks normalize different feature spaces more similar, and it gains 3.27% and 2.08% recognition accuracy improvement respectively compared with traditional multi-feature splicing training approach and baseline CNN system. Furthermore, when multilingual training is introduced, the proposed method is still applicable, and the recognition accuracy is improved by 5.73% and 4.57% respectively.
Key words: low-resource speech recognition    Convolutional Neural Network (CNN)    feature normalization    multi-stream feature    
0 引言

随着人们对于语音识别水平需求越来越多样,语音识别对于声学模型的要求越来越高。在低资源训练数据条件下,训练样本数量有限,声学模型参数训练严重不足,浅层的高斯混合模型——隐马尔可夫模型(Gaussian Mixture Model-Hidden Markov Model,GMM-HMM)已经无法满足建模要求。随着深度学习(Deep Learning)技术的深入发展,人们陆续提出使用深层神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)等模型取代传统的GMM,它们可以有效地对数据进行更深层次的建模,在多种连续语音识别任务中[1-3]取得了更优的识别效果。尤其是CNN,作为一种具有更为复杂的非线性变换能力的深层网络结构,在近几年来广泛应用于语音识别中,并在连续语音识别任务中取得了显著优于DNN的识别率[3]

从模型训练原理的角度来说,CNN的语音建模能力优于高斯混合模型(Gaussian Mixture Model, GMM)和DNN,具体表现在如下几点。

首先,CNN具有局部感受性(locality),特征映射的每个节点是通过上一层局部频带的F个节点卷积计算得到的,这种方法带来两点优势:第一,利用干净频谱可计算出性能优异的特征,仅有少量特征会受到噪声成分的影响,因此模型的鲁棒性得到提升;第二,局部卷积实际是对语音局部特性的一种增强,而网络的较高层通过将每个频带计算值组合起来,起到了平均的作用,因此该方法综合并且平衡了邻近频带的语音信息。

其次,CNN中的池化采样处理减弱了语音中频移的影响。由于不同说话人不同的声道长度会引起语音信号的频移,即使对于相同的说话人,也会产生较小的频移现象[4]。当使用GMM或者DNN模型解决这类问题时,需要大幅增加高斯混元或者隐含层节点的数量,即使对DNN的隐含层采用池化降采样以减少节点数,全连接计算方式也很难缓解频移问题。而在CNN中,由于相邻位置卷积计算得到的特征值是池化为一组的,因此当输入特征在频率轴上有频移时,这种差异得以最小化。

最后,CNN中同一特征映射的权值共享性导致参数总量受限,由于低资源条件下训练数据也是有限的,因此模型训练的稀疏程度会得到一定程度的减弱,网络参数训练相对更加充分,性能也就得到了相对提升。

虽然从模型训练的角度分析,CNN有着比其他模型更大的优势,但是当受限于训练数据量时,所得到的声学模型依然存在严重的训练不足问题。

针对CNN在语音识别中的研究有很多,文献[5-7]验证了CNN在大规模连续语音识别任务中的优越性;文献[8]验证了CNN在特征提取方面优于DNN;而文献[9]则通过大量实验详细地验证了CNN声学模型在低资源语音识别任务中优于DNN声学模型。CNN的局部卷积处理和池化采样处理不仅可以从有限的特征中提取更为细致的分类信息,还可以有效去除一些干扰信息,这些对训练数据有限的低资源声学模型训练过程尤为重要。

在有限的训练条件下,充分利用更多的特征进行建模是一种有效的方法,传统的融合多特征的训练方法是直接对多种特征进行拼接构成超矢量训练数据,该方法适用于DNN模型,并不适用于CNN模型,因为当卷积核跨越特征拼接交界处时,计算所得结果毫无意义。

为了在低资源条件下充分利用更多特征进行CNN声学建模,本文提出一种可行的融合多特征的训练方法。该方法充分利用不同表达形式的特征,通过并行子网络对多流特征进行独立的处理,最后使用全连接层对子网络进行融合。通过多特征流数据对网络的并行训练,得到一种适合于低资源语音识别的CNN声学模型。实验结果表明,并行的卷积层能够将分布差异较大的不同特征空间规整到分布更为相近的特征空间,以利于后续处理,从而增加了声学模型的有效训练数据,该方法在未明显增加训练参数的情况下,识别率不但优于单特征识别系统的识别率,还优于传统的多特征拼接建模方法;其次,对每个子网络均使用高资源语料进行共享式的辅助训练时,系统的识别率得到进一步提升,验证了模型的泛化性。

1 融合多流特征的CNN声学模型

CNN是标准神经网络的一种变体网络结构,不同于传统神经网络全连接层的结构,卷积神经网络包含了卷积(convolution)处理和池化(pooling)处理。

使用CNN对语音进行建模时,需要将输入声学特征组织成特征映射的形式,特征映射既可以是一维的也可以是二维的。根据文献[9],通过提取特征的静态、一阶差分和二阶差分三个分量形成初始的输入特征映射。

根据文献[5, 9],频移不变性比时移不变性更为重要,因此本文采用沿频率轴的一维卷积形式建立CNN卷积层,通过卷积核在特征映射上的移动实现对语音特征的卷积计算。如图 1所示,一个典型的CNN的卷积层通常包含卷积和池化采样过程。

图 1 CNN的一维卷积、池化处理和全连接层的结构示意图

在训练数据有限的条件下,使用单一特征不足以训练得到良好的网络参数,进而无法估计出较为准确的后验概率。对此本文提出使用多种特征训练CNN。由于不同语音声学特征的提取原理、算法不尽相同,通过卷积计算等深度处理,能够从多角度获取不同表达形式的同类语音信息,即获取到具有互补性表达形式的同类声学信息,因此有利于声学建模。

1.1 特征选择与模型建立

当前最经典、使用最广泛的多特征训练方法是将多类特征进行拼接,应用倒谱均值方差规整(Cepstral Mean and Variance Normalization,CMVN)技术对拼接特征预处理,然后对网络进行训练。该方法对于全连接层的DNN较为有效,然而当使用CNN建模时,卷积核跨越特征拼接交界计算所得结果毫无意义,因此常规的多特征训练方法不适用。为了更为有效地利用多特征信息进行CNN声学建模,提出一种基于并行式多特征训练的网络结构(如图 2)。首先使用多流特征进行独立的、并行式的子网络训练,子网络由卷积层构成,它们分别对不同特征进行深度处理,实现特征值规整;然后使用全连接层将多流子网络的输出汇聚在一起,使用三音子绑定状态作为训练目标,构成一个完整的声学模型。

图 2 并行式多特征训练CNN网络结构

在特征选择时,考虑到底层声学特征之间的互补性与相似性,为了使训练更具有实际意义,本文使用四种特征。具体来说,针对40维滤波器组(filter banks,fbanks)特征、257维功率谱(spectrogram)特征、13维梅尔频率倒谱系数(Mel-Frequency Cepstral Coefficient,MFCC)特征和3维的基音周期(pitch)特征制定不同的CNN多训练方案。这些特征有的基于频带滤波计算,有的基于能量计算,还有的基于离散余弦变换(Discrete Cosine Transformation,DCT),表达形式较为不同,涵盖长时信息与短时信息,特征空间差异较大。

在特征输入网络前进行预处理时,首先对于维数较小的fbanks、MFCC、pitch等特征提取一阶、二阶差分分量并进行前后5帧的拼接,这样输入时的特征映射数量均为33个;对于维数较大的spectrogram特征,提取一阶、二阶差分分量,并只进行前后1帧的拼接,这样该特征进行卷积时的输入特征映射数量为9个。总之,对于维数小的特征,单帧的细节信息较少,帧间的局部相关性较大,拼接帧数也就设置大一些;对于维数大的特征,单帧细节信息丰富,卷积时帧间的局部相关性较小,因此将拼接帧数设置小一些。

在模型构建时,对于并行网络部分,将fbanks、MFCC、pitch等部分的子网络均设置为“卷积层-池化采样层-卷积层”结构;对于spectrogram特征的子卷积网络,由于spectrogram特征维数很大,因此当卷积映射的节点太多时,其输出向量存在冗余,导致参数过多不利于训练,因此对高维特征的子网络部分再添加一个池化层进行降采样处理,这样一来,spectrogram特征子网络结构为“卷积层-池化采样层-卷积层-池化采样层”。

1.2 模型参数训练

为使CNN的训练过程更容易描述,将1×F卷积核用F个权值表示。这样每一层卷积计算可以用矩阵相乘形式表示,设第k流特征的第l个卷积层的权值描述矩阵为Wk, l,该矩阵由所有局部卷积权值矩阵构成,矩阵包含I×F行、J列,其中:F是一维卷积核所涵盖节点数(构成一个频带);I是每个频带内对应输入特征映射的数量;J为卷积计算得到下一层的特征映射的数量。整体权值矩阵如式(1)所示。

$ {\boldsymbol{W}^{k,l}} = {\left[ {\begin{array}{*{20}{c}} {w_{1,1,1}^{k,l}}&{w_{1,2,1}^{k,l}}& \cdots &{w_{1,J,1}^{k,l}} \\ \vdots & \vdots &{}& \vdots \\ {w_{1,1,F}^{k,l}}&{w_{1,2,F}^{k,l}}& \cdots &{w_{1,J,F}^{k,l}} \\ \vdots & \vdots &{}& \vdots \\ {w_{I,1,1}^{k,l}}&{w_{I,2,1}^{k,l}}& \cdots &{w_{I,J,1}^{k,l}} \\ \vdots & \vdots &{}& \vdots \\ {w_{I,1,F}^{k,l}}&{w_{I,2,F}^{k,l}}& \cdots &{w_{I,J,F}^{k,l}} \end{array}} \right]_{I \times F \times J}} $ (1)

对于输入特征第一层卷积处理过程,将ok记为第k流输入特征映射向量,qk, 1为第一次卷积特征映射的输出向量。

经过第一层卷积计算,所得卷积特征映射输出值计算如下:

$ q_{j,m}^{k,1} = \sigma \left( {\sum\limits_{i = 1}^I {\sum\limits_{n = 1}^F {o_{i,n + m - 1}^kw_{i,j,n}^{k,1} + b_{j,m}^{k,1}} } } \right) $ (2)

其中:qj, mk, 1是第j个特征映射向量第m个节点输出值;oi, mk是第i个输入特征映射的第m个节点输出值;wi, j, n为连接第i个输入特征映射和第j个卷积特征映射的卷积核描述权值向量的第n个权值;bj, mk, 1为第j个特征映射向量第m个节点的偏移量;σ(x)为卷积层的激活函数,在此选取常用的sigmoid函数,即σ(x)=(1+e-x)-1

设计算得到的每个卷积特征映射节点数均为Mk, lMk, l也即沿每个输入特征映射卷积的次数,它可以根据式(3)计算得到:

$ {M^{k,l}} = \left( {{F_k} - F} \right)/s $ (3)

其中:Fk为第k流声学特征维数;s为卷积步长,本文对每一流特征的卷积步长统一取值为1,即一维卷积核每次沿特征映射移动1个节点。

可以看出,卷积层和标准的全连接隐含层有两点不同:首先,每个卷积节点只接受特征映射局部节点的输入,这意味着它们只能用来表示输入的局部信息;其次,同一个特征映射中的每个节点接受来自低层节点不同区域的输入,但是它们拥有相同的权值(卷积核),称为权值共享(weight sharing)。

特征映射经过卷积处理后,为了降低卷积特征映射的尺寸,并且在一定程度上消除邻近频带的冗余信息,往往进行降采样处理。在CNN中,一般使用最大池化(max pooling)函数和平均池化(average pooling)函数实现采样,这些池化函数分别独立作用于每个特征映射。本文采用最大池化函数对卷积特征映射进行处理,设uj, mk, l为第j个卷积特征映射经采样后所得新特征映射的第m个节点,该节点值通过上一层卷积映射的第m个池化组计算得到,如式(4)所示:

$ u_{j,m}^{k,l} = \mathop {\max }\limits_{n = 1}^G q_{j,\left( {m - 1} \right) \times s + n}^{k,l} $ (4)

其中:G为池化采样尺寸(每个池化组所含节点数),s为池化偏移尺寸。

这样,对不同流特征进行不同的卷积、池化处理之后,得到每一流特征对应的子网络卷积特征流输出,然后使用一个全连接层对不同的并行子网络进行串接,如式(5)所示:

$ {\boldsymbol{u}_{fc1}} = \sigma \left( {\sum\limits_{{k_1} \in conv} {{\boldsymbol{q}_{{k_1}}} \bullet {\boldsymbol{W}_{{k_1}}} + \sum\limits_{{k_2} \in pooling} {{\boldsymbol{q}_{{k_2}}} \bullet {\boldsymbol{W}_{{k_2}}} + {\boldsymbol{b}_{fc1}}} } } \right) $ (5)

其中:ufc1表示在并行子网络之上的第一个串接全连接层的输出向量;不同特征子网络的最后一层处理不相同,k1k2分别表示子网络最后一层为卷积输出和池化采样输出时的特征流的标号,Wk1Wk2分别为对应子网络与全连接层间的权值矩阵;此外,设置第一个全连接层的偏移向量为bfc1; σ为全连接层的激活函数,同样选择sigmoid函数。

因此,卷积层权值的更新就可以使用传统的误差反向传播(Back Propagation,BP)算法进行计算,训练CNN时目标函数为:

$ D = \sum\limits_{t = 1}^T {\ln P\left( {s\left( t \right)|o\left( t \right)} \right)} $ (6)

其中:o(t)是一帧的训练特征向量;s(t)是o(t)对应的状态标签;T是训练特征总量。输出层的Softmax函数计算式可写为:

$ P\left( {s\left( t \right)|o\left( t \right)} \right) = \frac{{{{\exp }_s}\left( {{\boldsymbol{W}_{fc2}}{\boldsymbol{u}_{fc1}} + {\boldsymbol{b}_{fc2}}} \right)}}{{\sum\limits_{s'} {{{\exp }_{s'}}\left( {{\boldsymbol{W}_{fc2}}{\boldsymbol{u}_{fc1}} + {\boldsymbol{b}_{fc2}}} \right)} }} $ (7)

基于目标函数D,利用随机梯度下降(Stochastic Gradient Descent,SGD)法更新网络参数。设Lsub表示子网络层,Lfc表示全连接层,当误差信号传递至全连接层时,按照传统的方法计算该层整体的梯度;误差信号传递至并行子网络时,按照子网络的划分分解为相应的子误差信号,如式(8)所示计算梯度进行参数更新。

$ \left\{ \begin{array}{l} \left( {{\boldsymbol{W}^l},{\boldsymbol{b}^l}} \right) - \varepsilon \left( {\frac{{\partial D}}{{\partial \left( {{W^l},{b^l}} \right)}}} \right) \to \left( {{\boldsymbol{W}^l},{\boldsymbol{b}^l}} \right),\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;l \in {L_{{\rm{fc}}}}\\ \left( {{\boldsymbol{W}^{k,l}},{\boldsymbol{b}^{k,l}}} \right) - \varepsilon \left( {\frac{{\partial D}}{{\partial \left( {{W^{k,l}},{b^{k,l}}} \right)}}} \right) \to \left( {{\boldsymbol{W}^{k,l}},{\boldsymbol{b}^{k,l}}} \right),\;\;\;l \in {L_{{\rm{sub}}}} \end{array} \right. $ (8)

由于池化采样层没有权值的存在,因此并不存在参数更新,误差信号直接反向传递到每个池化组的最大值节点。

1.3 系统搭建方法

为了验证所提出模型的推广性,本文不仅考虑单语言训练的情况,还借助文献[10]的思想,考虑多语言条件下(目标低资源+高资源辅助语言)中间层共享训练的方案。融合多流特征的CNN声学建模方法主要由以下几个步骤构成:

步骤1 & #160;构建子网络。

对每类特征(只考虑特征种类,不考虑语言)建立相应的子网络,fbanks、MFCC、pitch等部分的子网络均设置为“卷积层-池化采样层-卷积层”结构;spectrogram特征子网络结构为“卷积层-池化采样层-卷积层-池化采样层”。

步骤2 & #160;构建完整的网络。

在并行子网络之上串接两个全连接层,然后按如下方法设置输出层:

1)对于低资源单语言的情况,利用MFCC特征训练GMM,通过强制对齐(force-alignment),使用其中的三音子绑定状态(senones)作为CNN的训练目标;

2)对于多语言的情况,对低资源语料和辅助训练语料分别使用MFCC特征训练隐马尔可夫模型(Hidden Markov Model, GMM),通过强制对齐得到CNN的多输出层。

步骤3 & #160;模型参数训练。

按照1.1节的特征选择方案对每类特征进行预处理,组织成特征映射的形式,准备训练。

1)低资源单语言训练时,对目标训练集的每一帧语音提取所需的四种特征,将四种特征同时送入子网络,按照1.2节所描述的方法进行参数训练,各自的特征训练对应的子网络,全连接层则是共同训练。

2)多语言训练时,对每种参与训练的语言的每一帧提取所需的四种特征,每种特征的子网络接受来自所有参与训练的语言的数据。使用多语言特征共同训练中间层参数,方法同文献[10-11],在此不作赘述。其中多语言同类特征独立训练对应的子网络,每种语言特征训练对应的输出层参数。

步骤4 & #160;测试识别系统。

通过训练HMM,得到基于多特征训练的CNN声学模型,然后搭建识别系统,使用低资源测试数据完成识别性能测试。

2 不同特征空间的相似性度量

之所以对不同特征采用不同子网络并行处理,而不是直接将所有特征拼接在一起,是因为不同声学特征的分布差异大,总体分布不规则。由于不同类别的特征其维度不同,无法按传统的欧氏距离进行直接比较。但是在网络参数的训练中,如果特征间的均值、方差相差较大,则训练样本之间的幅值相差较大,进而造成训练时的误差信号波动较大,不利于基于梯度下降的收敛;反之,若特征间的均值、方差越接近,则训练效果越好。因此,本文定义向量间的平均维度间距作为衡量不同特征空间相似度的评价指标,该指标的计算类似于欧氏距离的计算。dμ(i, j)为平均维度间均值距离,它表示第i类和第j类输入声学特征均值矢量的差异。对于维度为1×Ni的第i类特征,fik(k=1, 2, …, N1)表示该类特征第k维数据的均值,这样第i类声学特征中各维特征均值的向量fi=(fi1, fi2, …, fiNi); dσ2(i, j)为平均维度间方差距离,表示第i类和第j类输入声学特征方差矢量的差异,设vi表示第i类声学特征各维度方差的向量,这样vi=(vi1, vi2, …, viNi)。它们的计算如式(9)所示:

$ \left\{ \begin{gathered} {d_\mu }\left( {i,j} \right) = \frac{1}{{{N_i}{N_j}}}\sqrt {\sum\limits_{{N_i}} {\sum\limits_{{N_j}} {{{\left( {{f_{i{N_i}}} - {f_{j{N_i}}}} \right)}^2}} } } \hfill \\ {d_{\sigma 2}}\left( {i,j} \right) = \frac{1}{{{N_i}{N_j}}}\sqrt {\sum\limits_{{N_i}} {\sum\limits_{{N_j}} {{{\left( {{v_{i{N_i}}} - {v_{j{N_i}}}} \right)}^2}} } } \hfill \\ \end{gathered} \right. $ (9)

由于一维卷积计算针对语音频带的局部信息进行处理,因此在网络底层设置合适的卷积核可以将原本在分布上相差很大的多种特征映射规整到更为相似的特征空间内。使用Fi表示第一类特征在子网络中前向传递后的激活元输出的均值向量,同理有Fi=(Fi1, Fi2, …, FiMi);用Dμ(i, j)表示第i类和第j类子网络激活元输出特征平均维度间均值距离;使用Vi表示第一类特征在子网络中前向传递后的激活元输出的均值向量,Vi=(Vi1, Vi2, …, ViMi), 用Dσ2(i, j)表示第i类和第j类子网络激活元输出特征平均维度间方差距离。它们计算方法如式(10)所示:

$ \left\{ \begin{gathered} {D_\mu }\left( {i,j} \right) = \frac{1}{{{M_i}{M_j}}}\sqrt {\sum\limits_{{M_i}} {\sum\limits_{{M_j}} {{{\left( {{F_{i{M_i}}} - {F_{j{M_i}}}} \right)}^2}} } } \hfill \\ {D_{\sigma 2}}\left( {i,j} \right) = \frac{1}{{{M_i}{M_j}}}\sqrt {\sum\limits_{{M_i}} {\sum\limits_{{M_j}} {{{\left( {{V_{i{M_i}}} - {V_{j{M_i}}}} \right)}^2}} } } \hfill \\ \end{gathered} \right. $ (10)

由于不同声学特征的提取算法差异较大,因此在取值上差异也很大。而经过式(2)的卷积计算和sigmoid激活函数的作用之后,特征取值必定被规整到更为相似的特征分布空间,因此平均维度间的差异性更小,即有:

$ \left\{ \begin{array}{l} {D_\mu }\left( {i,j} \right) \ll {d_\mu }\left( {i,j} \right)\\ {D_{\sigma 2}}\left( {i,j} \right) \ll {d_{\sigma 2}}\left( {i,j} \right) \end{array} \right. $ (11)

正是由于不同流特征所包含元素的幅值得到了相似性的规整,因此多特征训练效果才优于单特征训练效果,本文在实验部分也验证了这一点。

经过子网络规整后的特征进入全连接层进行融合训练时,CNN高层网络部分的参数可接受更多有效训练数据的训练,因此所得声学模型的性能优于单特征训练时的情况。训练时,当误差信号传递至并行网络部分时,对应的误差信号传递至对应的子网络进行相互独立的训练,即子网络的参数更新只与对应特征计算得到的梯度相关,串行的全连接层部分则由所有特征共同参与训练。

3 实验与分析 3.1 实验语料与评价指标

实验采用Vystadial 2013 English data和Vystadial 2013 Czech data两种语料。Vystadial 2013 English data(Vystadial_en)是一类开源的英语语料库[12],全部时长41 h,来源于人工信息服务系统的对话语音数据;Vystadial 2013 Czech data(Vystadial_cz)是开源的捷克语语料库[13],全部时长15 h,来源于:Call Friend电话服务的语音数据、Repeat After Me的语音数据和Public Transport Info的口语对话系统的语音数据。

实验评价指标有三个。

第一个是识别性能指标,使用连续语音识别中的词错误率(Word Error Rate,WER)来表示。设N为语料库人工标注文本中词(全部正确词)的数量,W为解码连续语音与人工标注作对比统计出的插入词、删除词、替代词的个数,r表示WER,将r定义为两者的比值,并化为百分率,如式(12)所示:

$ r = \frac{W}{N} \times 100\% $ (12)

第二个评价指标为模型参数数量, 用P表示,模型计算复杂度与它成正比。P的计算公式如式(13)所示:

$ \begin{gathered} P = \sum\limits_{i \in Conv} {\left( {{c_i} \times {N_i} \times {N_{i + 1}} + {N_{i + 1}}} \right)} + \hfill \\ \sum\limits_{j \in \left\{ {FC,Softmax} \right\}} {\left( {{M_j} \times {M_{j + 1}} + {M_{j + 1}}} \right)} \hfill \\ \end{gathered} $ (13)

分两部分计算参数数量P:一部分为卷积层的参数,一部分为全连接层和Softmax层参数。对于第一部分的权值与偏移量的计算,式中ci为该层一维卷积核所包含的节点数,Ni表示该层特征映射的个数;第二部分较为简单,只需根据层间节点数即可计算得到全连接层参数数量。

第三个评价指标为多特征间的平均特征维度差异,使用2.1节中定义的平均维度间均值距离和平均维度间方差距离两个指标来衡量。

3.2 实验工具与硬件条件

实验使用Kaldi工具包[14]进行数据准备、底层声学特征和高层声学特征的提取、语言模型的声学模型的训练与解码。声学模型训练、解码矩阵分解的过程基于12核3.07 GHz Xeon CPU实现,神经网络的训练则基于单核Quadro 600 GPU进行计算。

3.3 基线系统

首先设定低资源语料环境,选取Vystadial_cz中的1 h训练语料作为训练集,总共1504句话;再选取Vystadial_cz语料库测试语音部分的30 min左右的数据作为测试集,包含666句话,共3910个待识别词。基于Vystadial_cz语料库中全部训练语料的标注文本构建发音字典并训练二元语言模型(Bigram Language Model);辅助训练语料为全部Vystadial_en训练语料的一半(约19.7 h)。

为得到基线低资源单特征训练的DNN与CNN声学模型,首先训练GMM声学模型以获取网络训练目标,对1 h的Vystadial_cz语料数据提取13维MFCC特征,训练基于线性判别分析(Linear Discriminant Analysis,LDA)和最大似然线性变换(Maximum Likelihood Linear Transform,MLLT)的三音子GMM声学模型(13维MFCC特征进行9帧拼接,LDA降到40维),该模型高斯混元数为19200个;然后利用特征空间最大似然线性回归(feature-space Maximum Likelihood Linear Regression,fMLLR)技术进行说话人自适应训练(Speaker Adaptive Training,SAT),从而构成LDA+MLLT+SAT的GMM声学模型。通过对该模型强制对齐的方式,得到DNN和CNN的训练目标。这样,它们的Softmax层均含有915个节点。

训练基线DNN,将fbanks特征进行左右五帧的拼接,因此输入层有440个节点,设置4个隐含层,每个隐含层节点均为1024个。训练集和交叉验证(cross-validation)集各占训练数据的90%和10%。对每个隐含层(包含BN层)进行20轮的受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)预训练,然后利用BP算法进行全局参数的微调,在训练过程中,学习速率设置初始值为0.08,每当相邻两轮训练的验证误差小于0.1%时就将学习速率衰减一半,当衰减之后相邻两轮的验证误差再次小于0.1%时训练停止。此外minibatch尺寸设为256。

训练基线CNN,首先提取fbanks特征的一阶、二阶差分量,然后进行5帧的拼接,这样输入的特征映射节点共有1320个。网络同样设置4个中间计算层,其中包含底层的两个卷积层和高层的两个全连接层。全连接层的节点数为1024;对于第一个卷积层,设置卷积核尺寸为1×8, 沿频带的卷积移动步长为1,设置卷积特征映射的数量为128(即卷积所得特征映射数量);对于第二个卷积层,设置卷积核尺寸为1×4, 沿频带的卷积移动步长为1,设置卷积特征映射的数量为256。在第一个卷积层和第二个卷积层之间设置一个池化采样层,池化采样尺寸为3,移动步长也为3,这样节点数降采样为原节点数的三分之一。学习速率和minibatch设置同DNN基线系统,网络不进行预训练。

此外,训练基于传统多特征拼接方法的神经网络作为对比的多特征基线系统。根据1.2节的分析,CNN不适用于多特征拼接的训练方法,因此将该方法应用于DNN。为得到最优结果,使用fbanks、spectrogram、MFCC、pitch等四种特征进行多特征拼接,实验表明当fbanks、MFCC、pitch特征进行11帧拼接,spectrogram特征进行3帧拼接时可得最优结果。拼接后对特征超矢量作CMVN,DNN训练设置与基线DNN相同。

表 1前三行为基线系统实验结果,可知在输入相同、网络结构相似的情况下,基于CNN声学模型识别系统的词错误率相对DNN声学模型识别系统的词错误率降低了2.72%(62.76%→61.05%),且参数数量降低约21.69%(5.44×106→4.26×106);而传统的多特征拼接训练方法使得DNN识别系统词错误率相对降低1.55%(62.76%→61.80%),但是参数规模增大很多。

表 1 不同声学模型的识别系统词错误率与参数规模
3.4 基于多流特征训练的实验结果

在多流特征训练声学模型的实验中,根据1.2节图 2所描述的CNN网络结构,引入3维pitch、13维MFCC以及257维spectrogram特征,训练声学模型搭建识别系统。设计五个实验方案,每种实验方案均在基线系统网络的基础上加入并行子网络。

方案一 & #160;引入3维pitch特征与13维MFCC特征(11帧拼接,计算一阶、二阶差分量,下同),加入一个并行的全连接子网络(与卷积子网络作对比),包含两层,节点数均为200,其余参数设置与基线CNN相同。

方案二 & #160;引入13维MFCC特征构建并行卷积层,结构为“卷积-池化采样-卷积”,设置第一层和第二层的卷积核分别为1×5和1×2, 卷积特征映射数量分别为64和128,卷积移动步长均为1,采样尺寸为3,采样移动步长为3,其余参数设置与基线CNN相同。

方案三 & #160;引入13维MFCC特征与3维pitch特征,将两类特征视为同一流特征,构建共同的卷积层,训练参数设置与方案二相同。

方案四 & #160;引入257维spectrogram特征(实验表明该特征维数过大,当拼接帧数多时性能反而会降低,因此只进行3帧的拼接,计算一阶、二阶差分量),同样对该特征设置两个并行卷积层和一个采样层,第一层和第二层的卷积核分别为1×9和1×3, 卷积特征映射数量分别为8和16,卷积移动步长均为1,采样尺寸为3,采样移动步长为3,其余参数设置与基线CNN相同。

方案五 & #160;引入257维spectrogram特征、13维MFCC特征和3维pitch特征,对基线系统网络添加两个并行的卷积子网络,其中spectrogram特征对应的子网络与方案四相同,而13维MFCC+3维pitch特征对应的子网络与方案三相同,其余参数设置与基线CNN相同。

方案一到方案五的实验结果如表 1所示。比较方案一和方案三可知,全连接层对特征的规整变换效果不如卷积层;比较方案二、三、四、五,可知随着特征流的增多,声学模型性能越来越好,并且网络的训练参数并没有显著增多。当引入四种特征对CNN声学模型进行改进时(即方案五)识别率最优,对比基线CNN系统,以增加19.72%(4.26×106→5.10×106)参数数量为代价换取了词错误率2.08%(61.05%→59.78%)的相对降低,而且由于在低资源数据条件下进行训练,因此CNN训练时间并未明显增加。对比基线多特征拼接DNN,不但识别词错误率降低3.27%(61.80%→59.78%),而且还减少了20.44%(6.41×106→5.10×106)的参数数量。

再根据平均特征维度均值、方差距离的计算方法,对比各特征间的差异性,结果如表 2。对比表中卷积前后的结果,发现卷积子网络(CONV)有效降低了不同维度特征之间的均值、方差差异性,尤其每一维特征方差间差异得到极大降低。而特征元素幅值的差异性越小,特征分布越相似,因此该方法能有效起到规整特征空间的作用。对于低资源语音识别而言,该方法等效于增加有效训练样本,低资源声学模型的训练效果必然会得到提升。综上所述,使用多特征构建并行子网络的方法有利于提升低资源下CNN声学模型训练效果。

表 2 不同特征间的相似性
3.5 引入多语言训练时多特征CNN模型的扩展实验

在该部分实验中,引入高资源训练语料进行多语言共享训练,验证该多特征训练CNN模型对多语言训练的扩展性。

设计两种实验方案,方案六在基线CNN的基础上引入约19.7 h的英语辅助语料,网络的中间层参数共享,且拥有两个输出层;方案七在方案五的基础上引入同样的英语辅助语料,不同语料的相同种特征混合在一起,送入同一个子网络进行共享训练。对于高资源英语语料部分的网络的构造,首先对该部分训练数据训练基于LDA+MLLT+SAT的英语GMM声学模型,然后通过模型强制对齐得到输出层的训练目标,这样英语部分的CNN输出层节点数为1031个。

对比基线CNN与方案六,可以证明使用单特征时多语言训练对CNN的有效性;对比方案五和方案七,说明基于多特征训练结构的CNN在引入多语言训练后得到了更大的识别性能增益。这些实验都说明本文所提出的基于多特征的CNN声学模型对于单语言、多语言训练数据都适用,具有一定的泛化能力。此外,对比实验方案五和方案六,发现多特征训练与多语言训练的结果相差无几,更加说明子网络对不同特征进行规整等效于增加了有效的训练数据。

综上所述,方案七得到了最好的识别率,它的词错误率相对基线DNN系统降低了7.17%(62.76%→58.26%),体现了CNN建模相对DNN建模的模型优越性;将词错误率相对基线CNN系统降低了4.57%(61.05%→58.26%),体现了多特征训练相对于单特征训练的优越性;同时相对基线多特征拼接DNN系统的识别词错误率和参数规模分别降低了5.73%(61.80%→58.26%)和3.90%(6.41×106→6.16×106),体现出本文多特征训练方法相对于传统特征拼接方法的优越性。

4 结语

本文针对低资源条件下的CNN声学模型进行改进,从网络结构入手,提出了一种可行的融合多流特征的训练方法。为了充分利用低资源训练数据的多种特征表达,在底层构建并行卷积子网络,然后通过全连接的方式进行多特征流的融合,得到一种适用于CNN的多特征网络结构。实验表明,并行的子网络对不同特征起到了特征空间规整的作用,该方法相对所有单特征基线系统的识别率实现了有效的提升,相对于传统的多特征拼接融合训练方法,不但有效提升了识别率,还降低了参数规模。实验还表明,该方法对多语言共享训练方式同样适用,验证了该模型具有一定的扩展性。

参考文献
[1] HINTON G, LI D, DONG Y, 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 (0)
[2] 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 and Language Processing, 2012, 20 (1) : 30-42. doi: 10.1109/TASL.2011.2134090 (0)
[3] ABDEL-HAMID O, MOHAMED A-R, JIANG H, et al. Applying convolutional neural networks concepts to hybrid NN-HMM model for speech recognition [C]// ICASSP 2012: Proceedings of the 2012 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2012: 4277-4280. (0)
[4] ABDEL-HAMID O, MOHAMED A-R, JIANG H, et al. Convolutional neural networks for speech recognition[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2014, 22 (10) : 1533-1545. doi: 10.1109/TASLP.2014.2339736 (0)
[5] ABDEL-HAMID O, DENG L, YU D. Exploring convolutional neural network structures and optimization techniques for speech recognition [EB/OL]. [2016-01-05]. https://www.researchgate.net/publication/264859599_Exploring_Convolutional_Neural_Network_Structures_and_Optimization_Techniques_for_Speech_Recognition. (0)
[6] SAINATH T N, MOHAMED A-R, KINGSBURY B, et al. Deep convolutional neural networks for LVCSR [C]// ICASSP 2013: Proceedings of the 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2013: 8614-8618. (0)
[7] SAINATH T N, MOHAMED A-R, KINGSBURY B, et al. Improvements to deep convolutional neural networks for LVCSR [C]// ASRU 2013: Proceedings of the 2013 IEEE Workshop on Automatic Speech Recognition and Understanding. Piscataway, NJ: IEEE, 2013: 315-320. (0)
[8] MIAO Y J, METZE F. Improving language-universal feature extraction with deep maxout and convolutional neural networks [C]// INTERSPEECH 2014: Proceedings of the 2014 International Speech Communication Association Annual Conference. Singapore: International Speech Communication Association, 2013: 800-804. (0)
[9] CHAN W, LANE I. Deep convolutional neural networks for acoustic modeling in low resource languages [C]// ICASSP 2015: Proceedings of the 2015 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2015: 2056-2060. (0)
[10] HUANG J T, LI J Y, YU D, et al. Cross language knowledge transfer using multilingual deep neural network with shared hidden layers [C]// ICASSP 2013: Proceedings of the 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2013: 7304-7308. (0)
[11] MIAO Y, METZE F. Improving low-resource CD-DNN-HMM using dropout and multilingual DNN training [EB/OL]. [2015-11-22]. http://www.isca-speech.org/archive/archive_papers/interspeech_2013/i13_2237.pdf. (0)
[12] KORVAS M, PL & #193;TEK O, DU & #352;EK O, et al. Vystadial 2013—English data [EB/OL]. [2015-10-12]. https://lindat.mff.cuni.cz/repository/xmlui/handle/11858/00-097C-0000-0023-4671-4. (0)
[13] KORVAS M, PL & #193;TEK O, DU & #352;EK O, et al. Vystadial 2013—Czech data [EB/OL]. [2015-11-12]. https://lindat.mff.cuni.cz/repository/xmlui/handle/11858/00-097C-0000-0023-4670-6?locale-attribute=cs. (0)
[14] POVEY D, GHOSHAL A, BOULIANNE G, et al. The Kaldi speech recognition toolkit [EB/OL]. [2015-11-12]. https://www.researchgate.net/publication/228828379_The_Kaldi_speech_recognition_toolkit. (0)