动态前瞻技术如何提升语音识别性能
自动语音识别(ASR)模型分为因果模型和非因果模型两种类型。因果模型实时处理语音输入,在解释当前音频帧时只能使用之前的帧;非因果模型则等待整个语句完成,在解释当前帧时可以使用前后所有帧的信息。
因果模型延迟较低,但非因果模型因拥有更多上下文信息而更加准确。许多ASR模型通过使用前瞻技术来平衡这两种方法:在决定当前帧的解释前,先让少量额外帧输入。然而,这些额外帧有时并不包含解决歧义所需的关键信息,有时模型即使没有这些信息也能保持准确。
在今年的国际机器学习会议(ICML)上,我们提出了一种基于输入动态确定每个帧前瞻长度的ASR模型。
计算图表示
我们使用计算图来表示模型执行的计算。从左到右,图表征了输入帧处理的连续时间步;从下到上,图表征了从输入到输出的ASR网络连续层。图中的边描绘了过去时间步节点与当前时间步节点之间的因果关系,以及未来时间步节点与当前输出节点之间的依赖关系。
在标准前瞻模型中,邻接矩阵的对角线偏移了固定的前瞻帧数。我们的目标是训练一个调度器,能够实时生成具有不同前瞻程度的邻接矩阵,我们称这些矩阵为掩码。
退火处理
在训练过程中,我们允许邻接矩阵中存在分数值,以便使用可微分的损失函数。通过退火处理,在连续训练周期中,我们强制邻接矩阵的值逐渐趋近于1或0。在推理时,模型输出的值虽然仍是分数,但已足够接近1或0,可以通过简单舍入生成邻接矩阵。
延迟优化
前瞻ASR模型需要在准确性和延迟之间取得平衡。我们通过在训练期间选择损失函数来实现这种平衡。我们计算每个输出的算法延迟,定义为当前输出节点与未来输入节点之间的时间步数,其中依赖路径权重最高。
这使我们能够计算训练集中所有样本的平均算法延迟,并相应地正则化训练期间使用的延迟度量。在另一组实验中,我们使用了计算延迟而非算法延迟的概念,关键是要计算模型在每个时间步能够完成多少积压的计算。
性能比较
我们将模型性能与四个基线进行比较:无前瞻的因果模型;每帧使用相同前瞻的分层模型;执行一次前瞻、追赶、再执行另一次前瞻的分块模型;以及使用标准延迟惩罚项的动态前瞻模型版本。我们还测试了使用Conformer架构和Transformer架构的两个模型版本。
对于固定前瞻基线,我们考虑了三种不同的前瞻间隔:两帧、五帧和十帧。在所有情况下,我们的模型都比所有基线更准确,同时实现了更低的延迟。
致谢:Martin Radfar, Ariya Rastrow, Athanasios Mouchtaris
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码
