语音唤醒混合模型的训练方法、使用方法和相关设备与流程
本申请涉及语音唤醒技术领域,特别涉及一种语音唤醒混合模型的训练方法、使用方法和相关设备。
背景技术:
现有的语音唤醒技术中,有基于传统gmm-hmm(高斯混合模型-隐马尔可夫模型)的方法,利用单音素或者三音素作为hmm(隐马尔可夫模型)隐藏状态,在得到声音序列信号后,通过解码得到最优的状态序列,来判断语音信号中是否有目标关键词,该方法实现复杂,同时需要样本有详细标注信息,数据获取成本高,且效果并不理想,对集外词拒识差;另外一些基于dnn(深度神经网络)的端到端方法,实现流程较简单,效果比传统方法好,但是模型一般比较大,无法在端侧设备上部署,而模型较小时,对不完整的唤醒词误唤醒率较高,在噪声环境下的唤醒率低。
技术实现要素:
本申请的主要目的为提供一种语音唤醒混合模型的训练方法、使用方法和相关设备,旨在解决现有语音唤醒技术的复杂度较高、唤醒率低的弊端。
为实现上述目的,本申请提供了一种语音唤醒混合模型的训练方法,包括:
获取预处理样本集,所述预处理样本集包含多个干净唤醒样本和带噪样本;
将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出;
使用特征变换网络对所述分离输出进行特征提取,得到声学特征;
将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数;
根据所述第一损失函数和第二损失函数计算得到综合损失函数;
使用所述综合损失函数进行反向传播,分别训练得到所述语音分离网络、所述特征变换网络和所述唤醒词检测网络的权值参数,以完成所述语音唤醒混合模型的训练。
进一步的,所述获取预处理样本集的步骤,包括:
获取干净唤醒样本集,所述干净唤醒样本集包含多个所述干净唤醒样本;
对各所述干净唤醒样本进行随机信噪比加噪和/或加混响,得到多个带噪样本;
综合所述干净唤醒样本和所述带噪样本,得到所述预处理样本集。
进一步的,所述将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出的步骤,包括:
对各所述干净唤醒样本和各所述带噪样本分别进行短时傅里叶变换,得到各所述干净唤醒样本的干净log功率谱和各所述带噪样本的带噪log功率谱;
将各所述干净log功率谱和各所述带噪log功率谱输入所述语音分离网络,得到所述第一损失函数和所述分离输出。
进一步的,所述干净唤醒样本包含唤醒词,所述将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数的步骤,包括:
使用vad和gmm-hmm将所述干净唤醒样本中的语音帧和对应的标签进行对齐;
在对齐后的所述干净唤醒样本中,将所述唤醒词结束后的预设帧的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签;
将所述声学特征和所述帧标签输入唤醒词检测网络,计算得到第二损失函数。
进一步的,所述根据所述第一损失函数和第二损失函数计算得到综合损失函数的步骤,包括:
将所述第一损失函数和所述第二损失函数代入预设公式中,加权计算得到所述综合损失函数,其中,所述预设公式为:
本申请还提供了一种语音唤醒混合模型的使用方法,所述语音唤醒混合模型为上述任一项所述的训练方法得到的语音唤醒混合模型,所述使用方法包括:
获取待识别音频;
将所述待识别音频输入所述语音唤醒混合模型内,得到唤醒概率;
判断所述唤醒概率是否大于阈值;
若所述唤醒概率大于阈值,则判定从所述待识别音频中识别到唤醒词。
进一步的,所述判定从所述待识别音频中识别到唤醒词的步骤之后,包括:
输出唤醒信息,并根据所述唤醒信息执行对应的动作。
本申请还提供了一种语音唤醒混合模型的训练装置,包括:
第一获取模块,用于获取预处理样本集,所述预处理样本集包含多个干净唤醒样本和带噪样本;
第一处理模块,用于将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出;
提取模块,用于使用特征变换网络对所述分离输出进行特征提取,得到声学特征;
第二处理模块,用于将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数;
计算模块,用于根据所述第一损失函数和第二损失函数计算得到综合损失函数;
训练模块,用于使用所述综合损失函数进行反向传播,分别训练得到所述语音分离网络、所述特征变换网络和所述唤醒词检测网络的权值参数,以完成所述语音唤醒混合模型的训练。
进一步的,所述第一获取模块,包括:
获取单元,用于获取干净唤醒样本集,所述干净唤醒样本集包含多个所述干净唤醒样本;
扩充单元,用于对各所述干净唤醒样本进行随机信噪比加噪和/或加混响,得到多个带噪样本;
综合单元,用于综合所述干净唤醒样本和所述带噪样本,得到所述预处理样本集。
进一步的,所述第一处理模块,包括:
变换单元,用于对各所述干净唤醒样本和各所述带噪样本分别进行短时傅里叶变换,得到各所述干净唤醒样本的干净log功率谱和各所述带噪样本的带噪log功率谱;
处理单元,用于将各所述干净log功率谱和各所述带噪log功率谱输入所述语音分离网络,得到所述第一损失函数和所述分离输出。
进一步的,所述干净唤醒样本包含唤醒词,所述第二处理模块,包括:
对齐单元,用于使用vad和gmm-hmm将所述干净唤醒样本中的语音帧和对应的标签进行对齐;
设置单元,用于在对齐后的所述干净唤醒样本中,将所述唤醒词结束后的预设帧的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签;
计算单元,用于将所述声学特征和所述帧标签输入唤醒词检测网络,计算得到第二损失函数。
进一步的,所述计算模块,包括:
计算单元,用于将所述第一损失函数和所述第二损失函数代入预设公式中,加权计算得到所述综合损失函数,其中,所述预设公式为:
本申请还提供了一种语音唤醒混合模型的使用装置,所述语音唤醒混合模型为上述任一项所述的训练方法得到的语音唤醒混合模型,所述使用装置包括:
第二获取模块,用于获取待识别音频;
输入模块,用于将所述待识别音频输入所述语音唤醒混合模型内,得到唤醒概率;
判断模块,用于判断所述唤醒概率是否大于阈值;
判定模块,用于若所述唤醒概率大于阈值,则判定从所述待识别音频中识别到唤醒词。
进一步的,所述识别装置,还包括:
输出模块,用于输出唤醒信息,并根据所述唤醒信息执行对应的动作。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的一种语音唤醒混合模型的训练方法、使用方法和相关设备,模型训练时,首先对干净唤醒样本集进行预处理,得到预处理样本集。将预处理干净唤醒样本集中各样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出。再使用特征变换网络对分离输出进行特征提取,得到声学特征。系统将声学特征和干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数,并根据第一损失函数和第二损失函数计算得到综合损失函数。最后使用综合损失函数进行反向传播,分别训练得到语音分离网络、特征变换网络和唤醒词检测网络的权值参数,以完成语音唤醒混合模型的训练。模型在使用时,将待识别音频输入语音唤醒混合模型内,直接得到唤醒概率。在唤醒概率大于阈值时,则判定从待识别音频中识别到唤醒词。本申请在模型训练过程中,所使用的的分离网络仅仅使用包含有唤醒词内容的样本进行训练,训练后的网络只识别唤醒词内容,非唤醒词内容、包括其它的说话语音都将被抑制,该分离网络能大大降低后一级唤醒网络的性能要求,使后一级能设计体积更小的唤醒网路。同时,本申请将语音分离网络以及唤醒词检测网络统一到一个框架中,用联合优化的方法,使模型能同时学习到最优的分离和唤醒网络参数,有效提高唤醒率。
附图说明
图1是本申请一实施例中语音唤醒混合模型的训练方法步骤示意图;
图2是本申请一实施例中语音唤醒混合模型的使用方法步骤示意图;
图3是本申请一实施例中语音唤醒混合模型的训练装置整体结构框图;
图4是本申请一实施例中语音唤醒混合模型的使用装置整体结构框图;
图5是本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种语音唤醒混合模型的训练方法,包括:
s1:获取获取预处理样本集,所述预处理样本集包含多个干净唤醒样本和带噪样本;
s2:将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出;
s3:使用特征变换网络对所述分离输出进行特征提取,得到声学特征;
s4:将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数;
s5:根据所述第一损失函数和第二损失函数计算得到综合损失函数;
s6:使用所述综合损失函数进行反向传播,分别训练得到所述语音分离网络、所述特征变换网络和所述唤醒词检测网络的权值参数,以完成所述语音唤醒混合模型的训练。
本实施例中,开发人员将收集的干净唤醒样本集(干净唤醒样本集包含多个干净唤醒样本)输入到系统内,其中,干净唤醒样本为包含有唤醒词内容的音频片段,干净唤醒样本为干净样本,即不包含噪声。系统在接收到干净唤醒样本后,对干净唤醒样本集进行预处理,实现对样本数量的扩充,得到预处理样本集。具体地,系统通过对各干净样本进行随机信噪比加噪加混响进行扩充,比如一个干净样本音频,加噪声混合,生成一条新的样本音频,这样就有2条样本音频了,其中,新的样本音频为带噪正样本,原来的干净样本集加上带噪样本集组成预处理样本集。系统对各个干净唤醒样本和各个带噪样本分别进行短时傅里叶变换,从而得到各个干净唤醒样本的干净log功率谱和各个带噪样本的带噪log功率谱。系统将各个干净log功率谱和带噪log功率谱输入语音分离网络,得到第一损失函数和分离输出。其中,第一损失函数是表征语音分离网络的输出结果和正确结果之间的差距,而分离输出是经过降噪、分离后的音频信号。系统将分离输出输入到特征变换网络中进行特征提取,根据自身的学习结果从分离输出中提取得到对应的声学特征。本实施例中的特征变换网络为线性变换网络,从前一级网络输出自动学习到最有利的声学特征。线性变换方式为:
进一步的,所述获取预处理样本集的步骤,包括:
s101:获取干净唤醒样本集,所述干净唤醒样本集包含多个所述干净唤醒样本;
s102:对各所述干净唤醒样本进行随机信噪比加噪和/或加混响,得到多个带噪样本;
s103:综合所述干净唤醒样本和所述带噪样本,得到所述预处理样本。
本实施例中,为了扩充样本,系统对干净唤醒样本集中的干净样本进行随机信噪比加噪和/或加混响进行扩充,比如一个干净样本音频,加噪声混合,生成一条新的样本音频,这样就有2条样本音频了,其中,新的样本音频为带噪正样本,原来的所有干净样本加上带噪样本组成预处理样本集。
进一步的,所述将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出的步骤,包括:
s201:对各所述干净唤醒样本和各所述带噪样本分别进行短时傅里叶变换,得到各所述干净唤醒样本的干净log功率谱和各所述带噪样本的带噪log功率谱;
s202:将各所述干净log功率谱和各所述带噪log功率谱输入所述语音分离网络,得到所述第一损失函数和所述分离输出。
本实施例中,系统对预处理样本集中的各个干净唤醒样本和带噪样本分别进行短时傅里叶变换,得到各个干净唤醒样本分别对应的干净log功率谱和各个带噪样本分别对应的带噪log功率谱。然后,将所有的干净log功率谱和带噪log功率谱输入语音分离网络,得到第一损失函数和分离输出。其中,语音分离网络为一个rnn网络,输入大小维度为(batchsize,n,feature_size),其中batchsize为批处理大小,训练时为一个较大的值,推理测试时为1;n为一个样本的帧数,同样训练的时候为一个变化的数值,推理测试时为1,保证实际使用的时候为帧流式输入;feature_size为输入特征大小,如本实施例中使用161维向量。语音分离网络的输出为抑制非唤醒词以外声音的增强语音(即唤醒词的增强语音),维度大小同样为(batchsize,n,feature_size)。
进一步的,所述干净唤醒样本包含唤醒词,所述将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数的步骤,包括:
s401:使用vad和gmm-hmm将所述干净唤醒样本中的语音帧和对应的标签进行对齐;
s402:在对齐后的所述干净唤醒样本中,将所述唤醒词结束后的预设帧的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签;
s403:将所述声学特征和所述帧标签输入唤醒词检测网络,计算得到第二损失函数。
本实施例中,系统使用vad和gmm-hmm将干净唤醒样本中的语音帧和对应的标签进行对齐,并在对齐后的干净唤醒样本中,将唤醒词结束后的预设帧(比如结束后的t帧,t的值由开发人员设定,其取值不做限制)的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签。其中,vad/gmm-hmm对齐是获得音素标签,标签设置则是获取0/1标签。系统使用vad加上gmm-hmm联合打分的方法计算帧标签,将唤醒词结束后的t帧标签设置为1,其它位置的帧标签设置为0。该方法避免了传统音素标注的繁重操作,只要求在唤醒词结束后出现标签1,其余位置都为0,大大降低了对gmm-hmm/vad自身的准确度要求。同时,相比较端到端方法里的单一标签,本方法依旧保留了关键词在语音段中的位置信息,可以保证设计出逐帧流式输入的分离和唤醒网络,能有效提升网络训练的收敛速度,显著降低实际使用的误唤醒情况。系统将声学特征和帧标签输入唤醒词检测网络,计算得到第二损失函数。本实施例中,为了保证整体模型的复杂度以及联合优化效果,唤醒词检测网络与语音分离模型的网络类型一致,同样为一个rnn网络,唤醒词检测网络与语音分离模型的rnn网络最优层数以及隐藏单元等参数通过在数据集上进行网格搜索得到。
进一步的,所述根据所述第一损失函数和第二损失函数计算得到综合损失函数的步骤,包括:
s501:将所述第一损失函数和所述第二损失函数代入预设公式中,加权计算得到所述综合损失函数,其中,所述预设公式为:
本实施例中,系统将第一损失函数和第二损失函数代入预设公式中进行加权计算,从而得到语音分离网络和唤醒词检测网络两者的综合损失函数。其中,预设公式为:
参照图2,本申请一实施例中还提供了一种语音唤醒混合模型的使用方法,所述语音唤醒混合模型为上述任一项所述的训练方法得到的语音唤醒混合模型,所述使用方法包括:
a1:获取待识别音频;
a2:将所述待识别音频输入所述语音唤醒混合模型内,得到唤醒概率;
a3:判断所述唤醒概率是否大于阈值;
a4:若所述唤醒概率大于阈值,则判定从所述待识别音频中识别到唤醒词。
本实施例中,上述训练所得的语音唤醒混合模型在应用时,系统获取到用户输入的待识别音频后,将待识别音频输入语音唤醒混合模型内。待识别音频经短时傅里叶变换提取得到对应的待识别log功率谱,待识别log功率谱依次送入语音分离网络、特征变换网络和唤醒词检测网络,计算得到唤醒输出,该唤醒输出即为唤醒概率,具体为一个一维概率值,表示截止到当前帧(即从待识别音频中)检测到唤醒词的概率值。系统内设置有阈值,在得到唤醒概率后,将唤醒概率与阈值进行比较,判断两者之间的大小关系。如果唤醒概率小于阈值,则判定当前次没有从待识别音频中识别到唤醒词。如果唤醒概率大于阈值,则系统判定从待识别音频中识别到唤醒词。本实施例中,通过使用上述的语音唤醒混合模型来识别待识别音频中的唤醒词,能够在噪声环境下实现对唤醒词的识别,大幅度提高了部署有语音唤醒混合模型的系统的唤醒率。
进一步的,所述判定从所述待识别音频中识别到唤醒词的步骤之后,包括:
a5:输出唤醒信息,并根据所述唤醒信息执行对应的动作。
本实施例中,系统在判定从待识别音频中识别到唤醒词后,输出唤醒信息,并根据唤醒信息执行对应的动作。比如,当前部署有语音唤醒混合模型是应用于智能家电系统,在从用户所发出的语音指令(即待识别音频)中识别到唤醒次后,会根据唤醒词开启相应的家电设备,比如空调、音箱等。
本实施例提供的一种语音唤醒混合模型的训练方法和使用方法,模型训练时,首先对干净唤醒样本集进行预处理,得到预处理样本集。将预处理干净唤醒样本集中各样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出。再使用特征变换网络对分离输出进行特征提取,得到声学特征。系统将声学特征和干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数,并根据第一损失函数和第二损失函数计算得到综合损失函数。最后使用综合损失函数进行反向传播,分别训练得到语音分离网络、特征变换网络和唤醒词检测网络的权值参数,以完成语音唤醒混合模型的训练。模型在使用时,将待识别音频输入语音唤醒混合模型内,直接得到唤醒概率。在唤醒概率大于阈值时,则判定从待识别音频中识别到唤醒词。本申请在模型训练过程中,所使用的的分离网络仅仅使用包含有唤醒词内容的样本进行训练,训练后的网络只识别唤醒词内容,非唤醒词内容、包括其它的说话语音都将被抑制,该分离网络能大大降低后一级唤醒网络的性能要求,使后一级能设计体积更小的唤醒网路。同时,本申请将语音分离网络以及唤醒词检测网络统一到一个框架中,用联合优化的方法,使模型能同时学习到最优的分离和唤醒网络参数,有效提高唤醒率。
参照图3,本申请一实施例中还提供了一种语音唤醒混合模型的训练装置,包括:
第一获取模块z1,用于获取预处理样本集,所述预处理样本集包含多个干净唤醒样本和带噪样本;
第一处理模块z2,用于将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出;
提取模块z3,用于使用特征变换网络对所述分离输出进行特征提取,得到声学特征;
第二处理模块z4,用于将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数;
计算模块z5,用于根据所述第一损失函数和第二损失函数计算得到综合损失函数;
训练模块z6,用于使用所述综合损失函数进行反向传播,分别训练得到所述语音分离网络、所述特征变换网络和所述唤醒词检测网络的权值参数,以完成所述语音唤醒混合模型的训练。
本实施例中,开发人员将收集的干净唤醒样本集(干净唤醒样本集包含多个干净唤醒样本)输入到系统内,其中,干净唤醒样本为包含有唤醒词内容的音频片段,干净唤醒样本为干净样本,即不包含噪声。系统在接收到干净唤醒样本后,对干净唤醒样本集进行预处理,实现对样本数量的扩充,得到预处理样本集。具体地,系统通过对各干净样本进行随机信噪比加噪加混响进行扩充,比如一个干净样本音频,加噪声混合,生成一条新的样本音频,这样就有2条样本音频了,其中,新的样本音频为带噪正样本,原来的干净样本集加上带噪样本集组成预处理样本集。系统对各个干净唤醒样本和各个带噪样本分别进行短时傅里叶变换,从而得到各个干净唤醒样本的干净log功率谱和各个带噪样本的带噪log功率谱。系统将各个干净log功率谱和带噪log功率谱输入语音分离网络,得到第一损失函数和分离输出。其中,第一损失函数是表征语音分离网络的输出结果和正确结果之间的差距,而分离输出是经过降噪、分离后的音频信号。系统将分离输出输入到特征变换网络中进行特征提取,根据自身的学习结果从分离输出中提取得到对应的声学特征。本实施例中的特征变换网络为线性变换网络,从前一级网络输出自动学习到最有利的声学特征。线性变换方式为:
进一步的,所述第一获取模块z1,包括:
获取单元,用于获取干净唤醒样本集,所述干净唤醒样本集包含多个所述干净唤醒样本;
扩充单元,用于对各所述干净唤醒样本进行随机信噪比加噪和/或加混响,得到多个带噪样本;
综合单元,用于综合所述干净唤醒样本和所述带噪样本,得到所述预处理样本集。
本实施例中,为了扩充样本,系统对干净唤醒样本集中的干净样本进行随机信噪比加噪和/或加混响进行扩充,比如一个干净样本音频,加噪声混合,生成一条新的样本音频,这样就有2条样本音频了,其中,新的样本音频为带噪正样本,原来的所有干净样本加上带噪样本组成预处理样本集。
进一步的,所述第一处理模块z2,包括:
变换单元,用于对各所述干净唤醒样本和各所述带噪样本分别进行短时傅里叶变换,得到各所述干净唤醒样本的干净log功率谱和各所述带噪样本的带噪log功率谱;
处理单元,用于将各所述干净log功率谱和各所述带噪log功率谱输入所述语音分离网络,得到所述第一损失函数和所述分离输出。
本实施例中,系统对预处理样本集中的各个干净唤醒样本和带噪样本分别进行短时傅里叶变换,得到各个干净唤醒样本分别对应的干净log功率谱和各个带噪样本分别对应的带噪log功率谱。然后,将所有的干净log功率谱和带噪log功率谱输入语音分离网络,得到第一损失函数和分离输出。其中,语音分离网络为一个rnn网络,输入大小维度为(batchsize,n,feature_size),其中batchsize为批处理大小,训练时为一个较大的值,推理测试时为1;n为一个样本的帧数,同样训练的时候为一个变化的数值,推理测试时为1,保证实际使用的时候为帧流式输入;feature_size为输入特征大小,如本实施例中使用161维向量。语音分离网络的输出为抑制非唤醒词以外声音的增强语音(即唤醒词的增强语音),维度大小同样为(batchsize,n,feature_size)。
进一步的,所述干净唤醒样本包含唤醒词,所述第二处理模块z4,包括:
对齐单元,用于使用vad和gmm-hmm将所述干净唤醒样本中的语音帧和对应的标签进行对齐;
设置单元,用于在对齐后的所述干净唤醒样本中,将所述唤醒词结束后的预设帧的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签;
计算单元,用于将所述声学特征和所述帧标签输入唤醒词检测网络,计算得到第二损失函数。
本实施例中,系统使用vad和gmm-hmm将干净唤醒样本中的语音帧和对应的标签进行对齐,并在对齐后的干净唤醒样本中,将唤醒词结束后的预设帧(比如结束后的t帧,t的值由开发人员设定,其取值不做限制)的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签。系统使用vad加上gmm-hmm联合打分的方法计算帧标签,将唤醒词结束后的t帧标签设置为1,其它位置的帧标签设置为0。其中,vad/gmm-hmm对齐是获得音素标签,标签设置则是获取0/1标签。该方法避免了传统音素标注的繁重操作,只要求在唤醒词结束后出现标签1,其余位置都为0,大大降低了对gmm-hmm/vad自身的准确度要求。同时,相比较端到端方法里的单一标签,本方法依旧保留了关键词在语音段中的位置信息,可以保证设计出逐帧流式输入的分离和唤醒网络,能有效提升网络训练的收敛速度,显著降低实际使用的误唤醒情况。系统将声学特征和帧标签输入唤醒词检测网络,计算得到第二损失函数。本实施例中,为了保证整体模型的复杂度以及联合优化效果,唤醒词检测网络与语音分离模型的网络类型一致,同样为一个rnn网络,唤醒词检测网络与语音分离模型的rnn网络最优层数以及隐藏单元等参数通过在数据集上进行网格搜索得到。
进一步的,所述计算模块z5,包括:
计算单元,用于将所述第一损失函数和所述第二损失函数代入预设公式中,加权计算得到所述综合损失函数,其中,所述预设公式为:
本实施例中,系统将第一损失函数和第二损失函数代入预设公式中进行加权计算,从而得到语音分离网络和唤醒词检测网络两者的综合损失函数。其中,预设公式为:
参照图4,本申请一实施例中还提供了一种语音唤醒混合模型的使用装置,所述语音唤醒混合模型为上述任一项所述的训练方法得到的语音唤醒混合模型,所述使用装置包括:
第二获取模块b1,用于获取待识别音频;
输入模块b2,用于将所述待识别音频输入所述语音唤醒混合模型内,得到唤醒概率;
判断模块b3,用于判断所述唤醒概率是否大于阈值;
判定模块b4,用于若所述唤醒概率大于阈值,则判定从所述待识别音频中识别到唤醒词。
本实施例中,上述训练所得的语音唤醒混合模型在应用时,系统获取到用户输入的待识别音频后,将待识别音频输入语音唤醒混合模型内。待识别音频经短时傅里叶变换提取得到对应的待识别log功率谱,待识别log功率谱依次送入语音分离网络、特征变换网络和唤醒词检测网络,计算得到唤醒输出,该唤醒输出即为唤醒概率,具体为一个一维概率值,表示截止到当前帧(即从待识别音频中)检测到唤醒词的概率值。系统内设置有阈值,在得到唤醒概率后,将唤醒概率与阈值进行比较,判断两者之间的大小关系。如果唤醒概率小于阈值,则判定当前次没有从待识别音频中识别到唤醒词。如果唤醒概率大于阈值,则系统判定从待识别音频中识别到唤醒词。本实施例中,通过使用上述的语音唤醒混合模型来识别待识别音频中的唤醒词,能够在噪声环境下实现对唤醒词的识别,大幅度提高了部署有语音唤醒混合模型的系统的唤醒率。
进一步的,所述识别装置,还包括:
输出模块b5,用于输出唤醒信息,并根据所述唤醒信息执行对应的动作。
本实施例中,系统在判定从待识别音频中识别到唤醒词后,输出唤醒信息,并根据唤醒信息执行对应的动作。比如,当前部署有语音唤醒混合模型是应用于智能家电系统,在从用户所发出的语音指令(即待识别音频)中识别到唤醒次后,会根据唤醒词开启相应的家电设备,比如空调、音箱等。
本实施例提供的一种语音唤醒混合模型的训练装置和使用装置,模型训练时,首先对干净唤醒样本集进行预处理,得到预处理样本集。将预处理干净唤醒样本集中各样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出。再使用特征变换网络对分离输出进行特征提取,得到声学特征。系统将声学特征和干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数,并根据第一损失函数和第二损失函数计算得到综合损失函数。最后使用综合损失函数进行反向传播,分别训练得到语音分离网络、特征变换网络和唤醒词检测网络的权值参数,以完成语音唤醒混合模型的训练。模型在使用时,将待识别音频输入语音唤醒混合模型内,直接得到唤醒概率。在唤醒概率大于阈值时,则判定从待识别音频中识别到唤醒词。本申请在模型训练过程中,所使用的的分离网络仅仅使用包含有唤醒词内容的样本进行训练,训练后的网络只识别唤醒词内容,非唤醒词内容、包括其它的说话语音都将被抑制,该分离网络能大大降低后一级唤醒网络的性能要求,使后一级能设计体积更小的唤醒网路。同时,本申请将语音分离网络以及唤醒词检测网络统一到一个框架中,用联合优化的方法,使模型能同时学习到最优的分离和唤醒网络参数,有效提高唤醒率。
参照图5,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设公式等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音唤醒混合模型的训练方法和使用方法。
其中,上述处理器执行上述语音唤醒混合模型的训练方法的步骤:
s1:获取获取预处理样本集,所述预处理样本集包含多个干净唤醒样本和带噪样本;
s2:将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出;
s3:使用特征变换网络对所述分离输出进行特征提取,得到声学特征;
s4:将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数;
s5:根据所述第一损失函数和第二损失函数计算得到综合损失函数;
s6:使用所述综合损失函数进行反向传播,分别训练得到所述语音分离网络、所述特征变换网络和所述唤醒词检测网络的权值参数,以完成所述语音唤醒混合模型的训练。
进一步的,所述获取预处理样本集的步骤,包括:
s101:获取干净唤醒样本集,所述干净唤醒样本集包含多个所述干净唤醒样本;
s102:对各所述干净唤醒样本进行随机信噪比加噪和/或加混响,得到多个带噪样本;
s103:综合所述干净唤醒样本和所述带噪样本,得到所述预处理样本。
进一步的,所述将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出的步骤,包括:
s201:对各所述干净唤醒样本和各所述带噪样本分别进行短时傅里叶变换,得到各所述干净唤醒样本的干净log功率谱和各所述带噪样本的带噪log功率谱;
s202:将各所述干净log功率谱和各所述带噪log功率谱输入所述语音分离网络,得到所述第一损失函数和所述分离输出。
进一步的,所述干净唤醒样本包含唤醒词,所述将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数的步骤,包括:
s401:使用vad和gmm-hmm将所述干净唤醒样本中的语音帧和对应的标签进行对齐;
s402:在对齐后的所述干净唤醒样本中,将所述唤醒词结束后的预设帧的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签;
s403:将所述声学特征和所述帧标签输入唤醒词检测网络,计算得到第二损失函数。
进一步的,所述根据所述第一损失函数和第二损失函数计算得到综合损失函数的步骤,包括:
s501:将所述第一损失函数和所述第二损失函数代入预设公式中,加权计算得到所述综合损失函数,其中,所述预设公式为:
上述处理器执行上述语音唤醒混合模型的使用方法的步骤:
a1:获取待识别音频;
a2:将所述待识别音频输入所述语音唤醒混合模型内,得到唤醒概率;
a3:判断所述唤醒概率是否大于阈值;
a4:若所述唤醒概率大于阈值,则判定从所述待识别音频中识别到唤醒词。
进一步的,所述判定从所述待识别音频中识别到唤醒词的步骤之后,包括:
a5:输出唤醒信息,并根据所述唤醒信息执行对应的动作。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种语音唤醒混合模型的训练方法和使用方法,其中,所述训练方法具体为:
s1:获取获取预处理样本集,所述预处理样本集包含多个干净唤醒样本和带噪样本;
s2:将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出;
s3:使用特征变换网络对所述分离输出进行特征提取,得到声学特征;
s4:将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数;
s5:根据所述第一损失函数和第二损失函数计算得到综合损失函数;
s6:使用所述综合损失函数进行反向传播,分别训练得到所述语音分离网络、所述特征变换网络和所述唤醒词检测网络的权值参数,以完成所述语音唤醒混合模型的训练。
进一步的,所述获取预处理样本集的步骤,包括:
s101:获取干净唤醒样本集,所述干净唤醒样本集包含多个所述干净唤醒样本;
s102:对各所述干净唤醒样本进行随机信噪比加噪和/或加混响,得到多个带噪样本;
s103:综合所述干净唤醒样本和所述带噪样本,得到所述预处理样本。
进一步的,所述将各所述干净唤醒样本和各所述带噪样本的log功率谱特征输入语音分离网络,得到第一损失函数和分离输出的步骤,包括:
s201:对各所述干净唤醒样本和各所述带噪样本分别进行短时傅里叶变换,得到各所述干净唤醒样本的干净log功率谱和各所述带噪样本的带噪log功率谱;
s202:将各所述干净log功率谱和各所述带噪log功率谱输入所述语音分离网络,得到所述第一损失函数和所述分离输出。
进一步的,所述干净唤醒样本包含唤醒词,所述将所述声学特征和所述干净唤醒样本的帧标签输入唤醒词检测网络,得到第二损失函数的步骤,包括:
s401:使用vad和gmm-hmm将所述干净唤醒样本中的语音帧和对应的标签进行对齐;
s402:在对齐后的所述干净唤醒样本中,将所述唤醒词结束后的预设帧的标签设置为1,其余帧的标签设置为0,得到所述干净唤醒样本的帧标签;
s403:将所述声学特征和所述帧标签输入唤醒词检测网络,计算得到第二损失函数。
进一步的,所述根据所述第一损失函数和第二损失函数计算得到综合损失函数的步骤,包括:
s501:将所述第一损失函数和所述第二损失函数代入预设公式中,加权计算得到所述综合损失函数,其中,所述预设公式为:
所述使用方法具体为:
a1:获取待识别音频;
a2:将所述待识别音频输入所述语音唤醒混合模型内,得到唤醒概率;
a3:判断所述唤醒概率是否大于阈值;
a4:若所述唤醒概率大于阈值,则判定从所述待识别音频中识别到唤醒词。
进一步的,所述判定从所述待识别音频中识别到唤醒词的步骤之后,包括:
a5:输出唤醒信息,并根据所述唤醒信息执行对应的动作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除