Page 29 - 《应用声学》2021年第2期
P. 29
第 40 卷 第 2 期 徐冬冬: 基于 Transformer 的普通话语声识别模型位置编码选择 197
2×2的最大池化层。两层通道数分别为32和64。对 h 设置为 32。参数d k (查询,键向量维)、d v (值向量
于80维的特征输入,输出是2560维。比较了不同卷 维) 设置为d model /h = 8。参数 d ff 设置为 1024。参
积核尺寸对识别性能的影响。 数d ff 表示编码器和解码器层中完全连接的前馈神
最后连接一个线性投影层用于将特征向量投 经网络层中隐藏单元的数量。
影到 Transformer 可以接受的尺寸,即d model 。为了 使用交叉熵作为模型的损失函数。在解码器块
保证实验公平性,本文标签序列嵌入向量均采用正 之后,线性全连接层用于执行细微变换并将输出映
弦位置编码,维度为 512,进一步研究编码器输入的 射到标签数量的维度,本文统计的标签数为 1356。
不同位置编码方法对识别性能的影响。 而 softmax 激活用于获得输出预测概率。本文结合
使用了波束搜索解码器和外部3-gram语言模型,称
2 实验 为浅层融合 [15] 。在解码器预测结束标签之后,标签
预测过程停止。
2.1 实验数据
使用 Adam [16] 优化器对该模型进行了 120 个
语声数据来自于中文语声数据集 AISHELL-1,
周期的训练,并且批处理大小设置为100。在这项工
包含 178 h 来自 400 个说话人的普通话声频和相
作中,使用了基于带声调拼音的模型。该模型在每
应文本信息。AISHELL-1 中的声频数据重采样为
个时间步都预测一个拼音。所有代码均使用 keras
16 kHz,16 位的 WAV 格式。开发人员将数据集分
和Tensorowow 2.0深度学习框架编写。
为 3 个部分:训练集、验证集和测试集。训练集包
含来自 340 个说话者的 120098 个发音和大约 140 h 2.5 实验结果
的普通话语声数据;验证集包含来自40个说话者的 (1) 设置两个卷积层的卷积核尺寸大小分别为
14326 个语句;测试集包含来自 20 个说话者的 7176 (31, 9) 和 (16, 9),移动步长分别为 (2, 2) 和 (2, 1)。
个语句。对于每个说话者,大约发布了 360 个语句 这里设置帧数目方向上的核尺寸为 9,是为了与堆
(大约26 min的语声)。 叠帧编码保持同一水平。将上述配置卷积编码与
其他 3 种位置编码方法比较,在验证集和测试集上
2.2 特征选择
的词错率 (Word error rate, WER) 实验结果如表 1
输入特征是80维梅尔滤波器组特征,将语声通
所示。
过预加重、分帧和加窗、傅里叶变换和功率谱以及
滤波器组有序计算的 [13] 。设置窗长为 20 ms,帧移 表 1 不同位置编码方法的 WER
为10 ms。 Table 1 WER with different position codes
2.3 建模单元选择
位置编码 验证集/% 测试集/%
普通话 ASR 任务的典型建模单元是带有声调
正弦 8.45 9.31
的声母/韵母分开单元,带有声调的音节和单个汉
帧组合 9.16 11.84
字 [14] 。语声数据集中声频对应标注即文本。考虑
帧重叠 8.32 9.43
到使用其他建模单元进行重新标注的成本,本文使
卷积 8.07 8.62
用pypinyin库将汉字转化为拼音。例如,“中国航天
正弦 + 卷积 8.06 8.65
科工二院” 分别用上述 3 种建模单元获得的标签序
列为“zh ong1 g uo2 h ang2 t ian1 k e1 g ong1 er4
由表 1 中数据可知,正弦位置编码仍然保持较
y uan4”、“zhong1 guo2 hang2 tian1 ke1 gong1 er4
好的识别效果,测试集上的WER为9.31%。帧组合
yuan4”、“中 国 航 天 科 工 二 院”。考虑到本文的
在验证集上的 WER 大小和其他方法接近,但是在
任务需要对齐每个汉字,选择标签数量较少的带声
测试集上的 WER 相比偏高,推测该方法没有将帧
调的音节作为输出标签。
序列的相对位置信息编码进特征中,导致模型欠拟
2.4 参数设置 合,存在泛化能力不足的问题。
帧重叠位置编码得到与正弦位置编码十分类
在本文工作中,d model 参数设置为 256。d model
参数确定子层和嵌入层的输出尺寸。参数注意头数 似的结果,可以判断两者方法都具有改善模型性能