CN112365885B - 唤醒模型的训练方法、装置和计算机设备 - Google Patents
唤醒模型的训练方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN112365885B CN112365885B CN202110059722.4A CN202110059722A CN112365885B CN 112365885 B CN112365885 B CN 112365885B CN 202110059722 A CN202110059722 A CN 202110059722A CN 112365885 B CN112365885 B CN 112365885B
- Authority
- CN
- China
- Prior art keywords
- model
- training
- awakening
- difference
- spatial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009467 reduction Effects 0.000 claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 103
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 4
- 230000000644 propagated effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000013140 knowledge distillation Methods 0.000 abstract description 25
- 230000000694 effects Effects 0.000 abstract description 10
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013145 classification model Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0264—Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请涉及人工智能领域,揭示了唤醒模型的训练方法,包括:对训练集中指定语音语句提取音频帧得到声学特征矩阵;将声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将声学特征矩阵输入第二模型的编码器中得到第二空间特征,第一模型为待训练的唤醒模型,第二模型为训练好的降噪模型;计算第一空间特征和第二空间特征的空间特征的差异;根据指定语音语句对应的空间特征的差异的计算方式,计算训练集中所有语音语句分别对应的空间特征的差异;根据所有语音语句分别对应的空间特征的差异及唤醒模型预设的交叉熵损失,形成训练唤醒模型的损失函数训练唤醒模型。将高维空间的特征向量作为知识蒸馏样本,辅助训练唤醒模型,提高唤醒效果。
Description
技术领域
本申请涉及人工智能领域,特别是涉及到唤醒模型的训练方法、装置和计算机设备。
背景技术
如何降低误唤醒率一直唤醒模型需要解决的主要问题,一般思路从两个方面入手,一方面在数据集中进行加噪处理,噪声数据包含特定场景的数据或者尽可能多类型的噪声数据,以模拟真实场景;通常噪声数据的数量和类型的增加意味着网络要有更强的学习能力,所以在处理数据时也要在模型结构上设计更有效的网络结构来提升唤醒模型的学习能力。另一方面就是唤醒前增加前处理模块,包括但不限于传统的前端增益放大、去混响、阵列降噪或者深度降噪模型等,先把噪声数据处理干净,降低噪声等异常数据对唤醒模型影响。但目前由于唤醒模型通常部署于持续运行的移动设备上,要求体积小且整个唤醒模型的功耗要低,上述两种降低误唤醒率的方法无法适用于小体积的唤醒模型。
发明内容
本申请的主要目的为提供唤醒模型的训练方法,旨在解决现有降低误唤醒率的方法无法适用于小体积的唤醒模型的技术问题。
本申请提出一种唤醒模型的训练方法,包括:
对训练集中指定语音语句提取音频帧,得到声学特征矩阵,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;
计算所述第一空间特征和所述第二空间特征的空间特征的差异;
根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;
根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;
根据所述损失函数在所述训练集上训练所述唤醒模型。
优选地,所述计算所述第一空间特征和所述第二空间特征的空间特征的差异的步骤,包括:
对比所述第一空间特征和所述第二空间特征,得到相似度矩阵;
将所述相似度矩阵,转换为概率值;
根据转化后的概率值计算KL散度损失;
将所述KL散度损失作为所述第一空间特征和所述第二空间特征的空间特征的差异。
优选地,所述根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数的步骤,包括:
根据所述空间特征的差异,计算所述空间特征的差异对应的正则项;
将所述正则项作为第一损失函数;
获取所述唤醒模型预设的交叉熵损失,作为第二损失函数;
对所述第一损失函数和所述第二损失函数求和,得到训练所述唤醒模型的损失函数。
优选地,所述根据所述损失函数在所述训练集上训练所述唤醒模型的步骤,包括:
固定所述降噪模型的编码器参数;
将指定训练数据并行输入所述唤醒模型的关键词检出器,以及所述降噪模型的编码器的参数;
获取所述指定训练数据通过所述唤醒模型的关键词检出器后的第一输出数据,以及所述指定训练数据通过所述降噪模型的编码器后的第二输出数据;
根据所述第一输出数据和所述第二输出数据,更新所述第一损失函数;
将所述第一输出数据输入连接于所述唤醒模型的关键词检出器输出端的全连接层,得到第三输出数据;
通过所述第三输出数据更新所述第二损失函数;
判断更新后的所述唤醒模型的损失函数的函数值是否变小;
若是,则反向传播更新所述唤醒模型的关键词检出器的参数,直至在所述训练集上所述唤醒模型的损失函数的函数值达到最小。
优选地,所述对训练集中指定语音语句提取音频帧,得到声学特征矩阵的步骤,包括:
获取所述唤醒模型对应的批次计算指标;
根据所述批次计算指标确定所述批次处理数量;
按照所述批次处理数量,依次划窗所述指定语音语句提取各音频帧;
将各所述音频帧按照在所述指定语音语句中的时序次序,得到依次排布的声学特征矩阵。
本申请还提供了一种唤醒模型的训练装置,包括:
提取模块,用于对训练集中指定语音语句提取音频帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
输入模块,用于将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;
第一计算模块,用于计算所述第一空间特征和所述第二空间特征的空间特征的差异;
第二计算模块,用于根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;
形成模块,用于根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;
训练模块,用于根据所述损失函数在所述训练集上训练所述唤醒模型。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请将高维特征空间的特征向量作为知识蒸馏样本,并通过空间特征的差异约束知识蒸馏,将训练好的降噪模型编码器的数据对应关系,迁移至小体积的唤醒模型的关键词检出器中,提升唤醒模型在较小体积的局限下对噪声与目标声音的区分能力,使部署于移动终端的唤醒模型的误唤醒率大幅降低,提高唤醒效果。
附图说明
图1 本申请一实施例的唤醒模型的训练方法流程示意图;
图2 本申请一实施例的唤醒模型的训练过程组装示意图;
图3 本申请一实施例的唤醒模型的训练装置结构示意图;
图4 本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的唤醒模型的训练方法,包括:
S1:对训练集中指定语音语句提取音频帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
S2:将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;
S3:计算所述第一空间特征和所述第二空间特征的空间特征的差异;
S4:根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;
S5:根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;
S6:根据所述损失函数在所述训练集上训练所述唤醒模型。
本申请中,唤醒模型为部署于移动设备上的唤醒模型,模型体积小,且对噪声与目标语音的区分度相对较弱,导致误唤醒率高。本申请通过训练好的降噪模型对唤醒模型进行知识蒸馏方式的训练,提高小体积唤醒模型对噪声与目标语音的区分度,降低误唤醒率。降噪模型和唤醒模型并不是两个相同类型的任务模型,唤醒模型是分类模型,降噪模型是生成模型,虽然两者在功能上不一样,且在模型构造和模型复杂度上也有较大差距。但降噪模型和唤醒模型在实现各自任务的过程中,都需要从音频中提取与目标语音相关的特征信息,以排除噪声干扰,本申请基于相同的过程点作为知识蒸馏的切入点,将降噪模型中的部分数据映射关系转移至唤醒模型,辅助唤醒模型的训练。降噪模型的体积较大,对噪声与目标语音的区分度较好,用降噪模型来辅助唤醒模型的训练,提升了唤醒模型在较小体积的局限下对噪声与目标声音的区分能力。
本申请实施例,通过将声学特征矩阵输入唤醒模型的关键词检出器,得到的中间数据态的高维特征空间的特征表达即特征向量,作为知识蒸馏分析样本,来对比将声学特征矩阵输入降噪模型的编码器得到的中间数据态的高维特征空间的特征表达,来计算训练集中各语音语句分别对应的空间特征的差异,通过求和函数将训练集中所有样本中的语音语句分别对应的空间特征的差异进行求和,得到总差异。然后以空间特征的总差异作为知识蒸馏的损失函数,确保将大体积的降噪模型作为老师模型,小体积的唤醒模型作为学生模型,通过知识蒸馏的方式将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型相似的区分噪音的能力,使小体积的唤醒模型具有更好的唤醒效果。本申请实施例中,知识蒸馏和唤醒模型的训练同步进行,知识蒸馏的损失函数和唤醒模型预设的交叉熵损失,共同约束唤醒模型的训练。
如图2所示,图2左侧kws_net 和 fc组成唤醒模型,其中kws_net 表示用于提取高维特征的神经网络,为唤醒模型的关键词检出器,输入音频的声学特征矩阵,输出是高维空间特征,fc是用于分类的全连接层;图2中右侧encode_net是encoder-decoder架构的深度降噪模型的encoder部分,encode_net同样表示用于提取高维特征的神经网络,为降噪模型的编码器,输入音频的声学特征矩阵,输出依然是高维空间特征。
本申请实施例中在唤醒模型的训练过程中,将高维特征空间的特征向量作为知识蒸馏样本,并通过空间特征的差异约束知识蒸馏,将训练好的降噪模型编码器的数据对应关系,迁移至小体积的唤醒模型的关键词检出器中,提升唤醒模型在较小体积的局限下对噪声与目标声音的区分能力,使部署于移动终端的唤醒模型的误唤醒率大幅降低,提高唤醒效果。
进一步地,所述计算所述第一空间特征和所述第二空间特征的空间特征的差异的步骤S3,包括:
S31:对比所述第一空间特征和所述第二空间特征,得到相似度矩阵;
S32:将所述相似度矩阵,转换为概率值;
S33:根据转化后的概率值计算KL散度损失;
S34:将所述KL散度损失作为所述第一空间特征和所述第二空间特征的空间特征的差异。
本申请实施例为缩小计算数值并减小计算量,将相似度用softmax函数或者其它函数转化为[0,1]区间的概率值,然后用KLDiv(Kullback-Leibler Divergence, KL散度)去计算KL散度损失,表示为KLDiv(Teacher, Student),以评估两个空间特征的分布差异。本申请实施例将KLDiv(Teacher, Student)作为知识蒸馏损失kd_loss,即kd_loss=KLDiv(Teacher, Student)。
进一步地,所述根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数的步骤S5,包括:
S51:根据所述空间特征的差异,计算所述空间特征的差异对应的正则项;
S52:将所述正则项作为第一损失函数;
S53:获取所述唤醒模型预设的交叉熵损失,作为第二损失函数;
S54:对所述第一损失函数和所述第二损失函数求和,得到训练所述唤醒模型的损失函数。
本申请实施例中,第一损失函数借鉴知识蒸馏的思想,Kws_net与encode_net各自输出的高维空间特征之间的分布差异性,用KL散度来衡量,记作KLDiv值,然后通过正则策略,得到图2中的正则函数regular_loss,regular_loss=lambda*kd_loss,其中lambda为正则系数,lambda为大于零的实数。
本申请实施例中,唤醒模型为分类模型,分类模型训练时的约束函数为交叉熵损失函数,用ce_loss表示交叉熵损失函数,则本申请实施例在训练唤醒模型时的总损失函数为ce_loss与regular_loss的和,共同约束唤醒模型的训练,表示为:loss = ce_loss +regular_loss。
进一步地,根据所述损失函数在所述训练集上训练所述唤醒模型的步骤S6,包括:
S61:固定所述降噪模型的编码器参数;
S62:将指定训练数据并行输入所述唤醒模型的关键词检出器,以及所述降噪模型的编码器的参数;
S63:获取所述指定训练数据通过所述唤醒模型的关键词检出器后的第一输出数据,以及所述指定训练数据通过所述降噪模型的编码器后的第二输出数据;
S64:根据所述第一输出数据和所述第二输出数据,更新所述第一损失函数;
S65:将所述第一输出数据输入连接于所述唤醒模型的关键词检出器输出端的全连接层,得到第三输出数据;
S66:通过所述第三输出数据更新所述第二损失函数;
S67:判断更新后的所述唤醒模型的损失函数的函数值是否变小;
S68:若是,则反向传播更新所述唤醒模型的关键词检出器的参数,直至在所述训练集上所述唤醒模型的损失函数的函数值达到最小。
本申请实施例中,在训练唤醒模型时,固定图2中右侧encode_net的参数,通过在训练集上逐步缩小损失函数的函数值,并通过梯度下降算法反向传播更新图2中左侧kws_net和fc的权重参数,直至唤醒模型的损失函数的函数值不再变小,即达到最小值时,则判定唤醒模型训练收敛。
进一步地,所述将所述音频帧按照批次处理数量输入第一模型,得到所述音频帧对应的第一特征帧的步骤S2,包括:
S21:获取所述唤醒模型对应的批次计算指标;
S22:根据所述批次计算指标确定所述批次处理数量;
S23:按照所述批次处理数量,依次划窗所述指定语音语句提取各音频帧;
S24:将各所述音频帧按照在所述指定语音语句中的时序次序,得到依次排布的声学特征矩阵。
本申请实施例中经过预加重、降噪等声学处理后,通过加窗提取语音语句对应的音频帧。然后将提取的音频帧按照模型单次的计算吞吐量确定批次处理数据,然后按照批次处理数据的量将音频帧按照在语音语句中的时序次序依次输入唤醒模型。本申请实施例中,训练集中的训练数据包含干净的唤醒语音以及噪声语音,训练时需要使用加噪、加混响等数据增强技术进行数据集扩充,以提高训练效果。
举例地,本申请中的训练数据经声学处理后提取出M帧的音频帧,上述批次处理数量为N帧音频帧,即每N帧音频帧输入唤醒模型的高维特征的神经网络输出P帧高维空间特征,其中1<=N<=M, P<= M,且M,N,P都是大于0的整数,M,N,P的取值由唤醒模型的网络结构决定。
参照图3,本申请一实施例的唤醒模型的训练装置,包括:
提取模块1,用于对训练集中指定语音语句提取音频帧,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
输入模块2,用于将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;
第一计算模块3,用于计算所述第一空间特征和所述第二空间特征的空间特征的差异;
第二计算模块4,用于根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;
形成模块5,用于根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;
训练模块6,用于根据所述损失函数在所述训练集上训练所述唤醒模型。
本申请中,唤醒模型为部署于移动设备上的唤醒模型,模型体积小,且对噪声与目标语音的区分度相对较弱,导致误唤醒率高。本申请通过训练好的降噪模型对唤醒模型进行知识蒸馏方式的训练,提高小体积唤醒模型对噪声与目标语音的区分度,降低误唤醒率。降噪模型和唤醒模型并不是两个相同类型的任务模型,唤醒模型是分类模型,降噪模型是生成模型,虽然两者在功能上不一样,且在模型构造和模型复杂度上也有较大差距。但降噪模型和唤醒模型在实现各自任务的过程中,都需要从音频中提取与目标语音相关的特征信息,以排除噪声干扰,本申请基于相同的过程点作为知识蒸馏的切入点,将降噪模型中的部分数据映射关系转移至唤醒模型,辅助唤醒模型的训练。降噪模型的体积较大,对噪声与目标语音的区分度较好,用降噪模型来辅助唤醒模型的训练,提升了唤醒模型在较小体积的局限下对噪声与目标声音的区分能力。
本申请实施例,通过将声学特征矩阵输入唤醒模型的关键词检出器,得到的中间数据态的高维特征空间的特征表达即特征向量,作为知识蒸馏分析样本,来对比将声学特征矩阵输入降噪模型的编码器得到的中间数据态的高维特征空间的特征表达,来计算训练集中各语音语句分别对应的空间特征的差异,通过求和函数将训练集中所有样本中的语音语句分别对应的空间特征的差异进行求和,得到总差异。然后以空间特征的总差异作为知识蒸馏的损失函数,确保将大体积的降噪模型作为老师模型,小体积的唤醒模型作为学生模型,通过知识蒸馏的方式将老师模型的学习知识迁移至学生模型,使学生模型快速达到与老师模型相似的区分噪音的能力,使小体积的唤醒模型具有更好的唤醒效果。本申请实施例中,知识蒸馏和唤醒模型的训练同步进行,知识蒸馏的损失函数和唤醒模型预设的交叉熵损失,共同约束唤醒模型的训练。
如图2所示,图2左侧kws_net 和 fc组成唤醒模型,其中kws_net 表示用于提取高维特征的神经网络,为唤醒模型的关键词检出器,输入音频的声学特征矩阵,输出是高维空间特征,fc是用于分类的全连接层;图2中右侧encode_net是encoder-decoder架构的深度降噪模型的encoder部分,encode_net同样表示用于提取高维特征的神经网络,为降噪模型的编码器,输入音频的声学特征矩阵,输出依然是高维空间特征。
本申请实施例中在唤醒模型的训练过程中,将高维特征空间的特征向量作为知识蒸馏样本,并通过空间特征的差异约束知识蒸馏,将训练好的降噪模型编码器的数据对应关系,迁移至小体积的唤醒模型的关键词检出器中,提升唤醒模型在较小体积的局限下对噪声与目标声音的区分能力,使部署于移动终端的唤醒模型的误唤醒率大幅降低,提高唤醒效果。
进一步地,第一计算模块3,包括:
对比单元,用于对比所述第一空间特征和所述第二空间特征,得到相似度矩阵;
转换单元,用于将所述相似度矩阵,转换为概率值;
第一计算单元,用于根据转化后的概率值计算KL散度损失;
第一作为单元,用于将所述KL散度损失作为所述第一空间特征和所述第二空间特征的空间特征的差异。
本申请实施例为缩小计算数值并减小计算量,将相似度用softmax函数或者其它函数转化为[0,1]区间的概率值,然后用KLDiv(Kullback-Leibler Divergence, KL散度)去计算KL散度损失,表示为KLDiv(Teacher, Student),以评估两个空间特征的分布差异。本申请实施例将KLDiv(Teacher, Student)作为知识蒸馏损失kd_loss,即kd_loss=KLDiv(Teacher, Student)。
进一步地,形成模块5,包括:
第二计算单元,用于根据所述空间特征的差异,计算所述空间特征的差异对应的正则项;
第二作为单元,用于将所述正则项作为第一损失函数;
第一获取单元,用于获取所述唤醒模型预设的交叉熵损失,作为第二损失函数;
第一得到单元,用于对所述第一损失函数和所述第二损失函数求和,得到训练所述唤醒模型的损失函数。
本申请实施例中,第一损失函数借鉴知识蒸馏的思想,Kws_net与encode_net各自输出的高维空间特征之间的分布差异性,用KL散度来衡量,记作KLDiv值,然后通过正则策略,得到图2中的正则函数regular_loss,regular_loss=lambda*kd_loss,其中lambda为正则系数,lambda为大于零的实数。
本申请实施例中,唤醒模型为分类模型,分类模型训练时的约束函数为交叉熵损失函数,用ce_loss表示交叉熵损失函数,则本申请实施例在训练唤醒模型时的总损失函数为ce_loss与regular_loss的和,共同约束唤醒模型的训练,表示为:loss = ce_loss +regular_loss。
进一步地,训练模块6,包括:
固定单元,用于固定所述降噪模型的编码器参数;
输入单元,用于将指定训练数据并行输入所述唤醒模型的关键词检出器,以及所述降噪模型的编码器的参数;
第二获取单元,用于获取所述指定训练数据通过所述唤醒模型的关键词检出器后的第一输出数据,以及所述指定训练数据通过所述降噪模型的编码器后的第二输出数据;
第一更新单元,用于根据所述第一输出数据和所述第二输出数据,更新所述第一损失函数;
第二得到单元,用于将所述第一输出数据输入连接于所述唤醒模型的关键词检出器输出端的全连接层,得到第三输出数据;
第二更新单元,用于通过所述第三输出数据更新所述第二损失函数;
判断单元,用于判断更新后的所述唤醒模型的损失函数的函数值是否变小;
第三更新单元,用于若变小,则反向传播更新所述唤醒模型的关键词检出器的参数,直至在所述训练集上所述唤醒模型的损失函数的函数值达到最小。
本申请实施例中,在训练唤醒模型时,固定图2中右侧encode_net的参数,通过在训练集上逐步缩小损失函数的函数值,并通过梯度下降算法反向传播更新图2中左侧kws_net和fc的权重参数,直至唤醒模型的损失函数的函数值不再变小,即达到最小值时,则判定唤醒模型训练收敛。
进一步地,输入模块2,包括:
第三获取单元,用于获取所述唤醒模型对应的批次计算指标;
第三计算单元,用于根据所述批次计算指标确定所述批次处理数量;
提取单元,用于按照所述批次处理数量,依次划窗所述指定语音语句提取各音频帧;
第三得到单元,用于将各所述音频帧按照在所述指定语音语句中的时序次序,得到依次排布的声学特征矩阵。
本申请实施例中经过预加重、降噪等声学处理后,通过加窗提取语音语句对应的音频帧。然后将提取的音频帧按照模型单次的计算吞吐量确定批次处理数据,然后按照批次处理数据的量将音频帧按照在语音语句中的时序次序依次输入唤醒模型。本申请实施例中,训练集中的训练数据包含干净的唤醒语音以及噪声语音,训练时需要使用加噪、加混响等数据增强技术进行数据集扩充,以提高训练效果。
举例地,本申请中的训练数据经声学处理后提取出M帧的音频帧,上述批次处理数量为N帧音频帧,即每N帧音频帧输入唤醒模型的高维特征的神经网络输出P帧高维空间特征,其中1<=N<=M, P<= M,且M,N,P都是大于0的整数,M,N,P的取值由唤醒模型的网络结构决定。
参照图4,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储唤醒模型的训练过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现唤醒模型的训练方法。
上述处理器执行上述唤醒模型的训练方法,包括:对训练集中指定语音语句提取音频帧,得到声学特征矩阵,其中,所述指定语音语句属于训练集中的任意一语音训练样本;将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;计算所述第一空间特征和所述第二空间特征的空间特征的差异;根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;根据所述损失函数在所述训练集上训练所述唤醒模型。
上述计算机设备,将高维特征空间的特征向量作为知识蒸馏样本,并通过空间特征的差异约束知识蒸馏,将训练好的降噪模型编码器的数据对应关系,迁移至小体积的唤醒模型的关键词检出器中,提升唤醒模型在较小体积的局限下对噪声与目标声音的区分能力,使部署于移动终端的唤醒模型的误唤醒率大幅降低,提高唤醒效果。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现唤醒模型的训练方法,包括:对训练集中指定语音语句提取音频帧,得到声学特征矩阵,其中,所述指定语音语句属于训练集中的任意一语音训练样本;将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;计算所述第一空间特征和所述第二空间特征的空间特征的差异;根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;根据所述损失函数在所述训练集上训练所述唤醒模型。
上述计算机可读存储介质,将高维特征空间的特征向量作为知识蒸馏样本,并通过空间特征的差异约束知识蒸馏,将训练好的降噪模型编码器的数据对应关系,迁移至小体积的唤醒模型的关键词检出器中,提升唤醒模型在较小体积的局限下对噪声与目标声音的区分能力,使部署于移动终端的唤醒模型的误唤醒率大幅降低,提高唤醒效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种唤醒模型的训练方法,其特征在于,包括:
对训练集中指定语音语句提取音频帧,得到声学特征矩阵,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;
计算所述第一空间特征和所述第二空间特征的空间特征的差异;
根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;
根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;
根据所述损失函数在所述训练集上训练所述唤醒模型。
2.根据权利要求1所述的唤醒模型的训练方法,其特征在于,所述计算所述第一空间特征和所述第二空间特征的空间特征的差异的步骤,包括:
对比所述第一空间特征和所述第二空间特征,得到相似度矩阵;
将所述相似度矩阵,转换为概率值;
根据转化后的概率值计算KL散度损失;
将所述KL散度损失作为所述第一空间特征和所述第二空间特征的空间特征的差异。
3.根据权利要求2所述的唤醒模型的训练方法,其特征在于,所述根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数的步骤,包括:
根据所述空间特征的差异,计算所述空间特征的差异对应的正则项;
将所述正则项作为第一损失函数;
获取所述唤醒模型预设的交叉熵损失,作为第二损失函数;
对所述第一损失函数和所述第二损失函数求和,得到训练所述唤醒模型的损失函数。
4.根据权利要求3所述的唤醒模型的训练方法,其特征在于,所述根据所述损失函数在所述训练集上训练所述唤醒模型的步骤,包括:
固定所述降噪模型的编码器参数;
将指定训练数据并行输入所述唤醒模型的关键词检出器,以及所述降噪模型的编码器的参数;
获取所述指定训练数据通过所述唤醒模型的关键词检出器后的第一输出数据,以及所述指定训练数据通过所述降噪模型的编码器后的第二输出数据;
根据所述第一输出数据和所述第二输出数据,更新所述第一损失函数;
将所述第一输出数据输入连接于所述唤醒模型的关键词检出器输出端的全连接层,得到第三输出数据;
通过所述第三输出数据更新所述第二损失函数;
判断更新后的所述唤醒模型的损失函数的函数值是否变小;
若是,则反向传播更新所述唤醒模型的关键词检出器的参数,直至在所述训练集上所述唤醒模型的损失函数的函数值达到最小。
5.根据权利要求1所述的唤醒模型的训练方法,其特征在于,所述对训练集中指定语音语句提取音频帧,得到声学特征矩阵的步骤,包括:
获取所述唤醒模型对应的批次计算指标;
根据所述批次计算指标确定所述批次处理数量;
按照所述批次处理数量,依次划窗所述指定语音语句提取各音频帧;
将各所述音频帧按照在所述指定语音语句中的时序次序,得到依次排布的声学特征矩阵。
6.一种唤醒模型的训练装置,其特征在于,包括:
提取模块,用于对训练集中指定语音语句提取音频帧,得到声学特征矩阵,其中,所述指定语音语句属于训练集中的任意一语音训练样本;
输入模块,用于将所述声学特征矩阵输入第一模型的关键词检出器,得到第一空间特征,将所述声学特征矩阵输入第二模型的编码器中,得到第二空间特征,其中,所述第一模型为待训练的唤醒模型,所述第二模型为训练好的降噪模型;
第一计算模块,用于计算所述第一空间特征和所述第二空间特征的空间特征的差异;
第二计算模块,用于根据所述指定语音语句对应的空间特征的差异的计算方式,计算所述训练集中所有语音语句分别对应的空间特征的差异;
形成模块,用于根据所有语音语句分别对应的空间特征的差异以及所述唤醒模型预设的交叉熵损失,形成训练所述唤醒模型的损失函数;
训练模块,用于根据所述损失函数在所述训练集上训练所述唤醒模型。
7.根据权利要求6所述的唤醒模型的训练装置,其特征在于,所述第一计算模块,包括:
对比单元,用于对比所述第一空间特征和所述第二空间特征,得到相似度矩阵;
转换单元,用于将所述相似度矩阵,转换为概率值;
第一计算单元,用于根据转化后的概率值计算KL散度损失;
第一作为单元,用于将所述KL散度损失作为所述第一空间特征和所述第二空间特征的空间特征的差异。
8.根据权利要求7所述的唤醒模型的训练装置,其特征在于,所述形成模块,包括:
第二计算单元,用于根据所述空间特征的差异,计算所述空间特征的差异对应的正则项;
第二作为单元,用于将所述正则项作为第一损失函数;
第一获取单元,用于获取所述唤醒模型预设的交叉熵损失,作为第二损失函数;
第一得到单元,用于对所述第一损失函数和所述第二损失函数求和,得到训练所述唤醒模型的损失函数。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110059722.4A CN112365885B (zh) | 2021-01-18 | 2021-01-18 | 唤醒模型的训练方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110059722.4A CN112365885B (zh) | 2021-01-18 | 2021-01-18 | 唤醒模型的训练方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112365885A CN112365885A (zh) | 2021-02-12 |
CN112365885B true CN112365885B (zh) | 2021-05-07 |
Family
ID=74535014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110059722.4A Active CN112365885B (zh) | 2021-01-18 | 2021-01-18 | 唤醒模型的训练方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112365885B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111508481B (zh) * | 2020-04-24 | 2022-11-08 | 展讯通信(上海)有限公司 | 语音唤醒模型的训练方法、装置、电子设备及存储介质 |
CN112992168B (zh) * | 2021-02-26 | 2024-04-19 | 平安科技(深圳)有限公司 | 语音降噪器训练方法、装置、计算机设备和存储介质 |
CN113782012B (zh) * | 2021-09-10 | 2024-03-08 | 北京声智科技有限公司 | 一种唤醒模型训练方法、唤醒方法及电子设备 |
CN114512136B (zh) * | 2022-03-18 | 2023-09-26 | 北京百度网讯科技有限公司 | 模型训练、音频处理方法、装置、设备、存储介质及程序 |
CN114822510B (zh) * | 2022-06-28 | 2022-10-04 | 中科南京智能技术研究院 | 一种基于二值卷积神经网络的语音唤醒方法及系统 |
CN115064160B (zh) * | 2022-08-16 | 2022-11-22 | 阿里巴巴(中国)有限公司 | 语音唤醒方法以及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2573809B (en) * | 2018-05-18 | 2020-11-04 | Emotech Ltd | Speaker Recognition |
US11416741B2 (en) * | 2018-06-08 | 2022-08-16 | International Business Machines Corporation | Teacher and student learning for constructing mixed-domain model |
CN110246487B (zh) * | 2019-06-13 | 2021-06-22 | 思必驰科技股份有限公司 | 用于单通道的语音识别模型的优化方法及系统 |
CN111242303B (zh) * | 2020-01-14 | 2023-12-01 | 北京市商汤科技开发有限公司 | 网络训练方法及装置、图像处理方法及装置 |
CN111242870B (zh) * | 2020-01-20 | 2023-05-05 | 南开大学 | 一种基于深度学习知识蒸馏技术的低光图像增强方法 |
CN111444731B (zh) * | 2020-06-15 | 2020-11-03 | 深圳市友杰智新科技有限公司 | 模型训练方法、装置和计算机设备 |
CN112199535B (zh) * | 2020-09-30 | 2022-08-30 | 浙江大学 | 一种基于集成知识蒸馏的图像分类方法 |
CN112116030B (zh) * | 2020-10-13 | 2022-08-30 | 浙江大学 | 一种基于向量标准化和知识蒸馏的图像分类方法 |
-
2021
- 2021-01-18 CN CN202110059722.4A patent/CN112365885B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112365885A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112365885B (zh) | 唤醒模型的训练方法、装置和计算机设备 | |
CN110491416B (zh) | 一种基于lstm和sae的电话语音情感分析与识别方法 | |
CN109992773B (zh) | 基于多任务学习的词向量训练方法、系统、设备及介质 | |
CN113673698B (zh) | 适用于bert模型的蒸馏方法、装置、设备及存储介质 | |
CN109256118B (zh) | 基于生成式听觉模型的端到端汉语方言识别系统和方法 | |
US10026395B1 (en) | Methods and systems for extracting auditory features with neural networks | |
CN109871542B (zh) | 一种文本知识提取方法、装置、设备及存储介质 | |
CN111598213B (zh) | 网络训练方法、数据识别方法、装置、设备和介质 | |
CN103559537B (zh) | 一种乱序数据流中基于误差反向传播的模板匹配方法 | |
CN111461463A (zh) | 一种基于tcn-bp的短期负荷预测方法、系统及设备 | |
Zhang et al. | A generalized language model in tensor space | |
CN111428854A (zh) | 一种结构搜索方法及结构搜索装置 | |
CN111382840B (zh) | 一种面向自然语言处理的基于循环学习单元的htm设计方法 | |
CN112365886B (zh) | 语音识别模型的训练方法、装置和计算机设备 | |
US20210073645A1 (en) | Learning apparatus and method, and program | |
CN112364993B (zh) | 模型联合训练方法、装置、计算机设备和存储介质 | |
CN116543289B (zh) | 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法 | |
CN113762503A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN110288002B (zh) | 一种基于稀疏正交神经网络的图像分类方法 | |
CN116484904A (zh) | 一种基于人工智能深度学习的监管数据处理实现方法 | |
CN113496282A (zh) | 一种模型训练方法及装置 | |
CN111354374A (zh) | 语音处理方法、模型训练方法及电子设备 | |
CN112634870B (zh) | 关键词检测方法、装置、设备和存储介质 | |
CN116318845A (zh) | 一种正负样本比例不平衡条件下的dga域名检测方法 | |
CN115273814A (zh) | 伪语音检测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |