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

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

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

机器之心 2023-02-12 12:44 发表于北京

以下文章来源于机器之心SOTA模型,作者机器之心SOTA模型

机器之心专栏

本专栏由机器之心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

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

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


本期收录模型速览

模型 SOTA!模型资源站收录情况 模型来源论文
BERT

https://sota.jiqizhixin.com/project/bert-22

收录实现数量:6

支持框架:TensorFlow


Bert: Pre-training of deep bidirectional transformers for language understanding
Transformer-XL

https://sota.jiqizhixin.com/project/transformer-xl

收录实现数量:4

支持框架:PyTorch、TensorFlow


Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
EeSen

https://sota.jiqizhixin.com/project/eesen

收录实现数量:2

支持框架:TensorFlow


Lstm neural networks for language modeling
FSMN

https://sota.jiqizhixin.com/project/fsmn

Feedforward sequential memory networks: A new structure to learn long-term dependency
CLDNN https://sota.jiqizhixin.com/project/cldnn


Convolutional, long short-term memory, fully connected deep neural networks
highway LSTM

https://sota.jiqizhixin.com/project/highway-lstm

Highway long short-term memory RNNs for distant 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、 BERT

BERT的全称为Bidirectional Encoder Representation from Transformers,是一个预训练的语言表征模型。它采用新的masked language model(MLM),能生成深度的双向语言表征。预训练后,只需要添加一个额外的输出层进行fine-tune,就可以在各种各样的下游任务中取得state-of-the-art的表现。在这过程中并不需要对BERT进行任务特定的结构修改。BERT利用MLM进行预训练并且采用深层的双向Transformer组件来构建整个模型,生成能融合左右上下文信息的深层双向语言表征。如图1所示。

图1 BERT的整体预训练和微调程序。


除了输出层之外,在预训练和微调中使用了相同的架构。使用相同的预训练模型参数来初始化不同下游任务的模型。在微调过程中,所有的参数都要进行微调。[CLS]是添加在每个输入样本前面的特殊符号,[SEP]是一个特殊的分隔符(例如分隔问题/答案)


BERT输入。每一个token(图11中的粉色块)对应的表征(图11中的黄色块),单词字典是采用WordPiece算法来进行构建的。
表征由三部分组成的,分别是对应的token、分割和位置 embeddings。

BERT输出。C为分类token([CLS])对应最后一个Transformer的输出,[公式] 则代表其他token对应最后一个Transformer的输出。对于一些token级别的任务(如,序列标注和问答任务),就把[公式] 输入到额外的输出层中进行预测。对于一些句子级别的任务(如,自然语言推断和情感分类任务),就把C输入到额外的输出层中。


当前 SOTA!平台收录 BERT 共 6 个模型实现资源。

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


2、 Transformer-XL

Transformer-XL引入了segment-level 循环机制和positional编码框架。不仅可以捕捉长时依赖,还可以解决上下文断片问题 (fragmentation problem),还可以学到比RNNs长80%的依赖、比vanilla Transformers长450%的依赖。Transformer-XL在长短序列上都取得了更好的结果。与vanilla Transformer相比,Transformer-XL的另一个优势是它可以用于单词级和字符级的语言建模。

与vanilla Transformer的基本思路一样,Transformer-XL仍然是使用分段的方式进行建模,但其与vanilla Transformer的本质不同是引入了段与段之间的循环机制,使得当前段在建模的时候能够利用之前段的信息来实现长期依赖性。如下图所示:

图2 segment为4的Vanilla模型的说明

在训练阶段,处理后面的段时,每个隐藏层都会接收两个输入:一个是该段的前面隐藏层的输出,与vanilla Transformer相同(上图的灰色线);另一个是前面段的隐藏层的输出(上图的绿色线),可以使模型创建长期依赖关系。拼接这两个输入,然后用于计算当前段的Key和Value矩阵。对于某个段的某一层的具体计算公式如下:

原则上只要GPU内存允许,该方法可以利用前面更多段的信息,测试阶段也可以获得更长的依赖。

Transformer考虑了序列的位置信息。在分段的情况下,如果仅仅对于每个段仍直接使用Transformer中的位置编码,即每个不同段在同一个位置上的表示使用相同的位置编码,就会出现问题。比如,第i−2段和第i−1段的第一个位置拥有相同的位置编码,但它们对于第i段的建模重要性显然并不相同(例如第i−2段中的第一个位置重要性可能要低一些)。因此,需要对这种位置进行区分。对于这个问题,Transformer-XL引入一种新的位置编码的方式,即根据词之间的相对距离而非像Transformer中的绝对位置进行编码。在Transformer中,第一层的计算查询qTi和键kj之间的attention分数的方式为:

在Transformer-XL中,对上述的attention计算方式进行了变换,转为相对位置的计算,而且不仅仅在第一层这么计算,在每一层都是这样计算:

结合上面两个创新点,将Transformer-XL模型的整体计算公式整理如下,这里考虑一个N层的只有一个注意力头的模型:

当前 SOTA!平台收录 Transformer-XL 共 4 个模型实现资源。

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




相关实践学习
一键创建和部署高分电影推荐语音技能
本场景使用天猫精灵技能应用平台提供的技能模板,在2-5分钟内,创建一个好玩的高分电影推荐技能,使用模板后无须代码开发,系统自动配置意图、实体等,新手0基础也可体验创建技能的乐趣。
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
4月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图 REV1
Bert Pytorch 源码分析:五、模型架构简图 REV1
33 0
|
4月前
|
机器学习/深度学习 人工智能 开发工具
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
Hugging Face是一个机器学习(ML)和数据科学平台和社区,帮助用户构建、部署和训练机器学习模型。它提供基础设施,用于在实时应用中演示、运行和部署人工智能(AI)。用户还可以浏览其他用户上传的模型和数据集。Hugging Face通常被称为机器学习界的GitHub,因为它让开发人员公开分享和测试他们所训练的模型。 本次分享如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face。
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
|
4月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图
Bert Pytorch 源码分析:五、模型架构简图
27 0
|
6月前
lda模型和bert模型的文本主题情感分类实战
lda模型和bert模型的文本主题情感分类实战
111 0
|
5月前
|
JavaScript
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格化合成,让推理音色更具情感特色,并且推出了新的预处理webuI,操作上更加亲民和接地气。
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
|
6月前
|
并行计算 API C++
又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
Bert-vits2项目近期炸裂更新,放出了v2.0.2版本的代码,修正了存在于2.0先前版本的重大bug,并且重炼了底模,本次更新是即1.1.1版本后最重大的更新,支持了三语言训练及混合合成,并且做到向下兼容,可以推理老版本的模型,本次我们基于新版V2.0.2来本地推理原神小姐姐们的音色模型。
又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
|
5月前
|
人工智能 语音技术
Bert-vits2新版本V2.1英文模型本地训练以及中英文混合推理(mix)
中英文混合输出是文本转语音(TTS)项目中很常见的需求场景,尤其在技术文章或者技术视频领域里,其中文文本中一定会夹杂着海量的英文单词,我们当然不希望AI口播只会念中文,Bert-vits2老版本(2.0以下版本)并不支持英文训练和推理,但更新了底模之后,V2.0以上版本支持了中英文混合推理(mix)模式。
Bert-vits2新版本V2.1英文模型本地训练以及中英文混合推理(mix)
|
2月前
|
机器学习/深度学习 语音技术
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
32 9
|
4月前
|
机器学习/深度学习 数据采集 人工智能
【NLP】Datawhale-AI夏令营Day3打卡:Bert模型
【NLP】Datawhale-AI夏令营Day3打卡:Bert模型
|
4月前
|
机器学习/深度学习 自然语言处理 数据格式
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
55 0

相关产品

  • 智能语音交互