语音识别是人工智能领域所研究的核心问题之一,研究者一直以来都在竞相努力以期能首先达到比肩人类的里程碑。去年十月,微软人工智能与研究部门的一个研究者和工程师团队报告他们的语音识别系统实现了和专业速录员相当甚至更低的词错率(WER)——达到了 5.9%。而前两天,IBM 官方博客却发文宣称人类的水平实际上应该是 5.1%,同时该文章还表示 IBM 的系统的词错率已经超越了之前微软报告的最佳水平,达到了 5.5%,实现了新突破。详见机器之心报道《IBM 宣称人类语音识别词错率实际应为 5.1%,自家系统已突破至 5.5%》。不久之前,我们在 arXiv 找到了 IBM 的相关研究论文,机器之心在此对该论文的摘要和核心突破的部分进行了编译介绍,点此查阅。
对人与人之间互相交流的精准识别是语音识别任务中最困难的任务之一。在具有代表性的 Switchboard 对话语料库上,深度学习在过去几年中的进步让语音识别能力获得了巨大提升。短短几年时间,词错率就从 14% 下降到 8%,再下降到 6.6%,直到最近,下降到 5.8%。这一比率已经可以和人类表现媲美了。那么进一步的两个问题来了,人类的表现究竟是什么水平?我们还能将语音识别错误率降低多少呢?
由微软最近发布的一篇论文显示,我们已经实现了人类级别的表现能力。为了试图验证这个说法,我们执行了一套基于两个对话任务的人类水平测试,我们发现人类表现或许比之前报道的要强得多,这个结果无疑给研究社区提出了一个更加困难的任务目标。
我们报告了这个领域中我们团队自己的成果,我们提出了一套声学与语言建模技术,它使我们自己的英文对话电话 LVCSR 系统(English conversational telephone LVCSR system)在 Hub5 2000 评估的 Switchboard 和 CallHome 子集上分别实现了 5.5% 和 10.3% 的水平,这是一个新的表现里程碑——至少在写这篇论文时是这样(当然还是无法媲美我们测量的人类水平!)。在声学这方面,我们使用了三个模型的分数融合(score fusion):第一个是有多特征输入的长短期记忆网络(Long Short-Term Memory, LSTM),第二个是经过说话者对抗多任务学习(speaker-adversarial multi-task learning)训练后的 LSTM。第三个是具有 25 个卷积层与时间扩张(time-dilated)的卷积的残差网络(ResNet)。在语言建模这方面,我们使用了词和字符 LSTM(word and character LSTM)和卷积的 WaveNet 风格的语言模型。
图 1:带有说话者对抗 MTL 架构(speaker-adversarial MTL architecture)的 LSTM
图 2:在序列上的残差连接。其中卷积是未填充的并会减少特征图(feature maps)在时间方向上的大小(用红色虚线表示)。为了匹配这种缩减,我们只需要简单地沿着 shortcut connection 上的时间对边(edge)进行裁剪。
语言建模的提升
除了我们之前的系统 [5] 所用的 n-gram 和 model-M,在这篇论文中我们还引入了基于 LSTM 和基于卷积的 LM。
我们实验了四种 LSTM LM,即:Word-LSTM、Char-LSTM、Word-LSTM-MTL 和 Char-LSTM-MTL。Word-LSTM 有一个词嵌入层、两个 LSTM 层、一个全连接层和一个 softmax 层,如图 3 所示。
图 3:Word-LSTM
上面的 LSTM 层和全连接层(FC)被残差连接 [6] 所包裹。dropout 只在垂直维度而不在时间维度上应用 [25]。Char-LSTM 增加了一个额外的 LSTM 层来从字符序列中估计词嵌入(word-embeddings),如图 4 所示 [26]。
图 4:Char-LSTM
Word-LSTM 和 Char-LSTM 都使用了在其历史上下一个词的交叉熵损失来作为目标函数,这与传统的 LM 类似。此外,我们在 Word-LSTM 和 Char-LSTM-MTL 中还引入了多任务学习(multi-task learning,MTL)。我们首先使用布朗聚类(Brown clustering)[27] 聚集词汇。当训练 Word-LSTM 和 Char-LSTM-MTL 时,在其历史上的下一个词预测和在其历史上的下一个类别预测的交叉熵的加权和被用作目标函数。
受到这种卷积和非卷积声学模型的互补性的启发,我们用基于卷积的 LM 来实验,它和 WAVENET[28] 中使用的扩展因果卷积(dilated causal convolution)层是同样的形式。生成的模型被称为 WordDCC,它由词嵌入层、带扩展(dilation)的因果卷积层、卷积层,全连接层、softmax 层和残差连接组成。实际的层数和扩展(dilation)/窗口大小是使用 heldout 数据来决定的(图 5 给出了一个简单的配置图示进行说明)。
图 5:Word-DCC
这 5 个 LM 应用了常规的训练数据和训练步骤,如下所述:
我们使用来自 [5] 的同样 85000 个词汇。
首先,我们用涵盖 5 亿 6 千万个词汇的语料库(该语料库由 LDC 的公开文本数据组成,包括 Switchboard、Fisher、Gigaword 和 Brodcast News and Conversations)来训练 LM。然后从被训练的模型开始,我们进一步用由 2400 万词组成的用于训练声学模型的 1975 小时音频数据的转录来训练 LM。
我们通过 ADAM[29] 来控制学习率(leaning rate)并且我们引入了一个自稳定(self-stabilization)项来协调各层的学习率 [30]。
对于所有的模型,我们基于 heldout 数据的复杂度调整超参数(这些 heldout 数据是声学转录的子集)。每个模型的参数的大概数量是 9000 万到 1.3 亿。
我们首先使用 n-gram LM 生成了词网格(word lattices),而我们最好的声学模型由 ResNet 和两个 LSTM 组成。然后我们使用 model-M 对该词网络进行了重新评分并从这些被重新评分的网格中生成了 n 最佳列表。最后,我们应用了这四种基于 LSTM 的 LM 和基于卷积的 LM。注意其 LM 概率是被线性地内插(interpolated)进去的,且所有 LM 的插值权重(interpolation weights)都使用了 heldout 数据进行估计。
表 8:多种 LM 配置下,在 SWB 和 CH 上的词错率
表 8 给出了在多种 LM 配置下在 SWB 和 CH 上的词错率。基于 LSTM 的 LM 在强大的 n-gram + model-M 结果之上表现出了显著的提升。Word-DCC 也在 n-gram + model-M 之上有微小的提升。多任务学习的效果尤其在 CH 上得到了证实。在这 5 个基于 LSTM 和基于卷积的 LM 中,word-LSTM-MTL 在 SWB 和 CH 上分别实现了最好的 5.6% 和 10.3% 的词错率。通过在 n-gram + model-M 之上结合这 5 种 LM,我们分别在 SWB 和 CH 上实现了 5.5% 和 10.3% 的词错率。
表 9:在所有测试数据集上,对应不同的 LM rescoring 步骤的词错率。最后一行 』.』 removal 是指从参考和系统输出中移除了 . 号之后的词错率
最后,在表 9 中我们总结了在所有测试集上的多个语言模型 rescoring 步骤所带来的提升。我们注意到参考的测试集的转录标准不一致,比如关于拼写没有遵循 SWB 和 CH 的点号惯例(如 T V),而是遵循其它测试集的点号惯例(比如 T.V.)。表 9 的最后一行给出了在从参考和系统输出中移除了点号之后的词错率——这是通过为其 GLM 文件加入一个过滤规则实现的:A. => A ... Z. => Z
更多关于该语言建模方法的详细信息,请参考配套的论文 [31].