Attention-lvcsr、Residual LSTM…你都掌握了吗?一文总结语音识别必备经典模型(2)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: Attention-lvcsr、Residual LSTM…你都掌握了吗?一文总结语音识别必备经典模型

3、  CTC/Attention

基于CTC/注意力的端到端混合架构将CTC目标函数作为一个正则项,加入到基于注意力的编解码器中。在没有任何启发式搜索技术的情况下,大大减少了不规则对齐语句的数量。在解码过程中,采用了一种联合解码方法,能够在rescoring/beam search算法中将基于注意力的分数和 CTC 分数结合来达到无条件独立假设下的强对齐约束 。

图4. 基于CTC/注意力的端到端混合架构。共享编码器是由CTC和注意力模型目标同时训练的。共享编码器将输入序列{x_t, ... ,x_T }转化为high-level特征H = {h_t,..., h_T },而注意力解码器生成字母序列{c_1 , ..., c_L}

使用CTC目标函数作为辅助任务来训练多目标学习( multiobjective learning ,MOL)框架中的注意力模型编码器。图23给出了框架的整体结构,其中,CTC和注意力编码器网络共享同一个BLSTM。与唯一的注意力模型不同,CTC的前向-后向算法可以在训练过程中执行语音和标签序列之间的单调对齐。在长序列中,CTC中的前向-后向算法有助于加快估计所需排列的过程,而不是仅仅依靠数据驱动的注意力方法来估计所需排列。目标函数如下:

基于CTC/注意力的混合端到端语音识别的推理步骤是通过标签同步解码与基于注意力的传统ASR相似的波束搜索进行的。将CTC的概率考虑在内,以找到一个与输入语音更一致的假说,如图23所示。基于注意力机制的一般解码和传统技术能够缓解对齐问题。本文提出了具有混合CTC/注意力架构的联合解码方法。

传统的解码技术中,解决注意力模型过长过短的方法是添加长度惩罚(length penalty),也可以通过设置最大和最小长度来控制(最大和最小的选择被表示为输入语音长度的固定比率)。此外,引入coverage term(覆盖项)通过源端输入帧的注意力权重,能够判断该源端帧是否已经被转译。混合CTC/注意力方法在推理步骤中结合了CTC和基于注意力的序列概率以及训练步骤。联合解码目标函数为:

CTC概率执行单调的排列,不允许大的跳跃或相同帧的循环。此外,它可以避免过早预测序列末尾的标签,这不是由覆盖率项处理的。因此,可以选择具有较好排列的假说,并排除不相关的假说,而不依赖覆盖率项、长度惩罚或最小/最大长度。在波束搜索过程中,解码器需要为每个部分假设计算一个分数:

然而,在波束搜索中结合CTC和基于注意力的分数并不容易,因为注意力解码器是以输出标签同步进行的,而CTC是以帧同步进行的。为了将CTC概率纳入假设得分,作者提出了两种方法。
重新计分。第一种方法是一个两遍的方法(Rescoring),第一遍使用波束搜索获得一组完整的假设,其中只考虑基于注意力的序列概率。第二遍使用CTC和注意力概率对完整的假设进行重新评分,其中,CTC概率是通过CTC的前向算法获得的。重新计分环节得到的最终结果是根据下式:

One-pass解码。第二种方法是One-pass解码,使用CTC和注意力模型计算每个部分假设的概率。利用CTC前缀概率,定义为所有以h为前缀的标签序列的累积概率。

计算CTC得分如下:

C^计算为:

基于注意力的ASR容易引入删除和插入错误,这是由于其具有灵活的排列属性,可以关注编码器状态序列的任何部分来预测下一个标签。由于注意力是由解码器网络产生的,它可能在还没有注意到所有的编码器帧的情况下就过早地预测序列结束的标签,从而造成假设太短。另一方面,它可能通过注意与之前注意的相同部分,以高概率预测下一个标签。在这种情况下,假设又变得非常长,包含了重复相同的标签序列。

项目 SOTA!平台项目详情页

CTC/Attention

前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/ctc-attention


4、 Transfomer-Transducer

本文提出了一个带有Transformer编码器的端到端语音识别模型,可用于流式语音识别系统。引入基于自注意力的Transformer计算块来对音频和标签序列进行独立编码。来自音频和标签编码器的激活与前馈层相结合,计算出每个声学帧位置和标签历史组合在标签空间的概率分布。这类似于循环神经网络转录器( Recurrent Neural Network Transducer ,RNN-T)模型,它使用RNN进行信息编码,而不是Transformer编码器。该模型使用非常适合于流媒体解码的 RNN-T损失函数进行训练。

图5.  RNN/Transformer Transducer 架构

RNN-T是一种神经网络体系结构,可以通过RNN-T损失进行端到端训练,将输入序列(如音频特征向量)映射到目标序列。给定一个长度为T,x=(x_1,x_2,...,x_T)的实值向量的输入序列,RNN-T模型试图预测长度为U的标签y=(y_1,y_2,...,y_U)的目标序列。RNN-T模型在每一个时间步长给出了一个标签空间的概率分布,输出标签空间包括一个额外的空标签。RNN-T模型对所有可能的对齐都定义了一个条件分布P(z|x),其中:

z是长度为U的(z_i, t_i)对序列,(z_i, t_i)表示输出标签z_i和编码的t_i特征之间的对齐。标签z_i也可以是空白标签(空预测)。删除空白标签将得到实际的输出标签序列y,长度为U。可以在所有可能的对齐z上边缘P(z|x),以获得给定输入序列x的目标标签序列y的概率:

其中,Z(y, T)是标签序列长度为T的有效对齐的集合。对齐的概率P(z|x)可以分解为:

其中,label(z_1:(i−1))是z_1:(i−1)中的非空白标签序列。RNN-T架构通过音频编码器、标签编码器和联合网络参数化P(z|x)。编码器是两个神经网络,分别编码输入序列和目标输出序列。本文用transformer代替原来的LSTM编码器。

其中,每个线性函数是一个不同的单层前馈神经网络,AudioEncoder(x)是时间t_i时的音频编码器输出,LabelEncoder(labels(z1:(i−1)))是给定之前的非空白标签序列的标签编码器输出。其中,下面式子中前向变量α(t,u)定义为在时间t处结束的所有路径和在标记位置u处结束的所有路径的概率之和。然后,使用前向算法来计算最后一个α变量α(T,U),模型的训练损失是等式中定义的负对数概率的和:

其中,T_i和U_i分别为第i个训练示例的输入序列和输出目标标签序列的长度。

Transformer由多个相同层的堆栈组成。每一层有两个子层,一个多头注意力层和一个前馈层。多头注意力层首先应用LayerNorm,然后为所有的头投影输入到q、k、v。注意力机制对不同注意力头分别应用。连接所有头部的权重平均值并传递到一个密集层。然后在密集层的归一化输入和输出上使用残差连接,形成多头注意力子层的最终输出(LayerNorm(x) + AttentionLayer(LayerNorm(x)))。此外,还对密集层的输出施加dropout,以防止过拟合。前馈子层首先在输入上应用LayerNorm,然后应用两个密集层。使用ReLu作为第一个致密层的激活。再次,dropout到两个密集层进行正则化,并应用一个归一化输入和第二层密集层(LayerNorm(x) + FeedForwardLayer(LayerNorm(x))输出的残差连接)。

图6. Transformer encoder架构

此外,为了建模顺序,本文使用了相对位置编码,可以通过相对位置编码将复杂性从O(t2)降低到O(t)。为了解决延迟随着时间的推移而增长的问题,将模型限制在一个移动的状态窗口W上,使一步推理复杂度为常数。

当前 SOTA!平台收录 Transfomer-Transducer 共 1 个模型实现资源。


项目 SOTA!平台项目详情页
Transfomer-Transducer 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/transfomer-transducer
相关实践学习
一键创建和部署高分电影推荐语音技能
本场景使用天猫精灵技能应用平台提供的技能模板,在2-5分钟内,创建一个好玩的高分电影推荐技能,使用模板后无须代码开发,系统自动配置意图、实体等,新手0基础也可体验创建技能的乐趣。
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
2月前
|
机器学习/深度学习 自然语言处理 数据处理
大模型开发:描述长短期记忆网络(LSTM)和它们在序列数据上的应用。
LSTM,一种RNN变体,设计用于解决RNN处理长期依赖的难题。其核心在于门控机制(输入、遗忘、输出门)和长期记忆单元(细胞状态),能有效捕捉序列数据的长期依赖,广泛应用于语言模型、机器翻译等领域。然而,LSTM也存在计算复杂度高、解释性差和数据依赖性强等问题,需要通过优化和增强策略来改进。
|
6月前
LSTM+Transformer混合模型时间序列预测实战教学
LSTM+Transformer混合模型时间序列预测实战教学
209 0
|
7月前
|
机器学习/深度学习 自然语言处理 算法
LSTM-CRF模型详解和Pytorch代码实现
在快速发展的自然语言处理领域,Transformers 已经成为主导模型,在广泛的序列建模任务中表现出卓越的性能,包括词性标记、命名实体识别和分块。在Transformers之前,条件随机场(CRFs)是序列建模的首选工具,特别是线性链CRFs,它将序列建模为有向图,而CRFs更普遍地可以用于任意图。
160 0
|
10月前
|
机器学习/深度学习 算法
【MATLAB第51期】基于MATLAB的WOA-ORELM-LSTM多输入单输出回归预测模型,鲸鱼算法WOA优化异常鲁棒极限学习机ORELM超参数,修正LSTM残差
残差修正一般适用于LSTM参数较好,数据集较好的情况。在此基础上,若通过进化算法优化LSTM参数会增加运行工作量。而残差修正一般适用于时间序列预测,用进化算法优化残差修正模型比深度学习模型的收敛速度快不少。残差修正后的结果,也可以对未来进行修正预测,但是研究意义大于实用意义。
【MATLAB第51期】基于MATLAB的WOA-ORELM-LSTM多输入单输出回归预测模型,鲸鱼算法WOA优化异常鲁棒极限学习机ORELM超参数,修正LSTM残差
|
5天前
|
机器学习/深度学习 编解码 算法
R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
10 0
|
14天前
|
机器学习/深度学习 Python 数据处理
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
40 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
15天前
|
机器学习/深度学习 数据处理 计算机视觉
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力消耗数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力消耗数据
28 1
|
2月前
|
机器学习/深度学习 语音技术
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
32 9
|
6月前
|
PyTorch 算法框架/工具
时间序列预测:CNN+LSTM+Attention模型实战
时间序列预测:CNN+LSTM+Attention模型实战
227 0
|
4月前
|
机器学习/深度学习 存储 TensorFlow
LSTM模型预测时间序列:根据历史销量数据预测商品未来销量
LSTM模型预测时间序列:根据历史销量数据预测商品未来销量
191 0

相关产品

  • 智能语音交互
  • 相关实验场景

    更多