Page 69 - 《应用声学》2020年第2期
P. 69
第 39 卷 第 2 期 张威等: SE-MCNN-CTC 的中文语音识别声学模型 227
ᤌଌऀѬዝ 件运行环境为 64 位 Ubuntu16.04 操作系统下搭建
的 Keras+Tensorflow 深度学习框架。
Лᤌଌࡏ
3.3 数据预处理
Лᤌଌࡏ
该文以帧长 25 ms、帧移为 10 ms 提取语音原
Concat()
始信息。其中,Thchs30数据集提取语谱图(spectro-
ӑࡏ ӑࡏ ӑࡏ
gram) 为输入特征,共 200 维;ST-CMDS 数据集以
SEവڱ SEവڱ SEവڱ
FBank(Filter Bank) 作为语音的输入特征,加上其
Ԅሥࡏ Ԅሥࡏ Ԅሥࡏ [28]
一阶、二阶差分统计量,前后拼接一帧 ,共 360
Ԅሥࡏ Ԅሥࡏ Ԅሥࡏ
维。在训练阶段选取适应性动量估计算法 (Adap-
tive moment estimation, Adam) 作为模型的优化
ӑࡏ ӑࡏ ӑࡏ
器,该算法不仅能够对不同参数计算适应性学习
SEവڱ SEവڱ SEവڱ
率,而且能够加速网络收敛速度 [29] ;在每层卷积
Ԅሥࡏ Ԅሥࡏ Ԅሥࡏ
层之后添加批量归一化(Batch normalization, BN)
Ԅሥࡏ Ԅሥࡏ Ԅሥࡏ
对网络中的权重进行自适应调整,以此提高网络的
训练速度和泛化能力 [30] ;在池化层之后使用丢弃法
ឦᮃྲढ़
(Dropout) [31] 以此有效地降低网络的过拟合风险,
图 5 SE-MCNN-CTC 声学模型结构图 −3
初始学习率设置为 1 × 10 ;在微调阶段,以随机梯
Fig. 5 Structure diagram of acoustic model for
度下降算法 (Stochastic gradient descent, SGD) 作
SE-MCNN-CTC
为模型的优化器,通过设置更小的学习率使得网络
值得指出的是,SENet模型与MCNN模型结合 在后期优化更为稳定,微调学习率设置为1 × 10 −5 。
主要有三种优点:(1) 使得网络具有更强的非线性, 表1 是对图 2、图4 所示的声学模型参数进行配
可以更好地拟合数据;(2) 通过巧妙地设置全连接 置,其中 [3×3 × 32k] × m 表示使用 3×3 卷积核初
层数中的维度变换率,在提升模型的拟合能力的同 始数目为 32 个,每经过一个池化层,卷积核数目成
时,极大地减小了 SENet 模型中全连接层神经元数 倍增加;对于偶数层卷积层,则 m = 2,奇数层则
目;(3) 通过对特征图的概率重标定,最大程度地利 m = 3;512-1422 表示最后全连接层神经元数目依
用特征图的信息,减小对冗余特征的依赖 [26] 。 次为512、1422。
MCNN网络由于宽度增加而造成参数繁多,为
3 实验结果及分析 此,将 MCNN 每层的卷积核数目相较于 DCNN 减
3.1 实验数据 小一半。最终实验表明:上述参数设置策略不但没
有造成参数繁多难以训练现象,而且使得该配置的
本文使用的数据集为清华大学开源的约 30 h
网络在参数减小的情况下,MCNN 模型的泛化性均
数据集 (Thchs30) 和北京冲浪科技公司开源的约
无影响,所设计的声学模型如表1所示。
150 h 中文语音数据集 (ST-CMDS)。其中 Thchs30
数据集中训练、验证集以及测试集分别为 10000 表 1 卷积神经网络配置参数信息
句、893 句以及 2495 句;ST-CMDS 语音数据集共 Table 1 Convolutional neural network
102600句,在训练阶段采用文献 [27] 对数据进行划 configuration parameter information
分;两种数据集训练集、验证集以及测试集之间均
模型结构 DCNN-CTC MCNN-CTC SE-MCNN-CTC
无交叠。
卷积层 [3×3×32k] ×m [3×3 × 16k]×m [3×3 × 16k]×m
3.2 实验平台 SENet 模型 — — SE(16k/γ, 16k)
池化层 2×2 最大池化
实验所用硬件配置为 I7-8700K 处理器,32 GB
全连接层 512-1422 512-1024-1422
运行内存,GPU 显卡为 NVIDIA GTX-1080Ti;软