Paraformer 语音识别原理

文章探讨了Paraformer在端到端语音系统中的应用,关注于解决长度预测和声学隐变量抽取问题,通过Predictor、CIF和GLM增强非自回归预测和上下文理解。文章详细描述了模型组件如编码器、预测器、采样器和解码器的工作原理,以及联合使用CE、MAE和MWER损失的训练方法。

在这里插入图片描述
Paraformer(Parallel Transformer)非自回归端到端语音系统需要解决两个问题:

  1. 准确预测输出序列长度,送入预测语音信号判断包含多少文字。 如何从encoder 的输出中提取隐层表征,作为decoder的输入。

采用一个预测器(Predictor)来预测文字个数并通过Continuous integrate-and-fire (CIF)机制来抽取文字对应的声学隐变量

  1. 如何增强非自回归预测内部依赖的建模能力。

基于GLM的 Sampler模块来增强模型对上下文语义的建模

Paraformerr的组成:Encoder(编码器),Predictor(预测器),Sampler(采样器),Decoder(解码器),loss function。

  • Encoder(编码器),把声学特征转变成固定维度的稠密向量.
  • Predictor(预测器),预测文字个数N′N^{'}N,实现语音和文本对齐,并通过Continuous integrate-and-fire (CIF)机制来抽取文字对应的声学隐变量EaE_aEa
  • Sampler(采样器),通过采样,将声学特征向量与目标文字向量变换成含有语义信息的特征向量,配合双向的Decoder来增强模型对于上下文的建模能力;采用Glangcing LM增强非自回归的上下文建模能力.
  • Decoder(解码器),把向量转变成目标文字

在这里插入图片描述

Encoder

采用SAN-M结构,对于语音建模来说,全局建模和局部建模都极为关键,所以标准的Self-attention层增加了局部建模模块Memory Block,从而增加Self-attention的局部建模能力。

Decoder

离线和流式系统采用不同结构。离线识别使用双向SAN-M,流式识别采用单向的SAN-M,并结合基于SCAMA的流式注意力机制来实现。SCAMA流式注意力机制原理如上图所示,首先针对语音特征进行分chunk操作,送入encoder建模后进入predictor分别预测每个chunk的输出token数目。Decoder在接受到token数目和隐层表征后,来基于SCAMA流式注意力机制预测每个chunk的输出。

Predictor

基于CIF来预测输出token的数目,并提取隐层表征EaE_aEa作为decoder的输入。即将encoder预测输出送入函数,将每帧的预测输出转化为一个0-1之间的概率分布,连续给集合的概率得到一个域限门值 β,根据 β 输出一个token。
Continuous Integrate-and-Fire(CIF)来产生声学embedding EaE_aEa。CIF是软单调对齐,被用来做流式语音识别。CIF累积权重α\alphaα并整合隐藏表示H,直到累积的权重达到给定阈值β,这表明已经达到了声学边界.在训练过程中,将权值α按目标长度进行缩放,在训练过程中,将权值α按目标长度进行缩放,使声学嵌入的数量EaE_aEa与目标嵌入的数量EcE_cEc相匹配,并直接使用权值α\alphaα产生EaE_aEa进行推理。因此,在训练和推理之间可能存在不匹配,导致预测器的精度下降。由于NAR模型比流模型对预测器精度更敏感,我们建议使用动态阈值β代替预定义阈值来减少不匹配。动态阈值机制表述为:
β=Σt=1Tαt⌈Σt=1Tαt⌉\beta=\frac{\Sigma_{t=1}^T\alpha_t}{\lceil \Sigma_{t=1}^T\alpha_t\rceil}β=Σt=1TαtΣt=1Tαt
训练的时候额外采用平均绝对就差MAE Loss来使得预测的概率和等于整个输出的token数目。推理的时候采用门限值 β 为1,也就是累积到1的时候输出一个token,来预测整条语音的输出字数。

举例如下图,α\alphaα从左到右,0.3+0.5+0.3=1.1>1,于是fire一个token。Eα1=0.3∗H1+0.5∗H2+0.2∗h3E_{\alpha 1}=0.3*H1+0.5*H2+0.2*h3Eα1=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值