使用BERT模型改进语音识别重打分技术

43 阅读4分钟

RescoreBERT:使用BERT模型改进ASR重打分

知识蒸馏和判别式训练使得基于BERT的模型能够高效地用于自动语音识别假设的重打分。

ASR重打分背景

当用户与语音助手交互时,自动语音识别模型将语音转换为文本。核心ASR模型通常在有限数据上训练,因此在处理罕见词和短语时可能表现不佳。因此,ASR模型的假设通常会传递给语言模型进行重打分,语言模型在更大文本语料上训练,旨在提高ASR准确性。

在自然语言处理中,BERT是最广泛使用的语言模型之一。使用BERT作为重打分模型时,通常需要掩码每个输入标记并根据其余输入计算其对数似然,然后求和产生称为PLL的总分。然而,这种计算非常昂贵,使得实时ASR不切实际。大多数ASR模型使用更高效的LSTM语言模型进行重打分。

RescoreBERT模型

在国际声学、语音与信号处理会议上,我们提出了RescoreBERT模型,该模型利用BERT的能力进行二次重打分。

实验表明,相对于传统的基于LSTM的重打分模型,RescoreBERT将ASR模型的错误率降低了高达13%。同时,得益于知识蒸馏和判别式训练的结合,它保持了足够的效率以支持商业部署。

重打分价值示例

为了理解重打分的价值,假设ASR模型输出以下假设,按可能性从高到低排列:

  • "is fishing the opposite of fusion"
  • "is fission the opposite of fusion"
  • "is fission the opposite of fashion"

如果没有二次重打分,ASR将给出错误输出:"is fishing the opposite of fusion"。如果二次语言模型表现良好,它应该优先考虑"is fission the opposite of fusion"假设并正确重新排序。

技术方法

知识蒸馏

为了减少计算PLL分数的计算开销,我们采用了先前的研究,将BERT模型的输出通过一个神经网络,该网络经过训练以模仿更大"教师"模型分配的PLL分数。我们将此方法命名为MLM蒸馏,因为蒸馏模型经过训练以匹配教师模型对掩码输入的预测。

蒸馏模型输出的分数与原始分数进行插值以产生最终分数。通过将PLL分数从大型BERT模型蒸馏到更小的BERT模型,这种方法降低了延迟。

判别式训练

由于第一次和第二次分数是线性插值的,仅让重打分模型为正确假设分配更好的分数是不够的;正确假设的插值分数还必须在所有假设中最低。

因此,在训练二次重打分模型时考虑第一次分数是有益的。然而,MLM蒸馏旨在蒸馏PLL分数,因此不考虑第一次分数。为了考虑第一次分数,我们在MLM蒸馏后应用判别式训练。

具体来说,我们使用以下目标训练RescoreBERT:如果使用第一次和第二次分数的线性插值分数来重新排序假设,它将最小化ASR错误。为了捕捉这一目标,先前研究使用了MWER损失函数,最小化从ASR假设分数预测的期望词错误数。

我们引入了一个新的损失函数MWED,该函数将假设分数的分布与单个假设的词错误分布相匹配。我们证明MWER是MWED的有力替代方案,在英语中提高了性能,尽管在日语中性能略有下降。

性能提升

为了证明判别式训练的优势,我们展示了虽然使用MLM蒸馏训练的BERT相对于LSTM可以将WER提高3%-6%,但在相同测试集上,使用判别式目标训练的RescoreBERT可以将其提高7%-13%。

模型架构

RescoreBERT模型中,每个ASR假设由CLS标记界定,然后由BERT编码。CLS标记本身的编码是整个句子的表示,该表示传递给前馈神经网络。该网络计算句子级别的二次分数,然后与一次分数进行插值以进行重新排序。