Transformer模型对输入序列中重要的信息进行学习, 相比传统的ASR (automatic speech recognition)模型提升了准确性. Conformer模型在Transformer的编码器中加入卷积模块, 增加了获取细微局部信息的能力, 进一步提高了模型性能. 本文结合使用Conformer模型和N-gram语言模型(language model , LM)用于中文语音识别, 获得了良好的识别效果. 在数据集AISHELL-1和aidatatang_200zh上的实验表明, 使用Conformer模型字错率分别可降低到5.79%和5.60%, 较Transformer模型降低了5.82%和2.71%. 结合N-gram语言模型后字错率分别可降低到4.86%和5.10%达到最佳性能, 实时率(real time factor , RTF)达到0.14566. 测试信噪比降低为20 dB时模型字错率才明显下降到8.58%, 表明该模型具有一定的抗噪能力.
The Transformer model can learn important information in the input sequence, which shows higher accuracy compared to the traditional automatic speech recognition (ASR) model. The Conformer model adds a convolution module to the Transformer’s encoder, which increases the ability to obtain subtle local information and further improves the performance of the model. In this study, the Conformer model and the N-gram language model (LM) are used in combination for Chinese speech recognition, and a good recognition effect is obtained. Experiments on the data sets of AISHELL-1 and aidatatang_200zh show that the character error rate of the Conformer model can be reduced to 5.79% and 5.60%, respectively, which is 5.82% and 2.71% lower than that of the Transformer model. Upon the combination with the N-gram LM, the character error rate can be reduced to the optimal performance of 4.86% and 5.10%, respectively, and the real-time factor (RTF) can reach 0.14566. When the test signal-to-noise ratio is reduced to 20 dB, the character error rate of the model drops to 8.58%, which indicates the anti-noise ability of the model.
随着科技的飞速发展, 语音识别技术已经成为了智能设备的标配, 这项技术贯穿了多门学科理论, 包含了模式识别、电子技术、数理统计、信号处理、计算机科学、物理声学、生理科学和语言学等. 由于语音交互提供了更自然、更便利、更高效的沟通形式, 语音必定将成为未来最主要的人机互动接口之一.
在20世纪50年代, 贝尔实验室就开始基于简单的孤立词语音识别技术的研究[
进入21世纪后, 深度学习技术不断发展, 在2011年, 微软研究院的Deng等人以音素状态为建模单位提出了深度神经网络-隐马尔可夫模型(DNN-HMM)的识别方法, 用DNN模型代替原来的GMM模型, 对每一个状态进行建模, 显著降低了错误率[
到2015年, 从联结时序分类算法(connectionist temporal classification, CTC)[
近几年, 研究人员注意到具有自注意力机制的深度神经网络模型 “Transformer”[
本文所使用的Conformer结构是在Transformer模型编码器的基础上增加卷积模块, 构成Conformer 编码器. 结构如
Conformer 编码器
Conformer模型核心就是编码器中的Conformer块, 其结构如
Conformer块结构
在多头自注意力模块中, 其结构如
多头自注意力模块
多头注意力模块中的注意力机制从输入的大量信息中选择关键信息加以处理. 使用信息提取的方法将维度为
其中, 对
多头注意力机制是将
其中,
Conformer块结构中的卷积模块如
在卷积模块中使用深度可分离卷积, 深度可分离卷积由Pointwise 卷积和 Depthwise 卷积组成, 它将普通的卷积操作分解为两个过程, 这么做可以用较少的参数学习更丰富的特征并且减少了计算量. Pointwise 卷积运算负责将深度卷积的输出按通道投影到新的特征图上; Depthwise 卷积不同于原始卷积, 一个卷积核负责一个通道, 独立地在每个通道上进行空间卷积[
卷积模块
GLU激活函数如式(4)所示:
其中,
前馈网络(feed forward network , FFN)的结构如
前馈层结构
如式(5)所示, 前馈层目的是为了更新注意力层输出向量的每个状态信息. 其中
然后在经过Layer Norm 层归一化重新定位, 对编码器的深度网络进行平滑优化[
语言模型用于评估文本序列是否符合人类语言使用习惯, 是传统语音识别系统中不可或缺的一部分. 语言模型可以基于语法规则, 也可以基于统计方法. 基于语法规则的语言模型来源于语言学家掌握的语言学领域知识. 而基于统计方法的语言模型, 通过对大量文本语料进行处理, 获得给定词序列出现的概率分布, 以客观描述词与词之间组合的可能性, 适合于处理大规模真实文本.
统计语言模型的目标是计算给定词序列
其中, 条件概率
但是, 纯端到端的模型并没有结合语言模型, 在结合语言模型之后会更好地利用中文语言特性得到更加准确的预测结果. 而N-gram语言模型有着成熟完备的训练工具, 语料或多或少都可以进行训练并且训练速度也很快, 因此本实验采用N-gram语言模型[
N-gram 是语音识别中最常用到的语言模型. N-gram 指文本中连续出现的
当
当
当
多元模型N-gram可以表示为式(10):
其中,
目前主要使用困惑度进行对比来确定语言模型的好坏, 这种指标比较客观. 给定句子
困惑度简称为
语言模型的概率需要通过大量的文本语料来估计, 采用最大似然算法. 但是在统计的预料中数量有限, 因此会存在数据稀疏的情况, 这会导致零概率或估计不准的问题, 因此对预料中未出现或少量出现的词序列, 需要采用平滑技术进行间接预测.
平滑技术主要有3种, 有折扣法、插值法和回退法[
端到端语音识别系统, 不同于传统方法将语音识别任务分解为声学模型、字典和语言模型多个子任务, 而是经过一个复杂网络直接产生对应的语言文本, 并且在不使用语言模型的情况下就能进行语音识别的工作, 实现从输入语音到输出文本的转换[
结构如
端到端语音识别系统
预处理模块就是对初始输入进行处理, 如
预处理模块
数据增强层通过使用SpecAugment[
线性层又称为全连接层, 其每个神经元与上一个层所有神经元相连, 实现对前一层的线性组合或线性变换. Dropout对于神经网络单元按照一定的概率将其暂时从网络中丢弃, 有效地减轻过拟合的发生, 一定程度上达到了正则化的效果.
端到端模型结构如
端到端语音识别系统结构
输入数据经过预处理后进入Conformer编码器, CTC解码器由线性层组成, 将编码器的输出转化为CTC激活后解码输出, 解码算法为CTC Prefix Beam Search[
CTC网络的输出形式为
结合语言模型后的模型结构, 如
结合语言模型的结构
解码图用TLG来表示, 即将T、L和G各层次信息组合到一张图中, 其中T表示建模单元, L表示词典, G表示语言模型. 以端到端模型训练的中文汉字作为建模单元T, 词典L则是由词语或句子拆分成建模单元而构成, 语言模型G是由N-gram语言模型转换为加权有限状态转换器(weighted finite-state transducer, WFST)的形式表示[
解码器部分采用的是Viterbi解码, 根据输入寻求最佳状态序列. 解码过程是逐帧推进, 结合转移弧上的权重, 得到每个时刻扩展路径的累计代价, 然后对比指向同一个状态的不同路径的累计代价, 选择值更小的路径并更新状态信息, 直到Viterbi解码最后一帧然后回溯路径, 得到最优路径. 对得到的信息再进行Attention解码重打分, Attention解码器使用Transformer结构的解码器部分, 通过使用注意力机制最终输出最合适的结果[
实验所用到的语音数据由两部分组成, 一部分来自于北京希尔贝壳科技有限公司出版的中文语声数据集AISHELL-1, 其包含178 h来自400个说话人的普通话声频和相应文本信息. AISHELL-1中的声频数据重采样为16 kHz, 16位的WAV格式. 开发人员将数据集分为3个部分: 训练集、验证集和测试集. 训练集包含来自340个说话者的120098个发音和大约140 h的普通话语声数据; 验证集包含来自40个说话者的14326个语句; 测试集包含来自20个说话者的7176个语句. 对于每个说话者, 大约发布了360个语句(大约26 min的语声).
另一部分来自于由北京数据堂科技有限公司开发的中文普通话语音语料库aidatatang_200zh, 语料库包含 200 h的声学数据, 主要是移动记录数据, 邀请了来自中国不同口音地区的600名演讲者参与录音, 每个句子的转录准确率大于 98%, 数据文件中保留了语音数据编码和说话人信息等详细信息.
实验所用的机器操作系统为Ubuntu 20.04.2LTS, CPU为Intel Xeon Silver 4210 , 128 GB内存, GPU为3块RTX2080 SUPER (6 GB)显卡, 共18 GB显存.
SpecAugment使用了2个最大频率掩码和2个最大时间掩码以缓解过拟合问题. 在编码器的前端使用两个核大小为3×3、步幅为2的卷积子采样层. 编码器中使用12个Conformer块, 注意力头数设置为 4, 学习率设置为0.002, batch size设置为8, epoch设置为120, beam size设置为10. Attention解码器中解码器个数为6个, 语言模型使用三元语法模型, 即N-gram语言模型中的
实验中输入特征是80维梅尔滤波器组特征即Fbank特征, 将语音通过预加重、分帧、加窗、傅里叶变换、功率谱以及滤波器组有序计算. 设置窗长为20 ms, 帧移为10 ms.
训练使用CTC loss与Attention loss联合优化训练, 这样设置的目的是避免CTC对齐关系过于随机还能加快训练的收敛速度, 并且可以使训练过程更加稳定, 从而取得更好的识别结果.
训练所使用的组合损失如式(12)所示,
本实验基于Kaldi[
本文在数据集AISHELL-1 和数据集aidatatang_200zh上评价实验结果, 采用字错率(character error rate, CER)作为评价指标. 字错率即为了使识别出来的词序列和标准的词序列之间保持一致, 需要进行替换、删除或者插入某些词, 这些插入
在数据集AISHELL-1和aidatatang_200zh上, 不添加语言模型的情况下, 实验结果如
在不同数据集上不同模型的字错率 (%)
语音识别系统 | AISHELL-1 | aidatatang_200zh |
Transformer | 11.61 | 8.31 |
Conformer | 5.79 | 5.60 |
添加语言模型之后, 在相同数据集上使用文中识别方法的结果如
结合语言模型使用不同模型的字错率 (%)
语音识别系统 | AISHELL-1 | aidatatang_200zh |
Transformer | 8.09 | 6.79 |
Conformer | 4.86 | 5.10 |
经以上实验表明, 在添加语言模型后Conformer模型和Transformer模型在两个不同的数据集上准确率均得到了进一步提升, 并且Conformer模型在添加语言模型之后识别效果最佳.
语音识别的实时率用来度量语音识别系统识别音频速度的值, 表示处理单位时长语音数据所需要的时间, 值越小表示处理语音的效率越高. 经测试结果如
目前较新的语音识别模型有RNN-Transducer、Conformer-Transducer[
由
语音识别的实时率
语音识别系统 | RTF |
Transformer | 0.06733 |
Conformer | 0.12835 |
Transformer+LM | 0.11126 |
Conformer+LM | 0.14566 |
与目前较新的模型比较字错率 (%)
语音识别模型 | 字错率 |
RNN-Transducer | 7.20 |
Conformer-Transducer | 5.00 |
Conformer+LM | 4.86 |
测试结合语言模型的Conformer模型在噪声环境的性能, 在AISHELL-1数据集上加入不同比例的白噪声分别构成信噪比为10 dB、20 dB、40 dB、60 dB和80 dB的噪声数据. 测试结果如
比较在不同噪声环境下的字错率
信噪比 (dB) | 字错率 (%) |
10 | 27.30 |
20 | 8.58 |
40 | 5.08 |
60 | 4.96 |
80 | 4.96 |
纯净音频 | 4.86 |
本次实验通过比较不同模型的字错率, 可以看出由Conformer模型所搭建的中文语音识别系统较Transformer模型有更好的性能, 并且语言模型的添加对端到端语音识别系统识别准确的增加有着重要的作用. 模型识别语音的实时率小于0.2, 在进行语音识别时可以感受到细微的延迟并不会影响整体的效果. 并且通过在含有不同程度噪声数据上测试的结果, 可以看出不同程度的噪声均会对模型的性能产生一定的影响. 由于实验中所用于训练的语音数据是在安静的条件下录制的, 语音质量比较高, 这相较于模型在实际使用中所输入的语音数据过于完美, 并且实验所用的数据量不足无法涉及到现实中的各个生活场景, 因此后续考虑扩充实验数据量以提升模型的性能及鲁棒性, 使该模型能够在更多环境下使用.
Davis KH, Biddulph R, Balashek S. Automatic recognition of spoken digits. The Journal of the Acoustical Society of America, 1952, 24(6): 637–642.
Vintsyuk TK. Speech discrimination by dynamic programming. Cybernetics, 1968, 4(1): 52–57.
Sakoe H, Chiba S. Dynamic programming algorithm optimization for spoken word recognition. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1978, 26(1): 43–49.
Buzo A, Gray A, Gray R,
Davis S, Mermelstein P. Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1980, 28(4): 357–366.
Lee KF, Hon HW, Hwang MY,
Juang BH, Rabiner LR. Hidden Markov models for speech recognition. Technometrics, 1991, 33(3): 251–272.
Huang XD, Baker J, Reddy R. A historical perspective of speech recognition. Communications of the ACM, 2014, 57(1): 94–103.
Wang D, Wang XD, Lv SH. An overview of end-to-end automatic speech recognition. Symmetry, 2019, 11(8): 1018.
et al. Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks. Proceedings of the 23rd International Conference on Machine Learning. Pittsburgh: ACM, 2006. 369–376.]]>
et al. Attention is all you need. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: ACM, 2017. 6000–6010.]]>
et al. A simplified fully quantized transformer for end-to-end speech recognition. arXiv: 1911.03604, 2019.]]>
刘长征, 张磊. 语音识别中卷积神经网络优化算法. 哈尔滨理工大学学报, 2016, 21(3): 34–38.
杨洋, 汪毓铎. 基于改进卷积神经网络算法的语音识别. 应用声学, 2018, 37(6): 940–946.
et al. Conformer: Convolution-augmented transformer for speech recognition. Proceedings of the 21st Annual Conference of the International Speech Communication Association. Shanghai, 2020. 5036–5040.]]>
Graovac J, Mladenović M, Tanasijević I. NgramSPD: Exploring optimal n-gram model for sentiment polarity detection in different languages. Intelligent Data Analysis, 2019, 23(2): 279–296.
Pibiri GE, Venturini R. Handling massive
et al. Deep residual learning for image recognition. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.]]>
Srivastava N, Hinton G, Krizhevsky A,
et al. Attention augmented convolutional networks. Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019. 3285–3294.]]>
et al. Quartznet: Deep automatic speech recognition with 1D time-channel separable convolutions. Proceedings of 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Barcelona: IEEE, 2020. 6124–6128.]]>
徐望, 王炳锡. N-gram语言模型中的插值平滑技术研究. 信息工程大学学报, 2002, 3(4): 13–15.
杨鸿武, 周刚. 基于改进混合CTC/attention架构的端到端普通话语音识别. 西北师范大学学报(自然科学版), 2019, 55(3): 48–53.
et al. SpecAugment: A simple data augmentation method for automatic speech recognition. Proceedings of the 20th Annual Conference of the International Speech Communication Association. Graz, 2019. 2613–2617.]]>
et al. Specaugment on large scale datasets. Proceedings of 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Barcelona: IEEE, 2020. 6879–6883.]]>
杨德举, 马良荔, 谭琳珊, 等. 基于门控卷积网络与CTC的端到端语音识别. 计算机工程与设计, 2020, 41(9): 2650–2654.
杨威, 胡燕. 混合CTC/attention架构端到端带口音普通话识别. 计算机应用研究, 2021, 38(3): 755–759.
et al. First-pass large vocabulary continuous speech recognition using Bi-directional recurrent dnns. arXiv: 1408.2873, 2014.]]>
et al. WeNet: Production first and production ready end-to-end speech recognition toolkit. arXiv: 2102.01547, 2021.]]>
Mohri M, Pereira F, Riley M. Weighted finite-state transducers in speech recognition. Computer Speech & Language, 2002, 16(1): 69–88.
张晓旭, 马志强, 刘志强, 等. Transformer在语音识别任务中的研究现状与展望. 计算机科学与探索, 2021, 15(9): 1578–1594.
[1]胡章芳,蹇芳,唐珊珊,明子平,姜博文.DFSMN-T: 结合强语言模型Transformer的中文语音识别[J].计算机工程与应用,2022,58(09):187-194.
Watanabe S, Hori T, Kim S,
et al. The Kaldi speech recognition toolkit. IEEE 2011 Workshop on Automatic Speech Recognition and Understanding Workshop. Hawaii: IEEE, 2011.]]>
et al. Espnet: End-to-end speech processing toolkit. 19th Annual Conference of the International Speech Communication Association. Hyderabad, 2018. 2207–2211.]]>