APP下载

基于Bi-RNN 中文语音识别的实验设计

2019-05-17黄睿

现代计算机 2019年10期
关键词:梅尔时域音频

黄睿

(广东第二师范学院计算机科学系,广州 510303)

0 引言

如今,人工智能、教育大数据的应用,推动着计算机等学科朝着智能化的方向发展。以深度学习、机器学习为代表的人工智能模型,已获国内外学者的广泛关注[1]。而深度学习等软件平台的开源,将促进学生对人工智能课程实践开发兴趣,进一步推动实验教学水平的提高。目前,深度学习等课程的实验开发,在本科教学中涉及较少,为促使学生对该类课程有更深入的理解,本文基于谷歌TensorFlow 人工智能开源平台,结合Bi-RNN 和CTC 学习模型,最终完成中文语音识别的实验设计。

1 TensorFlow

1.1 平台介绍

Google 于2015 年开源了人工智能平台TensorFlow[2],该平台包含开源的软件库。其中,Tensor 表示为数据的张量,Flow 表示为数据的流图。通过提供常用的深度学习框架进行人工智能的开发,以及跨平台系统的应用。同时,该平台也支持基于分布式的部署和应用。

1.2 架构

TensorFlow 是基于数据流图运算的开发平台,包含多种支持数值运算的软件开源库,以及短期记忆网络、循环神经网络和卷积神经网络等网络模型[3-5]。该模型常运用于机器学习和深度学习的开发,是较为核心的人工智能算法,同时也推动着人工智能领域的新发展,其基本架构如图1 所示。

图1 TensorFlow系统架构

前端:支持基于C、C++、Python 等高级编程语言,通过API 函数进行模型调用。

后端:主要用于提供支持前端的运行环境。

2 MFCC

梅尔频率倒谱系数是基于人耳听觉特性,将音频数据由时域向频域转变的一种方法,它与频率成非线性对应关系,广泛应用于语音识别领域。

2.1 梅尔频率

一段连续的音频数据可以分解成帧,而每一帧数据通过快速傅里叶变换(FFT)可以计算出对应的频谱,该频谱反映的是信号频率与能量的关系,如线性振幅谱、对数振幅谱等。其中,对数振幅谱是对各谱线的振幅进行对数运算,主要用于分析低振幅噪声中的周期信号,任意频率f 到梅尔频率尺度的转换由式(1)表示。

式中,频率f 的单位为Hz。其中,临界频率带宽增长与Mel 频率一致。当Mel 频率刻度为均匀分布时,赫兹之间的距离将随频率的增加而增大。将语音频率划分为一系列的三角滤波序列,即Mel 滤波器,如图2所示。

图2 Mel滤波器

如图2 可知,Mel 滤波器在低频段分辨率高,类似于人耳的听觉特性。因此,梅尔频率首先通过对时域信号进行快速傅里叶变换成频域,其次,利用梅尔频率刻度的滤波器进行频域信号切分,最后计算出每个频率段对应的数值。

2.2 倒谱分析

一段连续的音频数据可以分解成帧,而每一帧数据通过快速傅里叶变换(FFT)可以计算出对应的频谱,该频谱倒谱分析主要进行信号的叠加和分解,如信号的卷积转化为信号的叠加。设频率谱X(k),时域信号x(n),满足式(2)。

将频域 X(k)进行拆分,如式(3)所示。

此时,对应的时域信号分别为 h(n)和 e(n),则如式(4)所示。

分别对频域进行对数运算和反傅里叶变换可得(5-6)式,进行时域叠加为式(7)。

式中,x′(n)为倒谱,h′(n)为倒谱系数。通过上式,将卷积时域信号转换成线性叠加关系。

3 Bi-RNN

如果能结合上下文的信息关系,进行未知信息的判断,将极大提升在多序列标注方法中的准确率。双向循环神经网络主要运用于连续数据的处理,该模型分别进行正向规律和反向规律的学习,从而达到比传统模型更优的拟合效果。

3.1 模型介绍

RNN 模型容易忽略对未知信息的上下文关系,而Bi-RNN 模型的输入层可以结合已知的上下文关系进行未知的预测,其结构图如图3 所示。

图3 Bi-RNN模型

由图3 可知,该模型由输入层、正向循环神经网络、反向循环神经网络和输出层组成。

3.2 模型实现

双向循环神经网络的正向推算和单循环神经网络模型一样,需要完成全部的输入序列计算时,模型的输出才被更新。而反向推算则需要先完成输出层计算后,再计算后的权值返回给两个隐含层。实验伪代码如图4 所示。

图4 Bi-RNN模型实现

4 实验步骤

基于TensorFlow 平台,使用Thchs-30 中文语音数据集,结合公式(7)的梅尔频率倒谱系数,进行Bi-RNN、CTC 模型的搭建,并最终完成中文语音的识别。

4.1 Thhcchhss--3300数据集

该数据集是由清华大学建立的语音样本,包含训练数据集、开发数据集和测试数据集。音频是通过16KHz 的采样频率和16bit 的量化位数进录制,具体内容如表1 所示。

表1 Thchs-30 数据集

如表1 可知,训练数据集总时长25 小时,包含10000 条句子。开发数据集总时长2:14,包含893 条句子。测试数据集总时长6:15,包含2495 条句子。

4.2 CCTTCC

联结主义时间分类用于Bi-RNN 的顶层连接,使通过每一帧的输入序列都能够输出对应的标签(含空白标签)。在语音识别过程中,该方法可以将音频停顿、噪点等内容归纳空白标签,最后使预测输出的标签值完成时间序列上的对齐。

为了方便计算出模型的识别率,需要将预测输出的空标签进行剔除,形成类似于原始标签的输入格式。CTC decoder 函数用于预测结果的加工,完成与标准标签的损失loss 计算,参数如表2 所示。

表2 CTC decoder 函数

4.3 实验验证

(1)模型库导入。分别导入 numpy、mfcc、wav、os、time、tensorflow、ctc 等库文件。

(2)导入数据集。获取数据集内的所有音频文件和对应的翻译内容。

(3)模型初始化。完成参数的初始化和Session 的建立。

(4)模型建立。完成 MFCC、Bi-RNN、CTC 等模型架构。

(5)模型保存。对节点权重、偏置等参数进行存储。

(6)模型验证。对训练的模型完成语音识别验证,部分音频识别效果如图5 所示。

图5 部分音频识别效果

由图5 可知,基于Bi-RNN 的中文语音识别模型建立了2666 个汉字表,完成了对单音节词、双音节词和上下文关系的语音识别。

5 结语

该文基于TensorFlow 开发平台,建立中文语音MFCC 模型,结合Bi-RNN 和CTC 网络模型,对Thchs-30 中文语音数据集进行深度学习,并结合训练模型进行语音识别的验证,最终完成了中文语音识别的实验设计。该模型的实现对人工智能中文语音识别,在本科实验教学中具体重要的参考意义。

猜你喜欢

梅尔时域音频
OFDM 系统中的符号时域偏差估计
Egdon Heath (Extract from The Return of the Native)
柏韵音频举办Pureaudio 2021新产品发布会
硬件时域门技术在宽频带天线罩测试中的应用
频域滤波产生的时域端点效应及避免方法
梅尔:我的追求塑造了梦
梅尔维尔鲸
网络分析仪时域测量技术综述
“熊”视眈眈
梦想是眼睛,第一个攀上珠峰的盲人探险家