LSTM语音识别

本文探讨了语音识别的意义、现状与研究方向,着重介绍了基于DNN和LSTM的语音识别系统。通过引入DNN改进GMM-HMM声学模型,解决了浅层模型的局限性。LSTM通过门控机制缓解了RNN的梯度消失问题,增强了模型的上下文相关性。此外,论文还讨论了CTC在端到端语音识别中的作用,解决了强制对齐的问题,实现了高效的语音识别系统,最终应用于自动字幕添加,降低视频制作周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  机器学习大多数属于浅层模型(GMM、HMM等),浅层模型非线性变换能力较弱,不足以刻画复杂的语音数据(高维特征),识别性能提升非常有限,因此本课题针对声学模型GMM-HMM进行改进。由于GMM的输入是单帧,忽视了协同发音的影响,采用拼接帧作为深度神经网络(DNN)的输入对观测概率建模。传统的HMM和RNN都可以对时序建模,由于HMM是浅层模型以及RNN存在梯度消失问题,采用双向长短期记忆网络(BLSTM)对时序建模。端到端问题需要强制对齐后才能进行训练,人工对齐所需的时间开销巨大,采用基于联结主义时序分类器(CTC)的方法解决。实验结果表明,基于DNN-LSTM端到端语音识别在thchs30上的错词率为4%。最后将此识别系统为核心实现自动添加字幕,减小制作视频周期。

一、绪论

1.1 语音识别的意义

  人类能够走向文明社会,在于人类在生存竞争中学到许多经验,并且不断的流传积累。而经验流传的最有效的方式就是语言交流,所以语言对于人类的发展很重要。由于语言的多样性,对于不同地区的人们之间的交流形成一定的阻碍。随着技术发展诞生了机器翻译,机器翻译冲破这些的障碍成为可能,而实现语音到语音的机器翻译的前提就是语音识别。

  今年初,由于新冠肺炎疫情的影响,对人们的出行造成了很大的阻碍。例如在电梯里,病毒可能附着在触控面板上,在按电梯按钮的时候会增加直接接触病毒的风险,语音识别为实现无接触式操控提供了可能,从而降低感染的风险。在正常日常生活中,智能语音音箱,手机语音助手,公共场合的引导系统等,都离不开语音识别,其他有价值的应用还有待挖掘。所以本文将围绕语音识别的具体实现以及应用展开分析。

1.2 语音识别的现状

  20世纪50年代,贝尔实验室成功开发出一款能够识别10个数字的孤立词识别系统 [ 1 ] ^{[1]} [1],从此拉开了语音识别系统研究的帷幕。在此后的几十年时间里进展缓慢,由于隐马尔可夫模型(HMM)可以对时间序列建模 [ 2 , 3 ] ^{[2,3]} [2,3],因此在20世纪80年代开始HMM在语音识别的中成为重点研究对象,例如李开复在读期间开发的基于GMM-HMM的SPHINX系统 [ 4 ] ^{[4]} [4]。HMM有两个重要的参数,即转移概率和观测概率,GMM(高斯混合模型)就是对后者进行估计(建模)。20世纪80年代后期,人们尝试将人工神经网络引入语音识别,但是由于当时算力的不足以及网络结构复杂,导致其效果不如基于GMM-HMM的识别系统 [ 5 , 6 ] ^{[5,6]} [5,6]

  2006年,Hinton对神经网络节点使用受限波尔兹曼机(RBM)进行初始化 [ 7 ] ^{[7]} [7],解决了深度神经网络训练过程容易陷入局部最优的问题,三年后,Hinton和Mohame D [ 8 ] ^{[8]} [8] 成功将深度置信网络(DBN)在小词汇量TIMIT上实现连续语音识别。2011-2012年,俞栋、邓力和Hinton等人将DNN(深度神经网络)替换声学模型GMM-HMM中的GMM对观测概率的估计,将DNN-HMM应用在大词汇量连续语音识别上,词错率降低了30% [ 9 ] ^{[9]} [9],取得了较大的进步。2015年10月,清华大学王东使用DNN-HMM在清华开源中文语音数据集thchs30上实现大词汇量连续中文语音识别,词错率达到23.3% [ 10 ] ^{[10]} [10]

  由于DNN-HMM需要分别训练两个模型,并且不能解决长期依赖问题。循环神经网络(RNN)具有一定的“记忆”功能,在对时间序列问题的处理优于DNN-HMM框架。因此RNN在语音识别中得到广泛的应用。但是RNN存在一些问题,就是在反向传播过程中,隐藏层间的矩阵偏导数包含指数部分,会导致梯度消失或梯度爆炸 [ 11 ] ^{[11]} [11],因此不能解决更长的依赖问题。为此HOCHREITER S [ 12 ] ^{[12]} [12]等人为了克服梯度消失或者梯度爆炸,提出在RNN的基础上增加“门”结构控制信息流,即长短期记忆网络(LSTM)。双向结构LSTM比单向LSTM在长期依赖问题上处理得更好。但是双向LSTM需要读取完整段语音特征数据才能处理,因此实时性差。

  双向LSTM不仅实时性差,而且网络结构复杂,需耗费大量的计算资源,对此讯飞(2015年)提出了前馈序列记忆网络(FSMN),FSMN在DNN的隐藏层加入记忆单元,实现非循环的前馈结构,最终将词错率降至13.2% [ 13 ] ^{[13]} [13]

1.3 课题研究方向

  本课题将围绕建模能力、上下文相关以及强制对齐这三个问题展开讨论。在声学模型GMM-HMM的基础上进行改进,使用DNN对观测概率的估计,将建模能较力弱的浅层HMM用RNN替换。由于RNN存在梯度消失问题,导致上下文相关性不强,基于RNN改进的LSTM,LSTM通过增加“门”结构,一些重要的信息得到保留。为了使上下文相关性更强,使用双向结构的LSTM,双向LSTM不仅学习历史信息,还学习未来的信息。

  本课题的目标就是打造一个黑盒,即喂入音频吐出对应文本,不需要手动强制对齐音频和标签。联结主义时序分类器(Connectionist Temporal Classification,CTC)不需要强制对齐,连续且相同的字符,只输出最大概率的字符,并引入一个空状态替换重复的字符,因此CTC不需要一一对齐,输出是一串尖峰序列。直接将CTC的转录损耗期望作为损失函数,就可以进行训练了。因为转录损耗期望的后验概率维度太复杂,采用MCMC采用作为输入。

  4G时代将视频服务逐渐趋于移动端,视频邻域快速增长,尤其是短视频和Vlog。而然视频的制作很耗时,特别是添加字幕,带字幕的视频能增加用户体验,所以本课题从这一朴素的想法出发。首先从视频中提取音频,然后将音频作为语音识别系统的的输入,系统输出对应文本,最后将文本添加到视频中作为字幕。

二、语音识别基本原理

2.1 发声机理

  当人在说话时,胸腔作为动力源产生气流,气流经过气管,当声门打开时,声带不振动或振动频率很小,发出的音为辅音,其波形类似于白噪声;由于声门有一定的韧性,所以当声门闭合时,声带在气流的冲击下,声门不断的开启和闭合,产生高频振动,这就是所谓的元音。在语音信号的线性产生模型中,声带作为激励源,声道作为共振腔。当声道的形状不同时,声道能谐振出不同的频率,不同的频率对应着不同的元音。由于每个人的声带都不相同,声带的振动频率不同,所以这是能区别不同人的重要特征,这些特征可用基因周期来描述。

2.2 识别原理

  语音识别系统分成前端处理和后端处理,前端为信号处理,包括端点检测和声学特征提取等,端点检测可用短时能量和短时过零率描述,使用Mel频率倒谱系数作为声学特征。后端处理有语言模型、声学模型和解码搜索。声学特征矢量经过训练得到声学模型,语言模型词的链式概率得到。结合语言模型和声学模型,利用最大后验概率(MAP)得到词向量,其公式为
W ~ = arg ⁡ max ⁡ w P ( W ∣ O 1 ⊤ ) = arg ⁡ max ⁡ w P ( O 1 ⊤ ∣ W ) P ( W ) P ( O 1 ⊤ ) ∝ arg ⁡ max ⁡ w P ( O 1 ⊤ ∣ W ) P ( W ) (2-1) \begin{aligned}\tilde{W} &=\arg \max _{w} P\left(W \mid O_{1}^{\top}\right) \\ &=\arg \max _{w} \frac{P\left(O_{1}^{\top} \mid W\right) P(W)}{P\left(O_{1}^{\top}\right)} \\ & \propto \arg \max _{w} P\left(O_{1}^{\top} \mid W\right) P(W)\end{aligned}\tag{2-1} W~=argwmaxP(WO1)=argwmaxP(O1)P(O1W)P(W)argwmaxP(O1W)P(W)(2-1)
式中, P ( W ) P(W) P(W)为语言模型, P ( W ∣ O 1 ⊤ ) P\left(W \mid O_{1}^{\top}\right) P(WO1)为声学模型, P ( O 1 ⊤ ) P(O_{1}^{\top}) P(O1)为声学特征的概率,和词向量无关,所以可以去掉。

2.3 频域分析

2.3.1 离散傅里叶变换

  傅里叶变换分为连续傅里叶变换和离散傅里叶变换DFT [ 14 ] ^{[14]} [14],因为语音信号经采样后存储在计算机内的是离散信号,所以我们要用到的是DFT。将语音分帧后,要在每一帧提取一组13个MFCC系数作为语音的特征。每一帧经过一个DFT得到一个频谱,数学表达式如(2-2)所示。
X i ( k ) = ∑ n = 1 N x i ( n ) w ( n ) e − j 2 π k n N , 0 ≤ k ≤ N (2-2) X_{i}(k)=\sum_{n=1}^{N} x_{i}(n) w(n) e^{-j \frac{2 \pi k n}{N}}, 0 \leq k \leq N\tag{2-2} Xi(k)=n=1Nxi(n)w(n)ejN2πkn,0kN(2-2)
x i ( n ) x_{i}(n) xi(n)表示第i帧语音信号,w(n)是窗长为N个采样点的窗函数(例如汉明窗),并且K是离散傅里叶的长度。

2.3.2能量谱
  在时域上很难观察出语音信号的一些重要特性,需要将语音信号通过DFT变换到频域上,在频域取平方得到能量分布,然后研究共振峰以及变换过程,即谱包络,对基音周期还可以研究频谱,不同的能量谱,对应着不同的特性能量谱的数学表达式为(2-3)。
E i ( k ) = ∣ X i ( k ) ∣ 2 (2-3) E_i(k)=\left | X_i(k) \right | ^2\tag{2-3} Ei(k)=Xi(k)2(2-3)

2.3.3 Mel频率

  人的耳蜗能共振不同的频率,频率的变化是非线性的。研究人员设计出一组类似于人耳蜗的滤波器组,滤波器为三角滤波器,中心频率是按照Mel频率刻度均匀排列,图2.3.1为10个三角滤波器组成的Mel滤波器组[5],滤波器组的数学表达式为(2-4)。
H m ( k ) = { k − f ( m − 1 ) f ( m ) − f ( m − 1 ) , f ( m − 1 ) < k ≤ f ( m ) f ( m + 1 ) − k f ( m + 1 ) − f ( m ) , f ( m ) < k ≤ f ( m + 1 ) 0 , 其 他 (2-4) H_m(k)=\begin{cases} \frac{k-f(m-1)}{f(m)-f(m-1)},f(m-1)<k\le f(m) \\ \frac{f(m+1)-k}{f(m+1)-f(m)},f(m)<k\le f(m+1)\\ 0,其他 \end{cases}\tag{2-4} Hm(k)=f(m)f(m1)kf(m1),f(m1)<kf(m)f(m+1)f(m)f(m+1)k,f(m)<kf(m+1)0,(2-4)

式(2-4)中,M表示滤波器的个数, f ( m ) f(m) f(m)为中心频率。 f ( m ) f(m) f(m)的定义如下:

f ( m ) = ( N f s ) M − 1 [ M ( f 1 ) + m M ( f h ) − M ( f 1 ) M + 1 ] (2-5) f(m)=\left(\frac{N}{f_{s}}\right) M^{-1}\left[M\left(f_{1}\right)+m \frac{M\left(f_{h}\right)-M\left(f_{1}\right)}{M+1}\right]\tag{2-5} f(m)=(fsN)M1[M(f1)+mM+1M(fh)M(f1)](2-5)
式(2-5)中,为采样频率,为FFT的长度,为滤波器的最小频率,为滤波器的最小频率。 M ( f ) M(f) M(f)表示将线性频谱转换为Mel非线性频谱,其换算公式为:
M ( f ) = 1125 log ⁡ ( 1 + f 700 ) (2-6) M(f)=1125 \log \left(1+\frac{f}{700}\right)\tag{2-6} M(f)=1125log(1+700f)(2-6)
图2.3.2 10个Mel三角滤波器

2.3.4 同态解卷积

  声门的作为激励源,当频率等于声道(口腔)的固有频率时,声道会产生谐振,此时谐振的频率被称为共振峰。口腔肌肉属于软组织,能吸收声带振动时产生的能量,因此可以将口腔看作是一个阻尼大的共振器。当口腔形状不同时,更一般的来说,当声道(口腔、舌位和唇)不同时,能共振不同的频率,不同的频率也对应着不同的元音,所以共振峰是描述声道特性的重要参数,共振峰频率与舌位的关系如图所示。

  语音信号等于声门激励信号与声道响应信号的卷积。所以为了对共振峰进行估计,可以对解卷积,得到和,即对应着能量谱上的谱包络。将和波形的变化快慢抽象理解为高频和低频,然后映射到伪频率坐标上,这就是所谓的倒谱,公式如(2-7)所示。因此在倒谱用低通滤波器和高通滤波器就可以得到共振峰(低频部分)和基音周期(高频部分)。
C E P i ( k ) =  DFT  − 1 ( ln ⁡ ∣ E i ( k ) ∣ ) (2-7) C E P_{i}(k)=\text { DFT }^{-1}\left(\ln \left|E_{i}(k)\right|\right)\tag{2-7} CEPi(k)= DFT 1(lnEi(k))(2-7)
式(2-7), D F T − 1 DFT^{-1} DFT1 D F T DFT DFT的逆变换。

2.4 Mel频率倒谱系数

  Mel频率倒谱系数(Mel Frequency Cepstrum coefficient,MFCC)就是在Mel频谱上进行倒谱分析。简单来说就是帧信号经过DFT后,得到的结果平方,即得到功率谱,然后经过Mel频率滤波器组将线性频率映射到非线性Mel频率上,其对结果进行同态解卷积。计算过程如下:语音信号经过DFT得到频谱;然后平方得到能量谱,通入Mel频率滤波器组转换到Mel频率上,每个滤波都有叠加部分;将每个滤波器的输出进行同态解卷积,即进行对数处理,得到相应的对数功率谱log,然后进行反离散余弦变换(Discrete Cosine Transform,DCT),一般取DCT后的12~16个系数作为MFCC系数,公式为(2-8)。
C n = ∑ k = 1 M log ⁡ x ( k ) cos ⁡ [ π ( k − 0.5 ) n / M ] , n = 1 , 2 , ⋯   , L (2-8) C_{n}=\sum_{k=1}^{M} \log x(k) \cos [\pi(k-0.5) n / M], n=1,2,\cdots,L\tag{2-8} Cn=k=1Mlogx(k)cos[π(k0.5)n/M],n=1,2,,L(2-8)
  MFCC特征只描述了一个信号帧的能量谱包络,只能将其作为静态特征。做一阶和二阶差分得到对应的delta系数(动态特征),其公式为(2-9)。特征矢量等于静态特征加上动态特征,静态特征取13个时,特征矢量的长度为26。
d t = ∑ n = 1 N n ( c t + n − c t − n ) 2 ∑ n = 1 N n 2 (2-9) d_{t}=\frac{\sum_{n=1}^{N} n\left(c_{t+n}-c_{t-n}\right)}{2 \sum_{n=1}^{N} n^{2}}\tag{2-9} dt=2n=1Nn2n=1Nn(ct+nctn)(2-9)

三、声学模型

3.1 隐马尔可夫模型

3.1.1 模型参数

  HMM的模型参数 λ = ( π , A , B ) \lambda=(\pi,A,B) λ=(π,A,B) π \pi π表示初始状态概率矢量 [ a i j ] N × N [a_{ij}]_{N\times N} [aij]N×N,A表示状态转移矩阵,B表示观察概率矩阵 [ b j k ] N × M [b_{jk}]_{N\times M} [bjk]N×

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值