一种去混响模型训练方法及装置与流程
本申请涉及人工智能技术领域,特别涉及一种去混响模型训练方法及装置。
背景技术:
人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。
目前,通过人工智实现语音识别,在语音通讯、语音对话、数据查询、智能家居、车联网、工业控制等领域有着广泛的应用,用于将语音转换为可被机器识别的文本,给生产生活带来了便利。虽然现有语音识别对不含混响干扰的纯净语音的识别已接近或超过人类的水平,但是随着声音来源距离的增加,室内环境等带来的混响问题给语音带来了干扰,导致对包含混响的混响语音识别的效果急剧下降,因此,如何识别混响语音成为了语音识别的重要问题。
现有用于语音识别的声学模型,通常为基于神经网络架构的模型,是根据纯净语音训练得到的,而混响语音通常是由纯净语音和引起混响的脉冲响应卷积得到的,为了提高对混响语音的识别效果,通常采用神经网络,如深度神经网络(deepneuralnetworks,dnn)等训练去混响模型,保证对混响语音识别的效果。如图1所示,采用包含混响的混响语音样本(reverb)和不包含混响的纯净语音样本(dereverb)对去混响模型进行训练,训练好的去混响模型输入混响语音,输出去混响语音,再将去混响语音输入到声学模型,实现对混响语音的识别;或如图2所示,采用包含混响的混响语音样本和不包含混响的纯净语音样本对去混响模型进行训练后,将训练好的去混响模型与声学模型级联,即去混响模型的输出作为声学模型的输入,并对混响语音样本的每帧进行发音标注,通过混响语音样本和混响语音样本的每帧的发音标注,对级联后的去混响模型与声学模型进行联合训练,调整级联后的去混响模型和声学模型的参数,通过调整后的级联去混响模型和声学模型,即可实现对混响语音的识别。然而通过如图1所示通过去混响模型得到去混响语音,再将去混响语音输入到声学模型进行混响语音识别的方式,得到的去混响语音与声学模型存在不匹配的问题,导致最终输出的混响语音的识别结果存在误差;而通过如图2所示去混响模型与声学模型进行联合训练的方式,因混响语音样本中存在混响干扰,对混响语音样本每帧进行发音标注需要的人力和时间成本大,并且会破坏已有的声学模型,存在泛化性能下降的问题,另外对于已部署的声学模型需要进行替换,影响业务的正常进行。
技术实现要素:
本申请实施例提供一种去混响模型训练方法及装置,用于提高混响语音识别的准确性,简化去混响模型的训练过程,避免对已有声学模型产生影响。
第一方面,本申请实施例提供了一种去混响模型训练方法,包括:将语音对样本中的混响语音样本输入到第一去混响模型进行处理,得到所述混响语音样本对应的去混响语音,其中所述语音对样本中包括混响语音样本和纯净语音样本;将所述混响语音样本对应的去混响语音输入到声学模型,得到所述声学模型输出的第一输出结果;将所述语音对样本中的纯净语音样本输入到所述声学模型,得到所述声学模型输出的第二输出结果;计算所述第一输出结果和所述第二输出结果的误差;根据所述第一输出结果和所述第二输出结果的误差对所述第一去混响模型的参数进行调整,得到第二去混响模型。由于根据声学模型输出结果的误差,调整第一去混响模型的参数,得到第二去混响模型,提高了训练得到的第二去混响模型与声学模型的匹配度,进而保证了对混响语音识别的准确性,并且无需对混响样本语音进行发音标注,也无需对声学模型的参数进行调整,简化了去混响模型的训练过程,也避免了对声学模型产生影响。
在一种可能的设计中,所述声学模型为基于神经网络架构的模型,所述声学模型包括n个神经网络层,所述n个神经网络层包括输入层、隐藏层和输出层,所述将所述混响语音样本对应的去混响语音输入到声学模型,得到所述声学模型输出的第一输出结果,包括:将所述混响语音样本对应的去混响语音输入到所述声学模型的输入层,获取所述声学模型的第m个神经网络层输出的结果作为所述第一输出结果;所述将所述语音对样本中的纯净语音样本输入到所述声学模型,得到所述声学模型输出的第二输出结果,包括:将所述语音对样本中的纯净语音样本输入到所述声学模型的输入层,获取所述声学模型的第m个神经网络层输出的结果作为所述第二输出结果;其中,m、n为正整数,m不大于n。通过这种方式,便于对去混响模型训练的实施,可以根据训练设备的硬件条件、训练要求等,基于声学模型相应层的输出,进行去混响模型训练。
在一种可能的设计中,所述声学模型的第m个神经网络层为所述声学模型的隐藏层。
在一种可能的设计中,所述声学模型的第m个神经网络层为所述声学模型的输入层或输出层。
在一种可能的设计中,所述第一去混响模型为参数初始化的去混响模型或者经过训练的去混响模型。通过这种方式,可以有效得到去混响模型训练基于的最初始的去混响模型,加快去混响模型训练速度。
在一种可能的设计中,在所述将语音对样本中的混响语音样本输入到第一去混响模型进行处理,得到所述混响语音样本对应的去混响语音之前,还包括:
根据所述语音对样本中的纯净语音样本和预先确定的脉冲响应进行卷积运算生成所述语音对样本中的混响语音样本。通过这种方式便于快速生成语音样本对、充实训练样本。
在一种可能的设计中,所述方法还包括:将待识别混响语音输入到所述第二去混响模型进行处理,得到与所述待识别混响语音对应的去混响语音;将所述待识别混响语音对应的去混响语音输入到所述声学模型进行处理,得到所述待识别混响语音对应的发音序列;基于发音字典和语言模型,对所述待识别混响语音对应的发音序列进行识别,确定所述待识别混响语音对应的文本序列。通过这种方式,由于采用根据声学模型输出结果的误差,训练得到的第二去混响模型,保证了得到的与待识别混响语音对应的去混响语音与声学模型的匹配度,进而保证对混响语音识别的准确性。
第二方面,本申请实施例提供一种去混响模型训练装置,该装置具有实现上述第一方面或者第一方面的任一种可能的设计中方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该装置可以是芯片或者集成电路。
在一个可能的设计中,该装置包括存储器和处理器,存储器用于存储所述处理器执行的程序,当程序被处理器执行时,所述装置可以执行上述第一方面或者第一方面的任一种可能的设计中所述的方法。
在一个可能的设计中,该装置可以为电子设备。
第三方面,本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述第一方面或者第一方面的任意一种可能的设计中方法的指令。
第四方面,本申请实施例供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备可以执行上述第一方面或者第一方面的任意一种可能的设计中的方法。
附图说明
图1为本申请实施例中提供的一种独立设计的去混响模型示意图;
图2为本申请实施例中提供的一种去混响模型与声学模型进行联合训练示意图;
图3为本申请实施例中提供的一种人工智能主体框架示意图;
图4为本申请实施例中提供的一种混响场景示意图;
图5为本申请实施例中提供的一种系统架构示意图;
图6为本申请实施例中提供的一种语音样本对采集场景示意图;
图7为本申请实施例中提供的一种去混响模型训练过程示意图;
图8为本申请实施例中提供的一种去混响模型的训练框图;
图9为本申请实施例中提供的一种声学模型框图;
图10为本申请实施例中提供的一种去混响模型的误差确定框图;
图11为本申请实施例中提供的一种混响语音识别模型框图;
图12为本申请实施例中提供的一种软标签向量和硬标签向量示意图;
图13为本申请实施例中提供的一种混响语音识别过程示意图;
图14为本申请实施例中提供的一种执行设备内部的处理架构示意图;
图15为本申请实施例中提供的一种对混响语音识别效果示意图;
图16为本申请实施例中提供的一种去混响模型训练装置结构示意图;
图17为本申请实施例中提供的一种混响语音识别装置结构示意图;
图18为本申请实施例中提供的一种训练设备示意图;
图19为本申请实施例中提供的一种执行设备示意图。
具体实施方式
本申请提供一种去混响模型训练方法及装置,旨在提高混响语音识别的准确性,简化对去混响模型的训练过程,避免对已有声学模型产生影响。其中方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
为了方便理解,下面对本申请实施例涉及的人工智能主体框架和实施例中涉及的名词进行解释。
1、人工智能主体框架,参照图3所示,提供了一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。下面从“智能信息链”(水平轴)和“it价值链”(垂直轴)两个维度对上述人工智能主体框架进行阐述。
“智能信息链”反映从数据的获取到处理的一系列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“it价值链”从人工智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映了人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(cpu、npu、gpu、asic、fpga等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
在本申请实施例中,主要涉及上述框架中形成语音识别能力及对形成的语音识别能力的应用。
2、音素(phone),是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素,如b、p、m、f、ai、ei、ao等。音节在语音学上指一个或数个音素组成的语音结构基本单位,在汉语中一般一个汉字的读音即为一个音节,如“普通话”,由三个音节组成,可分解成“p,u,t,o,ng,h,u,a”八个音素。
3、声学模型,是语音识别系统中最为重要的部分之一,是把语音的声学特征对应到音素的模型。
4、发音字典,是描述词汇和发音标注之间对应关系的集合,根据发音字典中记录的发音标注可以确定每个词汇的发音,例如,“你”对应的发音标注为“ni”。
5、语言模型,是描述词汇概率分布的模型,反映语言识别时用词的概率分布的模型,语言模型在语音识别、机器翻译等领域得到了广泛应用。例如,利用语言模型能够得到语音识别多种假设词序列中可能性最大的一个词序列,或者给定若干词,预测下一个最可能出现的词语等。常用的语言模型包括n-gramlm(n元语言模型)、big-gramlm(二元语言模型)、tri-gramlm(三元语言模型)等。
6、混响问题,是指在室内等环境下,声源距离拾音设备(如麦克风)等较远时,发出的声波除了通过直达路径到达拾音设备外,也会通过多条反射路径到达拾音设备,引起多路径传播的声波叠加的问题。参照图4所示,在室内等环境下,当人与拾音设备距离较远时,拾音设备采集到的语音是由通过直接路径(未经反射)到达的直接语音(directsound),和经过反射通过多条反射路径到达的间接语音(reflectsound)混合而成的混响语音,多条路径的语音混合带来了混响问题,导致对混响语音识别的效果急剧下降。
7、语音的分帧处理,语音信号在宏观上是不平稳的,在微观上是平稳的,具有短时平稳性,通常在10-30ms内可以认为语音信号近似不变,通过语音信号的短时平稳性,可以把语音信号分为一些短段来进行处理,每一个短段称为一帧,通常对应发音中的一个音素。
8、级联,本申请涉及的级联,也可以称为模型级联,用于将不同模型连接在一起进行数据处理,即将一个模型的输出作为另一个模型的输入。如a模型和b模型级联,即将a模型的输出作为b模型的输入,a模型和b模型级联后的数据处理过程为:数据s1输入到a模型,a模型对数据s1进行处理,得到数据s2输出,数据s2输入到b模型,b模型对数据s2进行处理,得到数据s3。
另外,需要理解的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面将结合附图,对本申请实施例进行详细描述。
参照图5所示,为本申请实施例提供的一种系统架构示意图,该系统架构500中可以包括:数据采集设备510、数据库520、训练设备530、执行设备540及数据存储系统550。
数据采集设备510,用于对包括混响语音样本、纯净语音样本的语音对样本的采集或生成,并将采集的语音对样本存入数据库520。其中,同一语音对样本中混响语音样本和纯净语音样本对应的声源相同,混响语音样本是由纯净语音样本和引起混响的脉冲响应卷积生成。如图4所示,室内环境对人发出的语音(声波)会产生相应的脉冲响应,如拾音设备采集到的语音是由通过直接路径(未经反射)到达的直接语音,和经过反射通过多条反射路径到达的间接语音混合而成。其中,未与经过反射的语音混合的语音,不存在混响干扰,称为纯净语音,如图4中未与间接语音混合的直接语音;与经过反射的语音混合的语音,存在混响干扰,称为混响语音,如图4中拾音设备采集的由直接语音和间接语音混合而成的语音。另外,在本申请中,纯净语音的样本称为纯净语音样本,混响语音的样本称为混响语音样本,即同一语音对样本中纯净语音样本和混响语音样本分别为未与经过反射的语音混合的语音和与经过反射的语音混合的语音。
通常随着声音来源距离的增加,室内环境等带来的混响问题越严重,而在数据采集设备510距离声源较近(近场)时,数据采集设备510采集的语音中存在的混响干扰较少,可以忽略,因此,通过数据采集设备510采集对应相同声源的混响语音样本和纯净语音样本时,可以如图6所示,在室内安静的情况下,通过距离声源较近的数据采集设备a(近场)和距离声源较远的数据采集设备b(远场)同步录音得到纯净语音样本和混响语音样本,构成语音对样本。并可以通过在不同大小的室内环境、不同声源、不同声源方位等情况下,采集大量语音对样本。可选的,在采集纯净语音样本时,数据采集设备510与声源的距离不超过0.5m,在采集混响语音样本时,数据采集设备510与声源的距离不低于0.5m。
另外,考虑到在室内等安静环境下,通过距离声源较近的数据采集设备510采集纯净语音样本,采集的纯净语音样本中,还可能存在混响的干扰,而分别在不同场景下即使对同一声源进行纯净语音样本和混响语音样本的采集,也难以保证采集的混响语音样本和纯净语音样本中声音的同步。可选的,在本申请实施例中,可以根据纯净语音样本和预先确定的脉冲响应,生成与纯净语音样本对应同一声源的混响语音样本,构成语音对样本。其中对于脉冲响应的确定,可以在不同大小的室内环境、不同声源与数据采集设备的距离、不同声源方位等情况下,测量一个或多个脉冲响应,当然了,也可以通过房间脉冲响应模拟器生成一个或多个脉冲响应。
例如:在空旷安静的环境下,通过与声源距离较近的数据采集设备510采集纯净语音样本,并根据一个或多个脉冲响应,生成纯净语音样本对应的一个或多个混响语音样本,构成一个或多个语音对样本。当然了,现有的声学模型通常是根据纯净语音样本训练得到,在本申请实施例中,为了提高效率,也可以直接根据现有声学模型训练采用的数据库中的纯净语音样本及脉冲响应,生成混响语音样本,构成语音对样本。
训练设备530基于数据库520中维护的多个语音对样本得到第二去混响模型。训练设备530如何基于数据库520中维护的多个语音对样本得到第二去混响模型详见下述实施例一的描述。
训练设备530得到的第二去混响模型可以应用于不同的系统或设备,以图5中执行设备540为例,执行设备540可以调用数据存储系统550中的数据、代码等,也可以将数据、指令等存入数据存储系统550中。执行设备540使用第二去混响模型对输入的待识别混响语音进行处理,得到第二去混响模型输出的所述待识别混响语音对应的去混响语音,并将所述待识别混响语音对应的去混响语音输入到声学模型进行处理,实现对混响语音的识别。执行设备540如何基于第二去混响模型和声学模型实现对混响语音的识别,详见下述实施例二的描述。
此外,需要说明的是,在本申请实施例中,数据库520中维护的用于对第一去混响模型训练得到第二去混响模型的多个语音对样本,和用于生成第一去混响模型的多个语音对样本,可以完全相同、可以部分相同,也可以完全不同,具体可以根据训练需求设置。
值得注意的,图5仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图5中,数据存储系统相对执行设备是外部存储器,在其它情况下,也可以将数据存储系统置于执行设备中。其中,训练设备可以为个人电脑(personalcomputer,pc)、笔记本电脑、服务器等设备,执行设备可以为智能音箱、机器人、手机、平板电脑、车载语音交互设备等,在部分情况下,训练设备和执行设备也可以是同一设备。
【实施例一】
实施例一介绍去混响模型训练方法,如图7所示,为训练设备执行的去混响模型训练过程,即下述过程的执行者可以为上述图5中的训练设备:
s701:将语音对样本中的混响语音样本输入到第一去混响模型进行处理,得到所述混响语音样本对应的去混响语音。
其中,所述语音对样本中包括混响语音样本和纯净语音样本。
s702:将所述混响语音样本对应的去混响语音输入到声学模型,得到所述声学模型输出的第一输出结果。
s703:将所述语音对样本中的纯净语音样本输入到所述声学模型,得到所述声学模型输出的第二输出结果。
s704:计算所述第一输出结果和所述第二输出结果的误差。
s705:根据所述第一输出结果和所述第二输出结果的误差对所述第一去混响模型的参数进行调整,得到第二去混响模型。
在本申请实施例中,训练设备是基于声学模型对去混响模型进行训练的,声学模型可以采用已训练完成的声学模型,如执行设备机器人中已采用的声学模型、执行设备手机中已采用的声学模型;当然了,也可以由训练设备根据纯净语音样本重新训练生成声学模型。
以训练设备根据数据库中的纯净语音样本重新训练生成声学模型为例进行说明,在通过数据库中的纯净语音样本训练生成声学模型前,需要对纯净语音样本进行分帧处理,并对纯净语音样本中的每帧对应的音素进行发音标注,以纯净语音样本为“普通话”为例,通过分帧处理将纯净语音样本分为8帧,分别对应的发音标注为“p”、“u”、“t”、“o”、“ng”、“h”、“u”、“a”的发音标注。具体对声学模型进行训练时,训练设备提取纯净语音样本每帧的声学特征向量,其中提取的声学特征可以选为对数功率谱(logpowerspectrum,lps)特征、梅尔频率倒谱系数(melfrequencycepstralcoefficents,mfcc)特征、梅尔滤波系数(fbank)特征等,并根据纯净语音样本每帧的发音标注生成每帧对应的标签向量,示例性的,标签向量为4维分别对应b、p、m、f,当前帧对应的音素为“p”则当前帧对应b、p、m、f,4维的标签向量为[0100]。
训练设备将纯净语音样本每帧的声学特征向量,输入到声学模型(当然了,在第一次将纯净语音样本每帧的声学特征向量,输入到声学模型之前通常会有初始化的过程,即为声学模型的神经网络的各层配置参数,如随机配置参数等),得到声学模型输出的每帧的预测值,通过损失函数(lossfunction),计算声学模型输出的纯净语音样本每帧预测值与纯净语音样本每帧对应的标签向量的差异,损失函数的输出值(loss)越高表示差异越大,那么对声学模型的训练过程就变成了尽可能缩小这个loss的过程。训练设备根据损失函数的输出值来更新声学模型的每一个神经网络层的参数,比如:如果预测值高了,就调整声学模型每一个神经网络层的参数,让预测值低一些,不断的调整直到声学模型输出的预测值与标签向量相符,完成对声学模型的训练,其中在本申请实施例中,所述声学模型为基于神经网络架构的模型,所述声学模型包括n个神经网络层,n通常不小于3,即声学模型通常由至少3个神经网络层构成,分别为输入层(第1个神经网络层)、至少一个隐藏层(第1个至第n-1个神经网络层)、输出层(第n个神经网络层)。
在基于声学模型对去混响模型进行训练之前,训练设备通常会有对去混响模型进行初始化的过程,即为去混响模型中的各层配置参数,可选的,训练设备可以通过随机初始化的方式为去混响模型中的各层配置参数,获得第一去混响模型;也可以采用数据库中语音对样本中的混响语音样本和纯净语音样本训练获得参考去混响模型,并获取参考去混响模型中的各层配置参数,对去混响模型进行初始化,即将采用数据库中语音对样本中的混响语音样本和纯净语音样本训练获得的参考去混响模型作为第一去混响模型。
具体的,训练设备通过数据库中语音对样本中的混响语音样本和纯净语音样本训练获取参考去混响模型时,训练设备首先对语音对样本中的混响语音样本和纯净语音样本进行分帧处理,并分别提取混响语音样本和纯净语音样本每帧的声学特征向量,根据纯净语音样本每帧的声学特征向量为混响语音样本每帧添加标签向量,将混响语音样本每帧的声学特征向量,输入到参考去混响模型,得到参考去混响模型输出的对混响语音样本每帧的预测值,并通过损失函数,计算参考去混响模型输出的每帧的预测值与标签向量的差异,如通过均方误差(meansquareerror,mse)代价函数计算参考去混响模型输出的每帧的预测值与标签向量的差异,并利用反向梯度传播算法根据模型损失调整参考去混响声学模型每层的参数,训练过程中,参考去混响模型中每层的参数会根据输入的混响语音样本不断进行调整,直至得到可准确识别出混响语音样本对应的纯净语音样本的发音特征向量。其中参考去混响模型可选为前向神经网络、卷积神经网络、循环神经网络等。下面仍以第一去混响模型为前向神经网络模型为例进行说明。
例如:参照图8所示,参考去混响模型(derev)共包含4层,分别为输入层(derev.input)、隐藏层1(derev.layer1)、隐藏层2(derev.layer2)及输出层(derev.output),训练设备将混响语音样本每帧的声学特征向量通过输入层输入到参考去混响模型,得到参考去混响模型输出层输出的每帧的预测值,并通过mse代价函数计算参考去混响模型输出的每帧的预测值与所述混响语音样本对应的纯净语音样本每帧的声学特征向量的第一误差(loss1),并将这个第一误差采用反向梯度传播算法,如随机梯度下降算法优去混响模型中每层的参数,经过多次迭代后,得到训练完成的参考去混响模型。
通过随机初始化或基于参考去混响模型获得第一去混响模型后,训练设备将语音对样本中的混响语音样本每帧的声学特征向量输入到第一去混响模型进行处理,得到第一去混响模型输出的混响语音样本对应的去混响语音,混响语音样本对应的去混响语音,具体为混响语音样本对应的去混响语音每帧的声学特征向量,训练设备将得到的混响语音样本对应的去混响语音每帧的声学特征向量输入到声学模型,得到由声学模型第m个神经网络层输出的结果作为第一输出结果;将所述语音对样本中纯净语音样本每帧的声学特征向量,输入到声学模型,得到由声学模型第m个神经网络层输出的结果作为第二输出结果。并通过损失函数计算所述第一输出结果和第一输出结果的第二误差,根据所述第二误差采用反向梯度传播算法,如随机梯度下降算法调整第一去混响模型中每层的参数,经过多次迭代后,就可以得到第一去混响模型,其中声学模型包括n个神经网络层,m、n为正整数,m不大于n,其中声学模型的第m个神经网络层可以为所述声学模型的隐藏层,也可以为所述声学模型的输入层或输出层。另外,需要理解的是,用于对第一去混响模型训练得到第二去混响模型的多个语音对样本,和用于生成参考去混响模型的多个语音对样本可以完全相同、可以部分相同,也可以完全不同,具体可以根据训练需求设置。
参照图9所示,以声学模型包括5个神经网络层为例进行说明,即以声学模型包括n个神经网络层,n=5为例进行说明,声学模型(acoustic)的第1层至第5层,分别为输入层(acoustic.input)、隐藏层1(acoustic.layer1)、隐藏层2(acoustic.layer2)、隐藏层3(acoustic.layer3)和输出层(acoustic.output),可以基于声学模型的隐藏层(m=2或3或4)的输出结果对第一去混响模型进行训练得到第二去混响模型,也可以基于神经网络的输入层(m=1)或输出层(m=5)的输出结果对第一去混响模型进行训练得到第二去混响模型,下面以通过声学模型的隐藏层2(m=3)的输出结果对第一去混响模型进行训练得到第二去混响模型为例,进行说明。
参照图10所示,训练设备将第一去混响模型输出的语音对样本中混响语音样本对应的去混响语音每帧的声学特征向量(derve.output),输入到声学模型的输入层,得到声学模型的隐藏层2输出的第一输出结果;将所述语音对样本中纯净语音样本每帧的声学特征向量(clean.input)输入到声学模型的输入层,得到声学模型的隐藏层2输出的第二输出结果,并通过损失函数计算第一输出结果和第二输出结果的第二误差(loss2),根据第二误差调整第一去混响模型的参数,经过多次迭代后,得到训练完成的第二去混响模型。
参照图11所示,训练设备得到第二去混响模型后,执行设备将第二去混响模型与声学模型级联为混响语音识别模型,第二去混响模型与声学模型级联为即为去混响模型的输出为声学模型的输入。
需要理解的是,在本申请实施例中,对去混响模型训练时,声学模型的参数是固定不变的。
本申请实施例区别于如图2所示的去混响模型与声学模型进行联合训练的方式,无需对混响语音样本的每帧进行发音标注,并且无需对声学模型的参数进行调整,通过去混响模型与声学模型进行联合训练,根据混响语音样本每帧的发音标注生成标签向量的方式通常称为硬标签向量,而本申请实施例中所需要的用于计算误差的标签(上述第二输出结果)是通过纯净语音样本经过声学模型生成的,这样的标签称为软标签向量。以纯净语音样本由声学模型的输出层得到第二输出结果为例,参照图12所示,说明软标签向量和硬标签向量的区别。以混响语音样本的当前帧对应的音素为“p”为例,标签向量为4维分别对应b、p、m、f,则硬标签向量为[0100],而声学模型通过纯净语音样本输入得到的混响语音样本的软标签向量为[0.010.70.20.09],两个标签向量的元素和均为1。
【实施例二】
实施例二介绍混响语音识别方法,参照图13所示,为执行设备执行的混响语音识别过程,即下述过程的执行者可以为上述图5中的执行设备。
s131:将待识别混响语音输入到第二去混响模型进行处理,得到与所述待识别混响语音对应的去混响语音。
其中,所述第二去混响模型为训练设备根据上述去混响模型训练方法得到的第二去混响模型。
s132:将所述待识别混响语音对应的去混响语音输入到声学模型进行处理,得到所述待识别混响语音对应的发音序列。
s133:基于发音字典和语言模型,对所述待识别混响语音对应的发音序列进行识别,确定所述待识别混响语音对应的文本序列。
具体在对混响语音进行识别时,执行设备将待识别的混响语音每帧的声学特征向量输入到第二去混响模型处理,得到第二去混响模型输出的待识别混响语音对应的去混响语音,具体为得到待识别混响语音对应的去混响语音每帧的声学特征向量,并将待识别混响语音对应的去混响语音每帧的声学特征向量,输入到声学模型进行处理,得到待识别混响语音每帧对应的发音标注,进而确定待识别混响语音对应的发音序列。然后,执行设备在发音字典和语言模型确定的搜索空间中,搜索与发音序列匹配对最高的文字串,确定为待识别混响语音对应的文本序列。
例如:以语言模型为三元语音模型为例,设wi是文本中的任意一个词,如果已知它在该文本中的前两个词wi-2wi-1,三元语音模型便可以用条件概率p(wi|wi-2wi-1)来预测wi出现的概率,p(wi|wi-2wi-1)=count(wi-2wi-1wi)/count(wi-2wi-1),其中count()标识特征词串在整个语料库中出现的累计次数。用变量w代表文本中一个任意的词序列,即w=w1w2...wn,则统计语言模型就是用来计算w在该语言模型下中出现的概率p(w)。利用概率的乘积公式,p(w)可展开为:p(w)=p(w1)p(w2|w1)p(w3|w1w2)……p(wn|wn-2wn-1)。执行设备可以根据得到的发音序列,根据发音字典中词汇和发音标注之间对应关系的集合,及语音模型,确定发音序列可以满足的语句或者单词序列(文字串)构成的空间(搜索空间)中,概率最高(匹配度最高)的语句或者单词序列。
另外,混响语音通常是由纯净语音和引起混响的脉冲响应卷积得到,如由纯净语音和引起混响的房间脉冲响应卷积生成,可以基于加权预测误差(weightedpredictionerror,wpe),对混响语音进行线性自回归模型建模的方式来抑制晚期混响,消除部分混响干扰。得到的抑制晚期混响的纯净语音的模型的过程参考如下:
混响语音是由纯净语音和引起混响的脉冲响应卷积得到的,对应在频域的表示如下:
对混响语音进行自回归和高斯建模,混响语音自回归建模为:
所需要估计的纯净语音为:
在本申请实施例中,为了保证混响语音识别的准确性,执行设备可以先将待识别的混响语音通过wpe进行处理,消除部分混响后,输入在输入到第二去混响模型中进行处理,具体的,基于wpe消除混响语音的部分混响是现有技术,不再进行赘述。
下面分别以执行设备为手机、机器人为例,对混响语音识别进行具体介绍。
如果作为执行设备的手机中集成声学模型,训练设备可以获取手机中已采用的声学模型,采用上述去混响模型训练方法,基于采用的声学模型训练对应的第二去混响模型,并将训练好的第二去混响模型更新到手机中,与手机原来已采用的声学模型进行级联。
当在室内环境,用户距离手机较远时,如手机放置在电视柜上,用户坐在沙发上时,沙发距离电视柜的距离不小于0.5m,用户发出语音,如用户发出的语音除了通过直达路径到达手机上设置的拾音设备(麦克风)外,还会通过多条反射路径到达手机上设置的拾音设备,带来混响问题,锁屏状态的手机可以通过拾音设备接收到用户发出的待识别的混响语音,将采集到的待识别混响语音每帧的声学特征向量输入到第二去混响模型进行处理,得到经过第二去混响模型处理的每帧的声学特征,将经过第二去混响模型处理得到的每帧的声学特征输入到声学模型,得到每帧的发音标注,进而确定待识别混响语音对应的发音序列,并基于发音字典和语言模型确定发音序列对应的文本序列,即确定出用户发出的语音对应的文本,手机识别到文本后,可以退出锁屏状态并启动语音助手应用与用户进行语音交互。
如果执行设备为导诊机器人,导诊机器人中还未采用有声学模型,训练设备也可以基于数据库中的纯净语音样本训练有声学模型,并基于声学模型的神经网络训练有第二去混响模型,并将训练好的第二去混响模型与训练好的声学模型级联更新到导诊机器人中。
当导诊机器人处理工作状态时,位于医院导诊台内的导诊机器人,通过导诊机器人中设置的拾音设备(麦克风)接收到位于导诊台外的咨询人员发出的语音“儿童科在哪里”,而位于导诊台内的机器人和位于导台外的咨询人员,由于距离较远,受到医院室内环境的影响,导诊机器人接收到的语音已受到混响的干扰,导诊机器人将采集到的待识别混响语音每帧的声学特征向量输入到第二去混响模型进行处理,得到经过第二去混响模型处理的每帧的声学特征,将经过第二去混响模型处理的每帧的声学特征输入到声学模型,得到每帧的发音标注,进而确定待识别混响语音对应的发音序列,并基于发音字典和语言模型确定发音序列对应的文本序列,即确定出用户发出的语音为“儿童科在哪里”,导诊机器人根据用户发出的语音“儿童科在哪里”检索到自身保存的问答对有记录有:问“儿童科在哪里”、答“儿童科在门诊楼三楼东侧302室”,通过导诊机器人自身设置的扬声器,输出“儿童科在门诊楼三楼东侧302室”。
参照图14所示,执行设备内部的处理架构如图14所示,待识别混响语音输入后,执行设备对待识别混响语音进行前端处理,如对待识别混响语音进行降噪等处理,并且提取待识别混响语音每帧的声学特征向量,通过解码器基于第二去混响模型和声学模型级联构成的去混响语音识别模型,确定待识别混响语音的发音序列,并基于发音字典和语言模型确定的搜索空间中,搜索与发音序列匹配对最高的文字串,确定为待识别混响语音对应的文本序列,输出待识别语音对应的文本序列,执行设备根据文本序列中的指令,执行相应操作。
参照图15所示,采用两个麦克风阵列(arry1、arry2)进行混响语音识别,说明本申请的效果,wobf指没有对麦克风阵列采集的混响声音进行阵列处理,wbf指对麦克风阵列采集的混响声音进行阵列处理,每个实验组,从左到右依次标识为直接通过声学模型对混响语音进行语音识别(方式一)的字错误率、通过图1所示的去混响模型对混响语音进行处理后,通过声学模型进行语音识别(方式二)的字错误率、通过本申请提供的第二去混响模型对混响语音进行处理后,通过声学模型进行语音识别(方式三)的字错误率。其中,字错误率表示每百字识别错误的字数、麦克风阵列指的是多个麦克风、阵列处理指利用多个麦克风接收到声波的相位之间的差异对声波进行过滤。
由图15可知,在没有阵列处理情况下(wobf),方式二和方式三都能显著降低识别字错误率,在有阵列处理情况下方式二确增加了字错误率,而方式三仍然在降低字错误率,基于本申请实施例实现的混响语音识别能取得较好的识别效果。
【实施例三】
上述主要从方法流程的角度对本申请提供的方案进行了介绍。可以理解的是,为了实现上述功能,装置可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在采用集成的单元的情况下,图16示出了本申请实施例中所涉及的去混响模型训练装置的可能的示例性框图,该去混响模型训练装置160可以以软件的形式存在。去混响模型训练装置160可以包括:获取单元161、训练单元162。
该去混响模型训练装置160可以为上述图5中的训练设备、或者还可以为设置在执行设备中的半导体芯片。具体地,在一个实施例中,获取单元161,用于获取语音对样本,其中所述语音对样本中包括混响语音样本和纯净语音样本;
训练单元162,用于将语音对样本中的混响语音样本输入到第一去混响模型进行处理,得到所述混响语音样本对应的去混响语音;以及将所述混响语音样本对应的去混响语音输入到声学模型,得到所述声学模型输出的第一输出结果;将所述语音对样本中的纯净语音样本输入到所述声学模型,得到所述声学模型输出的第二输出结果;计算所述第一输出结果和所述第二输出结果的误差;并根据所述第一输出结果和所述第二输出结果的误差对所述第一去混响模型的参数进行调整,得到第二去混响模型。
在一种可能的设计中,所述声学模型为基于神经网络架构的模型,所述声学模型包括n个神经网络层,所述训练单元162将所述混响语音样本对应的去混响语音输入到声学模型,得到所述声学模型输出的第一输出结果时,具体用于:将所述混响语音样本对应的去混响语音输入到所述声学模型的输入层,获取所述声学模型的第m个神经网络层输出的结果作为所述第一输出结果;所述训练单元162将所述语音对样本中的纯净语音样本输入到所述声学模型,得到所述声学模型输出的第二输出结果时,具体用于:将所述语音对样本中的纯净语音样本输入到所述声学模型的输入层,获取所述声学模型的第m个神经网络层输出的结果作为所述第二输出结果;其中,m、n为正整数,m不大于n。
在一种可能的设计中,所述声学模型的第m个神经网络层为所述声学模型的隐藏层。
在一种可能的设计中,所述声学模型的第m个神经网络层为所述声学模型的输入层或输出层。
在一种可能的设计中,所述第一去混响模型为参数初始化的去混响模型或者经过训练的去混响模型。
在一种可能的设计中,所述获取单元161,在所述训练单元162将语音对样本中的混响语音样本输入到第一去混响模型进行处理,得到所述混响语音样本对应的去混响语音之前,还用于:
根据所述语音对样本中的纯净语音样本和预先确定的脉冲响应进行卷积运算生成所述语音对样本中的混响语音样本。
在采用集成的单元的情况下,图17示出了本申请实施例中所涉及的混响语音识别装置的可能的示例性框图,该混响语音识别装置170可以以软件的形式存在。混响语音识别装置170可以包括:声学单元171、识别单元172。
该混响语音识别装置170可以为上述图5中的执行设备、或者还可以为设置在执行设备中的半导体芯片。具体地,在一个实施例中,声学单元171,用于将待识别混响语音输入到所述第二去混响模型进行处理,得到与所述待识别混响语音对应的去混响语音;以及将所述待识别混响语音对应的去混响语音输入到所述声学模型进行处理,得到所述待识别混响语音对应的发音序列;
识别单元172,用于基于发音字典和语言模型,对所述待识别混响语音对应的发音序列进行识别,确定所述待识别混响语音对应的文本序列。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
基于上述去混响模型训练方法,本申请实施例还提供了一种训练设备,如图18所示,终端180包括存储器181、处理器182。存储器181和处理器182通过总线链接。存储器181用于存储计算机执行指令,当训练设备180运行时,处理器182执行存储器181中存储的计算机执行指令,以使训练设备180实现上述任一项去混响模型训练方法,可参考上文及其附图的相关描述,在此不做赘述。
基于上述去混响语音识别,本申请实施例还提供了一种执行设备,如图19所示,终端190包括存储器191、处理器192。存储器191和处理器192通过总线链接。存储器191用于存储计算机执行指令,当训练设备190运行时,处理器192执行存储器191中存储的计算机执行指令,以使训练设备190实现上述任一项去混响模型训练方法,可参考上文及其附图的相关描述,在此不做赘述。
本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例描述的去混响模型训练方法的指令。
本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例描述的混响语音识别方法的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在训练设备上运行时,使得训练设备实现上述方法实施例描述的去混响模型训练方法。
本申请实施例提供了一种包含指令的计算机程序产品,当其在执行设备上运行时,使得执行设备实现上述方法实施例描述的混响语音识别方法。
本申请实施例提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述方法实施例描述的去混响模型训练方法。
本申请实施例提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述方法实施例描述的混响语音识别方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除