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

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: Attention-lvcsr、Residual LSTM…你都掌握了吗?一文总结语音识别必备经典模型

机器之心专栏

本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。 本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。

本文将分 3 期进行连载,共介绍 17 语音识别任务上曾取得 SOTA 的经典模型。


  • 第 1 期:NNLM、RNNLM、LSTM-RNNLM、Bi-lstm、Bi-RNN+Attention、GPT-1
  • 第 2 期:Bert、Transformer-XL、EeSen、FSMN、CLDNN、highway LSTM
  • 第 3 期:Attention-lvcsr、residual LSTM、CTC/Attention、Transfomer-Transducer、Conformer

您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。

第 1 期回顾:NNLM、RNNLM、LSTM-RNNLM、Bi-lstm、GPT-1…你都掌握了吗?一文总结语音识别必备经典模型(一)

第 2 期回顾:EeSen、FSMN、CLDNN、BERT、Transformer-XL…你都掌握了吗?一文总结语音识别必备经典模型(二)


本期收录模型速览

模型 SOTA!模型资源站收录情况 模型来源论文
Attention-lvcsr

https://sota.jiqizhixin.com/project/attention-lvcsr

收录实现数量:1

支持框架:PyTorch


End-to-end attention-based large vocabulary speech recognition
Residual LSTM https://sota.jiqizhixin.com/project/residual-lstm

收录实现数量:1

支持框架:PyTorch

Design of a deep recurrent architecture for distant speech recognition
CTC/Attention https://sota.jiqizhixin.com/project/ctc-attention Hybrid CTC/Attention Architecture for End-to-End Speech Recognition
Transfomer-Transducer https://sota.jiqizhixin.com/project/transfomer-transducer

收录实现数量:1

支持框架:PyTorch

Transformer Transducer: A Streamable Speech Recognition Model with Transformer Encoders and RNN-T Loss

Conformer https://sota.jiqizhixin.com/project/conformer-l

收录实现数量:3

支持框架:PyTorch、TensorFlow、PaddlePaddle

Conformer: Convolution-augmented Transformer for Speech Recognition

语音识别是指将语音信号转换为文字的过程。具体来说,输入一段语音信号,找到一个文字序列(由词或字组成),使得它与语音信号的匹配程度最高。这个匹配程度,一般是用概率表示的。语音识别系统一般由如下几个部分组成:信号处理、解码器、文本输出。信号处理模块根据人耳的听觉感知特点,抽取语音中最重要的特征,将语音信号转换为特征矢量序列。现行语音识别系统中常用的声学特征有线性预测编码(Linear Predictive Coding,LPC)、梅尔频率倒谱系数(Mel-frequency Cepstrum Coefficients,MFCC)、梅尔标度滤波器组(Mel-scale Filter Bank,FBank)等。解码器(Decoder)根据声学模型(Acoustic Model,AM)和语言模型(Language Model,LM),将输入的特征矢量序列转化为字符序列。解码器对给定的特征向量序列和若干假设词序列计算声学模型得分和语言模型得分,将总体输出分数最高的词序列作为识别结果。其中,声学模型是对声学、语音学、环境的变量,以及说话人性别、口音的差异等的知识表示,主要实现预测通过词 W 的发音生成特征 X 的概率。声学模型的训练数据是标注的声音特征(标注是对应的文本内容);语言模型则是对一组字序列构成的知识表示,主要实现预测某词或词序列的概率。语言模型的训练数据是一些合乎语法的句子(纯文本)。

从语言模型角度分析,近些年随着深度学习的发展,神经网络语言模型 (neural network language model,NLM) 由于能将词向量映射到低维连续空间,因此逐渐成为主流方法,具备较好的泛化性能。最早的神经语言模型是基于前馈神经网络 (feedforward neural network, FNN) 的,初步实现了对长文本序列在低维连续空间的建模,但这种方法能够处理的文本长度受限于网络的输入长度,而后循环神经网络 (recurrent neural network, RNN) 为代表的语言模型利用循环结构可以在理论上对无限长的文本建模,性能得到极大提升。基于长短期记忆循环神经网络 (long short-term memory recurrent neural network, LSTM-RNN) 的语言模型则解决了 RNN 在长历史序列建模时梯度消失的问题,在各种任务上都取得不错的效果。近年来,基于 Transformer 的语言模型在自注意力机制作用下对长文本具有更强的建模能力,在一系列自然语言和语音的任务上均取得了最优性能。从语言模型的发展中可以看出,研究核心在于如何提高模型对于长历史序列信息的建模能力,这也是神经语言模型在语音识别应用中需要考虑的核心问题。

从声学模型角度分析,传统的语音识别系统的声学模型普遍采用的是基于GMM-HMM的声学模型,其中,GMM用于对语音声学特征的分布进行建模,HMM则用于对语音信号的时序性进行建模。2006年深度学习兴起以后,深度神经网络(Deep Neural Networks,DNN)被应用于语音声学模型。2009年,Hinton及其学生将前馈全连接深度神经网络应用于语音识别声学建模,在TIMIT数据库上基于DNN-HMM的声学模型相比于传统的GMM-HMM声学模型可以获得显著的性能提升。DNN相比于GMM的优势在于:1)DNN对语音声学特征的后验概率进行建模不需要对特征的分布进行去分布假设;2)GMM要求对输入的特征进行去相关处理,而DNN可以采用各种形式的输入特征;3)GMM只能采用单帧语音作为输入,而DNN则可以通过拼接相邻帧的方式利用上下文的有效信息。2011年,Deng Li等提出基于CD-DNN-HMM的声学模型,在大词汇量连续语音识别任务上取得成功,相比于传统的GMM-HMM系统可以获得超过20%的相对性能提升。基于DNN-HMM的语音声学模型开始取代GMM-HMM成为主流的声学模型。此后大量的研究人员投入到基于深度神经网络的语音声学建模研究中,语音识别取得了突破性的进展。


本文分别总结了神经语音识别中神经语言模型和神经声学模型的经典TOP模型。


一、神经语言模型


1、 Attention-lvcsr

目前许多先进的大词汇量连续语音识别系统(Large Vocabulary Continuous Speech Recognition Systems,LVCSR)是神经网络和隐马尔可夫模型(HMM)的混合体。这些系统大多包含处理声学建模、语言建模和序列解码的独立组件。本文研究了一种更直接的方法,即用循环神经网络(RNN)取代HMM,直接在字符层面进行序列预测。输入特征和所需的字符序列之间的对齐是由RNN内置的注意力机制自动学习的。对于每个预测的字符,注意力机制扫描输入序列并选择相关的框架。这项工作研究了基于注意力的循环序列发生器(Attentionbased Recurrent Sequence Generator,ARSG)的应用,作为端到端低通滤波器系统的一部分。

在这项工作中,我们使用深度BiRNN作为编码器。因此,表示法是BiRNN状态向量的序列(h_1, ... , h_L)。对于一个标准的深度BiRNN网络,序列(h_1, ... , h_L)与最底层的输入一样长,在语音重构的背景下,这意味着每10ms的录音有一个h_i。因此,在BiRNN层之间增加了池化,如图1所示。

图1. 增加池化层的BiRNN:上层的运行速度比下层慢两倍。它可以对它下面一层的隐藏状态进行平均或子采样(如图所示)


系统中的解码器网络是一个基于注意力的循环序列发生器(ARSG)。虽然RNN可以处理和生成序列数据,但隐藏状态向量序列的长度总是等于输入序列的长度。人们可以以学习这两个序列之间的排列组合为目标,建立一个分布为p(y_1, ... , y_T |h_1, ... , h_L)的模型,对于这个分布,T和L之间没有明显的功能依赖关系。ARSG一次产生一个输出序列(y_1, ... , y_T),同时将每个生成的元素与编码的输入序列(h_1, ... , h_L)对齐。它由一个RNN和一个额外的子网络组成,称为 "注意力机制"。注意力选择输入序列的时间位置,这些位置被用来更新RNN的隐藏状态,并对下一个输出值进行预测。ARSG如图2所示。

图2. 基于注意力的循环序列发生器的示意图


在每个时间步长t,MLP将隐藏状态s_t-1和所有的输入向量h_l结合起来,计算出注意力权重α_tl。随后,可以计算得到新的隐藏状态s_t和输出标签y_t的预测。本工作中使用的注意力机制是一个改进版的带有卷积特征的混合注意力,它由以下公式描述

尽管从结构上看,ARSG隐式学习了一个输出符号如何依赖于先前的符号,但训练语料的转录通常不足以学习一个高质量的语言模型。出于这个原因,作者进一步研究如何将ARSG与语言模型相结合。主要的挑战是,在语音识别中使用的是基于单词的语言模型,而ARSG是对字符序列的分布建模。使用带权有限状态转录器(Weighted Finite State Transducer,WFST)框架,从一个词级的语言模型建立一个字符级的语言模型。一个WFST是一个有限自动机,其过渡有权重和输入输出标签。它定义了将输入序列转化为输出序列的成本,即考虑所有具有相应的输入和输出标签序列的路径。组合操作可用于组合定义不同层次的表示法的FST,如案例中的字符和单词。将语言模型有限状态转录器(Finite State Transducer,FST)G与简单拼出每个单词的字母的词典FST L组成。更具体地说,建立了一个FST T = min(det(L o G))来定义字符序列的对数概率。把这个FST的权重推向起始状态,以帮助在解码期间进行假设修剪。

对于解码,我们寻找一个成本最小的转录本y,它结合了编码器-解码器(encoder-decoder,ED)和语言模型(language model,LM)的输出,如下所示


在波束搜索解码中整合FST和ARSG是很容易的,因为它们的共同特性是当前状态只取决于前一个状态和输入符号。因此,我们可以使用一个简单的从左到右的波束搜索算法,来近似计算出最小化L的y值。


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


项目 SOTA!平台项目详情页
Attention-lvcsr 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/attention-lvcsr


2、 Residual LSTM

通过使用Highway LSTM建模发现,当从3层HLSTM增加到8层时,字错误率(wer)反而上升了。这就是所谓的Degration problem,即随着网络深度的增加训练/开发集的错误率不降反增。为了解决这个问题,提出了Residual LSTM。Residual LSTM也是借鉴了Highway LSTM的思想。具体结构如下:

图3. Residual LSTM:将先前的输出层(h_t)^l-1的shortcut添加到一个投影输出(m_t)^l。(W_h)^l是输入和输出之间的尺寸匹配矩阵

从图3中可以看出:
(1)Residual LSTM有一条空间上的shortcut(对应绿色方块的Shortcut Path)。而绿色方块表达的是l层的输入(x_t)^l是来自l-1层的输出(h_t)^l-1 。这里的空间指的是不同层的LSTM之间。当然Residual LSTM也有一条时间上的shortcut,即图中l层t时刻的细胞状态依赖于l层t-1时刻的细胞状态,因此说它也提供了一条时间上的shortcut;
(2)与Highway LSTM不同,Highway LSTM通过额外引入了carry gate来限制空间上的shortcut的畅通程度。而Residual LSTM则直接使用output gate代替carry gate来限制空间上的shortcut的畅通程度。通过这个替代,能有效超过减少10%的参数数量;
3、与Highway LSTM不同,Highway LSTM的时间shortcut和空间shortcut是应用在同一个对象上,即细胞状态。而Residual LSTM的时间shortcut是应用在细胞状态,而空间shortcut是应用在输出层。

与传统LSTM相比,Residual LSTM公式如下:

其中,Residual LSTM公式中的 (x_t)^l就是来自l-1层的输出 (h_t)^l-1。通过公式我们可以看到,Residual LSTM也有一个映射层,即 (m_t)^l。

当前 SOTA!平台收录 Residual LSTM 共 1 个模型实现资源。


项目 SOTA!平台项目详情页
Residual LSTM 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/residual-lstm




相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
7月前
|
机器学习/深度学习 自然语言处理 数据处理
大模型开发:描述长短期记忆网络(LSTM)和它们在序列数据上的应用。
LSTM,一种RNN变体,设计用于解决RNN处理长期依赖的难题。其核心在于门控机制(输入、遗忘、输出门)和长期记忆单元(细胞状态),能有效捕捉序列数据的长期依赖,广泛应用于语言模型、机器翻译等领域。然而,LSTM也存在计算复杂度高、解释性差和数据依赖性强等问题,需要通过优化和增强策略来改进。
225 1
|
4月前
|
机器学习/深度学习 API 异构计算
7.1.3.2、使用飞桨实现基于LSTM的情感分析模型的网络定义
该文章详细介绍了如何使用飞桨框架实现基于LSTM的情感分析模型,包括网络定义、模型训练、评估和预测的完整流程,并提供了相应的代码实现。
|
4月前
|
机器学习/深度学习 自然语言处理 算法
7.1.3、使用飞桨实现基于LSTM的情感分析模型
该文章介绍了如何使用飞桨(PaddlePaddle)实现基于长短时记忆网络(LSTM)的情感分析模型,包括数据处理、网络定义、模型训练、评估和预测的详细步骤。
|
2月前
|
机器学习/深度学习 PyTorch 语音技术
语音识别模型
Whisper 是 OpenAI 推出的语音处理项目,基于深度学习,具备高度智能化和准确性的语音识别、翻译和生成能力。通过丰富的数据集和先进的注意力机制,Whisper 在多种语言环境下表现出色,支持语音识别、翻译、口语识别和语音活动检测等多种任务。用户可以通过 Python 代码或命令行轻松使用 Whisper,完成高质量的语音处理任务。官网:https://openai.com/research/whisper,GitHub:https://github.com/openai/whisper。
|
2月前
|
机器学习/深度学习 算法 语音技术
超越传统模型:探讨门控循环单元(GRU)在语音识别领域的最新进展与挑战
【10月更文挑战第7天】随着人工智能技术的不断进步,语音识别已经从一个相对小众的研究领域发展成为日常生活中的常见技术。无论是智能手机上的语音助手,还是智能家居设备,甚至是自动字幕生成系统,都离不开高质量的语音识别技术的支持。在众多用于语音识别的技术中,基于深度学习的方法尤其是递归神经网络(RNNs)及其变体如长短期记忆网络(LSTMs)和门控循环单元(GRUs)已经成为了研究和应用的热点。
115 2
|
6月前
|
机器学习/深度学习 存储 人工智能
算法金 | LSTM 原作者带队,一个强大的算法模型杀回来了
**摘要:** 本文介绍了LSTM(长短期记忆网络)的发展背景和重要性,以及其创始人Sepp Hochreiter新推出的xLSTM。LSTM是为解决传统RNN长期依赖问题而设计的,广泛应用于NLP和时间序列预测。文章详细阐述了LSTM的基本概念、核心原理、实现方法和实际应用案例,包括文本生成和时间序列预测。此外,还讨论了LSTM与Transformer的竞争格局。最后,鼓励读者深入学习和探索AI领域。
69 7
算法金 | LSTM 原作者带队,一个强大的算法模型杀回来了
|
5月前
|
机器学习/深度学习 算法 数据可视化
Python基于librosa和人工神经网络实现语音识别分类模型(ANN算法)项目实战
Python基于librosa和人工神经网络实现语音识别分类模型(ANN算法)项目实战
|
5月前
|
机器学习/深度学习 数据采集 数据挖掘
Python实现循环神经网络RNN-LSTM回归模型项目实战(股票价格预测)
Python实现循环神经网络RNN-LSTM回归模型项目实战(股票价格预测)
|
7月前
|
机器学习/深度学习 算法
【MATLAB】基于VMD-SSA-LSTM的回归预测模型
【MATLAB】基于VMD-SSA-LSTM的回归预测模型
242 4
|
7月前
|
机器学习/深度学习 算法
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
176 0
【MATLAB】基于EMD-PCA-LSTM的回归预测模型

热门文章

最新文章

相关产品

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

    更多