APP下载

采用最少门单元结构的改进注意力声学模型

2018-07-26龙星延张文林徐思颖

信号处理 2018年6期
关键词:音素声学注意力

龙星延 屈 丹 张文林 徐思颖

(战略支援部队信息工程大学信息系统工程学院, 河南郑州 450001)

1 引言

声学模型(Acoustic Model, AM)是连续语音识别系统的核心模块,也是语音识别热门研究领域。由于隐马可夫模型(Hidden Markov Model, HMM) 能描述语音信号时变性和非平稳性,同时拥有完成的理论体系和高效的模型参数估计与解码算法,它与高斯混合模型(Gaussian Mixture Model, GMM)组合成的GMM-HMM模型一直是主流的声学模型。伴随深度学习和人工智能技术等的兴起,深度神经网络(Deep Neural Network, DNN)与HMM组合的声学模型进一步提升识别率[1]。但基于HMM的声学模型存在以下缺陷:HMM假设当前状态的先验概率只受上一状态影响,不能充分记录和利用音素序列的时序信息;HMM建模依赖发音字典、决策树聚类等相关语言学知识。

为弥补HMM模型的缺陷,文献[2]提出在GMM-HMM框架上采用序列区分性准则重新训练模型,充分学习特征序列的时序信息以提高识别准确率。在GMM-HMM框架下有效序列区分性准则包括最大互信息准则[3](Maximum Mutual Information, MMI)、增强型最大互信息准则[4](boosted MMI, bMMI)、最小音素错误[5](Minimum Phone Error, MPE)和最小贝叶斯风险[6](Minimum Bayes Risk, MBR)。文献[7]提出基于MMI准则的瓶颈深置信网络特征提取方法改进GMM-HMM系统性能。文献[8]在DNN-HMM模型中引入序列区分性准则,进一步提升声学模型的识别性能。Graves等人提出连接时序分类算法[9](Connectionist Temporal Classification, CTC),实现语音特征序列到音素序列的直接映射,建立基于CTC的端到端声学模型[10]。文献[11]在此基础上通过加权有限状态机将其与语言模型相结合并用于连续语音识别。与基于HMM声学模型相比,端到端模型不需要先验对齐信息和建立决策树等步骤,并且通过将字素作为建模对象可以摆脱对发音字典的依赖,但识别性能存在一定差距。

Cho等人提出一种基于循环神经网络的“编码-解码”端到端模型,并成功应用于机器翻译[12]。该模型通过编码网络将不同长度输入序列压缩成固定长度目标向量,解码网络再将目标向量作为特征识别逐一得到输出序列。Bahdanau等人在该模型中引入注意力机制,改进其在机器翻译任务中的性能[13]。注意力机制就是通过引入一个子网络对输入序列中所有元素进行关联度打分,再将归一化后的分数作为权重系数合成目标向量。注意力模型成功应用于图片自动标注[14]、音素识别[15]和连续语音识别[16]任务中。虽然该算法获得了性能的进一步提升,但仍然存在参数规模大、训练耗时极为严峻的问题,尽管通过硬件GPU可以部分解决,但从算法层面研究仍然是一个热点问题。此外,原始注意力声学模型存在在噪声环境下鲁棒性能差和音素与特征对齐不准确的问题[17]。

本文在基于注意力机制的“编码-解码”端到端模型基础上,提出了基于最少门单元结构的改进注意力声学模型。该模型首先将最少门结构单元替换原有循环神经网络单元,从而减少参数规模,提升训练速度;其次在计算注意力权重系数时,在文献[16]基础上,采用自适应宽度的窗函数和在计算注意力系数特征的卷积神经网络中添加池化层,进一步特征和音素对齐的准确度,进而提升声学模型的识别性能。

2 相关研究

2.1 基于门循环单元的循环神经网络

循环神经网络的内部呈环状结构,即当前时刻隐含层状态ht可以表示以前一时刻隐含层状态ht-1和当前时刻输入xt为输入的函数,如式(1)所示。

ht=g(xt,ht-1)

(1)

其中,g为循环神经网络的传递函数,普通循环神经网络以式(2)作为传递函数。

g(xt,ht-1)=Whxxt+Whhht-1

(2)

其中,Whh为隐含层内部传递矩阵,Whx为输入层到隐含层传递矩阵。

最后将隐含层ht作为输入,将sigmod函数作为激活函数计算得到输出层状态yt,如式(3)所示。

yt=sigmod(ht)

(3)

研究表明[18],由于普通RNN采用将隐含层状态与权重矩阵相乘的方式传递历史信息,导致训练过程中计算反向梯度时出现梯度消失和梯度爆炸的问题,无法有效传递长时记忆信息。为解决该问题,Hochreiter提出基于长短时记忆(Long Short-Term Memory, LSTM)单元的循环神经网络模型[18]。LSTM的传递函数g是一个复杂的非线性函数,内部设置记忆单元记录历史信息,通过门函数控制历史信息在特定时刻“累加”至隐含层状态,从而保证长时信息的有效传输。由于LSTM内部结构复杂,Cho提出门循环单元(Gate Recurrent Unit, GRU)。GRU结构只保留2个门函数且不包含额外记忆单元,在机器翻译测试中性能优于LSTM[12]。

给定特征序列(x1,x2,...,xT),GRU以式(4)作为传递函数得到隐含层序列(h1,h2,...,hT)

rt=σ(Wr[ht-1,xt]+br),

ht=zt⊙tanh(Wh[rt⊙ht-1,xt]+bh)+

(1-zt)⊙ht-1

(4)

ht=GRU(xt,ht-1)

(5)

2.2 最少门单元

基于GRU单元的多层循环神经网络在应用时,需要保存和训练大量的参数,导致模型耗费大量存储空间,收敛速度较慢。针对该问题,采用文献[19]提出的最小门单元(Minimal Gated United, MGU)结构替代原始的GRU结构。MGU结构具有更少的参数,并且在图像识别、语言模型、单词预测实验中的性能与GRU接近[19]。文献[19]中未在语音识别领域进行实验,本文将MGU结构应用于基于注意力的端到端声学模型,测试其在语音识别中的性能。

MGU结构在GRU结构的基础上,让重置门rt和遗忘门zt共享一套参数,其传递函数如式(6)所示:

ht=zt⊙tanh(Wh[zt⊙ht-1,xt]+bh)+

(1-zt)⊙ht-1

(6)

ht=MGU(ht-1,xt)

(7)

2.3 注意力机制

注意力机制是在序列到序列的模型中,通过模拟人类视觉机制,从输入特征序列中提取有效特征的技术。序列到序列模型中,需要先将变长特征序列(h1,h2,...,hT)映射成一个目标向量ct,该目标向量将序列中的重要信息进行压缩,从而实现变长序列到固定长度矢量的变换;再将ct作为输入,通过循环神经网络逐个计算出隐含层状态序列(s1,s2,...,sO),最终得到输出序列(y1,y2,...,yO)。

文献[12]在机器翻译任务中将序列时刻T的特征hT作为目标向量,即ct=hT。这种提取特征的方式没有利用特征序列其他时刻特征信息,因此表征能力受限。实际序列到序列建模问题中,例如机器翻译和语音识别,输出序列的元素总是与输入序列的特定元素存在对应关系,而采用注意力机制进行特征提取能够准确地描述和利用这种对应关系[13]。采用注意力机制计算输出序列位置o∈{1,2,...,O}对应的目标向量cto过程如下:

首先,计算输出序列前一位置隐含层状态so-1与时刻t的特征的关联度,如式(8)所示:

eo,t=a(so-1,ht)

(8)

其中,a(·)代表注意力子网络,它是只含一个隐含层的多层感知器,可表示式(9):

eo,t=ωTtanh(W[so-1,ht]+b)

(9)

其中,W和b输入层到隐含层权重矩阵和偏置向量,ω隐含层到输出层权重矩阵。

然后,对所有时刻特征的关联度进行指数归一化。归一化后的数值称为注意力系数,如式(10)所示:

(10)

最后,将注意力系数作为权重,对所有时刻的特征加权求和,得到注意力机制下输出序列位置o的目标向量cto,如式(11) 所示:

(11)

采用注意力机制计算目标向量的过程,可以简记为式(12):

cto=attention([h1,h2,...,hT],so-1)

(12)

3 基于最少门单元的改进注意力声学模型

基于注意力机制的端到端模型最早应用于机器翻译[13],它能自动学习序列内部的时序信息,实现任意长度的输入序列到输出序列的直接建模。语音识别可看成是语音特征到音素的“翻译”,因此该模型也能应用于语音识别的声学模型。在基于注意力机制的端到端模型基础上,本文提出的改进算法模型如图1所示,模型由编码网络、解码网络和注意力子网络三个模块组成。编码网络采用基于MGU单元的深层循环神经网络,目的是学习和挖掘语音特征序列的前后依赖关系,提取语音的高层特征,增强特征的表达力和区分性;解码网络由基于MGU单元单层循环神经网络和maxout网络连接而成,目的是根据注意力机制得到的目标向量计算序列每个位置上所有音素出现的后验概率。注意力子网络是含一个隐含层的多层感知器,输入是上一时刻自身的输出,编码网络的输出,解码网络的前一个隐含层状态,输出是注意力系数。

图1 带注意力机制的“编码-解码”模型Fig.1 Structure of attention based encoder-decoder model

3.1 基于最少门单元的编码网络

基于最少门单元的编码网络中,将原有模型的GRU单元替换成MGU单元,目的是减少参数规模和训练时间。该编码网络由两组基于MGU单元的多层循环神经网络组成,分别为前向网络和后向网络。双向网络的结构能够同时传递过去和未来的信息,保证高层特征的信息量。网络输入为原始语音特征序列(x1,x2,...,xT),输出为高层特征序列(h1,h2,...,hT)。

(13)

(14)

(15)

拼接前向网络和后向网络的第c层隐含状态,得到编码网络在时刻t的高层特征ht,如式(16)所示:

(16)

3.2 基于最少门单元的解码网络

解码网络由基于MGU的循环神经网络和maxout网络串联组成。它将编码网络计算得到的高层特征序列(h1,h2,...,hT)作为输入,计算输出序列(y1,y2,...,yO)。yo代表输出序列位置o上所有音素的后验概率,yo计算过程如下:

首先,解码网络将注意力子网络计算得到目标向量cto,作为基于MGU单元循环神经网络的输入,按照式(17)计算循环神经网络的隐含层状态so。

so=MGU(so-1,cto)

(17)

(18)

(19)

其中,d为输入隐含层状态so的维度,对应隐含层单元数目,W:,i, j∈Rd×m×k和bi, j∈Rm×k为maxout网络参数矩阵和偏置向量,k为maxout网络每个隐含层单元的候选单元数,m为输出层单元数目,在声学模型中对应输出音素种类数目。

最后,如式(20)所示,由maxout网络的输出层得到输出向量yo,yo第i个分量表示输出序列第o个位置上出息音素i后验概率

(20)

3.3 注意力机制改进

原始注意力模型中,注意力子网络对所有时刻的高层特征都计算关联度,而由于实际声学模型输出序列有很大概率出现相同音素,导致重复出现的音素在多个时刻的特征都拥有较大的关联度,从而造成注意力分散在错误的特征区域,影响识别性能。文献[16]通过增加窗函数限定注意力区域和增加卷积神经网络引入系数特征部分解决该问题,但仍然存在注意力对齐不准确地情况。在此基础上,我们采用自动调节窗口宽度的窗函数并且在卷积神经网络中加入池化层,进一步提升该模型在噪声环境中鲁棒性。采用自适应宽度的窗函数避免了注意力窗口内部注意力分布过于分散,并且减少音素对齐区域相重叠的现象,进而提升对齐关系的准确度。在卷积神经网络加入平均池化层能减轻噪声对注意力区域分布的干扰,从而增强模型鲁棒性。

3.3.1 自适应宽度的窗函数

在计算位置o音素后验概率时,窗口范围可表示为(mo-wL,...,mo+wR)。其中,mo为窗口中心,wL为左窗长,wR为右窗长,对应窗函数取值(21)所示:

(21)

限定范围后,每个时刻高层特征向量的关联度为:

(22)

把注意力系数αo-1,t作为时刻t权重,则窗口中心mo为加权平均数,如式(23)所示。

(23)

注意力窗口宽度wL,wR均固定设置为50[16],原因是语音信号提取特征时帧移为10 ms,100帧宽的窗口能够利用1 s内的特征信息。一个音素的发音周期只有0.2~0.5 s,所以限定范围后的注意力区域能完整覆盖1~2个音素的特征,能够保证注意力系数分布在正确的位置。

因为某些音素发音周期较短,固定长度的窗口音素数目可能较多,任然会出现相同的音素进而干扰注意力系数的分布,影响系统的识别性能。因此考虑设计能够根据前一个音素与特征对齐关系自动调整窗口宽度的窗函数。如图2所示,我们根据前两个音素的窗口中心mo-1和mo-2的偏移量估计出左窗长wL,具体计算方式如式(24)所示。

(24)

图2 窗口宽度的计算Fig.2 Calculation of window width

3.3.2 计算系数卷积神经网络中增加池化层

使用卷积神经网络提取注意力系数特征时,将注意力系数向量αo-1先通过平均池化层,再通过一维卷积层,目的是提升系数特征鲁棒性和区分性。输入的注意力系数向量为前一个音素对应层窗口内所有注意力系数,如式(25)所示。

αo-1=[αo-1,mo-1-w,...,αo-1,mo-1+w]

(25)

其中,由于采用的是自适应窗长,所以令αo-1,mo-1-w=αo-1,mo-1-w+1=…=αo-1,mo-1-wL=0。

池化层采用平均池化,池化滤波器的规模为1×3,池化前后向量维度保持不变。卷积层的卷积核大小为1×(2w+1),滤波器数目为j,卷积方式采用same padding。以上卷积过程可以由式(26)、(27)描述:

(26)

(27)

最后将卷积神经网络的输出用于计算注意力系数得分,公式如式(27)所示

eo,t=ωTtanh(W[so-1,ht,lo,t]+b)

(28)

其中,lo,t为矩阵lo中时刻t对应的列向量。

3.4 模型训练和解码

虽然模型中注意力子网络和解码网络的连接呈现环状结构,但依然通过最优化目标函数的方式训练模型参数。解码时由于输出序列长度未知,需要采用带序列终止符的BeamSearch算法解码。

对于含N段语音的数据集,模型训练采用梯度下降法求目标函数的最小值,目标函数如式(29)所示

(29)

模型由于是对序列进行建模,所以单段语音后验概率的计算方式如式(30)所示:

(30)

解码带序列终止符的BeamSearch算法搜索在解码网络的输出中寻找负概率值最低的序列作为输出。该算法的思想是维护一个容量为beam_size序列集合,每步搜索时将集合中的序列拓展一位,然后筛选结果最好的beam_size个序列保留在集合中。具体流程见算法1。

其中,tmp为拓展后的序列集合,beam为算法维护的候选搜索序列集合,done为含有终止符的序列集合,phone为解码网络在位置上音素对应的后验概率,phone_set为所有音素和终止符的集合,best记录最低的负概率值,m_length为序列长度上限。

算法 1 带终止符的BeamSearch解码算法

输入 每个位置的音素后验概率y1,y2,...,yO

输出 负概率值最低的音素序列p1,...,po

初始化:beam={∅},tmp=∅,done=∅,best=1e9,m_length=1e4

1. while beam={∅} andi≤m_length

2.i=i+1, tmp=∅

3. for sequence in beam

4. for phone in phone_set

5. newsequence.list=sequence.list+phone

7. tmp=tmp+newsequence

8. beam=∅

9. 筛选出集合tmp中以结束的序列加入集合done。

10. 对集合中done序列按照cost升序排序。

11. 如果done[1].cost

12. 如果连续50步best未更新,则跳出while循环。

13. 对tmp中的序列按照cost升序排序。

14. 将tmp中cost最小的beam_size个序列加入集合beam。

15. end while

16. 将done[1].list音素序列作为结果输出。

4 实验

为了验证本文改进方法的有效性,并与HMM声学模型和链接时序分类方法进行对比,我们采用了语音识别测试中常用的英语语料库和捷克语语料库作为数据集。特征提取采用kaldi[20]开源工具包,端到端模型基线系统采用Theano[21]开源深度学习库搭建。

4.1 实验数据

TIMIT语料库是语音识别领域最常用的标准数据库之一,它包含6300段英语朗读语音。在实验中选取3296条语句作为训练集,192条语句作为测试集,400条语句作为开发集。

Vystadial_cz是开源捷克语语料库,它包含15小时电话信道下的含噪声对话语音,识别率普遍较低。训练集有22566条语句,测试集和开发集各有2000条语句。

4.2 实验设置

特征提取:语音信号采样频率是16 kHz,采样位16 bit,使用Hamming窗处理,帧长25 ms,帧移10 ms,预加重系数0.97。语音输入特征向量采用40维fbank特征和能量,再拼接对应一阶和二阶差分,共计123维参数。对于提取好的特征,首先在训练集范围内进行归一化,使每个分量服从标准正态分布,再利用训练集的归一化参数对测试集和开发集特征归一化处理。

模型初始化:循环神经网络权重矩阵初始设定为标准正交矩阵,偏置向量初始设为0,内部状态值采用均值为0方差为0.1的独立高斯分布初始化。

模型参数:编码网络的隐含层状态维度设为200。注意力子网络的卷积神经网络通道数设为10。英语声学模型解码网络输出向量设为63维,分别对应61个音素、空白符和序列终止符的后验概率;捷克语声学模型解码网络输出向量设为44维,分别对应41个捷克语字母,空白符、噪声符号和序列终止符出现的概率。maxout网络的候选隐含层数目设为64。

模型训练:以式(29)作为目标函数,使用随机梯度下降法(Stochastic Gradient Descent, SGD)对模型参数迭代更新。训练过程分为两个阶段:第一阶段样本批量大小(batch size)为8,目的是高训练效率,使模型参数尽快收敛;第二阶段样本批量大小为1,每次训练时给模型添加噪声,目的是增强模型识别的鲁棒性和抗噪能力。

4.3 评价指标

TIMIT数据集的识别结果为音素序列,考虑采用动态规划算法将模型解码得到的序列与标注序列以音素作为基本单元对比并统计出插入错误(I)、删除错误(D)和替代错误(R)。设测试集中含有N个句子,则音素错误率(Phone Error Rate, PER)为:

(31)

Vystadial_cz数据集的识别结果为识别结果捷克字母序列,将字母序列整合成单词,并以单词作为基本单元统计出词错误率(Word Error Rate, WER)作为声学模型评价指标。

为评价和对比注意力模型训练速度,将训练过程的第二阶段中批量大小为1条件下,用训练集的所有样本更新模型参数的平均周期(epoch)作为评价指标。

4.4 实验结果和分析

(1)基于MGU单元和GRU单元系统性能对比

为了对比采用不同单元的系统性能影响,在标准TIMIT语料库中进行音素序列识别的实验。表1给出在TIMIT测试集中,编码网络中循环神经网络为1至3层时,分别采用GRU和MGU作为循环神经网络基本单元时的性能。由表1可以看出,对于同样的模型结构,增加隐含层层数数目,系统的识别性能得到提升,但系统的参数规模和训练周期也迅速上升。在相同层数下,MGU的参数规模和平均迭代周期均低于GRU。2.2中提到隐含层维度相同的MGU的参数规模为GRU的2/3,因此当编码网络层数增加1层时,GRU结构参数的增长规模是MGU结构的1.5倍。当编码网络层数为3层时,MGU的参数规模下降39.0%,平均迭代周期下降14.7%,而测试集的音素错误率仅高0.1%。以上实验结果证明在基于注意力的端到端声学模型中,使用MGU替换GRU能够在识别性能损失较小的前提下,有效减少参数规模和提高收敛速度。

(2) 改进注意力机制前后系统性能对比

为验证使用3.2中改进注意力机制方法的有效性,分别在TIMIT和Vystadial_cz语料库搭建声学模型进行实验。采用3层GRU结构的编码网络作为基线系统,先采用固定长度的窗口和无池化层的卷积神经网络对注意力机制进行优化,窗口宽度为100,卷积神经网络的滤波器数目设置为10;再分别采用自适应宽度的窗函数和加入池化层的卷积神经网络方法。表2的结果表明,对于TIMIT语料库上,改进后的模型在开发集上准确率提升明显,在测试集上的准确率提升较小。对于噪声较大的Vystadial_cz语料库,采用自适应宽度的窗函数和增加池化层后对于测试集的音素错误率与改进前模型相比下降1.06%和0.68%。这证明改进后的注意力模型能够更准确地计算音素和编码网络特征的关联度,拥有更好识别性能和对噪声有更强鲁棒性。

表1 TIMIT语料库不同模型的性能

表2 TIMIT和Vystadial_cz语料库下不同系统的音素(词)错误率

为了更加直观地改进前后系统的变化,提取Vystadial_cz语料库中一段语音,打印出基线系统与采用“固定窗函数+无池化层”与“自适应窗函数+池化层”两个模型识别出的音素与特征的对齐情况,如图3和图4所示。图中竖轴代表音素序列,横轴表示高层特征帧数,色块颜色深浅表示注意力系数大小。由于编码网络对特征进行降采样处理,横轴的显示帧数是实际语音帧数的四分之一。通过对比观察可以得到,图3中捷克字母S、L的注意力系数在距离窗口中心较远区域仍有分布,而图4中注意力系数分布更为精确。

(3)端到端声学模型与其他模型对比

本文对比了改进前后基于注意力机制的端到端声学模型与其他声学模型在无语言模型条件下连续语音识别任务中的性能,以验证该模型和改进方法的有效性。这里涉及到的声学模型包括:基于三音子的GMM-HMM模型,采用MMI优化GMM-HMM模型,采用bMMI优化GMM-HMM模型,采用MPE优化GMM-HMM模型,采用sMBR优化的 DNN-HMM模型和基于RNN-CTC模型。基于注意力的端到端声学模型中分别采用基线系统,改进注意力机制后的模型以及替换MGU单元后的改进模型。

表3给出了本文改进模型与其他模型在Vystadial_cz数据集上的实验结果对比。由表中可以得出,在传统方法中,采用深度神经网络和sMBR准则优化的声学模型性能最佳,在测试集的性能由于注意力模型额基线系统。基于RNN-CTC的端到端声学模型虽然不依赖发音字典等先验知识,但在该数据集下识别性能不如传统方法。改进注意力的端到端声学模型在开发集和测试集性能最佳,原因是它能更加充分地学习和利用语音中时序信息,并且能让音素和特征更加准确地对齐。将改进系统的GRU单元替换成MGU单元后,虽然为了减少模型参数规模和提升收敛速度损失了少部分识别性能,但词错误率依然低于其他声学模型。

图3 改进前系统音素与特征对齐情况Fig.3 Alignment of unimproved system between phones and features

图4 改进后系统的音素与特征对齐情况Fig.4 Alignment of improved system between phones and features

表3 Vystadial_cz语料库下各个系统的词错误率

5 结论

本文研究了基于注意力机制的端到端声学模型。在基线系统的基础上,先采用MGU替代GRU作为循环神经网络基本单元,在损失识别率较低情况下,降低了模型参数规模和训练时间。再根据语音信号特点通过使用自适应宽度的窗函数和在计算注意力系数特征的卷积神经网络中加入池化层,进一步提高了模型的识别准确率。在捷克语语料库下的实验表明,改进后模型的识别率优于基于HMM声学模型和基于CTC的端到端模型。下一步的研究方向是寻找更高效的提取语音特征方法,调整系统内部结构和训练准则以降低训练复杂度,提升识别性能。

猜你喜欢

音素声学注意力
新目标英语七年级(上)Starter Units 1-3 STEP BY STEP 随堂通
让注意力“飞”回来
依托绘本课程,培养学生英语音素意识
爱的就是这股Hi-Fi味 Davis Acoustics(戴维斯声学)Balthus 70
小学英语课堂中音素意识与自然拼读整合训练的探索
Acoustical Treatment Primer:Diffusion谈谈声学处理中的“扩散”
Acoustical Treatment Primer:Absorption谈谈声学处理中的“吸声”(二)
Acoustical Treatment Primer:Absorption 谈谈声学处理中的“吸声”
❷不定冠词a与an
“扬眼”APP:让注意力“变现”