一种训练唤醒模型的方法及装置与流程

文档序号:22220720发布日期:2020-09-15 19:12阅读:139来源:国知局
一种训练唤醒模型的方法及装置与流程
本发明涉及语音处理
技术领域
,特别涉及一种训练唤醒模型的方法及装置。
背景技术
:随着技术不断发展,智能设备越来越普及,现有的智能设备可以通过接收用户输入的语音信号,确定是否对智能设备进行唤醒,其中一种应用场景为,智能设备可以通过设备内的声学模型来识别用户输入的语音信号来唤醒处于待唤醒状态的智能设备,当声学模型能够识别输入的语音信号时,唤醒智能设备,以使用户可以通过被唤醒的智能设备实现对其他智能家居设备进行控制。其中,用户通过预先向智能设备预先录制唤醒语音,智能设备根据录制唤醒语音进行模型训练生成声学模型,当智能设备再次接收到用户输入的语音信号,如果声学模型能够识别输入的语音信号,则确定该语音信号为唤醒语音,则可以唤醒智能设备,并对智能设备进行进一步的操作。其中,智能设备中的声学模型的好坏直接影响每次唤醒设备的性能,但在实际使用时,由于初次录制的声学模型中预先录制唤醒语音样本过少,会导致声学模型因用户的发音的环境过于嘈杂或因发音者存在口音的问题,不能识别出对应的唤醒语音而产生的错误唤醒或遗漏唤醒的问题,故现有的唤醒设备需要不断地收集每次唤醒输入的新的唤醒语音,所述新的唤醒语音为经人工标注,或者经过数据清洗滤除用户输入的语音杂音,来确定是否为智能设备应该唤醒的语音或误唤醒或漏唤醒的语音,将经标注或确定是否为唤醒语音的语音数据与之前录制得到的唤醒语音混合到一起重新训练以得到效果更好的声学模型以替换之前得到的模型。但唤醒设备在每次利用混合的唤醒语音进行重新训练时,都需要重新整理唤醒语音中的唤醒词数据进行训练,在重新训练时会占用唤醒设备很大的计算资源,最终计算出的声学模型的时间很长,并且因唤醒模型需要重新建立,而训练数据比例不好控制导致重新训练的唤醒模型的实际唤醒效果并不稳定。技术实现要素:本发明提供一种训练唤醒模型的方法及装置,用于解决现有技术,在不断收集新的唤醒词数据再和之前录制得到的唤醒词数据混合到一起重新训练新的声学模型已得到更好性能的模型替换之前的模型训练量大,重新训练声学模型的时间长,并且因唤醒模型需要重新建立,而训练数据比例不好控制导致重新训练的唤醒模型的实际唤醒效果并不稳定的问题。本发明第一方面提供一种训练唤醒模型的方法,所述方法包括:触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定第一差异参数;将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定第二差异参数;根据所述第一差异参数和第二差异参数,调整当前声学模型的模型参数。可选地,确定第一差异参数,包括:获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。可选地,确定第二差异参数,包括:获取所述当前声学模型输出的唤醒语音识别结果对应的第三概率分布,及所述独热编码对应的第四概率分布;根据所述第三概率分布和第四概率分布的差异确定交叉熵。可选地,确定第二差异参数之后,还包括:确定当前声学模型为初始声学模型时,根据所述第二差异参数调整初始声学模型的模型参数。可选地,根据所述第二差异参数调整初始声学模型的模型参数,包括:根据第二差异参数确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型。可选地,根据所述第一差异参数和所述第二差异参数,调整当前声学模型的模型参数,包括:根据所述第一差异参数和所述第二差异参数,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。可选地,所述初始语音特征数据或新语音特征数据包括如下至少一种:梅尔倒谱系数mfcc特征数据;感知线性预测plp特征数据;梅尔标度滤波fbank特征数据。可选地,获取当前声学模型能够识别的唤醒语音对应的独热编码,包括:获取当前声学模型能够识别的预置唤醒语音信息;将所述预置唤醒语音信息输入到asr语音模型,根据所述asr语音模型的识别结果,确定当前声学模型能够识别的语音单元对应的独热编码,所述语音单元包括音素状态、音素和单词中的至少一种。本发明第二方面提供一种训练唤醒模型的装置,所述装置包括存储器,用于存储指令;处理器,用于读取所述存储器中的指令,实现方法包括:触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定第一差异参数;将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定第二差异参数;根据所述第一差异参数和第二差异参数,调整当前声学模型的模型参数。可选地,处理器用于确定第一差异参数,包括:获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。可选地,处理器用于确定第二差异参数,包括:获取所述当前声学模型输出的唤醒语音识别结果对应的第三概率分布,及所述独热编码对应的第四概率分布;根据所述第三概率分布和第四概率分布的差异确定交叉熵。可选地,处理器用于确定第二差异参数之后,还包括:确定当前声学模型为初始声学模型时,根据所述第二差异参数调整初始声学模型的模型参数。可选地,处理器用于根据所述第二差异参数调整初始声学模型的模型参数,包括:根据第二差异参数确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型。可选地,处理器用于根据所述第一差异参数和所述第二差异参数,调整当前声学模型的模型参数,包括:根据所述第一差异参数和所述第二差异参数,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。可选地,处理器用于所述初始语音特征数据或新语音特征数据包括如下至少一种:梅尔倒谱系数mfcc特征数据;感知线性预测plp特征数据;梅尔标度滤波fbank特征数据。可选地,处理器用于获取当前声学模型能够识别的唤醒语音对应的独热编码,包括:获取当前声学模型能够识别的预置唤醒语音信息;将所述预置唤醒语音信息输入到asr语音模型,根据所述asr语音模型的识别结果,确定当前声学模型能够识别的语音单元对应的独热编码,所述语音单元包括音素状态、音素和单词中的至少一种。本发明第三方面提供一种训练唤醒模型的装置,所述装置包括如下模块:训练集获取模块,在触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;第一差异参数确定模块,用于将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定第一差异参数;第二差异参数确定模块,用于将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定第二差异参数;模型调整模块,用于根据所述第一差异参数和第二差异参数,调整当前声学模型的模型参数。可选地,第一差异参数确定模块用于确定第一差异参数,包括:获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。可选地,第二差异参数确定模块用于确定第二差异参数,包括:获取所述当前声学模型输出的唤醒语音识别结果对应的第三概率分布,及所述独热编码对应的第四概率分布;根据所述第三概率分布和第四概率分布的差异确定交叉熵。可选地,当前声学模型确定模块用于确定第二差异参数之后,还包括:确定当前声学模型为初始声学模型时,根据所述第二差异参数调整初始声学模型的模型参数。可选地,当前模型确定模块用于根据所述第二差异参数调整初始声学模型的模型参数,包括:根据第二差异参数确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型。可选地,模型调整模块用于根据所述第一差异参数和所述第二差异参数,调整当前声学模型的模型参数,包括:根据所述第一差异参数和所述第二差异参数,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。可选地,所述初始语音特征数据或新语音特征数据包括如下至少一种:梅尔倒谱系数mfcc特征数据;感知线性预测plp特征数据;梅尔标度滤波fbank特征数据。可选地,第二差异参数确定模块用于获取当前声学模型能够识别的唤醒语音对应的独热编码,包括:获取当前声学模型能够识别的预置唤醒语音信息;将所述预置唤醒语音信息输入到asr语音模型,根据所述asr语音模型的识别结果,确定当前声学模型能够识别的语音单元对应的独热编码,所述语音单元包括音素状态、音素和单词中的至少一种。本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现本发明第一方面提供的任一项所述的一种训练唤醒模型的方法。利用本发明提供的一种训练唤醒模型的方法,将唤醒模型的训练集划分为两类,一类为用于训练初始声学模型的初始语音特征数据,另一类用于训练当前声学模型的漏唤醒/误唤醒语音数据,在训练当前声学模型时利用asr模型中的独热编码保证了对实际场景的自适应,并计算初始语音特征数据在上述初始声学模型、当前声学模型中的差异参数,利用差异参数使得当前声学模型在保证适应当前场景的情况下也能兼容初始语音数据,减小了更新带来的唤醒性能不稳定的风险,有效地提高当前场景下的语音和初始训练的语音在唤醒模型下的唤醒成功率,使得训练后的声学模型很好地在适应更复杂的场景前提下兼容之前的初始唤醒场景,并且相比于现有的不断收集新的唤醒词数据再和之前录制得到的唤醒词数据混合到一起重新训练新的声学模型已得到更好性能的模型替换之前的模型的方式,减小了训练量。附图说明图1为一种唤醒设备系统的示意图;图2为一种训练唤醒模型的方法的流程图;图3为一种训练唤醒模型的方法的完整流程图;图4为一种训练唤醒模型的装置的结构示意图;图5为一种训练唤醒模型的装置的模块示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。为了方便理解,下面对本发明实施例中涉及的名词进行解释:(1)交叉熵(crossentropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距,交叉熵(crossentropy)是shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。语言模型的性能通常用交叉熵和复杂度(perplexity)来衡量,交叉熵可在神经网络中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性;(2)相对熵(relativeentropy),又被称为kullback-leibler散度(kullback-leiblerdivergence)或信息散度(informationdivergence),是两个概率分布(probabilitydistribution)间差异的非对称性度量。在信息理论中,相对熵等价于两个概率分布的信息熵(shannonentropy)的差值,相对熵是一些优化算法,如最大期望算法(expectation-maximizationalgorithm,em)的损失函数利用相对熵表示使用理论分布拟合真实分布时产生的信息损耗。(3)梅尔倒谱系数(mfcc),是mel频率倒谱系数的缩写,mel频率是基于人耳听觉特性提出来的,它与hz频率成非线性对应关系,mel频率倒谱系数则是利用它们之间的这种关系,计算得到的hz频谱特征,mfcc已经广泛地应用在语音识别领域作为识别特征。(4)fbank,fbank是缺少mfcc特征提取的dct倒谱环节,其他步骤与mfcc相同的频谱特征,fbank特征贴近人耳的响应特性,但是存在不足,fbank特征相邻的特征高度相关(相邻滤波器组有重叠),因此当我们用hmm对音素建模的时候,几乎总需要首先进行倒谱转换,其中mfcc是在fbank的基础上进行的,所以mfcc的计算量更大,而fbank特征相关性较高。考虑到现有的唤醒词识别技术中所存在的误唤醒和漏唤醒问题,可以通过不断训练唤醒模型以提高准确率。为此,在本实施例中,通过控制被唤醒设备端在本地或云端收集唤醒语音数据,基于这些数据对唤醒模型进行更新优化,从而降低设备端的误唤醒及漏唤醒概率,以便降低误唤醒的可能性,提高唤醒词识别的准确率。基于此,在本实施例中提供了一种唤醒设备系统,本发明实施例提供的设备唤醒系统,利用唤醒设备对被唤醒设备进行唤醒,所述唤醒设备可以为智能音箱、智能手机、智能家电等一切可以接收语音的电子设备,这里不做过多种类的限制。如图1所示,该系统包括:唤醒设备101、被唤醒设备102,唤醒设备与被唤醒设备可以为同一设备,也可以为不同的设备,在一种可选的实施方式中,所述系统还可以包括:与所述唤醒设备通信的服务器。上述唤醒设备用于获取语音特征数据,利用声学模型对语音特征数据进行识别,能够识别出输入的语音特征数据时,根据能够识别出语音特征数据的概率,确定是否唤醒被唤醒设备。上述声学模型可以由唤醒设备采集语音数据进行训练生成,也可以由唤醒设备采集语音数据并发送到服务器,由服务器进行训练生成,服务器完成训练后将得到的声学模型数据发送到唤醒设备。进一步地,声学模型还可以是由除服务器外的其他设备训练生成。其中所述被唤醒设备102可以包括但不限于智能音箱、智能电视、智能机器人、智能冰箱、智能空调、智能电饭煲、智能传感器(比如红外传感器、光线传感器、震动传感器以及声音传感器等)、智能净水器等固定安装或者小范围移动的设备。或者,被唤醒设备102也可以是mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、智能蓝牙耳机等移动设备。各个被唤醒设备102之间还可以通过有线网络或无线网络相连,可选地,无线网络或者有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(localareanetwork,lan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,man)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(hypertextmark-uplanguage,html)、可扩展标记语言(extensiblemarkuplanguage,xml)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(securesocketlayer,ssl)、传输层安全(transportlayersecurity,tls)、虚拟专用网络(virtualprivatenetwork,vpn)、网际协议安全(internetprotocolsecurity,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。唤醒设备101可以通过上述有线网络或无线网络与被唤醒设备102相连,用户可以通过对唤醒设备102的控制,使得相应的智能家居设备执行相应的操作。可选的,该唤醒设备102可以是智能终端。可选的,智能终端可以是智能手机、平板电脑、电子书阅读器、智能眼镜、智能手表等。例如,用户可以通过智能手机,控制智能家居设备中的a设备向b设备发送数据或者信号,或者,用户通过智能手机,控制智能家居设备中的智能冰箱的温度等等。在其中任一设备训练生成声学模型时,可以通过初始的语音特征数据训练网络模型得到初始声学模型,之后根据新语音数据特征训练得到自适应声学模型,可以通过唤醒设备中的麦克风获取唤醒语音以得到语音特征数据,对于传输给唤醒设备的语音数据可以是经过数据清洗后的处理后的语音数据;一般来说,语音数据中是存在噪音的,而清洗数据大致有三个方法,分别是分箱法、聚类法、回归法,其中,分箱法是一个经常使用到方法,将需要处理的数据根据一定的规则放进箱子里,然后进行测试每一个箱子里的数据,并根据数据中的各个箱子的实际情况进行采取方法处理语音数据。如前所述,声学模型训练的具体过程可以在服务器端,也可以在唤醒设备端,由唤醒设备端或服务器端通过初始语音特征数据对网络模型训练得到初始声学模型,通过新语音特征数据对当前声学模型进行不断的训练及优化,以适应当前的唤醒环境并进一步的提高唤醒准确度。例如,本申请实施例可以在用户向被唤醒设备输入的唤醒语音之后,先通过声学模型进行检测分析,根据分析得到能够识别输入的语音特征数据的后验概率分布,利用解码器根据后验概率分布计算唤醒置信度,并判断唤醒置信度是否大于等于设置的阈值,如果大于等于,则认为唤醒语音中包含唤醒词文本或符合当前声学模型,可以予以唤醒,如果小于,则认为唤醒语音中不包含唤醒词文本或不符合当前声学模型。具体的,本实施例并不对预设唤醒词进行限定,唤醒词例如,小度、siri等。其中,唤醒词包括服务器中预置的唤醒词和/或用户自定义的唤醒词,更多的,后期用户可以对已有的唤醒词(包括预置的唤醒词和用户自定义的唤醒词)进行删除或者再添加新的唤醒词。本发明实施例提供一种训练唤醒模型的方法,应用于对唤醒词检测模块的唤醒模型的训练过程中,所述方法包括如下步骤,如图2所示:步骤s201,触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;将标注了唤醒词和非唤醒词的初始语音特征数据输入到预设的深度神经网络模型中,对预设的深度神经网络模型进行训练,得到初始声学模型;所述第一训练集中的唤醒词和非唤醒词的初始语音特征数据,可以为人工录制的特定为唤醒词或非唤醒词的音频片段,并通过语音数据提取得到初始语音特征数据,亦可以为用户在正常唤醒和使用中采集到的音频片段并通过语音数据提取得到初始语音特征数据,通过现有的声学模型确定应被当前声学模型唤醒的初始语音特征数据以及不应被当前声学模型唤醒的初始语音特征数据存储在唤醒设备或服务器端;或,通过人工监听的方式,将接收到的语音进行人工筛选,将应被当前声学模型判断为唤醒语音的初始语音特征数据,及不应被当前声学模型确定为非唤醒语音的初始语音特征数据存储在被唤醒设备或服务器端,此种人工筛选的方式对于唤醒词的判断准确度更高,具体使用上述哪种方法,依据接收到的语音样本数量大小来选择。语音数据提取的过程可以采用本领域常规技术手段来实现,本申请不对本步骤所采用的方法进行具体限定,例如可以采用梅尔频率倒谱系数法(mfcc,melfrequencycepstrumcoefficient)、感知线性预测参数法(plp,perceptuallinearpredictive)和梅尔标度滤波法(fbank,melscalefilterbank)中的任意一种提取语音特征数据。其中,所述预设的深度神经网络模型可以为深度神经网络模型,或者深度神经网络-隐马尔科夫模型,在隐马尔科夫模型包括:多个网络层,每个网络层由全连接层及激活函数(通常为relu或者sigmoid)组成,最后一层网络层通常为全连接层加上一个的softmax激活函数组成;所述初始声学模型和所述当前声学模型为建模到单词、音素或者音素状态中的任意一种的深度神经网络模型,向当前声学模型输入语音特征数据中的语音帧,从当前声学模型中输出后验概率分布;其中,上述建模方式包括:利用深度神经网络模型的基线神经网络对语音特征数据进行切分对齐(forcealignment),得到每帧语音特征数据对应的单词状态级别的标注、音素(phone)级别的标注和音素状态(state)级别的标注,以形成深度神经网络模型的训练网络的输入和输出。建模到单词的深度神经网络模型为,将语音特征数据的每帧特征的特征向量作为输入,将语音特征数据的每帧特征的单词级别的标注作为单词输出,对输入和单词输出进行切分对齐。建模到音素的深度神经网络模型为,将语音特征数据的每帧特征的特征向量作为输入,将语音特征数据的每帧特征的音素级别的标注作为音素输出,对输入和音素输出进行切分对齐。建模到音素状态的深度神经网络模型为,将语音特征数据的每帧特征的特征向量作为输入,将语音特征数据的每帧特征的音素状态级别的标注作为音素状态输出,对输入和音素状态输出进行切分对齐。其中,音素级别的标注就是在某一时刻,如t时刻,每个语音特征对应的音素发音;音素状态级别的标注就是上下文相关的音素,通过聚类后的音素状态单元来表示,t时刻特征对应的音素状态。作为一种可选的实施方式,将输出的后验概率分布输入给解码器,得到唤醒置信度得分,根据唤醒置信度得分与唤醒阈值比较,确定输入的语音特征数据是否可以唤醒;具体的,将语音提取特征后输入当前声学模型得到唤醒结果,主要可以包括以下步骤:1、利用语音数据提取方法提取特征;2、将提取的特征的每一语音帧输入当前声学模型中得到每一语音帧的后验概率分布;3、利用解码器计算后验概率分布对应的唤醒置信度,当唤醒置信度超过一定阈值认为唤醒,基于上述内容,所述当前声学模型根据输入语音特征数据判断是否可以唤醒,得到漏唤醒语音以及误唤醒语音的新语音特征数据,所述解码器解码的方法可以是选择在解码器中的所有路径中得分值最高的路径,也可以是选择路径搜索过程中满足预置规则的路径,预置规则如根据维特比(viterbialgorithm)解码算法等;所述第二训练集中的漏唤醒和误唤醒语音的新语音特征数据获取方法为:通过接收语音筛选侧根据接收到的语音确定的语音判断指示,来将接收到的语音的实际语义为唤醒词但未将当前声学模型唤醒的语音确定为漏唤醒语音;将接收到的语音的实际语义为非唤醒词但将当前声学模型唤醒的语音确定为误唤醒语音,并通过语音数据提取的方式得到新语音特征数据。步骤s202,将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定第一差异参数;具体的,确定第一差异参数,包括:获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。将第一训练集输入到初始声学模型,由所述初始声学模型输出第一概率分布;将第一训练集输入到当前声学模型,由所述当前声学模型输出第二概率分布。根据所述第一概率分布和第二概率分布的差异确定相对熵,所述相对熵又称kl(kullback-leibler)散度,用于衡量两个概率分布之间的差异,具体的,根据两个概率分布来确定相对熵的方式,本领域技术人员应当知晓,这里不再赘述。步骤s203,将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定第二差异参数。获取当前声学模型能够识别的唤醒语音对应的独热编码,包括:获取当前声学模型能够识别的预置唤醒语音信息;将所述预置唤醒语音信息输入到asr语音模型,根据所述asr语音模型的识别结果,确定当前声学模型能够识别的语音单元对应的独热编码,所述语音单元包括音素状态、音素和单词中的至少一种。所述asr语音模型中包括声学模型、发音语典、语音特征数据对应的文本标注;在asr语音模型输入当前声学模型能够识别的预置唤醒语音信息,在所述asr语音模型,并将预置唤醒语音信息通过解码器得到最佳路径以及该最佳路径的对应得分,将最佳路径处理为独热编码形式概率分布。例如,一条为“小”的唤醒语音共3帧,如表1所示,唤醒词为“小”的,且语音单元对应的到音素级别的一种独热编码形式概率分布表,其中,“小”在音素级别下包括“x”、“i”和“ao”三个音素,将预置唤醒语音信息的各语音帧输入asr语音模型中,得到预置唤醒语音信息对应的后验概率分布,利用解码器根据后验概率分布选择出一条最佳路径,该最佳路径可以是在解码器中的所有路径中得分值最高的路径,也可以是路径搜索过程中满足预置规则的路径,预置规则例如根据维特比解码算法,将最优路径处理为独热编码形式概率分布,所示独热编码形式概率分布还可以由当前声学模型能够识别的唤醒语音进行预先构建,预先构建的方式本领域技术人员应当知晓,这里不再赘述;表1音素“x”音素“i”音素“ao”音素“x”帧100音素“i”帧010音素“ao”帧001将第二训练集中的新语音特征数据以语音帧形式输入到当前声学模型得到输出结果,向当前声学模型输入语音特征数据中的语音帧,从当前声学模型中输出后验概率分布;如表2所示为将新语音特征数据输入到当前声学模型对应的后验概率分布,例如,新语音特征数据也包括3帧,其中当前声学模型对应的唤醒词为“小”,其中“小”在音素级别下包括“x”、“i”和“ao”三个音素,将新语音特征数据的各语音帧输入当前声学模型,可以得到各语音帧对应的后验概率分布;表2音素“x”音素“i”音素“ao”第一帧0.80.30.1第二帧0.40.80.6第三帧0.10.40.9获取所述当前声学模型输出的唤醒语音识别结果对应的第三概率分布,及所述独热编码对应的第四概率分布;根据所述第三概率分布和第四概率分布的差异确定交叉熵,根据两个概率分布来确定交叉熵的方式,本领域技术人员应当知晓,这里不再赘述。步骤s204,根据所述第一差异参数和第二差异参数,调整当前声学模型的模型参数。根据所述第一差异参数和所述第二差异参数,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。具体的,根据交叉熵和相对熵加权求和得到调整当前声学模型的损失函数,根据链式求导方式逐层求导确定梯度向量,所述梯度向量为损失函数增加的最快的方向,为了让损失函数越小越好,故控制当前声学模型的网络层参数沿着梯度反方向进行调整,具体调整的方式会人为设定一个网络层的学习率来控制每次更新调整的大小,不断更新当前声学模型中各网络层的参数,所述各网络层的参数更新为,若全连接函数为y=wx+b,则每个全连接层的w和b参数都需要更新。作为一种可选的实施方式,确定第二差异参数之后,还包括:确定当前声学模型为初始声学模型时,根据所述第二差异参数调整初始声学模型的模型参数。根据所述第二差异参数调整初始声学模型的模型参数,包括:根据第二差异参数确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型。确定当前声学模型为初始声学模型时,根据第二差异参数确定用于调整初始声学模型的损失函数,通过反向传播算法利用构建的损失函数进行神经网络学习,利用所述损失函数调整初始声学模型的模型参数,在初次调整当前声学模型时,由于当前的声学模型为初始声学模型,故将初始语音特征数据分别输入到初始声学模型和当前声学模型计算的相对熵为0,所以根据交叉熵确定用于调整初始声学模型的损失函数。利用本发明提供的一种训练唤醒模型的方法,将唤醒模型的训练集划分为两类,一类为用于训练初始声学模型的初始语音特征数据,另一类用于训练当前声学模型的漏唤醒/误唤醒语音数据,在训练当前声学模型时利用asr模型中的独热编码保证了对实际场景的自适应,并计算初始语音特征数据在上述初始声学模型、当前声学模型中的差异参数,利用差异参数使得当前声学模型在保证适应当前场景的情况下也能兼容初始语音数据,减小了更新带来的唤醒性能不稳定的风险,有效地提高当前场景下的语音和初始训练的语音在唤醒模型下的唤醒成功率,使得训练后的声学模型很好地在适应更复杂的场景前提下兼容之前的初始唤醒场景,并且相比于现有的不断收集新的唤醒词数据再和之前录制得到的唤醒词数据混合到一起重新训练新的声学模型已得到更好性能的模型替换之前的模型的方式,减小了训练量。如图3所示,为一种训练唤醒模型的方法的完整流程图,其步骤包括:步骤s301,触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;步骤s302,将所述第二训练集输入初始声学模型,通过对比所述初始声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型;具体的,利用独热编码形式概率分布与新语音特征数据输入当前声学模型的后验概率分布的差异计算的交叉熵确定损失函数,其中p(x)表示将新语音特征数据输入初始声学模型的后验概率分布,及pemp(x)表示独热编码形式概率分布,得到的交叉熵为:利用上述交叉熵确定损失函数,根据损失函数调整初始声学模型中各网络层的参数,得到当前声学模型;步骤s303,将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定相对熵;获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。其中psi(x)表示初始语音特征数据在初始声学模型的第一概率分布,p1(x)表示初始语音特征数据在当前声学模型的第二概率分布;其中相对熵为:步骤s304,将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定交叉熵;利用独热编码形式概率分布与新语音特征数据输入当前声学模型的后验概率分布的差异计算的交叉熵确定损失函数,其中p2(x)表示将新语音特征数据输入初始声学模型的第三概率分布,及pemp(x)表示独热编码形式第四概率分布,得到的交叉熵为:步骤s305,根据相对熵和交叉熵,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。根据交叉熵和相对熵定义损失函数为:jkld=(1-α)h(pemp,p2)+αdkl(psi,p1)其中,α为控制交叉熵和kl散度的权重系数,经验上一般设置为0.25的定值,如果特征数据数量较大则增大该值,根据链式求导方式逐层求导确定梯度向量,控制初始声学模型的网络层参数沿着梯度反方向进行调整,得到当前声学模型。最终,在得到当前声学模型后,通过将唤醒语音的语音特征数据输入到当前声学模型中进行识别得到语音特征数据中每一语音帧的后验概率分布,利用解码器计算后验概率分布对应的唤醒置信度,当前声学模型根据唤醒置信度与唤醒阈值确定是否向唤醒设备发送唤醒设备的命令。本发明实施例提供一种训练唤醒模型的装置,所述装置包括存储器,用于存储指令;图4是本发明实施例提供的一种训练唤醒模型的装置,该装置400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(英文全称:centralprocessingunits,英文简称:cpu)401(例如,一个或一个以上处理器)和存储器402,一个或一个以上存储应用程序404或数据406的存储介质403(例如一个或一个以上海量存储设备)。其中,存储器402和存储介质403可以是短暂存储或持久存储。存储在存储介质403的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理器401可以设置为与存储介质403通信,在装置400上执行存储介质403中的一系列指令操作。装置400还可以包括一个或一个以上电源409,一个或一个以上有线或无线网络接口407,一个或一个以上输入输出接口408,和/或,一个或一个以上操作系统405,例如windowsserver,macosx,unix,linux,freebsd等。处理器,用于读取所述存储器中的指令,实现方法包括:触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定第一差异参数;将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定第二差异参数;根据所述第一差异参数和第二差异参数,调整当前声学模型的模型参数。可选地,处理器用于确定第一差异参数,包括:获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。可选地,处理器用于确定第二差异参数,包括:获取所述当前声学模型输出的唤醒语音识别结果对应的第三概率分布,及所述独热编码对应的第四概率分布;根据所述第三概率分布和第四概率分布的差异确定交叉熵。可选地,处理器用于确定第二差异参数之后,还包括:确定当前声学模型为初始声学模型时,根据所述第二差异参数调整初始声学模型的模型参数。可选地,处理器用于根据所述第二差异参数调整初始声学模型的模型参数,包括:根据第二差异参数确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型。可选地,处理器用于根据所述第一差异参数和所述第二差异参数,调整当前声学模型的模型参数,包括:根据所述第一差异参数和所述第二差异参数,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。可选地,处理器用于所述初始语音特征数据或新语音特征数据包括如下至少一种:梅尔倒谱系数mfcc特征数据;感知线性预测plp特征数据;梅尔标度滤波fbank特征数据。可选地,处理器用于获取当前声学模型能够识别的唤醒语音对应的独热编码,包括:获取当前声学模型能够识别的预置唤醒语音信息;将所述预置唤醒语音信息输入到asr语音模型,根据所述asr语音模型的识别结果,确定当前声学模型能够识别的语音单元对应的独热编码,所述语音单元包括音素状态、音素和单词中的至少一种。本发明实施例提供一种训练唤醒模型的装置,如图5所示,所述装置包括如下模块:训练集获取模块501,在触发模型训练时,获取第一训练集和第二训练集,所述第一训练集包括用于训练初始声学模型的初始语音特征数据,所述第二训练集包括声学模型在唤醒语音识别过程中,对应的漏唤醒/误唤醒语音的新语音特征数据;第一差异参数确定模块502,用于将所述第一训练集分别输入到初始声学模型和当前声学模型,通过对比所述初始声学模型和当前声学模型的输出结果,确定第一差异参数;第二差异参数确定模块503,用于将所述第二训练集输入当前声学模型,通过对比所述当前声学模型的输出结果和当前声学模型能够识别的唤醒语音对应的独热编码,确定第二差异参数;模型调整模块504,用于根据所述第一差异参数和第二差异参数,调整当前声学模型的模型参数。可选地,第一差异参数确定模块502用于确定第一差异参数,包括:获取所述初始声学模型输出的唤醒语音识别结果对应的第一概率分布,及所述当前声学模型输出的唤醒语音识别结果对应的第二概率分布;根据所述第一概率分布和第二概率分布的差异确定相对熵。可选地,第二差异参数确定模块503用于确定第二差异参数,包括:获取所述当前声学模型输出的唤醒语音识别结果对应的第三概率分布,及所述独热编码对应的第四概率分布;根据所述第三概率分布和第四概率分布的差异确定交叉熵。可选地,当前声学模型确定模块505用于确定第二差异参数之后,还包括:确定当前声学模型为初始声学模型时,根据所述第二差异参数调整初始声学模型的模型参数。可选地,当前声学模型确定模块505用于根据所述第二差异参数调整初始声学模型的模型参数,包括:根据第二差异参数确定用于调整初始声学模型的损失函数,利用所述损失函数调整初始声学模型中各网络层的参数,得到当前声学模型。可选地,模型调整模块504用于根据所述第一差异参数和所述第二差异参数,调整当前声学模型的模型参数,包括:根据所述第一差异参数和所述第二差异参数,确定用于调整当前声学模型的损失函数,利用所述损失函数调整当前声学模型中各网络层的参数。可选地,所述初始语音特征数据或新语音特征数据包括如下至少一种:梅尔倒谱系数mfcc特征数据;感知线性预测plp特征数据;梅尔标度滤波fbank特征数据。可选地,第二差异参数确定模块503用于获取当前声学模型能够识别的唤醒语音对应的独热编码,包括:获取当前声学模型能够识别的预置唤醒语音信息;将所述预置唤醒语音信息输入到asr语音模型,根据所述asr语音模型的识别结果,确定当前声学模型能够识别的语音单元对应的独热编码,所述语音单元包括音素状态、音素和单词中的至少一种。本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述实施例中提供的任一项所述的一种训练唤醒模型的方法。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1