动态前瞻如何提升语音识别性能
自动语音识别(ASR)模型分为因果模型和非因果模型两类。因果模型实时处理语音帧,仅使用当前帧之前的上下文;非因果模型则等待整个语句完成后,同时使用前后文本来解析当前帧。因果模型延迟较低,但非因果模型因获得更多上下文信息而更准确。
许多ASR模型通过固定前瞻帧数来平衡两者,但固定前瞻可能包含冗余信息或缺失关键上下文。在某国际机器学习会议上提出的动态前瞻模型,能够根据输入内容实时确定每个帧所需的前瞻量。
计算图表示
模型通过计算图表示计算过程:横轴表示输入帧的时间步,纵轴表示ASR网络层。灰色箭头表示不同时间步网络节点间的因果关系,蓝色箭头表示未来时间步节点与当前输出节点的依赖关系。
自适应掩码生成
通过邻接矩阵表示网络层依赖关系:
- 因果模型的矩阵仅包含左下三角非零值
- 非因果模型为全矩阵
- 标准前瞻模型具有固定偏移的对角线
动态模型训练调度器实时生成掩码矩阵,为不同矩阵行分配不同前瞻度。在训练过程中采用退火技术,使矩阵值逐渐二值化(0或1),同时保持损失函数可微以支持梯度下降。
延迟优化
模型通过算法延迟计算平衡准确性与延迟:
- 定义算法延迟为当前输出节点与最高权重依赖路径未来输入节点的时间步差
- 计算训练集平均算法延迟作为正则化基准
- 同时研究计算延迟(未完成计算量决定用户感知延迟)
通过调整损失函数中延迟惩罚项的权重,可实现不同准确率-延迟权衡。实验显示,当延迟惩罚加重时,错误率从4.5%升至5.1%,但延迟显著降低。
性能对比
与四种基线模型对比:
- 无前瞻因果模型
- 固定层间前瞻模型
- 分块执行前瞻模型
- 标准延迟惩罚动态模型
使用Conformer和Transformer架构的动态模型,在所有前瞻帧数(2/5/10帧)设置下,错误率均低于基线20-30%,同时延迟减少15-25%。
致谢:Martin Radfar, Ariya Rastrow, Athanasios Mouchtaris