2. 中国人民武装警察部队工程大学 信息工程学院, 西安 710086;
3. 中国人民武装警察部队工程大学乌鲁木齐校区, 乌鲁木齐 830049;
4. 中国人民武装警察部队工程大学 反恐指挥信息工程研究团队, 西安 710086
2. College of Information Engineering, Engineering University of PAP, Xi'an 710086, China;
3. Urumqi Campus, Engineering University of PAP, Urumqi 830049, China;
4. Anti-terrorism Command Information Engineering Research Team, Engineering University of PAP, Xi'an 710086, China
开放科学(资源服务)标志码(OSID):
随着世界新军事革命的发展,我军装备体系建设正向着现代化、信息化的方向不断推进,其中语音控制技术作为无人装备的无感控制模块受到了越来越多的重视,在军事人工智能领域正在推进应用的加速落地。
在中文语音识别军事应用方面,朱鸿展等[1]介绍了基于语音交互的军事标绘技术;曹慧敏等[2]阐述了在海上侦察系统中语音识别技术发挥的重要作用;赵军辉等[3]阐述了在军事指挥中可靠的语音识别研究;路建伟等[4]进行了战场环境下的军事语音识别研究。
中文语音识别算法已经历了从GMM-HMM、DNN-HMM到DNN的发展阶段。当前应用深度神经网络完成语音识别任务已成为主流,李鹏等[5]探索了基于双向循环神经网络的汉语拼音识别算法;张瑞珍等[6]研究了基于深度LSTM的端到端语音识别算法;刘娟宏等[7]研究了基于改进卷积网络的深度神经网络中文语音识别技术;张威等[8]提出了基于SE-MCNN-CTC的中文语音识别声学模型;HAN等[9]提出了一种用于语音识别框架中卷积网络的残差结构,提高了卷积网络的性能;COLLOBERT等[10]提出了一种基于门控机制的卷积神经网络语音识别架构,但其中针对军事装备控制应用场景研究不足,同时语音识别准确率有待进一步提高。基于对上述方法应用的研究分析,为进一步提高中文语音识别的准确率,本文提出一种基于残差门控机制的深度卷积网络用于中文语音识别,并将其应用到了军事装备控制中,最终通过理论分析与对比进行了实验论证。
1 方法流程为完成对军事装备控制指令的识别任务,本文提出中文语音识别方法流程,如图 1所示。
![]() |
Download:
|
图 1 语音识别流程 Fig. 1 Procedure of speech recognition |
语音识别方法步骤如下:
步骤1 军事装备控制指令数据集构建。利用私有数据与录制数据,结合外源语音合成API构建军事装备控制指令数据集。
步骤2 数据预处理。对时域音频信号提取其梅尔频谱系数(MFCC),即频谱特征用来表示时域与频域特征作为神经网络的输入张量。
步骤3 网络结构设计。为提高识别的准确性与鲁棒性,设计了基于残差门控机制的卷积神经网络对音频的梅尔频谱系数进行再编码,利用一维卷积实现提取高级特征的目的。然后通过循环神经网络与集束搜索算法进行解码并预测字符。
步骤4 网络模型训练。每轮训练输入1个批次的数据,输出识别的字符并计算损失值,应用误差反向传播算法计算梯度并利用优化算法更新模型参数值,依照此方法循环迭代直至模型收敛。
步骤5 控制指令识别测试。模型训练完成后,利用测试集完成准确率测试,最终使用识别结果完成装备控制。
2 网络结构设计军事装备控制指令识别网络的设计分为编码网络与解码网络2个部分。在使用深度神经网络构建端到端的语音识别过程中,用于特征提取的残差门控卷积神经网络为编码器,解码器部分为长短时记忆网络(LSTM)与CTC解码器2个部分。
2.1 编码网络编码网络用来完成对MFCC的特征提取。为进一步提高提取特征质量,首先引入门控卷积网络,其次在增加网络深度的同时减少信息损失,缓解梯度消失与梯度爆炸。通过引入残差结构,构成基于残差门控机制的一维卷积神经网络作为编码网络,其结构如图 2所示。
![]() |
Download:
|
图 2 编码器结构 Fig. 2 Encoder structure |
门控卷积网络的数学表达式[11]为:
$ {h}_{l}\left(\boldsymbol{X}\right)=(\boldsymbol{X}\mathrm{*}\boldsymbol{W}+b)\otimes \delta (\boldsymbol{X}\mathrm{*}\boldsymbol{V}+c) $ | (1) |
其中:
为提高网络提取高级特征的能力,加深门控卷积网络深度,同时为提高深度网络的稳定性与缓解梯度问题[12],引入残差结构:
$ {h}_{l+1}\left(\boldsymbol{X}\right)={h}_{l}\left(\boldsymbol{X}\right)+{h}_{u}\left(\boldsymbol{X}\right) $ | (2) |
其中:第
解码网络整体结构如图 3所示。
![]() |
Download:
|
图 3 解码器结构 Fig. 3 Decoder structure |
解码网络整体结构由两层LSTM网络与CTC解码器构成,其中LSTM的数学表达式[13]为:
$ {i}_{t}=\delta \left({\boldsymbol{W}}_{i}\right[{h}_{t-1}, {\boldsymbol{x}}_{t}]+{b}_{i}) $ | (3) |
$ {f}_{t}=\delta \left({\boldsymbol{W}}_{f}\right[{h}_{t-1}, {\boldsymbol{x}}_{t}]+{b}_{f}) $ | (4) |
$ {o}_{t}=\delta \left({\boldsymbol{W}}_{o}\right[{h}_{t-1}, {\boldsymbol{x}}_{t}]+{b}_{o}) $ | (5) |
其中:
LSTM的内部输入为
$ {\tilde{c}}_{t}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({\boldsymbol{W}}_{c}\right[{h}_{t-1}, {\boldsymbol{x}}_{t}\left]\right) $ | (6) |
$ {c}_{t}={f}_{t}\otimes {c}_{t-1}+{i}_{t}\otimes {\tilde{c}}_{t} $ | (7) |
$ {h}_{t}={o}_{t}\otimes \mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({c}_{t}\right) $ | (8) |
其中:
$ {y}_{i}=\frac{{\mathrm{e}}^{{h}_{i}}}{\mathop \sum \limits_{j=1}^{T}{\mathrm{e}}^{{h}_{j}}} $ | (9) |
其中:
LSTM内部运算结构如图 4所示。
![]() |
Download:
|
图 4 LSTM内部结构 Fig. 4 LSTM internal structure |
LSTM输出的张量经过Softmax层转化成概率值输出,因为输出存在空值,为了进一步提高解码准确率,采用集束搜索算法[14]作为解码汉字的算法,其目的是计算当前待定词下连续步骤的概率最大,作为最优输出。集束搜索算法的数学表达式为:
$\mathop {{\mathop{\rm argmax}\nolimits} }\limits_y \prod\limits_{t = 1}^{{T_y}} p \left( {{y^{ < t > }}\mid x,{y^{ < 1 > }},{y^{ < 2 > }}, \cdots ,{y^{ < t - 1 > }}} \right)$ | (10) |
网络模型训练是一个监督学习的过程,分为前向传播与后向传播2个阶段。前向传播过程利用原始信息沿设计的网络结构进行矩阵运算,网络在每次前向传播后计算出1个目标值以及对应的损失函数值,损失函数即为网络输出目标值与样本标签间差距的衡量指标;根据误差值,应用反向传播算法计算出每个参数的梯度值,采用一定的更新策略对参数进行更新。到此,1个批次(Batch)的训练结束,依次循环迭代上述过程直到完成规定的迭代次数,网络模型训练结束。对训练集的数据训练1遍称为1个Epoch,往往要经过多个Epoch才会取得较好的训练效果。
损失函数[15]为:
$L(S) = - \ln \prod\limits_{(x,z) \in S} p (z\mid x) = - \sum\limits_{(x,z) \in S} {\ln } \;p(z\mid x)$ | (11) |
其中:
$ V\left(t\right)={\rho }_{1}V(t-1)+(1-\rho )\mathrm{\Delta }L\left(\theta \right) $ | (12) |
其中:
$ {g}_{t}={\rho }_{2}{g}_{(t-1)}+(1-{\rho }_{2})\mathrm{\Delta }L{\left(\theta \right)}^{2} $ | (13) |
使得更新频率比较低的参数有更大的更新幅度。随后将以上2个机制归一化作为优化的参数更新策略,实现加快梯度下降速度与提高下降的稳定性以及优化参数个性化更新的问题。更新过程如下:
$ {V}^{\text{'}}\left(t\right)=\frac{V\left(t\right)}{1-{\rho }_{1}} $ | (14) |
$ {\widehat{g}}_{t}=\frac{{g}_{t}}{1-{\rho }_{2}} $ | (15) |
$ {\boldsymbol{\theta }}_{t}={\theta }_{t-1}-\frac{\eta }{\sqrt{{\widehat{g}}_{t}+\epsilon }}\cdot {V}^{\text{'}}\left(t\right) $ | (16) |
其中:
基于以上特征提取网络与解码网络,构建针对军事装备控制指令的语音识别算法,下文重点从实验环境、数据集构建、模型参数、训练过程、性能测试、算法对比、实验结果与分析阐述实验过程。
4.1 实验环境模型的训练与测试均在工作站上完成,其中网络搭建框架使用Facebook公司的开源深度学习框架Pytorch,具体环境配置如表 1所示。
![]() |
下载CSV 表 1 实验环境参数 Table 1 Experimental environment parameter |
开源的中文语音识别训练数据集如表 2所示,为验证算法优越性,以容易获取的THCH30、AISHELL-1、ST-CMDS 3个开源语音库作为基准测试数据集。
![]() |
下载CSV 表 2 开源中文语音识别数据集 Table 2 Open source Chinese speech recognition data set |
为构建军事装备控制指令数据集,在私有数据的基础上,应用外源语音合成API合成法、录制法等构建军事指令数据集。构建流程如图 5所示。
![]() |
Download:
|
图 5 数据集构建流程 Fig. 5 Procedure of data set construction |
每个Batch的批次样本数为64个,对音频信号采样率为16 000 Hz,滑动窗口大小为0.02,步长为0.01,每个Batch的语音数据预处理后转化为维度为[64, 161, 601]的梅尔频谱系数,其中:第1维度为批次样本个数;第2维度为通道数;第3维度为特征向量维度。
4.3.2 编码器输入的语音频谱系数矩阵Input的参数定义为批次样本数、通道数、特征向量维度;编码特征提取网络由12层残差门控卷积块(Gated_block)构成,每一残差门控卷积块前接weight_norm层进行参数归一化,后接Dropout,以提高网络的泛化性。残差门控卷积块的参数定义为输入通道数、输出通道数、一维卷积Kernel尺寸、卷积步长、Padding大小。其中Padding为可选参数。每层的具体参数如表 3所示。
![]() |
下载CSV 表 3 编码器结构参数 Table 3 Encoder structure parameter |
解码器部分由两层LSTM网络加集束搜索器构成。输入张量为编码器最后一层的输出张量,其参数定义为批样本数、词嵌入向量、输出词个数。输出词个数即为output_units。LSTM的参数定义为输入向量维度、隐藏层维度、LSTM层数。其中,隐藏层维度即为dictionary_dim,等于标签字典的维度。最后的输出张量经过Softmax层输出为概率值,而后通过Beam_search算法同时对3个潜在预测词进行集束搜索。具体参数如表 4所示。
![]() |
下载CSV 表 4 解码器结构参数 Table 4 Decoder structure parameter table |
首先对WAV格式的音频数据提取梅尔倒谱系数(MFCC)作为其特征向量,然后对音频内容为"打开短波电台,释放无人机"的音频文件提取其梅尔频谱系数构成频谱图,如图 6所示。训练过程的具体参数如表 5所示。
![]() |
Download:
|
图 6 梅尔频谱系数示意图 Fig. 6 Schematic diagram of Mel spectrum coefficients |
![]() |
下载CSV 表 5 训练参数 Table 5 Training parameter |
以上为数据预处理的部分,下文进行语音识别网络的搭建与训练,编码器网络与解码器网络参数见4.3节。损失函数采用CTC_Loss,优化函数采用Adam。训练过程中的损失值变化如图 7、图 8所示。
![]() |
Download:
|
图 7 开源数据训练过程 Fig. 7 Training process of open source data |
![]() |
Download:
|
图 8 军事控制指令数据集训练过程 Fig. 8 Training process of military control instruction data set |
模型识别结果相对于真实标签,即真实语音内容,经过替换、删除、插入可以将识别结果转化成标签结果。为完成对构建的军事控制指令的识别效率性能测试,定义词错率(WER)与准确率如下:
$ {W}_{\mathrm{W}\mathrm{E}\mathrm{R}}=\frac{S+D+I}{N} $ | (17) |
$ {A}_{\mathrm{A}\mathrm{c}\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{a}\mathrm{c}\mathrm{y}}=1-{W}_{\mathrm{W}\mathrm{E}\mathrm{R}} $ | (18) |
其中:
在私有数据集上的性能测试结果如表 6所示。
![]() |
下载CSV 表 6 性能测试结果对比 Table 6 Comparison of performance test results |
性能测试结果表明,基于门控机制的残差卷积网络在数据集上实现了最低的词错率。
4.6 算法对比结果分析为证明本文算法中残差门控卷积网络的准确率优于其他架构,以THCH-30、AISHELL-1、ST-CMDS 3个数据集为参考数据集,对比5种算法的性能。其中:CNN-1024[17]为基于卷积神经网络的语音识别网络架构;LSTM-2048[18]为基于循环神经网络的语音识别网络架构;CNN-LSTM[19]为以CNN为特征提取器;LSTM为解码器的识别网络架构;SEGGCNN[20]为基于残差门控卷积神经网络的识别网络架构;SEGGCNN-LSTM为本文算法;词错率WER为对比指标,具体结果如表 7所示。
![]() |
下载CSV 表 7 算法性能对比 Table 7 Comparison of algorithm performance |
从表 7可以看出,本文算法(SEGGCNN-LSTM)在3个数据集上都具有最高的识别准确率。该算法针对军事语音控制指令数据集进行训练,在性能测试中达到87%的准确性。因为引入了门控卷积网络架构,所以网络在提取关键信息的程度上比CNN特征提取器性能更好,而且残差结构的引入减少了多层卷积的信息损失,使得网络更稳定。此外,在解码器中采用LSTM,提高了上下文的信息利用率,解码功能过程中集束搜索算法的使用也进一步提高了算法的识别准确性。
5 结束语为提高中文语音识别准确率与完成军事装备语音控制任务,本文通过构建基于残差门控机制的语音识别网络,在通用数据集上证明了算法的优越性。同时,通过在军事控制指令集上的训练,在网络性能测试中表现良好,可实现军事装备语音控制的目的,为军事装备智能化无感控制提供了一套基于中文语音识别的解决方案。但是本文提出的算法尚未对强噪声因素进行考量,下一步将完善抗噪中文语音识别技术的相关研究。
[1] |
ZHU H Z. Research on multi-channel plotting interactive technology combining gesture and speech[D]. Changsha: National University of Defence Technology, 2014. (in Chinese) 朱鸿展. 融合手势与语音的多通道标绘交互技术研究[D]. 长沙: 国防科学技术大学, 2014. |
[2] |
CAO H M. Research on voice recognition technology based on maritime reconnaissance system[D]. Nanjing: Nanjing University of Science and Technology, 2010. 曹慧敏. 基于海上侦察系统的声音识别技术研究[D]. 南京: 南京理工大学, 2010. |
[3] |
ZHAO J H, KUANG J M, XIE X. Robust speech recognition system applied in military command[J]. Journal of Ordnance Engineering, 2004, 25(4): 509-512. (in Chinese) 赵军辉, 匡镜明, 谢湘. 应用于军事指挥中的鲁棒性语音识别系统[J]. 兵工学报, 2004, 25(4): 509-512. DOI:10.3321/j.issn:1000-1093.2004.04.030 |
[4] |
LU J W, DING Q H, ZHU X P, et al. Military command recognition technology in battlefield environment[J]. Journal of Nanjing University of Science and Technology(Natural Science Edition), 2002, 26(4): 438-441, 445. (in Chinese) 路建伟, 丁庆海, 朱雪平, 等. 战场环境下的军事命令识别技术[J]. 南京理工大学学报(自然科学版), 2002, 26(4): 438-441, 445. DOI:10.3969/j.issn.1005-9830.2002.04.024 |
[5] |
LI P, YANG Y W, GAO X J, et al. Chinese speech recognition based on bidirectional recurrent neural network[J]. Applied Acoustics, 2020, 39(3): 464-471. (in Chinese) 李鹏, 杨元维, 高贤君, 等. 基于双向循环神经网络的汉语语音识别[J]. 应用声学, 2020, 39(3): 464-471. |
[6] |
ZHANG R Z, HAN Y P, ZHANG X T. End-to-end speech recognition based on deep LSTM[J]. Journal of North University of China (Natural Science Edition), 2020, 41(3): 244-248. (in Chinese) 张瑞珍, 韩跃平, 张晓通. 基于深度LSTM的端到端的语音识别[J]. 中北大学学报(自然科学版), 2020, 41(3): 244-248. DOI:10.3969/j.issn.1673-3193.2020.03.010 |
[7] |
LIU J H, HU Y, HUANG H Y. End-to-end deep convolutional neural network speech recognition[J]. Computer Applications and Software, 2020, 37(4): 192-196. (in Chinese) 刘娟宏, 胡彧, 黄鹤宇. 端到端的深度卷积神经网络语音识别[J]. 计算机应用与软件, 2020, 37(4): 192-196. DOI:10.3969/j.issn.1000-386x.2020.04.031 |
[8] |
ZHANG W, ZHAI M H, HUANG Z L, et al. SE-MCNN-CTC Chinese speech recognition acoustic model[J]. Applied Acoustics, 2020, 39(2): 223-230. (in Chinese) 张威, 翟明浩, 黄子龙, 等. SE-MCNN-CTC的中文语音识别声学模型[J]. 应用声学, 2020, 39(2): 223-230. |
[9] |
HAN W, ZHANG Z D, ZHANG Y, et al. ContextNet: improving convolutional neural networks for automatic speech recognition with global context[EB/OL]. [2020-05-05]. https://arxiv.org/abs/2005.03191.
|
[10] |
COLLOBERT R, PUHRSCH C, SYNNAEVE G. Wav2Letter: an end-to-end ConvNet-based speech recognition system[EB/OL]. [2020-05-05]. https://arxiv.org/abs/1609.03193.
|
[11] |
DAUPHIN L, YANN N. Language modeling with gated convolutional networks[C]//Proceedings of the 34th International Conference on Machine Learning. Washington D.C., USA: IEEE Press, 2017: 325-339.
|
[12] |
YING T, YANG J, LIU X M. Image super-resolution via deep recursive residual network[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 235-244.
|
[13] |
MARTIN S, SCHLUTER R, NEY H. LSTM neural networks for language modeling[C]//Proceedings of the 20th ACM Conference of the International Speech Communication Association. New York, USA: ACM Press, 2012: 158-169.
|
[14] |
MARCELLO F. Language modelling for efficient beam-search[J]. Computer Speech and Language, 1995, 9(4): 353-380. DOI:10.1006/csla.1995.0017 |
[15] |
MIAO Y J. An empirical exploration of CTC acoustic models[C]//Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing. Washington D.C., USA: IEEE Press, 2016: 457-469.
|
[16] |
KINGMA A, DIEDERIK P, BA J. Adam: a method for stochastic optimization[EB/OL]. [2020-05-05]. https://arxiv.org/abs/.
|
[17] |
WANG Y S, DENG X J, PU S B, et al. Residual convolutional CTC networks for automatic speech recognition[EB/OL]. [2020-05-05]. https://arxiv.org/abs/1702.07793.
|
[18] |
WILLIAM C. Listen, attend and spell: a neural network for large vocabulary conversational speech recognition[C]//Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing. Washington D.C., USA: IEEE Press, 2016: 59-72.
|
[19] |
ZHAO J F, XIA M, CHEN L J. Speech emotion recognition using deep 1D & 2D CNN LSTM networks[J]. Biomedical Signal Processing and Control, 2019, 47(6): 312-323. |
[20] |
PRATAP V, HANNUN A, XU Q T, et al. wav2letter++: the fastest open-source speech recognition system[EB/OL]. [2020-05-05]. https://arxiv.org/abs/1812.07625.
|