首页> 中国专利> 用于子空间编码高斯模型的训练的方法

用于子空间编码高斯模型的训练的方法

摘要

一种压缩具有对角协方差矩阵的多维高斯分布的方法,该方法包括对各维数群集重复群集中的多个高斯分布。各群集可以用一个具有一个平均值和一个方差的质心来表示。最小化一个训练数据集的似然的整个减少量以便表示多个高斯分布。

著录项

  • 公开/公告号CN1538382A

    专利类型发明专利

  • 公开/公告日2004-10-20

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200410033100.0

  • 发明设计人 A·阿塞罗;M·D·朴伦姆普;

    申请日2004-03-12

  • 分类号G10L15/08;G10L15/02;

  • 代理机构上海专利商标事务所;

  • 代理人李家麟

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 15:39:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-05-07

    未缴年费专利权终止 IPC(主分类):G10L15/08 授权公告日:20100113 终止日期:20130312 申请日:20040312

    专利权的终止

  • 2010-01-13

    授权

    授权

  • 2006-04-12

    实质审查的生效

    实质审查的生效

  • 2004-10-20

    公开

    公开

说明书

发明背景

本发明涉及计算机处理中所使用的分类器。尤其是,本发明涉及在诸如语音识别之类的计算机处理中所使用的高斯模型的压缩。

一个语音识别系统接收一个语音信号,并且试图去译码该语音信号从而识别由该语音信号表示的一串词。传统的语音识别器包括,声音模型和通常由训练数据形成的语言模型。该声音模型根据该训练数据模仿语音单元的声音特征(例如音素)。该语言模型模仿按照该训练数据中查找到的词序。

当为了语音识别而接收了该语音信号时,从该语音信号中提取出声音特征并且与该声音模型中的模型进行比较,从而识别包含在该语音信号中的语音单元。潜在的字与该语言模型进行比较,从而确定说一个词、给出了其历史(上下文)的概率。

往往想要如此设计语音识别器,以便可以在用较少的处理功率和/或较少的存储器容量而不损失语音识别准确度的情况下与计算机系统一起使用。语音识别系统的一个重要的存储加强器部分存储该声音模型。在基于语音识别系统的隐藏的马尔可夫模型(HMM)中,该声音模型一般包括好几万种具有对角协方差矩阵的多维高斯概率分布。例如,该高斯分布每一个都可以是33维的。每一维数需要一个平均值和一个方差。因此,如果一个模型具有40000个33维的高斯,且每一维数具有一个平均值和一个方差,那么该声音模型就可能需要10兆字节来进行存储,其中每一维数通常存储为4字节浮点值。

每个平均值用一个字节来存储并且每个方差用一个字节来存储可以用标量量化来实现,并且往往不能导致误差率和4压缩因子(以上例子中的模型可能为2.5MB)的降低。这种类型的标量量化的一种是线性标量量化,它可以通过找出各参数的最大值和最小值并且线性量化中间点而实现。

已知的群集技术可以用于压缩该声音模型,以便用较少的存储器来存储。通常,这种技术称作子空间编码,并且包括把不同的组件一起分组。通常,把有代表性的高斯分布都存储在用于各维的代码簿(codebook)中。存储这些代码簿从而形成该声音模型,并在语音识别的过程中进行访问从而处理输入信号。鉴于使用了有代表性的高斯分布,为了保证较小的声音模型而损失一些精确度。越多地压缩该模型,就会把准确性降的越低。当前的技术使用了欧几里得(Euclidean)距离,一旦将多于一个组件一起分组时,该技术就较大地减少准确性。

一种用于压缩高斯分布并且同时保持改良的精确度的改进方法就总是有利的。一种较小的却更准确的模型特别有利于语音识别;然而,其它应用也可以产生改良的性能。

发明概述

本发明提供了一种压缩具有对角协方差矩阵的多维高斯分布的方法,该方法包括对用于各维数的重复群集的多个高斯分布进行群集。各群集可以用一个具有一个平均值和一个方差的质心来表示。最小化一个训练数据集的似然中的整个减少量以便表示多个高斯分布。在所示的实施例中,将一个具有紧密度的数学测量的矩阵进行最小化,并且将该矩阵用于分配高斯分布。鉴于欧几里得测量经常用在子空间编码中,一种非欧几里得测量能够在质心和高斯分布之间提供更好的紧密度。

在进一步的实施例中,其中提供了维数为D的K个高斯和对角协方差矩阵,高斯k可以用一个平均值向量mk=(mk[1],mk[2],...,mk[D])和一个方差向量vk=(vk[1],vk[2],...,vk[D])来表示。各质心的平均值和方差可以由属于那个群集的高斯的加权平均值来构成。为各维D{C1,C2,...,Dn}提供了一个代码簿Cd,其中代码簿Cd中的各代码字向量是一个包含一个平均值和一个方差的二维向量(μn[d],σn[d])。各质心的平均值可以利用形式如下的等式来进行计算:

>>>μ>n>>[>d>]>=>>>>Σ>>>k>∈>V>>n>>>>C>k>>>m>k>>[>d>]>>>Σ>>>k>∈>V>>n>>>>,>>>

而各质心的方差可以利用形式如下的等式来进行计算:

其中,Ck是如训练过程中可见的高斯k的“计数”,而Vk是群集n中的多个高斯。个别的高斯可以利用形式如下的紧密度测量分配给群集:

>>>S>d>>>(>k>,>n>)>>=>>>21>nσ>>n>>[>d>]>+>>sup>>v>k>2sup>>[>d>]>>sup>>σ>n>2sup>>[>d>]>>>+>>>>(>>m>k>>[>d>]>->>μ>n>>[>d>]>)>>2>>sup>>σ>n>2sup>>[>d>]>>>.>>>

附图的简要说明

图1是一种其中可以使用本发明的环境的示例性实施例。

图2是按照本发明的一个实施例的语音识别系统的方块图。

图3A是群集器所形成的高斯分布的测绘图。

图3B是用于一维的具有平均值和方差的代码簿的示意图。

图3C是用于二维的具有平均值和方差的代码簿的示意图。

图4是说明群集和子空间编码的方法的流程图。

图5是更详细地说明群集的方法的流程图。

图6是用于33维的紧密度的所有量度的组合的二维矩阵。

图7A-7T说明了示出33维的子空间编码的典型步骤序列。

说明性实施例的详细说明

本发明的一方面涉及形成较小尺寸且提高了准确性的子空间编码高斯模型。然而,在详细地讨论这个方面和其它方面之前,提供了一种示例性计算环境和计算机实现的应用的说明,在该计算环境和计算机实现的应用中可以使用本发明。

图1说明了一种适当的计算系统环境100的例子,在该环境100上可以实现本发明。该计算系统环境100只是适宜的计算环境的一个例子,并不能作为对本发明的使用范围和功能性的任何限定。既不应当把该计算环境100解释为具有任何从属性(dependency)也不应当解释为涉及该示例性操作环境100中所说明的任何一个组件或者组件组合的要求。

本发明在许多其它一般目的或特殊目的计算系统环境或结构操作。众所周知的可以适于与本发明一起使用的计算系统、环境和/或结构的例子包括,但并不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等等。

可以在由计算机可执行的计算机可执行指令诸如程序模块的通用环境中描述本发明。通常程序模扩包括执行特殊任务或实现特别抽象的数据类型的线程、程序、对象、组件、数据结构等。本发明还可以在分布式计算环境中得以实现,其中在所述分布式计算环境中,由通过通信网络连接的远程处理设备来实现这些任务。在一种分布式计算环境中,程序模块可以定位于本地和远程计算机存储介质两者之中,该计算机存储介质包括存储器存取设备。下面借助于附图描述了由这些程序和模块执行的任务。本领域技术人员可以将说明和附图实施为处理器可执行指令,这些指令可以写在任何形式的计算机可读介质上。

参见图1,用于实现本发明的示例性系统包括一个以计算机110形式的通用计算设备。计算机110的组件可包括,但并不限于,处理单元120、系统存储器130以及系统总线121,其中该系统总线121把包括系统存储器的不同系统组件耦合到该处理单元120上。该系统总线121可以是包括存储器总线或存储器控制器的总线结构、外围总线以及利用任一一种不同总线结构的局域总线的多种类型中的任何一种。通过示例的方式,而不是限定,这样的结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、扩展的ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及也称为夹层(Mezzanine)总线的外设部件互连(PCI)总线。

典型地,计算机110包括多种计算机可读介质。计算机可读介质可以是能够由计算机110访问的任一可用的介质,并且包括易失性和非易失性介质、可移动和不可移动介质两种。作为示例但并非限定于此,计算机可读介质可包括计算机存取介质和通信介质。计算机存取介质包括易失性和非易失性、可移动和不可移动介质两种,这些介质可以在用于存储信息的任何方法或技术中得以实现,其中这些信息诸如计算机可读指令、数据结构、程序模块或其它数据。计算机存取介质包括,但并不限于RAM、ROM、EEPROM、闪烁存储器或其它存储器技术、CD-ROM、数字化视频光盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备、或能够用于存储想要的信息和可由计算机110访问任何其它介质。信息介质通常体现为计算机可读指令、数据结构、程序模块或调制数据信号诸如载波或其它传送机构中的其它数据,并且包括任何信息传送介质。该术语“调制的数据信号”意思是一种按照一种方式设置或改变其一种或多种特征以便编码信号中的信息的信号。作为示例但并不限于此,通信介质包括有线介质和无线介质,其中有线介质诸如有线网络或直接有线连接,而无线介质诸如声的、RF、红外线以及其它无线的介质。上述任何介质的组合也是应当包括在计算机可读介质的范围中的。

该系统存储器130包括形式为易失性和/或非易失性存储器诸如只读存储器(ROM)131和随即存取存储器(RAM)132的计算机存取介质。一个基本输入/输出系统133(BIOS)一般是存储在ROM133中的,在启动过程中,该基本输入/输出系统133包含有助于在计算机110中的元件之间进行信息传送的基本线程。典型地,RAM132包含可以立即访问和/或目前由处理单元120操作的数据和/或程序模块。作为示例但并不限于此,图1说明了操作系统134、应用程序135、其它程序模块136以及程序数据137。

该计算机110还可包括其它可移动/不可移动易失性/非易失性计算机存取介质。仅作为示例,图1说明了一个对不可移动、非易失性磁介质进行读写操作的硬盘驱动器141,一个可对可移动、非易失性磁盘152上进行读写操作磁盘驱动器151以及一个可对可移动、非易失性光盘156诸如CD ROM或其它光介质进行读写操作的光盘驱动器155。其它可以用于示例性操作环境中的可移动/不可移动、易失性/非易失性计算机存取介质包括,但不是限于盒式磁带、闪存卡、数字化视频光盘、数字化录像带、静态RAM、静态ROM等。该硬盘驱动器141一般是通过诸如接口140之类的不可移动存储器接口连接到系统总线121上,而磁盘驱动器151和光盘驱动器155一般是通过诸如接口150之类的可移动存储器接口连接到系统总线121上。

以上讨论的并且在图1中示出的这些驱动器及其相关计算机存取介质存储了计算机可读指令、数据结构、程序模块以及用于该计算机110的其它数据。例如,图1中,硬盘驱动器141表示为存储操作系统144、应用程序145、其它程序模块146以及程序数据147。注意,那些组件可以相同于也可以不同于操作系统134、应用程序135、其它程序模块136以及程序数据137。在此操作系统144、应用程序145、其它程序模块146以及程序数据147给出了不同的数字,从而表示,最起码,它们是不同的复制。

一个用户可以通过输入设备把命令和信息输入到计算机110中,该输入设备诸如键盘162、麦克风163以及指示设备161诸如鼠标、跟踪球或触摸屏。其它输入设备(未示出)可包括操纵杆、游戏手柄、圆盘式卫星电视天线、扫描仪等。这些或其它输入设备往往是通过耦合到系统总线上的用户输入接口160连接到处理单元120上,但也可以是通过其它接口和总线接口来进行连接,诸如并行端口、游戏端口或通用序列总线(USB)。一个监视器191或其它类型的显示设备也通过诸如视频接口190之类的接口连接到系统总线121上。除了该监视器之外,计算机还可包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过一个输出外设接口195进行连接。

该计算机110可以在使用到一个或多个远程计算机诸如远程计算机180的逻辑连接的联网环境中进行操作。该远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网点,并且典型地包括关于计算机110的上述元件中的多个或全部。图1中描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但还可包括其它网络。这样的联网环境在办公室、企业范围内的计算机网络、内部网以及互联网中是很普通的。

当用在LAN联网环境中时,该计算机110就通过一个网络接口或适配器170连接到该LAN171上。当用在WAN联网环境中时,该计算机110一般包括用于建立诸如互联网之类的WAN173的通信的调制解调器172或其它装置。内置或外值的调制解调器172可以通过用户输入接口160或其它适当的机制连接到系统总线121上。在联网环境中,有关该计算机110的程序模块或其部分模块可以存储在该远程存储器存取设备中。作为例子而非限定,图1说明了驻留在远程计算机180上的远程应用程序185。应当理解,所示的网络连接是示例性的,并且也可以使用在这些计算机之间建立通信链接的其它装置。

图2说明了一种示例性语音识别系统的方块图,该语音识别系统具有有利于本发明的高斯分布的子空间编码的声音模型。尽管有利于形成一种用于语音识别的已压缩并且准确的声音模型,但是作为本发明的一个方面,下面描述的用于形成该压缩模型的技术也可以用于其它应用中。

图2中,扬声器400对着麦克风404说话。将由麦克风404检测的音频信号转换为电信号,这些电信号提供给模拟-数字(A-D)转换器406。

A-D转换器406把来自麦克风404的模拟信号转换为数字值序列。在多个实施例中,A-D转换器406以16kHz并每次采样16比特来对模拟信号进行采样,由此创建每秒32千字节的语音数据。把这些数字值提供给帧构造器407,在一个实施例中,该构造器407把这些数字值分组为以10毫秒间隔开始的25毫秒的帧。

将由帧构造器407创建的数据帧提供给特征构造器408,该特征构造器408从各帧中提取特征。作为特征提取模块的例子包括用于执行线性预测编码(LPC)、LPC导出倒谱、感知线性预测(PLP)、声音模型特征提取以及Mel频标倒谱系数(MFCC)特征提取的模块。注意,本发明并不限于这些特征提取模块,其它模块也可以用在本发明的设备环境中。

该特征提取模块408产生一个特征向量流,每一个特征向量都与该语音信号的一个帧相关。将特征向量流提供给译码器412,其中该译码器412根据特征向量流、词典414、语言模型416(例如,根据N个字符列、上下文无关或其混合)、以及该语音模型418来识别最可能的词序。用于译码的特定方法对本发明来说并不重要。然而,本发明的这些方面包括对语音模型418及其使用的修改。

可以将假设的词的最可能的序列提供给一个任意的信用量度模块420。信用量度模块420识别哪些词最可能已经被该语音识别器进行了不正确的识别。这可以部分地基于一个第二声音模型(未示出)。然后,信用量度模块420将该假设的词的序列连同指示已被不正确识别的词语的标识符一起提供给输出模块422,。本领域技术人员将认识到信用量度模块420并不是实施本发明所必须的。

在训练过程中,将一个相应于训练文本426的语音信号与该训练文本426的词汇抄录一起输入到译码器412中。训练器424根据该训练输入来训练声音模型418。本发明的一个方面包括形成一个具有提高的准确性的压缩声音模型418。

在描述本发明的子空间分组或群集技术之前,回顾一下用于该声音模型418的已有的编码技术是很有帮助的。如背景部分中所讨论的,一种典型的声音模型是从好几万多维高斯概率分布中形成的,并且就表示该好几万多维高斯概率分布。例如,一般的声音模型包括许多33维对角线的高斯概率分布。在这个实施例中,各个高斯都具有33个平均值(“m”)和33个方差(“v”),每一个都对应于每一维。而不是包含所有的高斯分布,高斯分布是以一种方式来分组或群集的,以便产生有代表性的高斯分布,在此也称作“质心(centroid)”。图3A示意性地说明了用于一维的局部群集。图3A中,每个点表示具有一个平均值和一个方差的高斯分布,其中图3A中的平均值是参照水平轴500的,而方差是相对于纵轴502来参照的。群集包括把相同的高斯分布分组在一起,这在图3A中表示为虚线圈504。图3A中,表示了4个群集,并且指示为“0”、“1”、“2”、以及“3”。

如上所述,获取一个质心来表示高斯分布的群集。这样,每个质心都包括一个相应的平均值和方差。作为参考,一种编码技术包括用一个简单的数字来表示各个质心(各平均值和各方差),并且由此获取该平均值和方差值。这种技术是一种简单形式的子空间量化,并且包括形成一个在图3中示意性说明的代码簿520,对于本发明的目的而言,代码簿可分别是质心或其平均值或方差。如上所述,每一质心具有分别在代码簿中存储为列522和524的相应的平均值和方差。第三列526包括一个参考标识符,它相应于在图3的测绘图(plot)中形成的群集。代码簿具有任意数量的项(代码字),例如0-15(16项)或者0-255(256项)。图3A的测绘图表示第一个四个群集以及相应的质心。应当注意的是,每一个群集也可以分别编码为每个平均值和每个方差。

参照第三列526,该代码簿520存储处理过程中使用的平均值和方差。例如,如果一个高斯平均值用数字2来表示,那么该代码簿将指示应当使用该平均值1.40374,而如果一个高斯方差用数字3来表示,那么该代码簿将指示对于该方差应当使用值0.0053。

为了进一步减少该声音模型的大小,可以使用一种子空间编码技术。对于子空间编码,多个维是一起表示的。例如,也许能够将维数1和2一起分组,并且以与上述一维相类似的方式用0-255的信号数字表示相应的平均值和方差。图3C说明了一个代码簿540,其中将维数1和3一起分组,列542和544表示用于维数1的平均值和方差,而列548和550表示用于维数3的平均值和方差,所有这些都参考标识符546。通过将两个维数一起分组,就能把该模型减少大约一半。由于该原始的模型可以具有33维的空间,而减少后的模型可能具有17维的空间(把16维与其自身剩余的成对地一起分组),所以把这种技术称为子空间编码,该17维的空间是该原始33维空间的子空间。还应当注意,可以通过利用诸如图3C中表示的代码簿来达到再减少一半,所述代码簿中,列546中单一的数字表示两个平均值和两个方差。

本发明的这些方面包括以这样一种方式来独立地估计各个代码簿,这种方式是HMM中使用的训练数据的整个似然减少最小。通常,这包括为每个质心计算一个平均值和一个方差,从而表示多个高斯分布,其中最小化似然中的全部减少量以便表示多个高斯分布。在该示例性实施例中,使用具有紧密度的数学测量的尺度对高斯分布进行群集,以便分配高斯分布,其中最小化所述尺度。其它方面包括一个用于为每个群集获取一个质心的新的计算和一个用于群集和子空间编码的新的测量。

在一个具有维数D的K个高斯分布和对角协方差矩阵的系统中,高斯K可以用一个平均值向量mk=(mk[1],mk[2],...,mk[D])和方差向量vk=(vk[1],vk[2],...,vk[D])来表示。

在包括D个代码簿{C1,C2,...,CD}的系统结构中,其中每一个代码簿都包含N=2r个代码字向量,同时代码簿Cd中的每个代码字向量n都是一个包含一个平均值和一个方差的二维向量(μn[d],σn[d])。

下面提供了代码簿估计。每个代码簿都以这样一种方式来进行独立地估计,该方式是HMM中使用的训练数据的整个似然减少最小。对于高斯k的维数d的整个对数似然的贡献由以下给出:

>>>L>k>>[>d>]>=>-over>>Σ>>t>=>1>>T>>>ξ>1>>>(>k>)>>[>>1>2>>1>n>>(>2>π>)>>+>1>n>>v>k>>[>d>]>+>>>>(>>x>1>>[>d>]>->>m>k>>[>d>]>)>>2>>sup>>>2>v>>k>2sup>>[>d>]>>>]>>>

>>=>->>>>C>k>>1>n>>(>2>π>)>>>2>>->>C>k>>1>n>>v>k>>[>d>]>->>1>sup>>>2>v>>k>2sup>>[>d>]>>over>>Σ>>t>=>1>>T>>>ξ>1>>>(>k>)>>>>(>>x>1>>[>d>]>->>m>k>>[>d>]>)>>2>>>>

>>=>->>>>C>k>>1>n>>(>2>π>)>>>2>>->>C>k>>1>n>>v>k>>[>d>]>->>>C>k>>2>>>>

其中,ξt(k)是根据由Baum-Welch算法得到的高斯k中的向量xt的后验概率,并且 >>>C>k>>=over>>Σ>>t>=>1>>T>>>ξ>t>>>(>k>)>>>>是训练的过程中可见的高斯k的“计数”。

随着用(μn[d],σn[d])来量化(mk[d],vk[d]),将通过以下的运算来得到新的(较低的)似然性:

>sup>>L>k>′sup>>[>d>]>=>->>>>C>k>>1>n>>(>2>π>)>>>2>>->>C>k>>1>n>>σ>n>>[>d>]>->>1>sup>>>2>σ>>n>2sup>>[>d>]>>over>>Σ>>t>=>1>>T>>>ξ>1>>>(>k>)>>>>(>>x>1>>[>d>]>->>μ>n>>[>d>]>)>>2>>>>

>>=>->>>>C>k>>1>n>>(>2>π>)>>>2>>->>C>k>>1>n>>σ>n>>[>d>]>->>1>sup>>>2>σ>>n>2sup>>[>d>]>>over>>Σ>>t>=>1>>T>>>ξ>1>>>(>k>)>>>>(>>(>>x>t>>[>d>]>->>m>k>>[>d>]>)>>+>>(>>m>k>>[>d>]>->>μ>n>>[>d>]>)>>)>>2>>>>

>>=>->>>>C>k>>1>n>>(>2>π>)>>>2>>->>C>k>>1>n>>σ>n>>[>d>]>->>1>sup>>>2>σ>>n>2sup>>[>d>]>>over>>Σ>>t>=>1>>T>>>ξ>t>>>(>k>)>>>(>>>(>>x>t>>[>d>]>->>m>k>>[>d>]>)>>2>>+>>>(>>m>k>>[>d>]>->>μ>n>>[>d>]>)>>2>>)>>>>

>>=>->>>>C>k>>1>n>>(>2>π>)>>>2>>->>C>k>>1>n>>σ>n>>[>d>]>->>>>C>k>sup>>v>k>2sup>>[>d>]>>sup>>>2>σ>>n>2sup>>[>d>]>>>->>>>C>k>>>>(>>m>k>>[>d>]>->>μ>n>>[>d>]>)>>2>>>sup>>>2>σ>>n>2sup>>[>d>]>>>>>

以便似然中的减少通过以下计算给出:

>>>L>k>>[>d>]>-sup>>L>k>′sup>>[>d>]>=>->>>C>k>>2>>->>C>k>>1>n>>v>k>>[>d>]>+>>C>k>>>>1>nσ>>n>>[>d>]>+>>>>C>k>sup>>v>k>2sup>>[>d>]>>sup>>>2>σ>>n>2sup>>[>d>]>>>+>>>>C>k>>>>(>>m>k>>[>d>]>->>μ>n>>[>d>]>)>>2>>>sup>>>2>σ>>n>2sup>>[>d>]>>>>>

>>=>->>>C>k>>2>>->>C>k>>>>1>nv>>k>>[>d>]>+>>>C>k>>2>>>S>d>>>(>k>,>n>)>>>>

其中,Sd(k,n)是按照用于维数d的高斯k和代码字n之间的紧密度的测量所规定的,该Sd(k,n)通过以下公式给出:

>>>S>d>>>(>k>,>n>)>>=>>>21>nσ>>n>>[>d>]>+>>sup>>v>k>2sup>>[>d>]>>sup>>σ>n>2sup>>[>d>]>>>+>>>>(>>m>k>>[>d>]>->>μ>n>>[>d>]>)>>2>>sup>>σ>n>2sup>>[>d>]>>>·>·>·>EQ>.>1>>>

接着,通过选择n来将该一维高斯(mk[d],vk[d])量化为(μn[d],σn[d]),n最小化这个测量

n=arg min Sd(k,l)

为了估计μn[d]和σn[d],最小化似然中的整个减少

>over>>Σ>>k>=>1>>K>>>(>>L>k>>[>d>]>-sup>>L>k>′sup>>[>d>]>)>>=>->>1>2>over>>Σ>>k>=>1>>K>>>C>k>>-over>>Σ>>k>=>1>>K>>>C>k>>>>1>nv>>k>>[>d>]>+>>1>2>over>>Σ>>k>=>1>>K>>>C>k>>min>>S>>d>n>>>>(>k>,>n>)>>>>

它能够通过采用导数并且等于0来获得:

>>>μ>n>>[>d>]>=>>>>Σ>>>k>∈>V>>n>>>>C>k>>>m>k>>[>d>]>>>>Σ>>>k>∈>V>>n>>>>C>k>>>>·>·>·>EQ>.>2>>>>>

其中,Vn是群集n中的高斯的集合(set)。

通过对多维d进行等式1中Sd(k,n)的求和以便将这些等式扩展到多维。等式2和3保持不变。

应该注意到,群集的“最佳”质心不是传统的VQ(向量量化)中的算术平均值,而是按照公式2和3所示的某些加权平均值。另外,该“最佳”距离测量(EQ.1)并不是欧几里得。

描述另一种方式,等式2和3不同于该标准推导,在所述标准推导中,通过训练中各个高斯发生次数而对平均值进行加权(即,训练向量的数目符合高斯),并且此外存在一校正因子,该纠正因子增加相应于量化高斯平均值的过程中的误差的方差。不采用等式1,而使用一种欧几里得距离,该距离包括该平均值的差的平方(向量平均值和群集质心平均值)加上该方差的差的平方(向量方差和群集质心方差)。然而,该欧几里得距离并不能将似然性中的整个减少最小化。

简言之,等式2和3为一个给定的质心提供了平均值和方差值,而等式1则用于确定用于各群集的高斯分布。

图4说明了用于执行群集的步骤和用于执行子空间编码或分组的步骤。该方法从步骤600处开始。在步骤602,各维的高斯分布都群集到选定数量的群集中,所述选定数量的群集包括具有代表性的或适当的质心的群集。如上所述,等式2和3计算该质心的元素,而等式1是用于确定哪个高斯分布应归入哪个群集的测量。已有多种已知的用于群集的标准技术。通常,如果一个群集开始不是以所期望数量的群集开始的,则必须确定如何初始该群集,并且然后确定如何添加群集。K-平均值群集可以用在这个步骤中。例如,一种方法包括仅以一个包含所有的高斯分布的群集开始,并且然后周期性地拆分所有的群集,直到达到所期望的数量的群集。可替换地,也可以以所期望的数量的群集开始,并且然后在最初的群集中同样地分配概率分布。

图5说明了用于群集的适当的方法650。在步骤652,确定了该最初的群集(一个、一些或是全部期望的数量)。在这个步骤中,选择一个质心来表示各个群集。

在步骤654,利用等式1,把概率分布分配给这些群集。尤其是,各个高斯分布与各个质心进行比较,并且如果根据通过等式1的测量而确定是“最接近的”,则把各个高斯分布分配给那个群集。用于各群集的整个测量SdT还可通过把用于各个高斯的个别测量加到用于分配给相应的群集的所有高斯的质心上来进行计算。此外,还可计算该总维数测量∑SdT,该总维数测量包括各群集的所有单独的整个测量的和。

在步骤656,鉴于在步骤654中分配给相应的群集的高斯,而使用等式2和3以便为每一群集计算一个新的质心。

随着新的质心的计算,可以再一次将高斯分布与新的质心进行比较,从而了解在步骤658中是否应当重新分配所有的高斯分布。实质上,这就包括重复步骤654的计算,并且如果由于该高斯分布的重新分配而使得用于所有群集的总维数测量较大地下降(即,低于一个可选择的阈值),那么该算法就返回到步骤656。然而,如果该总维数的测量并未极大的下降,那么该方法就继续到步骤660。

在步骤660,如果当前的群集的数量等于所期望的群集数量,就完成了群集,否则就在步骤662中将该群集的某些或全部拆分成两部分,并且该方法返回到步骤654。

除了只根据一维的高斯分布来形成群集(步骤602和604)以外,也可以把相同的技术应用到用于维数的集合(例如,维数0和维数1、维数0和维数2、维数0和维数3等)的各个组合或排列中。图4中的步骤606和608表示群集和用于维数组合的图5中的成本确定方法的步骤。在这一级中,一个组包括两个维。在步骤610,重复执行该处理,直到所有不同的组合都已经进行了计算。如插图所示,这可以按照图6那样表示,其中一个二维阵列表示用于维数的组合的总维数测量。尤其是,该对角元素(∑SdT0,0)相应于用于单独的维的该群集和成本确定(即步骤602和604)的,而非对角元素(∑SdT0,2)相应于用于合并二维的群集和成本确定。

在步骤612,在成本上具有最小增量的两个维被一起分成。在成本上最小的增量通过以下公式来确定。

合并组A和组B的成本=成本[A&B]-成本[B]-成本[B]

其中,开始的迭代中A和B表示一个单独的维(例如0、1、2等);然而,后来的迭代中,A和B还可以表示已经合并的维数(例如1和26、2和13等)。

返回去参照图6,在开始的迭代中,成本[A&B]是该非对角元素中的一个,而成本[A]和成本[B]都是从该对角元素中得到的。

在步骤612中已经把两个维数合并到了一起,维的总数已经减少了1(例如,从33维到了32维)。

如果在步骤614中没有达到所期望减少的维数,那么该处理就返回到步骤606,在步骤606,根据有关每一其它维的新近形成的组来计算群集和成本确定。用图所示,这可以表示为一个减少了一行和一列(即32乘32)的二维阵列,在那里,一个新的对角元素表示新近形成的组的成本,并且已经增加了非对角元素,从而反映具有其它维数的不同的组合。再一次,在步骤608中,基于上述等式1的计算而将具有成本最小增量的两个组合并。进一步重复进行步骤606、608、610、612以及614,直到通过将原始的维数进行分组而达到所期望的维数。在步骤616中完成子空间编码。

图7A-7T用图示说明了在维数方面的减少是如何发生的。在图7A中,列出了每一维,并且这个状态是相应于该原始维数(例如33维)的并且先于在图4中步骤612的合并。

图7B说明了步骤612中在什么地方根据在成本最小增量来选择两个维数,维23和维25。图7C-7J进一步说明经由图4中步骤606、608、610、612的迭代,图4中根据该原始的维数来形成分组。

图7K说明了在什么地方两个之前形成的组已经形成了一个大组。类似地,图7N又说明了另一种迭代,其中两个之前的组形成了一个大组。

图7T说明了当子空间编码已经从原始的33维中产生了14维时该最终迭代的完成。

在一个语音识别系统中,将该代码簿存储为该声音模型418的一部分,并且在语音识别的过程中使用;然而,代码簿的存储和使用并不能形成本发明的一部分。简单地,为各个子空间维数产生一个代码簿。返回到包括数千个多维高斯的原始的声音模型中,为各高斯分布找到了用于各子空间维数的最好的群集。一种新的压缩声音模型是基于子空间表示的。

尽管已经参照特殊的实施例描述了本发明,但本领于技术人员将认识到,在不脱离本发明的精神和范围的情况下,可以在形式和细节上作出改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号