设备端语音识别技术优化方案

本文介绍两种优化设备端语音识别的技术:分支编码器网络降低计算延迟45%,神经差分技术减少模型更新带宽98%。这些创新使语音助手在边缘设备上运行更高效,响应更快且节省网络资源。

如何实现实用的设备端语音识别

分支编码器网络提高运行效率,而"神经差分"技术则降低模型更新的带宽需求。

历史上,语音助手的自动语音识别模型一直在云端运行。但近年来,我们一直致力于将更多计算能力转移到网络边缘——即语音助手设备本身。转向边缘设备有望实现更快的响应时间、降低互联网带宽消耗,并在网络连接不稳定的设备上保持可用性。

在今年的Interspeech会议上,我们提交了两篇论文,介绍了一些创新技术,使语音助手在边缘设备上运行变得更加实用。

摊销神经网络

神经自动语音识别模型通常是编码器-解码器模型。编码器的输入是一系列称为帧的短语音片段,编码器将其转换为对解码有用的表示形式。解码器将该表示形式转换为文本。

我们的方法是使用多个不同复杂度的编码器,并实时决定应由哪个编码器处理给定的语音帧。该决策由一个称为仲裁器的小型神经网络做出,该网络必须在每个输入帧被编码之前进行处理。

在论文中,我们提出了一种新的损失函数,当没有显著音频积压时,该函数会对将帧路由到快速编码器施加惩罚。没有惩罚项时,我们的分支编码器模型将延迟降低到29-234毫秒,而单编码器模型的延迟为数千毫秒。但添加惩罚项后,延迟进一步降低到2-9毫秒范围。

在我们的实验中,我们使用了两个编码器,一个复杂,一个精简,尽管原则上我们的方法可以推广到更多编码器。

我们使用三个基线进行实验,所有基线都是单编码器模型。我们的稀疏模型延迟最低——两毫秒,而基线为3,410-6,154毫秒——我们的矩阵分解模型每帧所需的浮点运算次数最少——2300万,而基线为3000万-4300万。然而,我们的准确率保持相当——词错误率为8.6%-8.7%,而基线为8.5%-8.7%。

神经差分

为语音助手提供支持的自动语音识别模型不断更新。对于基于云的自动语音识别,当我们更新模型时,只需将其副本发送到数据中心的少数服务器。但对于边缘自动语音识别,我们最终可能需要同时向数百万台设备发送更新。因此,我们的研究目标之一是最大限度地减少边缘更新的带宽需求。

在我们的另一篇Interspeech论文中,我们借鉴了软件工程中的一个想法——差分文件,即记录代码库先前版本与当前版本之间差异的文件。

我们的想法是,如果我们能够开发出神经网络的等效差分,就可以使用它来更新设备上的自动语音识别模型,而不必在每次更新时传输完整网络的所有参数。

我们尝试了两种不同的创建差分的方法:矩阵稀疏化和哈希。通过矩阵稀疏化,我们从两个相同大小的矩阵开始,一个表示现有自动语音识别模型中的连接权重,另一个全为零。

然后,当我们在新数据上重新训练自动语音识别模型时,我们更新的不是旧模型的参数,而是第二个矩阵(差分)中的条目。更新后的模型是原始权重和差分值的线性组合。

训练差分时,我们使用迭代过程来修剪具有过多非零项的矩阵。就像在分支编码器网络中训练仲裁器时一样,我们在连续的周期中提高温度,使差分越来越稀疏。

我们创建差分的另一种方法是使用哈希函数,该函数将大量数学对象映射到少得多的存储位置或"桶"。哈希函数旨在将对象均匀分布在各个桶中,无论对象的值如何。

我们的方法相对于其他压缩方法(如矩阵分解)的优势之一是,每次更新时,我们的差分可以针对不同的模型权重集。相比之下,传统压缩方法通常会锁定您在每次更新时修改相同的高重要性权重集。

在我们的实验中,我们研究了连续三到五次模型更新的效果,每次使用不同的差分。哈希差分在前几次更新中有时效果更好,但经过多次迭代后,通过哈希差分更新的模型与全参数模型的差异更大。使用稀疏化差分,连续更新五次的模型的词错误率与全参数模型的差距不到1%,差分大小设置为完整模型的10%。

研究领域

  • 机器学习
  • 对话式人工智能

标签

  • 压缩
  • 模型设计
  • 语音助手
  • Interspeech
  • 边缘计算
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计