ABSTRACT
我们探索将具有two-pass级联编码器ASR的 neural segmenter 统一为单个模型。
一个关键的挑战是允许segmenter(实时运行,与解码器同步)完成 2nd pass(比实时运行晚900毫秒),而不会在推理过程中引入用户感知的延迟或删除错误。
我们提出了一种设计,其中 neural segmenter 与因果 1st pass 解码器集成以发出 end-of-segment (EOS) 实时信号。然后使用EOS信号来完成非因果的 2nd pass。
我们尝试了不同的方法来完成 2nd pass,并发现一种新的 dummy frame injection 注入策略可以同时实现高质量的 2nd pass 结果和低完成延迟。
在现实世界的长格式字幕任务(YouTube)中,我们在具有相同级联编码器的基于vad的基线 segmenter 上实现了2.4%的相对WER和140 ms的EOS延迟增益。
INTRODUCTION
two-pass 级联编码器模型用于流ASR系统,从 1st pass 向用户提供实时的因果结果,同时还从滞后于 1st pass 的 2nd pass 提供卓越的、高质量的、非因果结果,例如,为了访问900毫秒的right-context帧,延迟了900毫秒。
并行运行允许 2nd pass 操作长形式的话语(即,那些超过几分钟)在字幕和听写任务中普遍存在。
在解码长格式话语时,另一种常见的做法是将话语分割成更短的长度,并在每个片段末端(EOS)传递最终的 2nd pass 结果。许多下游任务(如机器翻译)可以逐渐消耗部分识别结果,因此快速和频繁的分割有利于整体用户体验.
在流式识别中,分割器与波束搜索同步运行,并实时决定每个片段的结束位置。特别是,它会发出一个EOS令牌,该令牌会重置光束搜索,丢弃除顶部假设之外的所有假设,其状态被传递到下一个段。这为新的假设进入光束提供了空间,带来了更多的多样性。更关键的是,EOS token 通过丢弃所有其他可能的竞争者来最终确定顶部假设,保证顶部假设不再改变,例如,通过后来的证据导致非顶部假设被提升到顶部。
Finalization是向下游任务交付 2nd pass 结果的先决条件,因为下游任务通常需要固定hypothesis。另一方面,放置不当的EOS可能导致错误的假设最终确定,从而损害ASR质量。因此,分割器决定何时发射EOS的工作对于长格式任务中的WER和用户感知延迟都是至关重要的。
通常,EOS由VAD确定,VAD是一种预测每帧是语音还是silence的分类器。手工编码的状态机跟踪预测,做一些平滑,并在检测到连续的silence帧时发出EOS信号,例如在我们的例子中是200毫秒。
VAD分割器有两个缺点:(1)它需要一个带有手工制作的超参数的状态机,这增加了复杂性;(2)VAD条件仅基于声学特征(语音/silence)。
E2E分段器通过直接从流E2E ASR模型的解码器预测EOS信号来解决这些问题。具体来说,它增加了一个额外的RNNT联合层,通过弱监督的EOS注释方法来训练预测EOS令牌。通过将ASR和分割统一到一个模型中,简化了系统。它还通过利用E2E ASR模型可用的声学和语言上下文来提高质量和EOS延迟。也就是说,端到端分割只在 single-pass 模型中进行了演示.
将E2E分割与高质量的双通道级联编码器模型统一起来,是为长格式任务构建低延迟和最先进的流ASR系统的下一个合乎逻辑的步骤。在这项工作中,我们讨论了统一ASR和分割的挑战,并提出了我们的解决方案,该解决方案导致单个级联编码器模型预测EOS,如图1a所示,在YouTube长格式测试集中,相对WER的增益为2.4%,相对oracle WER的增益为7.3%,EOS延迟为140毫秒。
Related work
其他工作则试图将附加任务与 two-pass ASR 统一到一个单一模型中。
E2E 预取通过基于 1st-pass 结果查询下游响应,并在 1st-pass 与最终的 2nd-pass 最终结果匹配时交付该响应,从而降低了实现延迟。
端到端 endpointing 通过预测 1st pass 的话语结束,并使用该信号来完成 2nd pass,从而降低了麦克风关闭延迟。
UNIFYING E2E SEGMENTATION WITH CASCADED ENCODER
与传统的 two-pass 模型相反,2nd pass 必须等到片段结束才能解码.
级联编码器的 2nd pass与 1st pass 并行解码,但以时间交错的方式,以便它可以访问正确的上下文音频帧。
具体来说,2nd-pass 解码器实时滞后 900毫秒,因此级联编码器可以在其中心帧右侧900毫秒的帧上进行调整,如图1a所示。
1st-pass EOS prediction, 2nd-pass finalization
EOS信号应该实时确定,因为任何延迟都会直接影响用户感知的延迟。这很容易用VAD分段实现,因为VAD在解码器的上游运行。
然而,在端到端分段中,EOS由解码器本身决定。如果EOS是由第二通解码器决定的,那么它的时间戳将总是比实时时间晚至少900毫秒,这是一个令人望而却步的延迟量。我们提出以下推理策略:
- The 1st pass predicts EOS in real-time.
- When the EOS signal is emitted, finalize the 1st pass and route the EOS timestamp to the 2nd pass.
- When the 2nd pass receives the EOS timestamp, inject dummy frames and finalize.
2nd-pass finalization strategy
目前讨论的过程仅适用于延迟至关重要的推理。
现在考虑图1b。当时间是T时,“hello world”已经说过了。此时,因果 1st pass 解码器(未显示)决定发出EOS(时间T的红色帧),并立即将EOS的时间戳(即T)路由到 2nd pass。此时,级联编码器的中心帧位于T−3,即在T时刻比实时帧晚3帧(现实中为900毫秒),因此 2nd pass 解码器尚未解码单词“world”。当 2nd pass 接收到EOS时间戳时,有几种可能的响应:
- Finalize immediately.
这将导致片段的最后3帧没有被解码,导致错误地删除“world”,因为 2nd pass 中心帧比 1st pass 滞后3帧,并且在 1st pass 发出EOS时仍在处理T - 3。参见图1b。
- Finalize when 2nd pass reaches EOS timestamp
这意味着要等到 2nd pass 解码器的中心帧(目前处于T−3)达到T,或者等价地,等待 1st pass 解码器或因果编码器的中心帧(目前处于T)达到T + 3。
如图1b所示,将蓝色的fprop上下文窗口向右滑动3帧。此时,“world”被 2nd pass 解码器正确解码,避免了选项1中的删除错误。然而,这需要等待3个额外的帧生成,因为级联编码器需要它们作为右上下文。产生3帧的延迟(现实中是900毫秒)可能会让用户体验望而却步。
- Inject 900 ms of dummy right-context frames, then finalize when 2nd pass reaches EOS timestamp
在这种两全其好的替代方案中,我们仍然允许第二轮解码直到EOS时间戳以避免删除错误,但我们通过立即注入3个虚拟的正确上下文帧来防止等待3个正确上下文帧,如图1c所示。
由于虚拟帧是一次性注入的,级联编码器可以并行地支持它们,如图1c中的三个fprop上下文窗口所示。它们被注入到级联编码器的输入中,所以我们通过不支持任何东西通过因果编码器来节省一些计算。所有这些都可以在下一帧到达之前的时刻T发生;因此,该过程的算法延迟为零。
另一方面,基于类似架构的Pixel 6手机的测量,计算延迟(级联编码器启动和解码虚拟帧的时间)相对较低,为208毫秒。与选项2不同的是,选项2的延迟在算法上的下限为900毫秒,而208毫秒是用户可以接受的延迟量,并且可以通过更好的硬件进行改进。
我们实验了两种类型的虚拟帧:
- Zero: all dummy frames are zero vectors
- Last-frame: all dummy frames are identical to last frame outputted by the causal encoder.
其基本原理是,最后一帧出现在用户说话后的短暂silence期间,是比零更好的silence编码表示。
我们选择了一个能给出最好的WER和最终延迟的策略,即 dummy last-frame injection (E2)。同样,我们只在推理期间应用此策略。
EXPERIMENTAL SETTINGS
EOS joint layer
我们的EOS join层在大小上与完全训练好的ASR joint层相同,并根据其权重初始化。它消耗编码器和预测网络的输出,使其能够看到声学和语言上下文,如图1a所示。 它在相同的数据集上进行微调,但目标转录文本通过EOS令牌增强 。
EOS标注方案与[5,6]相同。
- 简而言之,EOS token被插入到文本的末尾,用于短查询语句,如语音搜索。
- 它们也被插入到其他话语的两个单词之间,比如YouTube,当有很长一段silence之后没有犹豫,或者更长的silence之后有犹豫。
在推理过程中,如果EOS token 负对数概率 cost 低于某一阈值,则 1st pass beam search 将立即完成,EOS时间戳将被路由到 2nd pass 进行 2nd pass 最终确定。
Beam search
我们对两个pass使用帧同步波束搜索。1st 和 2nd pass 的光束尺寸分别为4和8,剪枝阈值均为5。在每一帧中,我们对可能的扩展应用宽度优先搜索,忽略任何负对数后值大于等于5的扩展,并将搜索深度限制为10个扩展。
Voice activity detector
我们的管道在E2E模型的上游包含一个轻量级的语音活动检测器。除了在我们的VAD分割实验中用作分割器外,它还可以用作帧滤波器;在最初的200毫秒的silence之后,被分类为silence的连续帧被过滤掉。对所有实验打开帧滤波,以匹配边缘部署条件。
RESULTS
Main results
Ablation study
有两个超参数可以调整EOS信号在推理过程中发出的积极程度:
- EOS阈值 ,即在推理过程中发出EOS的负概率阈值;
- silence长度阈值 ,即 训练话语中两个单词之间的最小silence长度,以便在目标文本中的这两个单词之间注入EOS令牌 。
这是有道理的:如果模型被训练成更积极地发射EOS(更小的沉默长度阈值),那么在推理过程中它需要受到更多的限制(更小的EOS阈值)。该研究表明,沉默长度阈值超参数在训练过程中相当不敏感,因为我们可以在推理过程中对其进行补偿。
这表明,在推理过程中,改变沉默长度阈值不会影响最佳段长度,这表明测试集对于段的长度应该有一个潜在的最佳点。