精华内容
下载资源
问答
  • 对语音识别过程中声学模型的构建发展过程,从最初的数字模型到后来的神经网络模型,最新的各种深读学习的模型的解析。
  • A Chinese Deep Speech Recognition System 包括基于深度学习的声学模型和基于深度学习的语言模型
  • 该系统实现了基于深度框架的语音识别中的声学模型和语言模型建模,其中声学模型包括CNN-CTC、GRU-CTC、CNN-RNN-CTC,语言模型包含transformer、CBHG,数据集包含stc、primewords、Aishell、thchs30四个数据集。
  • :针对射线、简正波、PE 、FFP 等传播模型的算法原理及其适用的海洋环境 , 建立了以 Kraken 声学模型计算 软件为基础的海洋声场数值预报系统。 应用该预报系统对 4 组典型的海洋声场进行了数值试验, 结果表明 :在相 ...
  • CMU Sphinx的旧版声学模型文件。 内部包含: 声学模型:zh_broadcastnews_16k_ptm256_8000 语言模型:zh_broadcastnews_64000_utf8.DMP 拼音字典:zh_broadcastnews_utf8.dic
  • sphinx4需要使用连续的声学模型,官网上下载下来的中文声学模型全是半连续的,这里提供能够在sphinx4中使用的中文声学模型
  • 灵感来自 Fabien Petitcolas 的模型 1 演示 ( http://www.petitcolas.net/fabien/software/mpeg/ )
  • 输入:经声学模型后的softmax概率prob.txt,以及相应的字表vocab.txt 输出:解码结果 2 编译ctc_beam_search_decoder.cpp 1)开始编译: ./compile_decoder.sh 3 运行解码 ./ctc_beam_search_decoder 4 解码结果
  • 培训/适应CMU Sphinx声学模型的工具包。 主要目标是帮助特定的扬声器/口音。 目前仅支持英语模型作为基础-实际上Peter Grasch在2013年使用当时可用的最新培训数据创建模型。 我可以肯定他的成绩至少比我的口音...
  • 基于深度学习的中文语音识别系统 如果觉得有用的话,小手给个star吧~ 注意:本人于近期想对该项目进行...该系统实现了基于深度框架的语音识别中的声学模型和语言模型建模,其中声学模型包括CNN-CTC、GRU-CTC、CNN-RN
  • 基于卷积神经网络的语音识别声学模型的研究
  • 2018 阿里 声学模型 语言模型

    千次阅读 2019-02-27 09:53:36
    本文将挑选阿里云语音识别技术中的一些模型端技术进行简要介绍。 鄢志杰,阿里云资深算法专家,人机交互首席科学家。研究领域主要包括语音识别、语音合成、说话人识别验证、OCR/手写识别、机器学习算法等...

    摘要: 语音识别技术作为人工智能技术中的重要组成部分,也作为影响人机交互的核心组件之一,从各种智能家用IoT设备的语音交互能力,到公共服务、智慧政务等场合的应用,语音识别技术正在影响着人们生活的方方面面。本文将挑选阿里云语音识别技术中的一些模型端技术进行简要介绍。

    鄢志杰,阿里云资深算法专家,人机交互首席科学家。研究领域主要包括语音识别、语音合成、说话人识别验证、OCR/手写识别、机器学习算法等。长期担任语音领域顶级学术会议及期刊的专家评审,并拥有多项美国及PCT专利。

     

    以下为内容全文:

     

    语音识别技术作为人工智能技术中的重要组成部分,也作为影响人机交互的核心组件之一,从各种智能家用IoT设备的语音交互能力,到公共服务、智慧政务等场合的应用,语音识别技术正在影响着人们生活的方方面面。本文将挑选阿里云语音识别技术中的一些模型端技术进行简要介绍。

     

    声学模型、语言模型和解码器可以看作是现代语音识别系统最核心的三个组成部分。虽然最近有一些研究者尝试构建End2end的语音识别系统,但包含声学模型、语言模型和解码器的现代语音识别系统依然是当前最主流和使用最广泛的系统。在这其中,声学模型主要用来构建输入语音和输出声学单元之间的概率映射关系;语言模型用来描述不同字词之间的概率搭配关系,使得识别出的句子更像自然文本;解码器负责结合声学单元概率数值和语言模型在不同搭配上的打分进行筛选,最终得到最可能的识别结果。

     

    随着近几年深度学习的火热,语音识别领域也纷纷投入深度学习的大潮之中。将传统HMM-GMM声学模型替换成HMM-DNN声学模型后,可以获得超过20%的相对提升,在传统N-Gram语言模型基础上叠加NN-LM语言模型也可以获得进一步的提高。在这过程中,声学模型由于更适合采用深度神经网络模型,从而受到研究者更多的关注。本文主要介绍阿里云语音识别技术中采用的声学模型技术和语言模型技术,包括LC-BLSTM声学模型、LFR-DFSMN声学模型和NN-LM语言模型,其中LC-BLSTM是对传统BLSTM模型的一种改进,在保持了高准确率的同时,提供了低延时的特性;而LFR-DFSMN是对RNN声学模型的一种改进,用精巧的模型设计获得更稳定的训练效果和更好的识别准确率;NN-LM语言模型是近年来在传统N-Gram语言模型基础上获得的进一步改进。

     

    Latency-Controlled BLSTM模型

     

    DNN(即fully connected DNN)模型的优点在于通过增加神经网络的层数和节点数,扩展了网络对于复杂数据的抽象和建模能力,但同时DNN模型也存在一些不足,例如DNN中一般采用拼帧来考虑上下文相关信息对于当前语音帧的影响,这并不是反映语音序列之间相关性的最佳方法。自回归神经网络(RNN)在一定程度上解决了这个问题,它通过网络节点的自连接达到利用序列数据间相关性的目的。进一步有研究人员提出一种长短时记忆网络(LSTM-RNN),它可以有效减轻简单RNN容易出现的梯度爆炸和梯度消散问题,而后研究人员又对LSTM进行了扩展,使用双向长短时记忆网络(BLSTM-RNN)进行声学模型建模,以充分考虑上下文信息的影响。

     

    BLSTM模型可以有效地提升语音识别的准确率,相比于DNN模型,相对性能提升可以达到15%-20%。但同时BLSTM模型也存在两个非常重要的问题:

     

    句子级进行更新,模型的收敛速度通常较慢,并且由于存在大量的逐帧计算,无法有效发挥GPU等并行计算工具的计算能力,训练会非常耗时;

     

    由于需要用到整句递归计算每一帧的后验概率,解码延迟和实时率无法得到有效保证,很难应用于实际服务。

     

    对于这两个问题,学术界首先提出Context-Sensitive-Chunk BLSTM(CSC-BLSTM)的方法加以解决,而此后又提出了Latency Controlled BLSTM(LC-BLSTM)这一改进版本,更好、更高效的减轻了这两个问题。我们在此基础上采用LC-BLSTM-DNN混合结构配合多机多卡、16bit量化等训练和优化方法进行声学模型建模,取得了相比于DNN模型约17-24%的相对识别错误率下降。

     

    典型的LSTM节点结构由3个gate组成:input gate、forget gate、output gate和一个cell组成,输入、输出节点以及cell同各个门之间都存在连接;input gate、forget gate同cell之间也存在连接,cell内部还有自连接。这样通过控制不同门的状态,可以实现更好的长短时信息保存和误差传播。

     

    LSTM可以像DNN一样逐层堆积成为Deep LSTM,为了更好的利用上下文信息,还可以使用BLSTM逐层堆积构造Deep BLSTM,其结构如下图所示,网络中沿时间轴存在正向和反向两个信息传递过程,每一个时间帧的计算都依赖于前面所有时间帧和后面所有时间帧的计算结果,对于语音信号这种时序序列,该模型充分考虑了上下文对于当前语音帧的影响,能够极大的提高音素状态的分类准确率。

     

    然而由于标准的BLSTM是对整句语音数据进行建模,训练和解码过程存在收敛慢、延迟高、实时率低等问题,针对这些弊端我们采用了Latency Controlled BLSTM进行解决,与标准的BLSTM使用整句语音进行训练和解码不同,Latency Control BLSTM使用类似truncated BPTT的更新方式,并在cell中间状态处理和数据使用上有着自己的特点,如下图所示,训练时每次使用一小段数据进行更新,数据由中心chunk和右向附加chunk构成,其中右向附加chunk只用于cell中间状态的计算,误差只在中心chunk上进行传播。时间轴上正向移动的网络,前一个数据段在中心chunk结束时的cell中间状态被用于下一个数据段的初始状态,时间轴上反向移动的网络,每一个数据段开始时都将cell中间状态置为0。该方法可以很大程度上加快网络的收敛速度,并有助于得到更好的性能。解码阶段的数据处理与训练时基本相同,不同之处在于中心chunk和右向附加chunk的维度可以根据需求进行调节,并不必须与训练采用相同配置。

     

    LFR-DFSMN模型

     

    FSMN是近期被提出的一种网络结构,通过在前馈全连接神经网络(Feedforward Fully-connected Neural Networks,FNN)的隐层添加一些可学习的记忆模块,从而可以有效的对信号的长时相关性进行建模。FSMN相比于LCBLSTM不仅可以更加方便的控制时延,而且往往也能获得更好的性能,需要的计算资源也更少。但是标准的FSMN很难训练非常深层的结构,由于梯度消失问题导致训练效果不好。而深层结构的模型目前在很多领域被证明具有更强的建模能力。因而针对此我们提出了一种改进的FSMN模型,称之为深层的FSMN(Deep FSMN, DFSMN)。进一步的我们结合低帧率(Low Frame Rate,LFR)技术构建了一种高效的实时语音识别声学模型,相比于去年我们上线的LFR-LCBLSTM声学模型可以获得超过20%的相对性能提升,同时可以获得2-3倍的训练以及解码的加速,可以显著的减少我们的系统实际应用时所需要的计算资源。

     

    最早提出的FSMN的模型结构如上图(a)所示,其本质上是一个前馈全连接神经网络,通过在隐层旁添加一些记忆模块(memory block)来对周边的上下文信息进行建模,从而使得模型可以对时序信号的长时相关性进行建模。记忆模块采用如上图(b)所示的抽头延迟结构将当前时刻以及之前 N 个时刻的隐层输出通过组系数编码得到个固定的表达。FSMN的提出是受到数字信号处理中滤波器设计理论的启发:任何无限响应冲击(Infinite Impulse Response, IIR)滤波器可以采用高阶的有限冲击响应(Finite Impulse Response, FIR)滤波器进行近似。从滤波器的角度出发,如上图(c)所示的RNN模型的循环层就可以看作如上图(d)的一阶IIR滤波器。而FSMN采用的采用如上图(b)所示的记忆模块可以看作是一个高阶的FIR滤波器。从而FSMN也可以像RNN一样有效的对信号的长时相关性进行建模,同时由于FIR滤波器相比于IIR滤波器更加稳定,因而FSMN相比于RNN训练上会更加简单和稳定。

     

    根据记忆模块编码系数的选择,可以分为:1)标量FSMN(sFSMN);2)矢量FSMN(vFSMN)。sFSMN 和 vFSMN 顾名思义就是分别使用标量和矢量作为记忆模块的编码系数。

     

    以上的FSMN只考虑了历史信息对当前时刻的影响,我们可以称之为单向的FSMN。当我们同时考虑历史信息以及未来信息对当前时刻的影响时,我们可以将单向的FSMN进行扩展得到双向的FSMN。

     

    FSMN相比于FNN,需要将记忆模块的输出作为下一个隐层的额外输入,这样就会引入额外的模型参数。隐层包含的节点越多,则引入的参数越多。研究结合矩阵低秩分解(Low-rank matrix factorization)的思路,提出了一种改进的FSMN结构,称之为简洁的FSMN(Compact FSMN,cFSMN)。下图是一个第l个隐层包含记忆模块的cFSMN的结构框图。

     

    对于cFSMN,通过在网络的隐层后添加一个低维度的线性投影层,并且将记忆模块添加在这些线性投影层上。进一步的,cFSMN对记忆模块的编码公式进行了一些改变,通过将当前时刻的输出显式的添加到记忆模块的表达中,从而只需要将记忆模块的表达作为下一层的输入。这样可以有效的减少模型的参数量,加快网络的训练。

     

    上图是我们进一步提出的Deep-FSMN(DFSMN)的网络结构框图,其中左边第一个方框代表输入层,右边最后一个方框代表输出层。我们通过在cFSMN的记忆模块(红色框框表示)之间添加跳转连接(skip connection),从而使得低层记忆模块的输出会被直接累加到高层记忆模块里。这样在训练过程中,高层记忆模块的梯度会直接赋值给低层的记忆模块,从而可以克服由于网络的深度造成的梯度消失问题,使得可以稳定的训练深层的网络。

     

    相比于之前的cFSMN,DFSMN优势在于,通过跳转连接可以训练很深的网络。对于原来的cFSMN,由于每个隐层已经通过矩阵的低秩分解拆分成了两层的结构,这样对于一个包含4层cFSMN层以及两个DNN层的网络,总共包含的层数将达到13层,从而采用更多的cFSMN层,会使得层数更多而使得训练出现梯度消失问题,导致训练的不稳定性。我们提出的DFSMN通过跳转连接避免了深层网络的梯度消失问题,使得训练深层的网络变得稳定。需要说明的是,这里的跳转连接不仅可以加到相邻层之间,也可以加到不相邻层之间。跳转连接本身可以是线性变换,也可以是非线性变换。具体的实验我们可以实现训练包含数十层的DFSMN网络,并且相比于cFSMN可以获得显著的性能提升。

     

    从最初的FSMN到cFSMN不仅可以有效的减少模型的参数,而且可以获得更好的性能。进一步的在cFSMN的基础上,我们提出的DFSMN,可以更加显著的提升模型的性能。如下表是在一个2000小时的英文任务上基于BLSTM,cFSMN,DFSMN的声学模型性能对比。

     

    从上表中可以看到,在2000小时这样的任务上,DFSMN模型可以获得比BLSTM声学模型相对14%的错误率降低,显著提高了声学模型的性能。

     

    传统的声学模型,输入的是每帧语音信号提取的声学特征,每帧语音的时长通常为10ms,对于每个输入的语音帧信号会有相对应的一个输出目标。最近有研究提出一种低帧率(Low Frame Rate,LFR)建模方案:通过将相邻时刻的语音帧进行绑定作为输入,去预测这些语音帧的目标输出得到的一个平均输出目标。具体实验中可以实现三帧(或更多帧)拼接而不损失模型的性能。从而可以将输入和输出减少到原来的三分之一甚至更多,可以极大的提升语音识别系统服务时声学得分的计算以及解码的效率。我们结合LFR和以上提出的DFSMN,构建了基于LFR-DFSMN的语音识别声学模型,经过多组实验我们最终确定了采用一个包含10层cFSMN层+2层DNN的DFSMN作为声学模型,输入输出则采用LFR,将帧率降低到原来的三分之一。识别结果和去年我们上线的最好的LCBLSTM基线比较如下表所示。

     

    通过结合LFR技术,我们可以获得三倍的识别加速。从上表中可以看到,在实际工业规模应用上,LFR-DFSMN模型比LFR-LCBLSTM模型可以获得20%的错误率下降,展示了对大规模数据更好的建模特性。

     

    NN-LM语言模型

     

    语言模型,顾名思义,对语言进行建模的模型。语言表达可以看作一串字符序列,不同的字符序列组合代表不同的含义,字符的单位可以是字或者词。语言模型的任务,可以看作是给定字符序列,如何估计该序列的概率,或者说,如何估计该序列的合理性。

     

    P(上海 的 工人 师傅 有 力量)>P(上海 的 工人 食腐 有 力量)

     

    拿这句话做个例子。比如到底应该是“工人师傅有力量”,还是“工人食腐有力量”,哪句话更“合适”。我们容易判断左边这句的概率大一点。于是我们希望通过语言模型的建模,可以给出符合人类预期的概率分配。就像这句,“工人师傅”的概率,大于“工人食腐”的概率。

     

    基于统计词频的传统N元文法模型,通过马尔可夫假设简化了模型结构和计算,通过计数的方式计算,通过查找的方式使用。拥有估计简单、性能稳定、计算快捷的优势,有超过三十年的使用历史。然而其马尔科夫假设强制截断建模长度,使得模型无法对较长的历史建模;基于词频的估计方式也使得模型不够平滑,对于低词频词汇估计不足。随着神经网络(Neural Networks,NNs)的第三次崛起,人们开始尝试通过NN来进行语言模型建模。

     

    一个典型的建模结构是递归神经网络(recurrent neural networks,RNNs),其递归的结构理论上可以对无穷长序列进行建模,弥补了N元文法对于序列长度建模的不足;同时其各层间的全向连接也保证了建模的平滑。此外为了提升模型的性能,研究者们还尝试了通过长短时记忆(Long Short-Term Memory,LSTM)结构来提升基本RNN本身建模能力的不足,进一步提升模型性能。

     

    NN用于大规模语言建模的系统中,需要面对一些问题,例如大词表带来的存储和计算增加。实际线上系统的词表往往比较大,而随着词表的增加,基本RNN结构的存储和计算量都会几何级数爆炸式增长。为此,研究者们进行了一些尝试,压缩词典尺寸成了一个最直接的解决方案,一个经典的方法是词表聚类。该方法可以大幅压缩词表尺寸,但往往也会带来一定的性能衰减。更直接的一个想法是直接过滤掉低频词汇,这样依然会带来一定的性能衰减,据此有一个改进策略,我们发现真正制约速度性能的主要是输出层节点,输入层节点大,借助projection层可以很好解决,于是输入层采用大辞典,而仅对输出层词表进行抑制,这样不仅尽可能地降低了损失,同时过滤掉过低的词频,也有利于模型节点的充分训练,性能往往还会略有提升。

     

    词表的压缩可以提升建模性能,降低计算量和存储量,但仅限于一定的量级,不可以无限制压缩,如何继续降低计算量依然是一个问题。一些方法被提了出来。例如LightRNN,通过类似聚类的方式,利用embedding的思想,把词表映射到一个实值矩阵上,实际输出只需要矩阵的行加矩阵的列,计算量大概也能开个方。和节点数多一起造成计算量大的一个原因就是softmax输出,需要计算所有的节点求个和,然后得到分母。若是这个分母能保持一个常数,实际计算的时候就只算需要的节点,在测试环节就快的多了。于是就有了正则项相关的方法,Variance Regularization,如果训练速度可以接受的话,这种方法在基本不损失模型正确性的情况下可以大幅提升前向计算速度;如果训练的时候也想提速,还可以考虑基于采样,sampling的方法,比如NCE、Importance Sampling、Black Sampling等,本质上就是说,在训练的时候不计算全部节点,只计算正样本(也就是标签为1的节点),以及部分通过某种分布采样的到的负样本,避免高输出造成的计算缓慢。速度上提升还是很明显的。

     

    从阿里云获得开发者模型定制能力

     

    想象一个做智能电话客服或是智能会议系统的开发者,需要为他的系统接入语音识别(将语音转写为文字)的能力。摆在他面前的会是这样一个尴尬的局面:一个选择是自己从零开始学做语音识别,这可能要花费大量的时间和金钱。毕竟人工智能这种事情,各大互联网巨头投入大量的人力、物力、财力,也要花较长的时间才能积累下技术;第二个选择是用上述巨头们在互联网上提供的开箱即用的、one size fits all的语音识别接口,时间是省下了,但语音转文字的准确率嘛,只能碰碰运气,毕竟巨头们也很忙,没有精力为你关注的场景进行优化。那么问题来了:有没有一种手段能够以最小的投入获得业务上最佳的语音识别效果呢?答案是肯定的。阿里云依托达摩院业界领先的语音交互智能,打破传统语音技术提供商的供给模式,在云计算时代让普通开发者也能够通过阿里云提供的语音识别云端自学习技术,获得定制优化自己所关心的业务场景的成套手段。阿里云让广大的开发者站在巨头的肩膀上,通过自主可控的自学习,在短时间内实现对语音识别系统应用从入门到精通,并在开发者关心的场景下轻松拥有业界顶尖的语音识别准确率。这就是云计算时代的语音识别技术全新的供给模式。

     

    与其它人工智能技术一样,语音识别技术的关键在于算法、算力和数据三个方面。阿里云依托达摩院语音交互智能,近年来持续在世界前沿进行“算法”演进,近期还将最新的研究成果DFSMN声学模型开源,供全世界的研究者复现目前最佳的结果并进行持续提升。在“算力”方面自不用说,这本身就是云计算的天然强项。基于阿里云ODPS-PAI平台,我们构建了专为语音识别应用优化的CPU/GPU/FPGA/NPU训练和服务混布平台,每天服务于阿里云上巨量的语音识别请求。在“数据”方面,我们提供通过海量数据训练的、开箱即用的场景模型,包括电商、客服、政务、手机输入等等。

     

    同时应该看到,要获得开发者关心的具体场景下最佳的准确率,开箱即用的模型一般还需要一定的定制优化工作才可以达到。传统上,这样的定制是通过语音技术服务提供商来完成的,在成本、周期、可控性等方面都存在明显不足。阿里云提供的语音定制“自学习”平台服务,可以提供多种手段,在很短的时间内、以较低的成本,让开发者完全掌控模型定制优化及上线的工作。阿里云创新工具平台及服务技术,依托强大的基础设施,使得在云计算的大背景下进行大规模定制化语音服务成为可能。而开发者完全无需关心后台的技术和服务,只需要使用阿里云提供的简单易用的“自学习”工具,利用场景知识和数据,就可以获得该特定场景下最优的效果,并按需要持续迭代提升。

     

    阿里云的智能语音自学习平台具备以下优势:

     

    a) 易。智能语音自学习平台颠覆性地提供一键式自助语音优化方案,极大地降低进行语音智能优化所需要的门槛,让不懂技术的业务人员也可以来显著提高自身业务识别准确率。

     

    b) 快。自学习平台能够在数分钟之内完成业务专属定制模型的优化测试上线,更能支持业务相关热词的实时优化,一改传统定制优化长达数周甚至数月的漫长交付弊端。

     

    c) 准。自学习平台优化效果在很多内外部合作伙伴和项目上得到了充分验证,很多项目最终通过自学习平台不光解决了效果可用性问题,还在项目中超过了竞争对手使用传统优化方式所取得的优化效果。

     

    举例来说,开发者可以使用下述多种“自学习”手段来定制自己关心领域的模型:

     

    a) 业务热词定制

     

    在许多特定场所,要求快速对特定词的识别能力进行加强(注:包括两种模式,模式一为其他词易被识别成特定词;模式二为特定词易被识别成其他词),采用实时热词加载技术,可以在实时场景下,通过设置不同的档位,能够实现热词识别能力的加强。

     

    b) 类热词定制

     

    很多时候,相同的发音相同的属性在不同上下文上会需要不同的识别效果。联系人和地名就是典型的案例,对于不同人的好友,“张阳”和“章扬”我们就必须能准确地识别出相应的名字。同样,相隔千里的安溪跟安西如果识别错误会给导航带来大麻烦。智能语音自学习平台相信“每个人都值得被尊重”,提供联系人类和地名类的定制能力,“让天下没有难识的路”。

     

    c) 业务专属模型定制

     

    用户通过输入对应领域的相关文本,如行业或公司的基本介绍、客服聊天记录、领域常用词汇和专有名词等,即可快速自行生成该行业下的定制模型,整个定制过程无需用户人工干预。

     

    通过这些手段,阿里云使得开发者不必关心语音技术的算法和工程服务细节,专注于他们擅长的垂直领域的知识和数据收集,实现全新的语音技术云端供给模式,造福于广大的开发者及其业务结果。

    展开全文
  • 中文声学模型、语言模型和字典)加入到项目,按照官网的做法输入一段里面只有讲中文的音频,结果发现输出的文本识别率很低,经网上翻阅博客,有人说可以对中文声学模型做自适应以提高...
  • 跨语言声学模型在维吾尔语语音识别中的应用
  • 它提供了一个快速简便的API,借助CMUSphinx声学模型将语音记录转换为文本。 它可以在服务器和桌面应用程序中使用。 除了语音识别之外,Sphinx4还有助于识别说话者,改编模型,将现有转录与音频对齐以进行时间戳记等...
  • 声学模型概述

    千次阅读 2017-08-07 09:54:00
    这篇博客是关于声学模型的简单介绍。 输出概率 声学模型的输入是由特征提取模块提取的特征(比如mfcc特征)。一般来说,这些特征是多维的向量,并且其取值可以是离散或连续的。

    这篇博客是关于声学模型的简单介绍。

    • 输出概率

    声学模型的输入是由特征提取模块提取的特征(比如mfcc特征)。一般来说,这些特征是多维的向量,并且其取值可以是离散或连续的。
    早期的声学模型常常采用矢量聚类(Vector Quantification)的方法,将信号直接映射到某个码本k,然后再计算某个模型j输出该码本的概率bj(k)。但是这一方法是比较粗糙的,其性能受到VQ算法的很大影响,如果VQ本身性能就很差,声学模型的估计就会很不准确。因此,对于连续取值的特征应当采用连续的概率分布。由于语音信号特征的分布并不能用简单的概率分布,例如高斯分布等来直接描述,故而常用混合高斯模型或混合拉普拉斯模型等方法对语音信号的分布进行拟合。在此,混合高斯分布可以表示为若干高斯分量Gi的加权组合。即:

    G(x)=i=1nwiGi(x)

    其中 Gi(x) 是均值为 μi 方差为 σi 的高斯分布。
    从数学角度看,当i趋向于无穷时,任何连续分布都可以用混合高斯模型来逼近。但是,高斯混合模型也存在着问题,那就是其计算量偏大。假设对于一个包含n个混合分量的混合高斯模型,其维度为m维,那么至少要进行 m×n 次运算才能得到结果,如果有i个模型需要计算,那么时间复杂度就是 O((mn)i) 。相比之下,离散HMM就相对简单,只需要进行一次VQ,再进行i次查表操作,就能够计算所有模型的概率值。因此,也出现了将二者结合起来的半连续隐马模型。其思路是输出概率不仅仅由bj(k)来决定,还乘以VQ的概率,也就是该信号属于次码本的概率。

    从精确度上看,连续隐马模型要优于半连续隐马模型,而半连续隐马模型又优于离散隐马模型。从算法复杂度上来看则正好相反。

    高斯混合模型(Gaussian Mixture Model, GMM)是语音信号处理中的一种常用的统计模型,该模型的一个基本理论前提是只要高斯混合的数目足够多,一个任意的分布就可以在任意的精度下用这些高斯混合的加权平均来逼近。一个包含M个分量的高斯混合分布的概率密度函数是M个高斯概率密度分布函数的加权组合,定义为:

    p(x|λ)=iMωipi(x)

    其中的x是D维随机矢量, pi(x),i=1,2,,M 为M个概率密度函数分量, ωi,i=1,2,,M 为各个概率密度函数分量的权重。在上式中,每个概率密度函数分量 pi(x) 都服从D维高斯分布,即
    pi(x)=1(2π)D/2|Σi|exp{12(xμ)Σ1(xμi)i}

    其中, μi 表示该高斯分量的均值, Σi 表示该高斯分量的协方差矩阵。另外,为了满足概率密度函数分布的要求,上式中各个概率密度函数分量的权重必须满足 Mi=1wi=1 的要求。

    在高斯混合模型中,每一个高斯概率密度函数分量 pi(x) 都可以由其权重 wi 、均值 μi 和协方差矩阵 Σi 来描述。这样,一个完整的M分量混合的高斯分布就可以由以下的三元组集合来表示:

    λ={wi,μi,Σi}i=1,2,,M
    GMM模型的主要问题为训练问题,也就是参数估计问题数估计,使得GMM模型和训练数据之间达到最佳的匹配程度。GMM的参数估计方法有多种方法,其中应用最广泛的是基于最大似然准则(Maximum Likelihood Estimation, MLE)的方法。

    对于一段给定的训练语音特征序列 O=O1,O2,,OT ,GMM模型的似然度定义为:

    p(O|λ)=t=1Tp(Ot|λ)

    最大似然估计的主要思想就是要找到使得GMM模型对于训练语料的似然度最大的模型参数λ。同HMM的训练类似,GMM训练也可以通过EM进行训练,其模型参数更新公式为:
    w^i=1TtTp(i|xt,λ)

    μ^i=Tt=1p(i|xt,λ)xtTt=1p(i|xt,λ)

    σ^i=Tt=1p(i|xt,λ)x2tTt=1p(i|xt,λ)μ^2i

    其中 p(i|xt,λ) 表示 xt 属于第i个高斯分量的后验概率。而 wi,μi,σ2i 分别表示上一步迭代中模型的 权重、均值、协方差矩阵,而 wi^,μi^,σ^2i 则是更新后的对应参数。 p(i|xt,λ) 的定义为:
    p(i|xt,λ)=wipi(xi)Mk=1wkpk(xi)

    如果随机矢量各维间的是独立的,那么可以采用对角协方差阵,亦即仅估计方差。这种方法能够极大减少模型参数,让模型训练更加充分。同时,需要注意的是,在某些情况下,对角协方差阵可能会出现非常小的方差值,从而使得协方差阵奇异。因此在训练对角协方差阵的时候必须采用最小方差约束。亦即当新估计出的某维方差 σ^i 小于设定 σmin 时,让 σ^i 等于 σmin

    在声学模型训练中常用GMM为状态输出概率建模,同时GMM也常用于其他声音分类任务中,例如声音分割与分类,说话人识别等。

    • 拓扑结构

    由于语音的时序性,隐马模型的拓扑结构一般都取为自左向右的结构。一般每个状态都包括自环(self-loop)。是否允许跨状态跳转则没有一个定论。

    下图是典型的模型拓扑结构示意图。
    这里写图片描述

    状态个数的选择对于系统性能的影响是很大的。

    • 建模单元选择

    声学模型的建模单元的选择需要考虑三方面的因素。其一是该单元的可训练性,亦即是否能够得到足够的语料对每个单元进行训练,以及训练所需要的时间长短是否可接受。其二是该单元的可推广性,当语音识别系统所针对的词汇集 W 发生变化时,原有建模单元是否能够不加修改的满足新的词汇集 W 。最后还需要考虑建模的精确性。

    根据时间尺度的长短,建模单元可以选择为句子,短语,词,音节,音素乃至更小的半音素(维基百科里写的是音子)。一般可以认为有这样的原则, 时间尺度越短的建模单元,其可训练性及推广性就越强,而时间尺度越长的单元,其精确性就越强。同时,可以看出,句子、 短语、词三个概念是语言学上的概念,而音节、音素则是语音学上的概念,一般来说,如果声学模型所针对的应用环境不是确定词汇量的系统,那么采用语言学的概念的建模单元是不具备推广性的。

    为了将协同发音现象(Coarticulation)融入建模中,上下文相关的建模单元(Context Dependent Modeling Units, CD uinits)是一个很好的选择。其思路是,对于某个音素ah,根据上下文的不同将其拆分成不同的建模单元。例如,用b-ah+d表示ah在b之后,d之前发音的具体实现。上下文的选择方法有很多,最常见的是三音子建模单元,也就是考虑左上文右下文各一个音素,加上中心音素形成三音素对。

    上下文相关建模大大提高了建模的准确性,但是同时也使得模型数量急剧膨胀,使得模型的可训练性大大降低。为了解决这一 问题,就需要引入某些聚类算法来减少模型中需要训练的参数。

    • 聚类方法

    为了解决模型参数过多的问题,可以使用某些聚类方法来减小模型中的参数数量,提高模型的可训练性。聚类可以在模型层次,状态层次乃至混合高斯模型中每个混合的层次进行。可以将半连续隐马模型看作进行高斯混合进行聚类后的连续隐马模型。目前 应用最多的方法是对状态聚类的方法。其思路是,根据状态间混合高斯模型概率输出的相似性,将输出概率接近的状态聚合在 一起,以便训练更加充分。聚类的方法有基于规则的方法和数据驱动方法两类。

    聚类后的状态被称为Senone,每个Senone都是完整独立的高斯混合模型,它也是解码过程中的最基本单元

    • 参数估计

    传统上,参数估计使用的方法为Baum-Welch算法,属于最大似然准则下的EM算法。目前研究者提出了多种区分性训练方法(仍然属于产生式模型,但使用区分性准则)进行训练,取得了较好的效果。

    参考维基百科-声学模型

    展开全文
  • 语音识别 Tensorflow CTC 声学模型训练源代码 ,代码解析在https://blog.csdn.net/u012361418,希望能帮到初入语音识别的同学,欢迎大家提出宝贵的建议,大家一起学习,功能进步。
  • 从语音信号声学特征空间的非线性流形结构特点出发,利用流形上的压缩感知原理,构建新的语音识别声学模型。将特征空间划分为多个局部区域,对每个局部区域用一个低维的因子分析模型进行近似,从而获得混合因子分析...
  • 文章概述:本篇文章主要介绍了语音合成的基础概念、主流声学模型的优缺点,以及语音合成前沿技术的科普;通过本篇文章的学习,可以对语音合成技术的概念以及模型的选型有一定了解; 语音合成流程 音素:最小的语音...

    语音合成概述

    文章概述:本篇文章主要介绍了语音合成的基础概念、主流声学模型的优缺点,以及语音合成前沿技术的科普;通过本篇文章的学习,可以对语音合成技术的概念以及模型的选型有一定了解;

    语音合成流程

    在这里插入图片描述

    音素:最小的语音单位,如’普通话’这三个字是由3个音节,8个音素组成的;

    主要有三个阶段:前端处理——声学模型——声码器

    前端处理与声码器都有通用的一些方案,针对不同任务的改进点主要在声学模型部分;

    自回归语音合成模型

    主要包括:Tactotron2、Transformer TTS、Deep Voice 3

    在这里插入图片描述

    如上图所示,输入为文本,输出为频谱,无需繁琐的人工特区特征过程,实现端到端的语音合成;

    传统自回归语音合成的一些缺陷:

    • 合成速度非常慢,在实时性要求高的场景无法适用;
    • 会出现重复吐字或者漏词的现象,对于商用语音合成看说无法接受;
    • 无法细粒度控制语速、韵律和停顿;

    非自回归语音合成模型

    主要包括:FastSpeech、FastSpeech2

    • FastSpeech

    在这里插入图片描述

    简介:

    1、使用全并行的非自回归架构,解决生成速度慢的问题,同时引入知识蒸馏使得生成音频的性能接近自回归模型;

    2、引入duration predictor来预测文本和频谱之间的强对齐,消除生成语音的跳词和漏词现象;

    3、引入length regulator来解决自回归模型的可控性问题(长度和韵律);

    数据流说明:

    在这里插入图片描述

    声音变化的因素:

    音高、音量、时间、音色,最终导致在相同文本的情况下生成的频谱图不同;

    一对多映射问题(One-to-Many Mapping)

    说明:多个语音变体对应同一文本的情况;

    产生原因:

    训练依赖于自回归教师模型及进行时长预测(提供更多信息作为输入)和知识蒸馏(简化输出中的数据分布),可以缓解一对多映射问题,但不能很好解决;

    1、教师-学生蒸馏管道复杂并且训练耗时较大;

    2、从教师模型attention中提取的时长预测不够准确;

    2、用教师模型预测的Mel谱作为target,相比GT有信息损失导致音质受损;

    • FastSpeech2

    FastSpeech2中使用以下方法解决一对多映射问题:

    1、直接用GT的Mel谱进行训练,去除知识蒸馏结构;

    2、引入更多变化信息(pitch、energy、duration等)作为输入参数,参与到模型训练中;

    结构图:

    在这里插入图片描述

    1、Variance adaptor

    主要提取三种信息作为输出:

    phoneme duration:音素的时长;

    Pitch:音高(一个重要特征来表达情感和韵律);

    Engry:表达音量的信息;

    2、CWT Pitch Predictor

    原理:将音高从时域的一维曲线转换为平面的二维频谱;

    因为音频变换很大,不好预测,作者使用了pitch spectrogram(音高声谱图)作为训练目标,先用CWT(连续小波变换)获得音高声谱图,然后训练predictor去预测它;合成语音时再用iCWT即CWT逆运算将音高声谱图转换为音高曲线;

    3、FastSpeech2s

    说明:作者希望实现text-to-waveform而不是text-to-mel-to-waveform的合成方式,从而拓展提出的;

    主要思想:加入Waveform decoder的架构,使用WaveGAN中的对抗训练方法让模型隐式的学习恢复相位信息的方法;

    4、Data Process

    训练数据处理:将文本转成音素,将波形转成频谱;

    最新模型

    下面简单对最新的模型做简单介绍,详情介绍可参考论文

    • Glow-TTS

    论文地址:https://arxiv.org/pdf/2005.11129.pdf

    简介:Glow-TTS是一个基于标准化流的并行化语音生成模型,不需要像FastSpeech一样学习对齐信息,而是通过单调对齐搜索算法MAS,搜索最优文本特征与语音特征的对齐信息,并行生成最终的语音特征;

    实现效果:能够生成与Tacotron2音质相当的语音,而且实时率达到0.025,并通过实验证明该模型在多人语音合成上同样适用;

    主要结构:

    在这里插入图片描述

    像BVAE-TTS、EATS都是自动对齐的模型,也是最新的一些模型;

    • 未来研究方向

      1、文本-音频端到端自动对齐:精度更高、速度更快、训练更简便、更稳定;

      2、使用更好的生成模型提高频谱质量:Flow、VAE、GAN等;

      3、韵律模块(包括时长、音高和能量)的精度优化;

      4、文本到波形的端到端非自回归生成;

    总结

    1、声学模型的整体趋势是往非自回归形式发展,原因是非自回归的模型可以学习音高、能量、时长等特征信息,增加语音的丰富度和饱和度,赋予情感。而自回归模型则很难学习音高等特征;

    2、随着语音技术的发展,对于语音合成的实时性要求也不断提高,语音技术可以很好的参与到各种领域中,包括人机交互、智能客服等,而自回归模型推理速度相对非自回归模型较慢;

    3、目前较为成熟的非自回归模型(如FastSpeech2)也无法做到完全端到端实现,中间需要一步梅尔频谱的转换,最新的研究方向是完全的端到端实现,从输入文本到输出波形;

    展开全文
  • 语音识别声学模型介绍

    千次阅读 2020-06-07 01:00:13
    关于声学模型,主要有两个问题,分别是特征向量序列的可变长和音频信号的丰富变化性。可变长特征向量序列问题在学术上通常有动态时间规划(Dynamic Time Warping, DTW)和隐马尔科夫模型(Hidden Markov Model, HMM...

    关于声学模型,主要有两个问题,分别是特征向量序列的可变长和音频信号的丰富变化性。可变长特征向量序列问题在学术上通常有动态时间规划(Dynamic Time Warping, DTW)和隐马尔科夫模型(Hidden Markov Model, HMM)方法来解决。而音频信号的丰富变化性是由说话人的各种复杂特性或者说话风格与语速、环境噪声、信道干扰、方言差异等因素引起的。声学模型需要足够的鲁棒性来处理以上的情况。

    在过去,主流的语音识别系统通常使用梅尔倒谱系数(Mel-Frequency Cepstral Coefficient, MFCC)或者线性感知预测(Perceptual Linear Prediction, PLP)作为特征,使用混合高斯模型-隐马尔科夫模型(GMM-HMM)作为声学模型。在近些年,区分性模型,比如深度神经网络(Deep Neural Network, DNN)在对声学特征建模上表现出更好的效果。基于深度神经网络的声学模型,比如上下文相关的深度神经网络-隐马尔科夫模型(CD-DNN-HMM)在语音识别领域已经大幅度超越了过去的GMM-HMM模型。

    我们首先介绍传统的GMM-HMM声学模型,然后介绍基于深度神经网络的声学模型。

    1.3. 传统声学模型(GMM-HMM)

    HMM模型对时序信息进行建模,在给定HMM的一个状态后,GMM对属于该状态的语音特征向量的概率分布进行建模。

    1.3.1. 混合高斯模型

    如果一个连续随机变量服从混合高斯分布,则它的概率密度函数为

    混合高斯模型分布最明显的性质是它的多模态,这使得混合高斯模型可以描述很多显示出多模态性质的屋里数据,比如语音数据,而单高斯分布则不合适。数据中的多模态性质可能来自多种潜在因素,每一个因素决定分布中特定的混合成分。如果因素被识别出来,那么混合分布就可以被分解成有多个因素独立分布的集合。

     

    那么将上面公式推广到多变量的多元混合高斯分布,就是语音识别上使用的混合高斯模型,其联合概率密度函数的形式如下:

    在得到混合高斯模型的形式后,需要估计混合高斯模型的一系列参数变量:[公式]=[公式],我们主要采用最大期望值算法(Expectation Maximization, EM)进行参数估计,公式如下:

     

    其中,j是当前迭代轮数, [公式]为t时刻的特征向量。GMM参数通过EM算法进行估计,可以使其在训练数据上生成语音观察特征的概率最大化。此外,GMM模型只要混合的高斯分布数目足够多,GMM可以拟合任意精度的概率分布。

    1.3.2. 隐马尔可夫模型

    为了描述语音数据,在马尔可夫链的基础上进行了扩展,用一个观测的概率分布与马尔可夫链上的每个状态进行对应,这样引入双重随机性,使得马尔可夫链不能被直接观察,故称为隐马尔可夫模型。隐马尔可夫模型能够描述语音信号中不平稳但有规律可学习的空间变量。具体的来说,隐马尔可夫模型具有顺序排列的马尔可夫状态,使得模型能够分段的处理短时平稳的语音特征,并以此来逼近全局非平稳的语音特征序列。

    隐马尔可夫模型主要有三部分组成。对于状态序列[公式]···[公式]

    1. 转移概率矩阵A=[[公式]],i,j[公式][1,N],描述马尔可夫链状态间的跳转概率:

    [公式]=P([公式]=j | [公式]=i )

    2. 马尔可夫链的初始概率:[公式][公式],其中[公式]

    3. 每个状态的观察概率分布[公式],按照上一节的介绍,我们会采用GMM模型来描述状态的观察概率分布。在这种情况下,公式可以表述为:

     

    隐马尔可夫模型的参数通过Baum-Welch算法(在HMM上EM算法的推广)进行估计。

     

    1.4. CD-DNN-HMM

    虽然GMM-HMM在以往取得了很多成功,但是随着深度学习的发展,DNN模型展现出了明显超越GMM模型的性能,替代了GMM进行HMM状态建模。不同于GMM模型,DNN模型为了获得更好的性能提升,引入了上下文信息(也即前后特征帧信息),所以被称为CD-DNN-HMM(Context-Dependent DNN-HMM)模型。在很多测试集上CD-DNN-HMM模型都大幅度超越了GMM-HMM模型。

    首先简单介绍一下DNN模型,DNN模型是有一个有很多隐层的多层感知机,下图就是具有5层的DNN,模型结构上包括输入层、隐层和输出层。对于第[公式]层,有公式

     

    其中 [公式]分别表示,L层的输出向量,权重矩阵,输入向量以及偏差向量(bias); f(·) 一般称为激活函数,常用的激活函数有sigmoid函数

    或者整流线性单元(Rectifier Linear Unit)ReLU(x)=max(0,x)。在语音识别上应用的DNN模型一般采用softmax将模型输出向量进行归一化,假设模型有 L 层,在特征向量为 O,输出分类数为 C,则第 i 类的输出概率为

     

    相比于GMM模型,DNN模型具有一些明显的优势:首先,DNN是一种判别模型,自身便带有区分性,可以更好区分标注类别;其次,DNN在大数据上有非常优异的表现,伴随着数据量的不断增加,GMM模型在2000小时左右便会出现性能的饱和,而DNN模型在数据量增加到1万小时以上时还能有性能的提升;另外,DNN模型有更强的对环境噪声的鲁棒性,通过加噪训练等方式,DNN模型在复杂环境下的识别性能甚至可以超过使用语音增强算法处理的GMM模型。

    除此之外,DNN还有一些有趣的性质,比如,在一定程度上,随着DNN网络深度的增加,模型的性能会持续提升,说明DNN伴随模型深度的增加,可以提取更有表达性、更利于分类的特征;人们利用这一性质,提取DNN模型的Bottle-neck特征,然后在训练GMM-HMM模型,可以取得和DNN模型相当的语音识别效果。

    DNN应用到语音识别领域后取得了非常明显的效果,DNN技术的成功,鼓舞着业内人员不断将新的深度学习工具应用到语音识别上,从CNN到RNN再到RNN与CTC的结合等等,伴随着这个过程,语音识别的性能也在持续提升,未来我们可以期望将可以和机器进行无障碍的对话。

    展开全文
  • [深度学习概念]·主流声学模型对比

    千次阅读 2019-03-07 12:05:25
    主流声学模型对比 目录 概述 基础概念 语音帧 语音识别系统 主流声学建模技术 HMM DNN-HMM FFDNN CNN RNN及LSTM CTC 其他建模技术 语言建模技术 语音唤醒技术 关于未来 概述 语音识别建模对语音...
  • 声学模型解码(带状态转移概率) 最近一直在学习哥伦比亚大学与爱丁堡大学语音识别课程,并且修正了哥伦比亚大学中基于HMM构建的语音识别系统存在问题终自己写了一套基于HMM的语音识别系统,前文一些博客简单对...
  • 卡尔迪噪声向量 该存储库包含以下论文的基线和建议的噪声向量:。 设置 先决条件:以下设置假定您已经安装了 ASR工具包。 将src目录的内容复制到Kaldi安装中的相应目录中。 导航到/path/to/kaldi/src并运行以下...
  • 语音识别 之 语言模型,声学模型

    千次阅读 2020-09-05 13:33:56
    声学模型是对声学、语音学、环境的变量、说话人性别、 口音等的差异的知识表示, 语言模型是对一组字序列构成的知识表示。 语言模型表示某一字序列发生的概率,一般采用链式法则,把一个句子的概率拆解成器中的每...
  • 心理声学模型在感知音频编码中的应用

    千次阅读 多人点赞 2020-04-27 19:59:18
    心理声学模型在感知音频编码中的应用写在前面的话0 引言1 心理声学的基本概念1.1声音的掩蔽效应 (Auditory masking)1.1.1 时域掩蔽效应 (Temporal masking)1.1.2 频域掩蔽效应 (Frequency masking)1.2 掩蔽不对称性 ...
  • Kaldi声学模型训练

    千次阅读 2017-11-04 14:08:55
    声学模型训练过程1.获得语料集的音频集和对应的文字集可以提供更精确的对齐,发音(句子)级别的起止时间,但这不是必须的。2.将获得的文字集格式化kaldi需要各种格式类型的,训练过程中将会用到每
  • 使用训练转移向量相关性的声学模型的说话人适应 使用训练转移向量相关性的声学模型的说话人适应 Satoshi Takahashi * 和 Shigeki Sagayama NTT Human Interface Laboratories, Yokosuka, Japan 239-0847 总结作者...
  • 声学模型训练(前向-后向算法) 前文讲述了语音识别声学模型训练算法,主要基于Viterbi-EM算法来估计模型中参数,但是该方法对于计算语料中帧对应状态的弧号存在计算复杂度指数级增加的问题,为解决上述问题,有...
  • 语音识别技术之声学模型

    万次阅读 2017-12-04 00:00:00
    2009年,Hinton及其学生奖前馈全连接深度神经网络应用于语音识别声学建模[1],在TIMIT数据库上基于DNN-HMM的声学模型相比于传统的GMM-HMM声学模型可以获得显著的性能提升。DNN相比于GMM的优势在于:1)DNN对语音声学...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,158
精华内容 3,263
关键字:

声学模型