【语音】论文阅读笔记 Non-autoregressive Error Correction for CTC-based ASR with Phone-conditioned Masked LM


论文地址: here

摘要

在语音识别中,CTC模型因为天然的non-autoregressive特性,深受广大研究者的青睐。为了充分利用大量的文本数据优势,CTC模型通常会和LM模型进行融合,常用的融合方法包括重打分浅融合。然而这两种融合方法由于beam search的引入,破坏了CTC模型的non-autoregressive特性,因此造成了语音识别模型推理速度的下降。

作者提出了PC-MLM(phone-conditioned Masked LM)错误校验方法。只需要对CTC的贪婪解码算法中置信度较低的Token进行mask,然后使用PC-MLM对mask的token进行预测即可。PC-MLM模型的输入为CTC模型的phone预测序列和masked token序列。另外,作者进一步将PC-MLM扩展为Deletable PC-MLM,有效缓解了插入错误。因为CTC和PC-MLM都是non-autoregressive的,作者提出的方法实现了CTC模型和LM模型的快速融合。实验结果显示,在CSJ和TED-LIUM2上,作者提出的方法推理速度更快,并且在CSJ上取得了更高的语音识别准确率。

介绍

常见的端到端语音识别方法包括基于CTC的模型、基于Attention的序列模型和RNN-T模型。其中基于CTC的模型可以同时并行预测所有token,也称之为非自回归预测。相反,基于Attention和RNN-T的模型都需要一个token一个token的预测,也称之为回归预测。

端到端语音识别模型的训练需要成对的语音-文本 数据。然而,在某个目标领域很难获取到大量的这种成对数据。但是,另一方面目标领域可能有很多领域内的文本数据。一种普遍的做法是将语音识别模型和外部LM融合,从而可以利用这些大量的文本数据。重打分融合方法,使用LM对语音识别的n-best预测结果进行重打分,得分最高的预测结果作为最终的预测结果。浅融合方法,在语音识别的每一步解码过程中将LM模型和ASR模型进行插值得分计算。这两种融合方法简单有效,因此被广泛应用于基于CTC的语音识别模型中。然而它们破坏了推理的高效性,这种高效性是CTC模型相比其它的端到端语音识别模型的一个非常重要优势。具体地说,使用beam-search寻找n-best预测结果破坏了它的非自回归特性。

除了重打分和前融合方法,还有基于KD(知识蒸馏)的LM融合方法,主要应用于基于attention的模型。LM模型的知识(教师模型)在ASR模型训练过程中教给了ASR模型(student)。尽管KD融合方法的优势在于,在预测时没有增加任何额外步骤,但这种方法获取的收益有限,可能是因为LM不能直接作用于ASR模型的推理。

在本论文中,作者提出了ASR错误校验方法,一个MLM(masked LM)负责对CTC预测序列中低置信度的token进行纠正。这种方法不需要beam-search,就能把所有低置信度的token并行进行纠正。也就是ASR和纠错过程都是非自回归的。然而MLM的效果并不是很好,可能是因为它没有考虑声学信息。为了解决这个问题,作者提出了Phone-based Masked LM(PC-MLM),将音素信息也加入进来。在CTC模型训练中引入了多任务训练,基于encoder的中间层预测音素。PC-MLM可以同时利用单词和音素信息进行纠错。同时为了减少插入错误,作者提出了Deletable PC-MLM,该方法可以对插入错误进行预测并删除。

预备和相关工作

1. CTC-based ASR

X = ( x , . . . , x t , . . . x T ) X = (x, ..., x_t, ... x_T) X=(x,...,xt,...xT)表示输入的声学特征; y = ( y 1 , . . . , y i , . . . , y L ) y=(y_1, ..., y_i, ..., y_L) y=(y1,...,yi,...,yL)表示输入 X X X对应的文本序列。CTC的encoder网络将输入 X X X编码为高层表示,长度为 T ′ {T}' T。基于CTC的模型可以根据encoder编码预测帧级别的输出路径 π = ( π 1 , . . , π T ′ ) \pi =(\pi_1,..,\pi_{ {T}'}) π=(π1,..,πT) ν \nu ν表示单词集合, ϕ \phi ϕ表示blank。在 t t t时刻CTC输出字符 v v v的预测概率可以用以下公式表示:
P C T C ( t , v ) = p ( v ∣ X , t ) P_{CTC}^{(t,v)}=p(v|X, t) PCTC(t,v)=p(vX,t)

其中 v ∈ ν ∪ { ϕ } v\in \nu \cup \left \{ \phi \right \} vν{ ϕ}。在贪婪 解码中,CTC路径 π \pi π可以通过下面的公式计算:
π t = a r g m a x v P C T C ( t , v ) \pi_t=\underset{v}{argmax}P_{CTC}^{(t,v)} πt=va

### Autoregressive 和 Non-Autoregressive 模型的差异 #### 定义与工作原理 Autoregressive (AR) 模型通过顺序地生成输出序列中的每一个元素,其中每个新元素基于之前已经生成的所有元素。这意味着 AR 模型在生成过程中存在明显的因果关系链,在每一步都依赖前一时刻的状态来决定当前步的行为[^1]。 相比之下,Non-Autoregressive (NAR) 模型能够在一次操作中并行化地生成整个输出序列,无需逐个预测下一个字符或标记。这种方法打破了传统的时间维度上的串行约束,允许更高效的计算流程[^4]。 #### 计算效率对比 由于 NAR 模型可以在单次迭代内完成全部输出项的同时推断,因此通常比 AR 更快,并且更适合大规模部署环境下的实时应用需求。然而,这种加速是以牺牲一定的准确性为代价的;因为缺乏显式的上下文传递机制,使得早期版本的 NAR 可能在复杂模式识别任务上表现不佳[^3]。 随着技术进步,现代 NAR 方法如 Glancing Language Model 已经引入了创新性的训练策略——比如渐进式学习路径设计以及自适应采样方案——从而有效缓解了上述局限性,实现了性能提升的同时保持高效能优势。 ```python # 示例代码展示两种模型的不同之处 def autoregressive_model(input_sequence): output = [] for i in range(len(input_sequence)): next_item = predict_next_element(output[:i]) # 基于已知部分预测下一项 output.append(next_item) return output def non_autoregressive_model(): all_elements = parallel_predict_entire_output() # 并行预测所有元素 return all_elements ``` #### 应用场景分析 - **语音合成**:对于高质量音频文件的创建来说,AR 模型往往提供更好的音质效果,尽管其处理速度较慢。而在低延迟要求较高的场合,则可能倾向于选择经过优化后的 NAR 解决方案。 - **机器翻译**:当追求极致的速度时,NAR 架构因其快速解码特性而受到青睐;但对于那些重视译文流畅度的应用而言,AR 则提供了更为自然的语言表达方式。 - **时间序列预测**:ARCLMs 是处理涉及多个变量随时间变化的关系的理想工具,适用于金融市场趋势预报等领域。而对于某些特定类型的短期波动捕捉或是需要即时响应的任务,精心调校过的 NAR 方案同样具备竞争力[^2]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值