语音信号处理 第4版 课件 第3章:语音信号处理的常用算法_第1页
语音信号处理 第4版 课件 第3章:语音信号处理的常用算法_第2页
语音信号处理 第4版 课件 第3章:语音信号处理的常用算法_第3页
语音信号处理 第4版 课件 第3章:语音信号处理的常用算法_第4页
语音信号处理 第4版 课件 第3章:语音信号处理的常用算法_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学

通信与信息工程学院

第3章语音信号处理的常用算法矢量量化隐马尔可夫模型深度学习3.1矢量量化标量量化:整个动态范围被分成若干个小区间,每个小区间有一个代表值。对于一个输入的标量信号,量化时落入小区间的值就用这个代表值来代替,或者被量化为这个代表值。矢量量化:是对矢量进行量化,和标量量化一样,它把矢量空间分成若干个小区域,每个小区域寻找一个代表矢量,量化时落入小区域的矢量就用这个代表矢量代替,或者称为“被量化为这个代表矢量”。矢量量化的目的:将若干个标量数据组成一个矢量(或者从一帧语音数据中提取的特征矢量)在多维空间给予整体量化,从而可以在信息量损失较小的情况下压缩数据量。3.1矢量量化—基本原理设有N个K维特征矢量其中第i个矢量(可看作语音信号中某帧参数组成的矢量)可记为把K维欧几里得空间无遗漏地划分成J个互不相交的子空间满足:在每个子空间Rj找一个代表矢量Yj,则j个代表矢量可以组成矢量集为这样组成了一个矢量量化器。Y称为码书或码本;Yj称为码矢或码字;J称为码本尺寸。不同的划分或不同的代表矢量选取方法可以构成不同的矢量量化器。3.1矢量量化—基本原理矢量量化过程:当输入任意矢量进行矢量量化时,矢量量化器首先判断它属于哪个子空间Rj,然后输出该子空间Rj的代表矢量Yj

。即,用Yj代表Xi的过程,即,量化过程就是完成一个从K维欧几里得空间中的矢量X到K维空间有限子集Y的映射通常Q(.)选择是根据最小失真原理,分别计算用各码矢Yj代替Xi所带来的失真,其中产生最小失真值时所对应的那个码矢,就是最终量化的输出码矢。缺点:存在量化噪声!3.1矢量量化—基本原理矢量量化在语音通信中的应用:编码:解码:矢量量化在语音识别中的应用:3.1矢量量化—基本原理矢量量化需要解决的两大关键问题:(1)设计一个好的码本(“训练”或“学习”):需要搜集海量且具有代表性的数据;要选择一个好的失真度量准则以及码本优化方法(常用LBG算法来实现)。(2)未知矢量的量化:需要按照选定的失真测度准则,把未知矢量量化为失真测度最小的区域边界的中心(码字)矢量值,并获得该码字的序列号(码字在码本中的地址或标号)。存在两矢量在进行比较时的测度问题;未知矢量量化时的搜索策略。3.1矢量量化—失真测度失真测度的定义:是将输入矢量Xi用码本重构矢量Yj表征时所产生的误差或失真的度量方法,用以描述两个或多个模型矢量间的相似程度。失真测度的选择好坏直接影响到聚类效果和量化精度。设对两个k维语音特征矢量X和Y进行比较,要使其距离测度d(X,Y)在语音信号处理中有效,必须具备以下条件:3.1矢量量化—失真测度常用的失真测度:(1)均方误差欧氏距离(2)r平方误差(3)r平均误差(4)绝对值平均误差(5)最大平均误差(6)加权欧氏距离测度3.1矢量量化—失真测度线性预测失真测度:当语音信号特征矢量是用线性预测方法求出的LPC系数时(即,用LPC参数描述语音信号时),不能直接用欧氏距离。当预测器的阶数p趋近于无穷大,信号与模型完全匹配时,信号功率谱为相应地,如码本中某重构矢量的功率谱为可定义I-S距离来衡量二者失真:其中另外,还有对数似然比失真测度、模型失真测度、识别失真测度等。3.1矢量量化—最佳码本设计码本设计:用d(X,Y)表示训练用的特征矢量X和训练出的码本的码字Y之间的畸变,那么最佳码本设计的任务就是在一定的条件下,使得此畸变的统计平均值D=E[d(X,Y)]达到最小。应遵循的两条原则:(1)最近邻原则,表示为(2)设所有选择码字Yl(即归属于Yl所表示的区域)的输入矢量X的集合为Sl,那么Yl应使该集合中的所有矢量与Yl之间的畸变值最小。如果采用欧氏距离来度量X与Y之间的畸变值,那么容易证明Yl应等于Sl中所有矢量的质心:根据上述两条原则,设计码本设计的递推算法——LBG算法。整个算法就是上述两个条件的反复迭代过程,即从初始码本寻找最佳码本的迭代过程。3.1矢量量化—最佳码本设计LBG算法的步骤:矢量量化隐马尔可夫模型深度学习3.2隐马尔可夫模型—概述隐马尔可夫模型(HiddenMarkovModels,HMM)作为语音信号的一种统计模型,在语音信号处理各个领域中获得广泛的应用。HMM是一个输出符号序列的统计模型,具有N个状态S1,S2,…,SN,它按一定的周期从一个状态转移到另一个状态,每次转移时,输出一个符号。转移到哪一个状态,转移时输出什么符号,分别由状态转移概率和转移时的输出概率来决定。特点:只能观测到输出符号序列,而不能观测到状态转移序列!3.2隐马尔可夫模型—概述球和缸的实验(隐马尔可夫模型中“隐”的含义)设有N个缸,每个缸里装有很多彩色的球,在同一个缸中不同颜色球的多少由一组概率分布来描述。根据某个初始概率分布,随机选择一个缸,再根据这个缸中彩色球颜色的概率分布,随机选择一个球,记下球的颜色,再把球放回缸中。又跟据描述缸的转移的概率分布,选择下一个缸,再从缸中随机选一个球,……,一直进行下去,就可以得到一个描述球的颜色的序列。由于球的颜色和缸之间不是一一对应的,所以缸之间的转移以及每次选取的缸被隐藏起来了,并不能直接观察到。3.2隐马尔可夫模型—概述隐马尔可夫模型和语音信号建模之间的关系HMM用于语音信号建模时,是对语音信号的时间序列结构建立统计模型,它是数学上的双重随机过程:一个是具有有限状态数的Markov链来模拟语音信号统计特性变化的隐随机过程,另一个是与Markov链的每一状态相关联的观测序列的随机过程。人的言语过程也可以看成一个双重随机过程,语音信号本身是一个可观测的时变序列,是由大脑根据语法知识和言语需要(不可观测的状态)发出的音素的参数流。因此HMM合理地模仿了这一过程,很好地描述了语音信号整体非平稳性和局部平稳性。3.2隐马尔可夫模型—定义离散Markov过程设在时刻t的随机变量St的观察值为st,则在S1=s1,S2=s2,…,St=st的前提下,St+1=st+1的概率为:即,系统在任一时刻所处的状态只与此时刻的前一时刻所处的状态有关(1阶Markov过程)。此外,为了处理方便,只考虑右边的概率与时间无关的情况,假设有N个不同的状态(S1=s1,S2=s2,…,St=st),系统在经历了一段时间后,按照上式所定义的概率关系经历了一系列状态的变化,此时输出的是状态序列。3.2隐马尔可夫模型—定义隐Markov模型HMM是由两个随机过程组成的:一个是状态转移序列,它对应于1阶Markov过程,另一个是每次转移时输出的符号组成的符号序列。设状态转移序列为S=s1,

s2,…,sT,输出的符号序列为O=o1,

o2,…,oT,则对于HMM,把所有可能得状态转移序列都考虑进去,则有3.2隐马尔可夫模型—定义HMM的基本元素对于描述语音信号特征序列的HMM,可用如下6个模型参数来定义,即,S:模型中状态的有限集合,即,模型由几个状态组成。设有N个状态,S={Si|i=1,2,…,N}。记t时刻所处的状态为st,

球与缸实验中的缸。O:输出的观测值符号的集合,即每个状态对应的可能的观测值数目。记M个观察值为O=o1,

o2,…,oT,记t时刻的观察值为ot,球与缸实验中所选彩球的颜色就是观察值。A:状态转移概率的集合。aij是从状态Si到Sj的转移概率,

每次在当前选取的缸的条件下选取下一个缸的概率。3.2隐马尔可夫模型—定义HMM的基本元素对于描述语音信号特征序列的HMM,可用如下6个模型参数来定义,即,B:输出观测值概率集合。B={bij(k)},其中bij(k)是从状态Si到Sj转移时观测值符号k的输出概率。即缸中球的颜色k出现的概率。:系统初始状态概率的集合,表示初始状态是si的概率,即

开始时选取某个缸的概率F:系统终了状态的集合3.2隐马尔可夫模型—定义HMM用于语音识别对于每个孤立字(词)需要准备一个HMM,可以通过模型学习或训练来完成。对于任一要识别的未知孤立字(词)语音,首先通过分帧、参数分析和特征参数提取,得到一组随机向量序列X1,X2,…XT(T为观察时间长度,即,帧数);再通过矢量量化把上述序列转化为符号序列O=o1,o2,…,oT;而后计算这组符号序列再每个HMM上的输出概率,输出概率最大的HMM对应的孤立字(词),就是识别结果。3.2隐马尔可夫模型—基本算法HMM用于语音信号处理需要解决的三个问题(1)识别问题:给定观察符号序列O=o1,o2,…,oT和模型,如何快速有效地计算观察符号序列的输出概率P(O|M)?解决方法:前向—后向算法(2)已知模型,寻找与给定观察序列对应的最佳状态序列。解决方法:维特比算法(3)模型训练问题:对于初始模型和给定用于训练的观察符号序列O=o1,o2,…,oT,如何调整模型的参数,使得输出概率P(O|M)最大?解决方法:Baum-Welch算法3.2隐马尔可夫模型—基本算法前向—后向算法前向算法:按照输出观察值序列的时间,从前向后递推计算输出概率。3.2隐马尔可夫模型—基本算法前向—后向算法P(O|M)的计算过程如下:3.2隐马尔可夫模型—基本算法前向—后向算法后向算法:按照输出观察值序列的时间,从后向前递推计算输出概率。3.2隐马尔可夫模型—基本算法维特比算法:给定观察值序列O和模型M时,在最佳意义上确定一个状态序列S=s1,s2,…,sT的问题,即使P(S,O|M)最大时确定的状态序列。算法描述:在这个递推公式中,每一次使得最大的状态i组成的状态序列就是所求的最佳状态序列3.2隐马尔可夫模型—基本算法维特比算法:实现步骤:3.2隐马尔可夫模型—基本算法Baum-Welch算法:基本思想:给定一个观察值O,确定M,使得P(O|M)最大。其利用递归思想,通过迭代得到P(O|M)的局部极值。具体地,在每次迭代中都使得由估计出的参数组成的新模型满足。重复该过程,直至收敛,此时即为所求的模型。对于符号序列O,在时刻t从状态Si转移到状态Sj的转移概率为对于符号序列O,在时刻t时Markov链处于3.2隐马尔可夫模型—基本算法Baum-Welch算法:对于符号序列O,从状态Si转移到Sj的转移次数的期望值为从状态Si转移出去的次数的期望值为则重估公式为3.2隐马尔可夫模型—基本算法Baum-Welch算法的实现步骤关于模型收敛(或者停止训练的判定)问题。矢量量化隐马尔可夫模型深度学习3.3深度学习—概述深度学习起源:2006年,GeoffreyHinton等学者提出深度信念网络以及相应的半监督算法,开启了深度学习的研究热潮。基本思想:采用逐层初始化和整体反馈的方法,以受限玻尔兹曼机为基本单元来搭建神经网络,利用无监督预训练初始化权值以及有监督参数微调,来训练该神经网络的参数。在语音信号处理领域的应用:传统语音信号处理方法中,语音信号的分析与特征提取、目标任务的完成通常是被当作两个相互分离的问题分别处理。带来的问题是所提取的特征对于目标任务而言常常不是最优的。深度学习技术具有自动提取特征的能力,可以将上述两个问题进行联合处理。3.3深度学习—概述深度学习模型的优点:(1)学习能力强,在很多任务中性能优于传统机器学习模型。(2)适应性好:深度学习模型的网络层数多,理论上可以映射到任意函数。(3)数据驱动:深度学习高度依赖数据,数据量越大,它的表现就越好。深度学习模型的缺点:(1)计算量大:深度学习需要大量的数据与算力支持。(2)硬件要求高:普通CPU无法满足深度学习模型和算法的运算需求。(3)模型设计复杂:需要投入大量人力和时间来开发新的模型3.3深度学习—深度神经网络深度神经网络(DNN)的基本结构:具有多个隐藏层和多个输出的网络,可以拟合复杂的非线性函数,模型灵活性高。在DNN中,各神经元分别属于不同的层,每一层的神经元可以接收前一层的神经元信号,并产生信号输出到下一层。L+1层DNN,输入层为第0层,输出层为第L层。第第l-1层与第l层的关系:

3.3深度学习—深度神经网络DNN的激活函数:3.3深度学习—深度神经网络训练算法:在数据输入DNN经过前向传播得到输出后,由预先定义的目标函数可以计算损失,根据损失从后向前依次调整各层的权重与偏置,实现DNN参数的反向传播。给定训练集,将每个样本x输入DNN,得到输出为y,其损失函数定义为在一些语音信号处理任务中,常使用交叉熵作为损失函数:计算权重目标函数关于参数W和b的梯度,更新如下:3.3深度学习—深度神经网络训练算法:由于梯度下降法在计算损失函数对参数的偏导数时,会带来很大的计算开销,因而在DNN训练过程中,通常通过反向传播算法提升计算效率。仍以第l层为例,对第l层的参数W和b计算偏导数。其中,3.3深度学习—深度神经网络训练算法:在计算出上述三个偏微分后,可以表示为上式可进一步写成:同理,可以得到损失函数关于第l层偏置的梯度:在计算出每一层的误差后,就可以根据上式得到每一层参数的梯度。因此DNN训练算法包括如下三个步骤:3.3深度学习—循环神经网络DNN的缺点:(1)模型当前的输出只取决于当前输入,而实际中可能与过去时刻输出也相关。(2)输入数据和输出数据的维度是固定的,不能任意改变。(3)无法处理实际场景中的时序数据。循环神经网络(RNN):(1)通过在DNN上加入循环连接使得模型具有记忆能力。(2)由具有环路的神经网络结构组成,其神经元不仅可以接收其他神经元的信息,也可以接收自身的信息,能够更好地处理时序数据之间的内在关联。(3)在训练算法上,采用时间反向传播算法进行参数更新,也存在着梯度消失的问题。3.3深度学习—循环神经网络RNN的结构:隐藏层的输入由两部分组成:来自输入层的输入,来自上一时刻隐藏层的输出;与DNN最大的不同:存在隐藏层的循环连接。信息在RNN中的传播方式:

st可以表征之前所有时刻的输入信息{x1,x2,…,xT}

ot包含当前时刻的输入以及以往所有时刻的输入。3.3深度学习—循环神经网络长短期记忆网络(LSTM)(1)RNN的长程依赖:RNN虽然可以建模时序数据,但由于序列长度增大可能带来梯度消失或爆炸问题。其只能学到短期的“记忆”(时刻t的输出yt只与一定时间间隔k内的输入有关),当时间间隔过长时,RNN就难以准确描述关联性。(2)LSTM是RNN的变体,引入门控单元,通过选择性遗忘过去时刻的累积信息来更新网络参数,达到缓解RNN长程依赖的问题。(3)LSTM由记忆单元ct,输入门it,输出门ot,遗忘门ft组成,3.3深度学习—循环神经网络长短期记忆网络(LSTM)RNN中的每个h存储了历史信息,可以看作一种记忆。在RNN中,隐状态的每个时刻都会被重写,因此其为短期记忆。而长期记忆可以看作网络参数,表征了从训练数据中学到的经验,其更新周期远远慢于短期记忆。在LSTM中,记忆单元c可以在某个时刻捕捉到某个关键信息,并有能力将此关键信息保存一定的时间间隔。记忆单元c中保存信息的生命周期要长于短期记忆h,但又远远短于长期记忆,因此被称为长短期记忆。3.3深度学习—卷积神经网络卷积神经网络(CNN)与DNN的区别在于,CNN中的神经元并非全连接,而是局部连接。即,CNN中卷积层的某个神经元的输出并不取决于输入特征图中的所有神经元的输入,而是仅由卷积核对应位置的神经元的输入决定。由于局部连接的特点,使得CNN能够很好地捕捉输入特征图中的局部特征;同时,在进行卷积计算时,卷积核在输入特征图的不同位置,其权值参数是不变的,并且通常将卷积层和池化层结合使用,这样使得CNN的计算复杂度显著降低,大大拓展了其应用领域。3.3深度学习—卷积神经网络卷积神经网络(CNN)在CNN计算过程中,首先通过输入层向模型中输入数据,然后经过卷积层对数据做进一步处理,逐层提取更为抽象的特征,紧接着对输出特征图使用池化层达到特征降维的作用,按照该方式对卷积层和池化层进行多次堆叠,最后经过全连接的输出层完成回归、分类等任务。此外,每层网络的输出还需要经

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论