贾嘉敏,潘文林
(云南民族大学数学与计算机科学学院,云南昆明 650500)
语言是人类相互间传递信息最原始、便捷的工具,更是文化传承的重要载体[1]。汉语和少数民族语言作为中华民族文化的瑰宝,更是一个民族重要的象征。然而,在当今全球化发展的进程中,伴随着各民族文化的融合,少数民族语言文化遗产的传承与保护迫在眉睫。其中,对于跨中缅边境的少数民族——佤族而言,为维护边境稳定、增强国家认同,对其语言的传承与保护显得更加重要[2-3]。相比于语言资源丰富的汉语、壮语等语种,佤语因使用人数较少,较难收集到大量语料用于语音识别研究[4]。在当前参差不齐的语言环境下,很多少数民族语言正面临消亡的危险境地。故对于低资源的少数民族语言开展相应的语音识别研究具有极为重要的文化保护价值。通过积极推动少数民族语言文化研究,能更好地对其进行保护与传承,也是响应我国推动社会主义文化大发展、大繁荣的号召,推动语言及文化的多元发展。
现阶段对于少数民族的语音识别研究主要是从基于语音信号[5]和语谱图[6]两个角度切入。针对基于语音信号的语音识别研究,李余芳等[7]分别利用特定发音人和非特定发音人所录的语音进行隐马尔可夫模型(Hidden Markov Model,HMM)训练,对普米语孤立词进行识别;赵尔平等[8]利用藏语语音学特征提出改进的藏语孤立词语音识别方法,识别精度可达92.83%;胡文君等[9]利用kaldi 分别训练5种不同的声学模型,发现G-DNN 模型的普米语语音识别率明显高于Monophone、Triphone1、Triphone2 及OSGMM 模型;穆凯代姆罕·伊敏江等[10]构建CNN-HMM 声学模型和递归神经网络(Recurrent Neural Network,RNN)语言模型,提升了维吾尔语语音识别精度;黄晓辉等[11]通过探究循环神经网络模型对于藏语具有更好的识别性能,验证了Bi-LSTM-CTC 模型应用于藏语语音声学建模的可行性。针对基于语谱图的语音识别研究,董华珍[12]引入基于卷积神经网络的语谱图模型,通过卷积神经网络(Convolutional Neural Networks,CNN)对普米语孤立词语谱图分类进行探究,验证其算法的可行性;侯俊龙等[13]将剪枝的卷积神经网络AlexNet 模型用于普米语孤立词识别,识别精度高达98.53%;杨建香[14]基于残差网络的佤语孤立词语音识别精度可达96.3%,且连续语音语谱图识别率为90.2%,验证了其模型具有良好的鲁棒性。
上述工作都获得了相当不错的成果,但是其中针对语谱图的研究中,数据集设计存在不足之处,即同一个说话人说的词会同时出现在训练集和测试集中,在模型训练过程中会产生过拟合的可能。因此,在低资源的少数民族语音识别中应更加合理地设计数据集划分,以验证模型的有效性。
同时,近年来随着计算性能的不断提升以及数据量的飞速增长,各种新型神经网络模型不断涌现,如Inception[15]、Resnet[16]、Transformer[17]、长短时记忆网络(Long-Short Term Memory,LSTM)[18]等模型可从空间维度层面提升网络性能,相关研究都取得了不错的成果。然而,受限于佤语语料采集难度较大及研究基础薄弱等问题,Inception 模型在语音识别上的应用研究未能进一步深入。因此,本文尝试将Inception 模型应用于佤语的语音识别研究中,并在此基础上结合挤压—激励模块(Squeeze-and-Excitation Block,SE-Block)构建一种更优化的卷积神经网络模型,以验证该模型应用于少数民族语音识别的可行性。
Inception-ResNet_v2 模型由Google 团队于2016 年提出,其是在Inception 模型中引入Resnet 结构而生成的[19]。其中,Inception 结构是通过嵌入可提取多尺度信息的过滤器,并聚合来自不同感受野上的特征,从而实现性能的增益,同时采用1x1 卷积核进行降维处理以减少计算量。引入ResNet 结构可减少因层数增多而造成的过拟合及梯度消失现象,从而有效地加速收敛。Inception-ResNet_v2 模型结构如图1所示。
Fig.1 Inception-ResNet_v2 model structure图1 Inception-ResNet_v2模型结构
该模型是基于原Inception 模型的进一步改进。对于输入的299*299*3 语谱图,先执行初始操作集Stem 模块,以获得更深的网络结构。在进入Inception-Resnet 模块时,Inception 模块内的原池化操作被替换为残差连接,即在Inception 中加入ResNet 思想,并在add 之前使用线性的1x1卷积对齐维度。Inception-Resnet A、B、C 3 组模块结构相似,不同的是卷积核大小和尺度个数,其中Inception-ResNet 结构如图2 所示。同时引入专门的Reduction 模块用于改变特征图大小,该模块同样采用多尺度信息提取的Inception 结构,以防止出现bottleneck 问题。
Fig.2 Inception-ResNet structure图2 Inception-ResNet结构
Squeeze-and-Excitation Block(简称SE-Block)是一种全新的特征重标定模块。通过学习的方式自动获取每个特征通道权重,然后依照其权重大小提高对当前任务有用的特征信息权重,并抑制对当前任务作用不大的特征信息权重,从而加快网络训练速度[20]。SE-Block 并不是一个完整的网络结构,而是一个子结构,可嵌入到其他主流的分类、检测模型中。将其引入到各种网络模型中,可提高该网络对特征维度的信息通道选择能力,从而达到优化网络性能的目的。故本文尝试将SE-Block 插入Inception-ResNet_v2中并进行微调,训练出优化后的模型。
SE-Block 示意图如图3 所示(彩图扫OSID 码可见,下同)。
Fig.3 SE-Block diagram图3 SE-Block示意图
对于一个给定的特征图,SE-Block 将通过如下步骤进行特征重标定:
Step2:通过Squeeze 操作进行特征压缩,将每个二维平面的特征通道挤压成一个实数,如式(2)所示。每个实数等价于具有全局的感受野,并且输出的维度个数与输入的特征通道数相对应。
Step3:为利用上一步操作中聚集的信息,通过Excitation操作进行自适应调整,如式(3)所示。
通过FC-ReLU-FC-Sigmoid 的过程得到一个维度为1 × 1 ×C的s,其作为特征通道的权重,以表征特征通道的重要程度。
Step4:最后进行Reweight 操作,将对应通道的每个元素与Excitation 的输出权重分别相乘,如式(4)所示,从而实现了在通道维度上对原始特征的重标定。
SE-Block 的嵌入增加了网络中的特征权重,即增大有效权重所占比重。
SE-Block 具有高效性与灵活性,目前已广泛应用于图像识别中。为提取到更精细的语谱图特征,本文参考文献[21]中的方法,尝试将SE-Block 嵌入Inception-ResNet_v2模型中,探究SE-Block 对加强语谱图信息提取的能力,并把激活函数由原本的ReLU 替换为Leaky ReLU,从而进一步提高语音识别精度。具体方法为在每个Inception-ResNet 模块后加入SE-Block 进行特征重标定,以提升模型对channel特征的敏感性。
改进的Inception-ResNet_v2 网络模型总体结构如图4所示。
Fig.4 Overall structure of the model in this paper图4 本文模型总体结构
本文的实验环境主要在Python 开发环境中,使用TensorFlow 深度学习框架进行搭建,操作系统为Win10.0。
实验选用佤语作为研究对象,所用的佤语语料库为300 个孤立词,由2 男2 女分别重复读5 遍生成,共得到6 000 条孤立词语音。后期分别对语音语料进行归类整理,生成300类带标签的佤语孤立词语音语料库。
为实现对语音信号的精确识别,实验前期首先对语料库中的原始语音信号进行傅里叶变换,生成对应语谱图(见图5),然后通过reshape 将每张语谱图固定为同样大小,即生成大小均为299×299×3 的6 000 张佤语孤立词语谱图,最终组成本次实验所需的数据集。在图5 中,如标记13_1_2是指由第一个人读的第13个孤立词的第2遍。
Fig.5 Phonological spectrogram of isolated words in Wa language图5 佤语孤立词语音语谱图
少数民族孤立词语音识别训练流程如图6 所示。首先通过对原始语音信号进行数据预处理,得到各条语音对应的语谱图;然后将数据集中的所有数据划分为训练集、验证集和测试集,再将其输入到改进的Inception-ResNet_v2 模型中进行训练,经Softmax 输出分类结果;通过观察验证集精度是否达预期精度要求,不断进行调参优化训练,直至超过预期精度值;最后在测试集上进行测试,得到对应的模型识别结果。
对于数据集划分作如下设计:对于佤语数据集,说话者共有4 人,选取其中3 位发音人的语音数据作为训练集和验证集(其中训练集占比90%,验证集占比10%),另外1位发音人的语音数据作为测试集进行实验,得出相应的识别精度作为模型的识别精度值。
Fig.6 Training process of minority isolated word speech recognition图6 少数民族孤立词语音识别训练流程
2.3.1 不同学习率训练情况
为了观察学习率对模型泛化性能的影响,分别对不同学习率进行对比实验。同样都训练300 轮,在改进的Inception-ResNet_v2 模型中对佤语孤立词语音分别进行训练,并以验证集精度和损失变化曲线作为衡量指标进行性能评估。图7 为取不同学习率α(0.000 5、0.001 5、0.005、0.007 5),在佤语数据集上的训练情况。可明显看出,随着学习率的不断提高,模型收敛速度与精度都显著提高。当学习率达到0.005 时,模型收敛速度明显变快,精度也达到最高。但当学习率继续提高至0.0075 时,模型精度则出现下降,实验效果变差。
2.3.2 不同动量训练情况
在模型训练中,动量可加速SDG 在某一方向上的搜索以及减少震荡现象。当前后梯度方向一致时,动量梯度下降可加速学习。而当前后梯度方向不一致时,动量梯度下降可抑制震荡。因此,本次实验在其他条件不变的情况下,选取学习率为0.005,训练300 轮次,对比不同动量下梯度下降法的效果,如图8所示。
实验将参数β设为0.5、0.9、0.98,分别表示最大速度2倍、10 倍、50 倍于SGD 的算法。通过对不同超参数β的对比研究,发现当β为0.9 时,在训练期间的震荡明显减弱,过程更加平稳,故此实验取动量β=0.9。
Fig.7 Training in Wa language dataset with different learning rates图7 不同学习率下佤语数据集训练情况
Fig.8 Training of Wa language dataset under different momentum图8 不同动量下佤语数据集训练情况
根据以上对比实验与反复调试,最终确定模型超参数如下:学习率α为0.005,动量β为0.9,批大小为16。通过上述实验训练,实现了改进的Inception-ResNet_v2 模型对佤语孤立词语音的识别。
2.3.3 不同模型下语音识别精度
为验证本文方法的有效性,选择Inception_v1、Inception_v4、Resnet_50 与Inception_resnet_v2 进行对比实验。表1 为不同模型在佤语孤立词语音识别中的精度比较,由表中数据可知,加入SE-Block 后的Inception_Resnet_v2 模型效果得到进一步提升,相较于其他主流模型,改进的Inception_Resnet_v2模型识别精度最高,达到80.02%。
Table 1 Comparison of the accuracy of different models in Wa isolated word speech recognition表1 不同模型在佤语孤立词语音识别中的精度比较
本文提出基于改进Inception-Resnet_v2 的少数民族孤立词语音识别方法,通过引入SE-Block 模块,增强了模型的特征提取能力,在对非特定人的佤语孤立词识别中取得了较好效果。实验结果表明,该模型的识别性能最优,识别精度可达80.02%。证明本文方法可较好地应用于低资源少数民族语音识别中,为低资源少数民族语音识别提供了新思路。在接下来的工作中,可继续扩充语料库以解决说话人数较少的问题,在进一步提升模型识别精度的同时,为探究少数民族连续语音识别打下基础。