基于深度学习的语音识别方法研究

2019-05-16 01:39李晓坤陈虹旭郑永亮
智能计算机与应用 2019年2期
关键词:马尔可夫声学概率

邵 娜, 李晓坤, 刘 磊, 陈虹旭, 郑永亮, 杨 磊

(1黑龙江恒讯科技有限公司国家博士后科研工作站,哈尔滨150090;2黑龙江省智慧媒体工程技术研究中心(黑龙江恒讯科技有限公司),哈尔滨150090)

0 引 言

从原始社会开始,语言就是人类之间沟通的桥梁,这是最直接、也是最清晰的表达方式。作为人类交流思想的媒介,语言对文明的进步起着不可磨灭的作用。通过研究可知,语言对人类来说是一项标志性的因素。语言在沟通过程中的一类重要属性就是发出指令,通过指令可以调派某人完成某项任务。进而人们开始思考能否通过语言对人工智能发出命令。从此,语音识别技术开始出现在学界的视野中。语音识别能够将人类的语言与人工智能进行融合,从而实现对计算机下达命令的目的。语音识别的目的是通过计算机接收人类语言,并将人类语言解读为指令,从而实现人类与计算机的交互智能化。近些年来语音识别技术得到了飞跃性的发展,语音识别的研究也日渐受到学界的推崇与重视。语音识别技术已经不再局限于仅是科研人员实验室中的产物,而是融入人类生活中,成为了一种商品。现如今,在互联网、以及市面上均陆续涌现出大量与语音识别相关的软件。凭借着语音识别技术的实用性与准确性,在通讯设备、汽车、智能家居等载体上,语音识别技术的实用性则已在广泛的应用中得到了完美的阐释。相关研究人员将提高语音识别的准确性作为目标,各类研发成果相继问世,这些研究均旨在创造一个准确率方面的新高。本文研究致力于将深度学习与语音识别相互融合,从而优化语音识别的效率。

随着互联网技术的不断发展,人们越来越重视人与计算机之间的交互命令,因此用语音来实现这一目标,主要包括3项技术,分别是:语音识别、语音编码和语音合成[1]。突破技术层面的难题,自动识别人类发出的自然信号,对其进行解码转换文本。近些年来,人类从未在语音识别的道路上停止过探索与前行。1952年,贝尔实验室的3名研究人员建立了一个单喇叭数字识别系统。该系统就是通过定位每个声音功率谱中的共振峰来开展工作[2]。20世纪60年代末,苏联研究人员发明了动态时间扭曲算法[3],虽然已被后来更高效的算法所取代,但是将信号分割成帧的技术将会继续得以不断的创新及演变。20世纪60年代末,Leonard Baum在国防分析研究所开发了马尔可夫链的数学模型。Raj Reddy的学生James Baker和Janetm Bakerk开始考虑将隐马尔可夫模型(HMM)与语音识别结合,从而研究出一种新型混合模型[4]。最早的语音识别产品是来自Kurzweil应用的智能识别器,于1987年发布[5-6]。在21世纪初,语音识别仍然使用传统的方法,如隐藏的马尔可夫模型和前馈人工神经网络[7]。而回顾整个的语音识别历史发现,人们已经持续多年地始终都在探究研发浅层表现形式和深层的人工神经网络。但这些方法在与高斯混合模型/隐马尔可夫模型(GMM-HMM)技术的较量中从未占据过上风[8]。直至2009年,学界才开启深度学习的研究序幕,并逐渐掀起研究热潮。

1 语音识别和深度学习的概述

1.1 语音识别的科学内涵

目前,语音识别已成为学界研究热点,其研究目的就是为了让计算机能够听懂人类发出的指令。选择隐马尔可夫模型(Hidden Markov model,HMM)来建立语音识别系统堪称是当下的首要选择。说话人所发出的语音信号具备短时平稳性。HMM的状态不能够被研究者直接观察到,故而HMM模型是属于马尔科夫链的一类。通过观察某些密度分布产生的概率,从而计算求得其相应的观测向量。在20世纪80年代,有相关的研究人员尝试将HMM与语音识别相结合,得到的结果比较符合预期。HMM在图像识别、语音识别等领域正迅速成为设计者瞩目的焦点,越来越多的研究人员开始跻身于此项研究的行列当中。

1.2 隐马尔可夫模型概述

传统的HMM是一种统计学习的模型,这个过程通常是不能被观测的。这个过程可以看作为一种简单的动态贝叶斯网络。HMM模型通常会被划归于这类网络。Baum及其同事开发了基于HMM的数学模型。通多观察简单的马尔可夫模型,研究人员可以准确测定该模型的状态,故而状态转移概率作为模型仅有的参数,而在隐马尔可夫模型中,状态却非直接可见的,但是输出则依赖于状态,是可见的。每个状态在可能的输出令牌上有一个概率分布。如果想要获取相关状态序列的数据,需要由HMM生成令牌指令序列。形容词的隐藏并不是指描述模型的参数,而是模型之间互相传递的状态序列。即使这些参数是精确、且已知的,该模型仍将被称为隐马尔可夫模型。HMM模型尤其适用于强化学习和模式识别。可以把隐马尔可夫模型视作原有模型的变化形式,从中选取一个隐藏的变量支配混合模型确定一个观察者。最近,隐马尔可夫模型已经推广到Pairwise Markov模型和Triplet Markov模型中,而这些模型能够支持更复杂的数据结构和非平稳数据的建模。

隐马尔可夫模型(HMM)由5种元素组成,其中含有2个状态集合以及3个概率矩阵,对此可写作如下数学形式:

其中,S表示隐含状态。这部分状态是被隐马尔可夫模型不可被观察的一种状态,无法以观察者的身份进行观测;O表示可观测状态,这部分状态通常能被观察者直接观测,并与S有一定联系;π表示模型初始时期的概率分布,从而堆积而成的矩阵,设T=1,这个时期会得到一定概率,将其组成矩阵;A表示模型在隐藏情况下产生的概率组成的矩阵,展示出隐马尔可夫模型互相之间信号传输的概率。并且,Aij=P(Sj|Si),1≤i,j≤N;B表示观测状态下的转移概率矩阵,假设X为隐含状态数,Y为可被观测状态数,N为被模型隐藏状态的数量,M为模型中能被观测到的状态的数量,则:Aij=P(Oj|Oi),1≤i≤X,j≥1。 其数学含义是: 在t时刻模型的基本状态隐藏是Si的前提下,模型状态的观察为Oi的概率。

综上论述可知,通常情况下,通过λ=(A,B,π)这个三元组可以相对简化地描述出一个隐马尔可夫模型。隐马尔可夫模型是由马尔可夫模型经过演绎完善得到的一种新型模型,马尔科夫模型的状态集合不能以观察者的身份追踪监测与被隐藏的状态之间的概率联系,而隐马尔可夫模型却能做到这一点。当将HMM用作声学模型时,其设计结构如图1所示,表现为某状态转变为另一状态的转移概率。

图1 状态转移概率结构图Fig.1 State transition probability structure diagram

高斯混合模型(GMM)是一种参数概率密度函数,表示高斯分量密度的加权和。高斯混合模型是由方程给出的M分量高斯密度的加权和,其数学公式可表示为:

其中,x是d维连续值数据向量(即测量或特征),ωi(i=1,…,M) 是混合权重=1,…,M)是组件高斯密度,每个分量密度是形式的d-变量,语音输入信号的分布情况一般不能够用单高斯概率密度函数做出描述,大多数情况下是采用混合高斯函数表示输出概率。即:

其中,μi为均值向量,Σi为协方差矩阵,混合权值满足约束条件

1.3 深度学习的基本概念

在20世纪初,Hinton等人发表了深度学习的构想,并提出了非监督逐层训练算法,这也是深层结构学习研究上的一个重要突破。同时又提出一种用于深层结构编码的编码器,能够利用空间关系,减少参数数目,从而优化训练性能[9]。深度学习是基于数据的一种更泛化的机器学习模式,而不是特定的某种算法。深度学习的架构就是深度神经网络,已经被大范围地应用到图像识别、语音识别、社交过滤、机器翻译、药物设计等领域中。在相当一部分领域,深度学习的能力要强于在该领域的专家。深度学习可以看作一种深度挖掘数据的新兴机器学习模式。通过采用级联多个非线性处理单元的方式进行特征的提取以及转换。每个连续层使用前一层的输出层作为输入层。在有监督的情况下学习(例如分类)或无监督(例如模式分析)。深度学习是一种对应多层的空间,同时与多个不同的隐藏层次进行映射。各个层次有机结合,从而组成一种概念层次结构。启用了一项坡度下降的模式,从而执行反向传播训练。深层学习中使用的层包括人工神经网络的隐含层和一组命题公式。此外,也可能包括深层生成模型中有组织变量的潜变量,如深层信念网络中的节点和深度玻尔兹曼机。

2 开发平台及数据来源

2.1 Kaldi语音识别系统

Kaldi语音识别系统是Daninel Povey等人使用C++开发的一种语音识别系统。可在 GNU、Linux、BSD、 OSX 10(8/9等)、 Windows(via Cygwin)等环境下运行。Kaldi语音识别系统的开发能够提供一种兼具灵活性和可扩展性的语音识别系统开发平台。该系统支持线性变换,增加了MMI和MCE等基于特征空间的区分性训练的深层神经网络。Kaldi语音识别系统在将深度学习与语音识别相结合的过程中表现出方便、且内容丰富的特点。该软件的成功开发是2009年约翰霍普金斯大学研讨会上的重要组成部分[10]。

2.2 深度学习的方法

2.2.1 循环神经网络

循环神经网络(Recurrent Neural Network,RNN)是一类人工神经网络在单位之间的连接形成一种循环,这使其可以表现出一种动态的时间行为。这个网络内部存在专属的存储器,可以用其输入需要的序列。这就使得该网络适用于多种任务,诸如分类、文字识别[11]或语音识别[12-13]等。 卷积网络的灵感来自于生物过程,其中神经元之间的连接模式即是受到了动物视觉皮层组织的启发。

只有受约束的可观测区域会刺激独立的神经单位,这被称作感受野。多个独立的神经单位的感受野的局部会叠加,从而包含整片视野。与其它图像分类算法相比,CNN进行预处理相对较小。在特征设计中,这种与先前知识储备无关的独立性是一个主要优点。循环神经网络有2种。一种是单向RNN,另一种是双向RNN。本次研究中可能用到的原理公式可分述如下。

(1)单向RNN的前层。具体公式如下:

需要提及的是,在所有时间点中,隐层权重是共享的,所以需要将所有时间序列累加成和。研究中推得的隐层权重的偏导的计算公式为:

(2)双向RNN。具体公式如下。

①激活前端网络隐藏层,其公式为:

②激活后端网络隐藏层,其公式为:

③网络计算的输出,其公式为:

需要提及的是,在所有时间点中,隐层权重是共享的,所以需要将所有时间序列累加成和。研究中推得的隐层权重的偏导的计算公式为:

其中,表示中间隐层为h的节点在t时刻的加权和,表示节点h在t-1时刻的输出。

2.2.2 长短期记忆网络

长短期记忆网络(Long Short Term Memory,LSTM)是循环神经网络(RNN)的一层构建单元。RNN对应单位常常叫做LSTM网络。LSTM单元由cell组成。cell负责“记住”在任意时间间隔值;所以,LSTM中储存了大量“记忆”。在一个多层(或前馈)神经网络中,包含3种门。这3种门分别是:输入门(Input Gate)、遗忘门(Forget Gate)和输出门(Output Gate)。其中,每一种门可以被认为是一个“常规”人工神经元。也就是说,均可将其用来计算一个加权和的激活。直观地说,就是可以被认为是价值的流量调节器,经过严格的连接;因此,表示“门”。这些门和电池之间有联系。表达的短期是指虽是一个短期记忆可以持续长时间的模型。相对来说适合于分类和预测时间序列的时间滞后之间的重要事件,如未知的大小和持续时间。原始RNN存在一个不足,就是对深层节点的感知能力会逐渐下降,在深层网络将无法进行有效的训练。LSTM的提出有利于代替RNN这种相对不敏感的学习方法。与此研究相关的原理公式详见如下。

(1)输入门。具体公式为:

其中,为输入;为上一时间的隐层的输出;为上一时间cell的输出。

(2)遗忘门。具体公式为:

(3)输出门。具体公式为:

其中,wij表示一种从i到j的连接权重;表示时间t的网络输入;表示时间t的网络输出;l表示输入门;Ø表示遗忘门;w表示输出门。

2.2.3 卷积神经网络

在机器学习领域中,卷积神经网络(Convolutional Neural Network,CNN)是一种属于深度学习网络范畴的前馈人工神经网络,非常适合应用于语音信号识别分析。CNN的设计使用变化多层感知器,要求最小化的预处理[14]。故而也被称为平移稳定或空间稳定的人工神经网络(siann),且具有基于共同的权重结构和平移稳定性的特点[15-16]。这里,给出卷积神经网络的模型架构如图2所示。卷积网络的灵感来自于生物过程[17],这种网络不同神经元之间的连接方式是受到动物皮层组织之间的模式启发而设计的。如前所述,只有受约束的可观测区域会刺激独立的神经单位,将其称作感受野。这意味着深度网络引用了传统算法中手工设计的过滤器。在特征设计中,这种与先前知识和人工学习相分离的独立性是一个主要优点。现今,在图像识别、语音识别、推荐系统[18]和语言识别分析中都可见到其应用的实例[19]。

图2 卷积神经网络模型Fig.2 Convolutional Neural Network Model

2.2.4 深度神经网络

传统语音识别基本上均使用GMM-HMM作为声学模型,而DNN-HMM的声学模型最显著的不同点就是使用深度神经网络(Deep Neural Network,DNN)将GMM-HMM中的高斯混合模型替换掉,对输入信号进行建模从而观察概率。DNN模型输入的频谱特征与传统的方法有很大的区别。MFCC比较常见。DNN形成的语音波均经过加窗、分帧。如图3所示,DNN与GMM的不同可表述为:DNN会进行拼接帧的操作,而GMM只会采集单帧特征作为输入。在本文会将相邻多帧拼接,从而得到汇集更多数据的输入量。采用拼接帧是优化效率的一种重要手段。DNN是一个具有众多隐含层的多层网络,信号接送至输入层后分多条线路传输到隐含层,从采集的原始声音特征映射到新特征空间中,这种新特征空间是通过隐含层各节点构成的,从而得到一种新的特征表现形式。每一层隐含层都会对上一层的语音信号进行分解,并且在本层加以重组。当信号到达最后一个隐含层时,会通过深度学习网络映射到状态空间;绘制出2个模型的结构,从中可以看出深度神经网络包含多个高斯混合模型,一个高斯混合模型可以被当作仅含有一个隐含层的神经网络,各个高斯混合分量作为隐含层节点,由下层的各个混合分量经由线性组合而成的输出层可被当作HMM模型的状态。通过将采集的声学特征映射到GMM混合分量空间,从而在HMM模型中实现映射,最后在得到的状态中得到输出后验概率。基于前述研究可以看出,DNN的建模能力要优于GMM,因此DNN-HMM是一种更加高效的声学模型。

图3 单个高斯混合模型与深度神经网络模型Fig.3 Single Gaussian Mixture Model and Deep Neural Network Model

DNN将GMM-HMM模型中的GMM进行置换,从而计算HMM状态的后验概率。设给定时刻T的特征观察矢量是Oπ,在DNN中采用Softmax函数计算HMM状态出现的概率,状态为:

其中,{avt(x)}为输出层x的激活概率。在此基础上,还将推得:

其中,P(x)表示训练数据中状态x出现的先验概率。

在DNN-HMM模型中,DNN的原理是将采集的输入信号的后验概率进行计算建模。对观察概率建模是传统GMM模型的模式。因此研究中既需要获取先验概率,又要获取后验概率,将二者相结合从而得到观察概率。设输出样本为a,输出状态为x,P(x|a)表示DNN后验概率,可采用式(23)进行计算:

通过以上模型观察,就可以得出概率并且利用HMM进行解码。

2.3 数据来源

本文使用了863汉语语音库。该语音库分别由41名男性和41名女性说话人组成训练集,42名男性和42名女性说话人组成测试集。由上世纪90年代《人民日报》中选取千余句作为朗读文本。设置采样频率16 KHz,分3类,并且选择其中一类进行阅读。

3 基于深度学习的语音识别声学建模实验

本节将深度学习技术建立声学模型,与传统声学模型进行对比,得到各模型的建模能力。实验中进行了如下的准备工作:本节在863语音库中分别选取1 000单词和句子作为样本。随机抽取500作为训练集合,500作为测试集,将Kaldi搭载于Linux系统下。

3.1 实验步骤

3.1.1 特征提取

首先,要对传统GMM-HMM声学模型进行训练,从数据库中提取对应帧长为20 ms、帧移为10 ms的语音数据对应MFCC特征,该提取特征有40维。将离散余弦变换阶数选取一个假定值,设为13,经过一阶和二阶的差分后得到的是39维,在此基础上叠加帧能量,共得到40维。其次,分别选择长短期记忆网络、卷积神经网络以及深度神经网络声学模型进行训练,从数据库中提取对应帧长为20 ms、帧移为10 ms的语音数据的特征。CNNHMM的语音数据对应的是fBank特征,提取的特征有40维。DNN-HMM的语音数据对应的是fBank特征,提取的特征有96维。提取的特征需要分组捆绑,这是为了提升相关性分析的效率。

3.1.2 生成标签

在实验的过程中需要生成标签,用于监测LSTM网络、CNN网络以及DNN网络的性能。搭建传统GMM-HMM声学模型,从中获取标签信息。将这个成熟的声学模型与有关信息相融合,再与初始文本标签进行对接。使用对接后的三因素模型用作声学模型训练的标签。

3.1.3 声学建模

3.1.3.1 LSTM-HMM 网络参数配置

该LSTM-HMM由1个输入层、3个隐藏层、1个输出层组成。输入层对应75维特征,扩展3帧,从而得到的节点数为300。每个隐藏层对应2 048个节点,共计6 144个节点。输出层对应36 016个节点。使用Softmax函数用作输出层的分类,使用Sigmoid函数对隐藏层进行激活。

选取最小化交叉熵设定为目标函数,用来进行参数调优。设定起始学习率的值为0.1,开始训练直到第5代,将学习率降低二分之一。接下来,每当迭代一次,学习率都将降低为上代的二分之一。一旦交叉验证值趋于平稳,结束实验。

3.1.3.2 CNN-HMM 网络参数配置

该CNN-HMM由1个输入层、2个卷积层、2个池化层和1个输出层组成。输入层对应96维特征,扩展5帧,从而得到节点数为1 056。该网络的卷积层与池化层并不同时运行,而是在不同时间段内交替出现。C1是首次出现的卷积层,C3是第二次出现的卷积层。S2是首次出现的池化层,S4是第二次出现的池化层。使用Softmax函数用作层的分类。

参数调整与LSTM相同,选取最小化交叉熵设定为目标函数,用来进行参数调优。设定起始学习率的值为0.1,开始训练直到第5代,将学习率降低二分之一。后续每当迭代一次,学习率都将降低为为上代的二分之一。一旦平均惩罚值维持在一定范围内趋于平稳,结束实验。

3.1.3.3 DNN-HMM 网络参数配置

该DNN-HMM由1个输入层、6个隐藏层、1个输出层组成。输入层对应429个节点,每个隐藏层对应1 024个节点,共计6 144个节点,输出层对应1 366个节点。使用Softmax函数用作输出层的分类,使用Sigmoid函数对隐藏层进行激活。

参数调整也是与LSTM相同,选取最小化交叉熵设定为目标函数,用来进行参数调优。设定起始学习率的值为0.1,开始训练直到第5代,将学习率降低二分之一。后续每当迭代一次,学习率都将降低为上代的二分之一。一旦交叉验证值逐渐平稳,结束实验。

3.2 实验结果及分析

依照实验步骤分别在Kaldi系统中搭建GMMHMM声学模型、LSTM-HMM声学模型、CNN-HMM声学模型以及DNN-HMM声学模型。最终得出结果见表1。进而,研究中得到的各主要算法的实验仿真结果则如图4~图6所示。

表1 主要算法的单词句子正确率的测试结果Tab.1 Test results of the sentence correct rate of the main algorithms

图4 LSTM正确率迭代次数变化图Fig.4 Iteration number change graph of LSTM correct rate

图6 DNN正确率迭代次数变化图Fig.6 Iteration number change graph of DNN correct rate

结合上述结果分析后可知,GMM用作声学模型在网络学习中趋于浅层,而LSTM、CNN、DNN等模型属于深层学习范畴,虽然深度学习模型相较于传统声学模型更为复杂,但是能够显著提高语音识别正确率及效率。可以看出,基于深度学习的声学建模能力要普遍强于传统GMM-HMM声学模型。

4 结束语

研究前文表1可以看出,传统基于混合高斯隐马尔可夫混合模型的建模方法显然要逊色于当下基于深度学习进行声学建模的方法。从词的正确率来看,LSTM-HMM 比 GMM-HMM 提升了7.4%、CNNHMM比 GMM-HMM提升了9.2%、DNN-HMM 比GMM-HMM提升了6.4%。从句子的正确率来看,LSTM-HMM比 GMM-HMM提升了13%、CNNHMM比GMM-HMM提升了12.2%、DNN-HMM比GMM-HMM提升了10.4%。分析如上数据可以得到,GMM是一种趋于传统的浅层网络,虽然技术相对成熟,但是对海量数据的提取学习能力显得有些薄弱。而LSTM、CNN、DNN等深层网络适合于进行深度学习,而且非常适于在海量数据中进行数据提取。LSTM模型能够对数据进行长期记忆,不会形成记忆断层,使其建模能力将会优于DNN模型。CNN模型由于其独特的网络结构,根据得到的反馈来看,效果具有明显提升。因此可以得出以下结论:DNN模型相对于GMM模型来说是一种建模能力更强的模型。使用LSTM-HMM模型建模得到的反馈略优于DNN-HMM模型,而CNN-HMM的建模能力却胜过其余3种模型。

随着人类社会的进步与现代化发展,语音识别能够将人机实现充分的有机结合。在海量数据的处理中以及提升准确性的前提下去优化其识别效率是每位相关研究人员的追求目标。本文希望通过基于深度学习的语音识别方法的研究,能够改善语音识别的声学模型,提高语音识别的准确性,优化其效率,从而有效满足多个领域对人工智能语音识别的各项丰富需求。

猜你喜欢
马尔可夫声学概率
概率统计中的决策问题
概率统计解答题易错点透视
概率与统计(1)
概率与统计(2)
进一步放大细腻通透的优势 Davis Acoustics(戴维斯声学) MODEL M/MODEL S/BASSON 88
还原音乐的本来面貌 Davis Acoustics(戴维斯声学)Courbet N°5
爱的就是这股Hi-Fi味 Davis Acoustics(戴维斯声学)Balthus 70
面向电力系统的继电保护故障建模研究
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究