LSTM和GRU在城市声音分类中的应用

2020-07-01 05:35孙陈影沈希忠
应用技术学报 2020年2期
关键词:语音准确率神经网络

孙陈影, 沈希忠

(上海应用技术大学 电气与电子工程学院, 上海 201418)

快速的城市化对人类社会提出了严峻的挑战,如何建设高宜居和可持续发展的城市是一个值得重视的问题。物联网技术的进步使我们能够收集大量与环境和居民活动有关的城市声学数据,如儿童游戏,道路交通,甚至开枪射击等。通过研究动态声音视角的内容,可以更好地了解影响公民日常生活的声音问题,从而为提高城市生活质量奠定基础[1-2]。

目前,隐马尔可夫模型(hidden markov model, HMM)和人工神经网络(artificial neural network, ANN)是语音识别的常用方法,但是在优化模型搭建、提高识别率等方面有较大的局限性[3-4]。近年来,随着循环神经网络(recurrent neural network, RNN)的出现和进一步的研究,其在语音识别领域的应用越来越广泛[5-7]。例如各种识别、机器翻译等领域, 还被用于各类时间序列预报或与卷积神经网络相结合处理计算机视觉问题。然而,RNN自身存在的梯度消失的问题尚未得到很好地解决。文献[8]中描述了RNN的形式,给出了相应的参数估计方法,分析了其在语音识别方面的优缺点;文献[9]中研究了RNN在人类情感分析中的识别能力,实验结果表明,该方法在性别独立实验中取得了92%的情感识别准确率,优于以往使用相同实验数据的方法;文献[10]中提出了基于大词汇量会话电话语音识别的长短期记忆神经网络(long short-term memory, LSTM)体系结构,证明了LSTM在语音识别任务的声学建模中有很好的表现。

本文采用Mel频率倒谱系数(Mel-frequency cepstral coefficients, MFCC)对城市声音数据进行特征提取。为了进一步提高语音识别的准确率,同时解决RNN梯度消失的问题,本文搭建LSTM神经网络和门控循环单元(gated recurrent unit, GRU)神经网络并对其组成的深度神经网络模型进行训练。通过实验分析,与基本的RNN网络相比,降低了损耗,提高了语音识别的准确率。

1 特征提取

20世纪80年代,Davis等[11]首次提出了MFCC,MFCC参数是从生物学角度模拟人耳对语音的感知而提出的,受噪声等干扰信息的影响小,同时识别率较高,是被用的最多的特征参数。通过人耳对语音的感知性能的大量研究显示,人耳的感知能力与频率是非线性的关系,在频率小于1 kHz时,人耳听到的频率与数学上的频率是同步增减的,而当频率大于1 kHz时,人耳听到的频率与数学上的频率不存在同比例增减的关系,而是对数关系,将人耳感受到的频率定义为Mel频率。Mel频率与线性频率的转换关系式为

(1)

Mel频率与数学上的频率关系如图1所示。

图1 Mel频率与线性频率的关系图Fig.1 Diagram of Mel frequency and linear frequency

MFCC参数的提取流程如图2所示,提取步骤具体如下:①端点检测,目的是从语音信号中确定说话人的开始和结束位置,去掉完全静音的部分,留下真正有效的说话人语音信息;②预处理,预处理细分预加重、分帧和加窗;③快速傅里叶变换,通过FFT将处理域从时域转换到频域;④计算谱线能量,对每一帧信号计算谱线能量;⑤进行Mel滤波器组滤波,Mel滤波器组结构如图3所示;⑥离散余弦变换,先对上一步的Mel滤波器中的输出结果取对数,然后再做离散余弦变换,使每一维信号都保持自己的独立性,同时降维,得到Mel频率的倒谱系数;⑦求取差分参数,语音信号一部分是时不变的就是静态的,另一部分是时变的就是动态的。把动、静态特征结合起来能有效提高系统的识别性能。

图2 MFCC参数提取流程图Fig.2 Flow chart of MFCC parameters extraction

图3 Mel滤波器组结构图Fig.3 Structure of Mel filter group

维数选取根据实验网络和降维的需要,本文采用的MFCC参数的维数是40维,13维MFCC系数、13维一阶差分参数、13维二阶差分参数和帧能量。本文未涉及与其他特征提取方法的比较。

2 基于RNN的改进

RNN是一种以序列数据为输入,在演进方向进行循环,全部节点按链式连接组成闭合回路的神经网络。RNN通过每层之间的节点连接来记忆之前的信息,然后利用这些信息影响后续节点的输出。RNN可充分利用序列数据中的语义信息和时序信息,图4所示为RNN的简化结构图。

循环单元的状态引入了其上一个时间步的真实值,使用基于上下文连接的RNN由于训练时将学习样本的真实值作为输入,因此是一个可以逼近学习目标任意形式概率分布的生成模型。循环体状态与最终输出的维度通常不同,RNN需要一个全连接神经网络来完成将当前时刻的状态转化为最终的输出。RNN在每个时刻都有一个输出, 因此RNN的总损失是所有时刻(或部分时刻)上的损失函数的总和。

图4 基本RNN的简化结构图Fig.4 Simplified structure of the basic RNN

从理论上讲RNN可以很好地解决序列数据的训练问题,但是同时又存在梯度消失的问题,尤其是当序列很长的时候。所以,基本RNN模型通常不能直接用于应用领域。在语音识别,手写识别以及机器翻译等NLP领域应用比较广泛的是LSTM模型,基于RNN模型的一个特例。

2.1 LSTM

RNN的最重要目的是学习长期的依赖性,但是理论和实践表明很难学习并长期保存信息。为了解决这个问题,使用了一种特殊隐式单元LSTM[12](见图5)。

图5 LSTM的简化结构图Fig.5 Simplified structure of LSTM

由图5可见,LSTM比基本RNN复杂很多。序列索引位置t时刻,LSTM和RNN一样有隐藏状态h(t),但是LSTM多了一个隐藏状态,称为细胞状态(cell state),记为C(t)。LSTM中还有门控结构(gate),一般包括输入门、遗忘门和输出门3种。则在每个序列索引位置的过程为:

(1) 遗忘门是以一定的概率控制是否忘记上一层的隐藏细胞状态,其公式为

f(t)=σ(Wfh(t-1)+Ufx(t)+bf)

(2)

(2) 输入门处理当前序列位置的输入,由两部分组成,两者的结果相乘来更新细胞状态。

i(t)=σ(Wih(t-1)+Uix(t)+bi)

(3)

a(t)=tanh(Wah(t-1)+Uax(t)+ba)

(4)

(3) 细胞状态C(t)取决于前面的遗忘门和输入门的结果,即

C(t)=C(t-1)⊙f(t)+i(t)⊙a(t)

(5)

(4) 更新输出门输出:

(5) 更新当前序列索引预测输出:

(8)

LSTM作为RNN的特例,结构较为复杂。通过LSTM可以有效避免RNN的梯度消失问题,但是LSTM的历经时间会很长,不够高效,而且对于小型数据集来说结果不够理想。

2.2 GRU神经网络

LSTM的提出是为了克服RNN无法很好地处理远距离依赖地问题,GRU是LSTM的一个变体。GRU保持了LSTM的效果同时又使结构更加简单。图6所示为GRU的简化结构,只有2个门,重置门和更新门,即图中的r(t)和z(t)。

图6 GRU的简化结构图Fig.6 Simplified structure of GRU

图7 城市声音数据集中声音类的分类Fig.7 Classification of sound classes in urban sound data sets

在每个序列索引位置的过程为:

(1) 重置门以一定的概率控制前一时刻信息,有利于得到时序数据中的短期依赖关系,即

r(t)=σ(Wr·[h(t-1),x(t)])

(9)

(2) 更新门控制前一时刻的状态信息被代入到当前状态中,有助于得到时序数据中的长期依赖关系

z(t)=σ(Wz·[h(t-1),x(t)])

(10)

(3) 候选隐含状态用重置门来控制隐含状态。重置门决定了是否丢弃与后来无关的过去隐含状态,即重置门控制过去有多少信息被遗忘

(11)

(4) 隐含状态h(t)使用更新门z(t)来对上一个隐含状态h(t-1)和候选隐含状态进行更新。更新门决定过去的隐含状态在当前时刻的重要性。可以解决RNN的梯度衰减问题,并且更好地得到时序数据中间隔较大的依赖关系,即

(12)

(5) 更新当前序列索引预测输出:

(13)

GRU通过分析LSTM架构中哪些部分是真正需要的而进行改进,将遗忘门和输入门合成了一个更新门。同样还混合了细胞状态和隐藏状态。最终的模型比标准的 LSTM 模型要简单。理论上与LSTM相似,可以达到和LSTM相同的效果甚至更好。在实验的过程中使用了GRU深度神经网络,将结果与前2种作对比。

3 实验分析

3.1 数据集

为了验证所提出的方法,本文使用UrbanSound8K[13]数据集进行了实验,该数据集包含10个类别的城市声音和 8 732 个真实世界的声音。10种声音类别的简要分类如图7所示,分别为空调、汽车喇叭、儿童游戏、狗吠、钻探、发动机、枪声、重锤、警笛和街头音乐。可见,该数据集包含了典型的城市噪声和与城市生活高度相关的突发事件声音,因此该数据集适合于测试城市语音分类算法。此外,还给出了如图8所示表示事件类的样本数量。该数据集还提供了10个交叉验证集,确保训练和测试分割之间没有重叠。

图8 每种声音类的样本数量Fig.8 Sample size per sound class

3.2 网络搭建

循环神经网络的训练需要在结构(输入数据的格式、层的数量和大小)和学习超参数(学习速率、动量、批处理大小、退出概率、应用正则化的数量)2个方面做出许多决策。由于训练一个完整的模型需要时间,因此对所有可能的组合进行详细的评估是不可能的。因此,最有前途的模型选择必须基于对最重要的因素(隐藏层数、学习率、dropout)进行有限的验证。

(1) 对于数据集的语音特征提取,本文采用MFCC,利用librosa实现,从数据集中提取MFCC特征集。

(2) 对于隐含层数量的选择,主要从准确率、损失值及时间这三方面考虑。在其他参数不变的情况下,更改隐含层数量。由图9可见,整个过程时间基本没有差别,但对于准确率和损失来说,在隐层数量为3时结果最为理想。

图9 隐含层数量对比Fig.9 Comparison of the number of hidden layers

图10 Dropout参数对比图Fig.10 Dropout parameter comparison chart

(3) 本文实验在训练时加入dropout。在预测时,会使用所有的单元,这相当于组合所有的模型,所以dropout可以有效地防止训练中出现参数拟合过度的问题,同时组合训练能获得更好的组合模型。经由图10对比,可以看到dropout不同时的效果,整个过程时间基本没有差别,但对于准确率和损失来说,dropout为50%时效果最佳。

(4) 进一步处理是通过隐藏层,每层300个节点数,节点数太多会增加训练的时间以及训练容易陷入局部极小点而得不到最优点,出现“过拟合”的现象。

(5) loss函数使用交叉熵。交叉熵作为损失函数的好处是在梯度下降时能避免均方误差损失函数学习速率降低的问题。

(6) 经过上面的实验,本文网络的主要参数如下:输入维度40;输出维度10;隐藏层3层;隐层单元数300;dropout参数0.5。网络结构第1层为特征参数输入层,即Mel参数集。2、3、4三层为本文所述神经网络层,每层300个单元,dropout为50%。最后一层为全连接输出层,与softmax结合分类输出。网络结构如图11所示。

图11 深度循环神经网络结构Fig.11 Deep recurrent neural network structure

3.3 实验结果分析

本文的主要目的是通过深度学习神经网络完成对城市语音数据集UrbanSound8K的分类。主要实现方法为深度RNN(RNNs)、深度LSTM(LSTMs)和深度GRU(GRUs)。实验在Ubuntu14.04,TensorFlow环境下实现,如图12所示。

图12 RNNs、LSTMs和GRUs的语音分类的准确率和损失Fig.12 Accuracy and loss of speech classification for RNNs, LSTMs and GRUs

由图12可见,基本RNNs、LSTMs和GRUs的训练和测试结果,将最后的结果列在表1中。

表1 RNNs、LSTMs和GRUs的训练和测试结果

Tab.1 Training and test results of RNNs, LSTMs and GRUs

网络类别耗时/min损失准确率/%RNNs训练30.672.21423.94测试30.672.23621.78LSTMs训练60.621.69976.14测试60.621.76369.82GRUs训练20.531.49396.81测试20.231.60885.87

从时间上看LSTMs耗时是RNNs和GRUs的2倍,且GRUs相对RNNs来说具有更大的优势,可以节省很多时间。从损失loss上看RNNs消耗较大,LSTMs和GRUs相比还是GRUs的效果好。从准确率上看RNNs的准确率太低,LSTMs也只达到了80%左右,GRUs相对来说效果最好,训练效果可以达到96%。由上可知,GRUs在损失和准确率上比LSTMs更好,尤其是在时间方面GRUs最快速。经过上面的实验对比,基于本文选取的数据集,GRUs在时间上更加节省,同时准确率有所提升,损失下降,实现效果最好。

对于本数据集的研究,使用相同的特征参数提取方法,与文献[13]中使用的深度卷积神经网络进行对比,该网络的准确率为83.5%。经对比,本文的方法在准确率上优于文献[14]中的深度卷积神经网络。

4 结 语

本文通过搭建LSTM和GRU深度神经网络分别对基于Mel频率倒谱系数(MFCC)提取UrbanSound8K数据集的特征参数,进行语音识别的训练和测试。实验结果表明,本文采用的LSTMs和GRUs在损失和准确率方面比基本RNNs要好,并有效地解决了RNN的梯度消失问题。其中对于本文采用的数据集,GRUs表现更好,简洁且更加高效。但是,本文搭建的深度神经网络仍然还有局限性,在以后的学习中可以继续优化或者结合其他网络进行优化。由上述实验表明,城市声音的分类,对研究城市声音对居民的影响,提高城市生活的质量有很大的意义。

猜你喜欢
语音准确率神经网络
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
神经网络抑制无线通信干扰探究
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
基于神经网络的中小学生情感分析
对方正在输入……
高速公路车牌识别标识站准确率验证法