一种单声道鲁棒性的语音关键词实时检测方法
技术领域
本发明涉及电子通讯降噪技术领域,更具体地说,涉及一种单声道鲁棒性的语音关键词实时检测方法。
背景技术
随着智能助理,智能音响等应用的兴起,语音关键词检测技术作为人机交互中重要的环节,越来越受到产业界的重视。基于隐马尔科夫模型的填充模型(Filler Models)最早应用于关键词检测。其中,单声道鲁棒性的关键词检测是一个非常具有挑战性的课题,因为单声道关键词检测仅依靠一个麦克风的录音信号,而无法利用麦克风阵列中常用的空间信息。另外,和基于波束形成的(通过传感器阵列适当配置的空间滤波)的麦克风阵列关键词检测相比,单麦克风鲁棒性关键词检测声学应用场景更加广泛。由于只使用一个麦克风,单通道鲁棒性关键词检测不仅成本更低,使用也更加方便。最近,关键词检测的一个较大的突破是使用深度神经网络来代替隐马尔科夫模型,这种方法内存占用少,不需要解码搜索,准确率高。之前最先进的方法是采用了大量数据训练的前馈型深度神经网络(Deep neural network,DNN)加上帧级别的数据标注。虽然该方法能够实现关键字检测,但是该方法的对噪音的鲁棒性不好,可以通过在训练过程中对于输入语音加上不同种类,不同信噪比的噪声来改善,但是仍存在虚警率较高的问题。
现有的方案存在如下缺点:
1.虽然能够实现关键字检测,但是对噪音的鲁棒性不好;
2.存在虚警率较高的问题。
发明内容
本发明要解决的技术问题在于如何通过采用一种单声道鲁棒性的语音关键词实时检测方法,以解决现有技术中的方法对噪音的鲁棒性不好且存在虚警率较高的问题。
本发明解决其技术问题所采用的技术方案是:利用一种单声道鲁棒性的语音关键词实时检测方法,该方法对单个麦克风采集的电子格式的语音进行关键词检测,相比于波束形成的麦克风阵列的关键词检测,该方法可以在不使用空间位置信息的情况下依然保持较高的唤醒率,而且仅使用一个麦克风,有着更加广泛的应用场景。该方法采用有监督学习方法进行关键词检测,通过结合降噪和关键词检测两个训练目标实现一个具有在噪音场景下鲁棒性的关键词检测方法。该方法性能优秀,能够在嘈杂的环境中依然能够保持较高的唤醒率,具有更加广泛的实用性,能够大幅的降低神经网络的虚警率。
在本发明所述的一种单声道鲁棒性的语音关键词实时检测方法中,所述一种单声道鲁棒性的语音关键词实时检测方法,包括如下步骤:
S1接收电子格式的带噪语音信号,其中包含了人声语音和非人声的背景噪音;
S2逐帧用短时傅里叶变换把时域的带噪语音信号转化为频域信号;
S3使用梅尔滤波器对频域信号进行处理,得到梅尔特征并将其处作为声 学特征;
S4神经网络包括:卷积神经网络、单向长短期记忆回归神经网络和前馈型深度神经网络;
梅尔特征逐帧经过卷积神经网络、单向长短期记忆回归神经网络和前馈型深度神经网络后,再用归一化指数函数处理后得到每个关键词的置信度信息;
S5当某一个关键词的置信度大于预先定义的阈值之后则取当前帧和往前推移若干帧拼接,并作为神经网络的输出信号;
S6神经网络的输出信号依次通过注意力机制与前馈型深度神经网络,并经过归一化指数函数处理后,得到句子级别的每个关键词的置信度信息,当置信度数值大于预先定义的阈值,则认为检测到关键词,否则视为没有检测到关键词。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,梅尔特征是由当前帧梅尔特征和未来若干帧拼接而成。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,单向长短期记忆回归神经网络包含多个堆叠的单向层,每个单向层具有六十四个神经元。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,神经网络采用带噪音大数据集进行训练,其中带噪语音由多种噪音和多个说话人语音混合而成;
带噪语音由数千种不同类型的噪音和五百个以上的说话人的语音混合而成。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,卷积神经网络是由若干个单卷积层堆叠而成;
卷积神经网络的每个单卷积层通过激活函数层相连接。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,前馈型深度神经网络由多个单层线性层堆叠而成;
前馈型深度神经网络的每个线性层之间通过激活函数层相连接。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,注意力机制采用的是软注意力机制。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,注意力机制的输入来自于卷积神经网络层的输出。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,注意力机制的输入是将当前帧和若干个过去帧卷积层的输出信号混合所得。
在本发明的一种单声道鲁棒性的语音关键词实时检测方法中,神经网络的输出的向量大小为参与训练的关键词的数量加一。
根据上述方案的本发明,其有益效果在于,本发明提供了一种单声道鲁棒性的语音关键词实时检测方法,该方法性能优秀,能够有效的在近距离交谈场景下降低通话噪音,与现有技术相比具有更强的实用性,且不依赖于噪音与说话者。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的一种单声道鲁棒性的语音关键词实时检测方法的原理框图;
图2是本发明的一种单声道鲁棒性的语音关键词实时检测方法的样例关 键词和序号的对应表;
图3是本发明的一种单声道鲁棒性的语音关键词实时检测方法的中交叉熵损失的下降趋势图;
图4是本发明的一种单声道鲁棒性的语音关键词实时检测方法的真实训练过程中均方误差的变化趋势;
图5是本发明的一种单声道鲁棒性的语音关键词实时检测方法的软注意力机制实现原理图。
图6是本发明的一种单声道鲁棒性的语音关键词实时检测方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,一种单声道鲁棒性的语音关键词实时检测方法,包括如下步骤:S1接收电子格式的带噪语音信号,其中包含了人声语音和非人声的背景噪音;S2逐帧用短时傅里叶变换把时域的带噪语音信号转化为频域信号;S3使用梅尔滤波器对频域信号进行处理,得到梅尔特征并将其处作为声学特征;S4神经网络包括:卷积神经网络、单向长短期记忆回归神经网络和前馈型深度神经网络;梅尔特征逐帧经过卷积神经网络、单向长短期记忆回归神经网络和前馈型深度神经网络后,再用归一化指数函数(Softmax)处理后得到每个关键词的置信度信息;S5当某一个关键词的置信度大于预先定义的阈值之后则取当前帧和往前推移若干帧拼接,并作为神经网络的输出信号;S6神经网 络的输出信号依次通过注意力机制(Attention mechanism)与前馈型深度神经网络,并经过归一化指数函数处理后,得到句子级别的每个关键词的置信度信息,当置信度数值大于预先定义的阈值,则认为检测到关键词,否则视为没有检测到关键词。
进一步地,置信度也称为可靠度,或置信水平、置信系数,即在抽样对总体参数作出估计时,由于样本的随机性,其结论总是不确定的。因此,采用一种概率的陈述方法,也就是数理统计中的区间估计法,即估计值与总体参数在一定允许的误差范围以内,其相应的概率有多大,这个相应的概率称作置信度。
进一步地,短时傅里叶变换(STFT,short-time Fourier transform)是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。
进一步地,归一化指数函数或称Softmax函数,在数学,尤其是概率论和相关领域中,是逻辑函数的一种推广。它能将一个含任意实数的K维向量z“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。该函数多于多分类问题中。
进一步地,在步骤S2中,通过快速傅里叶变换(FFT)将时域的数字信号转换为频域信号,转换为频域信号之后我们可以很方便地分析出信号的频率成分,在频域上进行处理,实现许多在时域无法完成的信号处理算法。
更进一步地,其中,步骤S1里面的带噪语音训练过程中采用的是纯净语音和不同信噪比的噪音混合而成,推理过程中采用的是真实采集的语音,在步骤S2中的特征提取,将带噪语音进行分帧和加窗处理,每帧长度为二十毫秒,相邻帧之间有十毫秒的重叠。利用快速傅里叶变换提取每一帧上的频谱幅度矢 量,再使用梅尔滤波器进行滤波得到每一帧的声学特征。由于语音信号在时间维度上具有较大的相关性,而且这种相关性对于关键词检测任务有很大的帮助。为了利用时间维度上的相关性来提高关键词检测的性能,本方法把当前帧和前后若干帧拼接在一起成为一个维度较大的向量作为输入特征。该方法由计算机程序执行,从带噪语音中提取声学特征,用深度神经网络进行处理,得到原始带噪语音中是否包含关键词。该方法包含一个或者多个程序模块,任何系统或者带有可执行计算机编程指令的硬件设备来执行上述的一个或者多个模块。
更进一步地,对于要求实时处理的应用,例如移动助听器降噪应用,使用未来帧的信息是不可以接受的,因为使用未来帧的信息会导致产生延迟。对于关键词检测应用来说,对于一定范围内的延迟是可以接受的,因此可以在本应用里面牺牲一些实时性来获得更好的性能。具体来说,可以拼接,将当前帧和未来10帧拼接出来作为本发明的输入,仅仅会增加100毫秒的延迟,可以增加关键词检测的正确率,对于使用的未来帧的数量的还可以增加到20帧可以进一步的增加性能。需要注意的是本发明并未拼接历史帧作为输入,主要原因是本发明里面使用了长短期记忆回归神经网络作为网络的组成部分,长短期记忆回归神经网络具有保留一部分重要历史输入信息的功能,因此可以不需要拼接历史帧,仅仅依赖未来帧,这样可以降低神经网络的计算量和所依赖的硬件设备的功耗。
更进一步地,具体的说,本发明支持一个或者多个关键词,不同个数的唤醒词对应不同维度的网络输出,网络输出包含第一级的帧级别的输出,以及第二级句子级别的网络输出,网络输出维度等于关键词个数加一,例如有一个关 键词,则网络的输出维度是2,有两个关键词,则网络的输出维度是3,以此类推。在执行训练任务之前,应当给每一个命令词进行编号,例如有如下六个关键词“开灯”、“打开电视”、“打开空调”、“关灯”、“关闭电视”、“关闭空调”,可以按照图2所示进行编号。需要注意的是,本发明中除了对关键词进行编号之外,还需要对非关键词进行编号,通常把非关键词编号为0号,关键词从1开始顺序编号作为训练使用的语音的标签。训练的时候,应该把标签进行独热编码(One-hot encoding),再把这个编码之后的结果和神经网络输出相结合求交叉熵损失(Cross Entropy Loss)。
更进一步地,交叉熵(Cross Entropy)是Shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。语言模型的性能通常用交叉熵和复杂度(perplexity)来衡量。交叉熵的意义是用该模型对文本识别的难度,或者从压缩的角度来看,每个词平均要用几个位来编码。复杂度的意义是用该模型表示这一文本平均的分支数,其倒数可视为每个词的平均概率。
进一步地,对于任何有监督学习方法,泛化能力非常重要。泛化能力是指在未参与训练的场景下的方法的性能表现。本发明里面的方法的泛化性能主要采用不带噪的人声语音和大约10000种不同场景采集的噪音混合出不同信噪比(Signal-to-noise ratio,SNR)不同响度的加噪语音,然后通过大规模的训练解决泛化性问题。由于回归神经网络具有对信号中长期依赖关系的建模能力,所提出的模型对新噪声和说话人场景具有很好的泛化性,这对于实际应用非常重要。最好,为了获得更好的性能,本发明使用了一个依赖未来帧的的RNN模型,使得网络可以获得来自于过去和未来的信息。
如图6所示,其详细的说明了本发明的整个过程,提出关键词检测的详细 过程,输入为带噪的语音信号,输出关键词的标号,图中的“1”表示在训练期间涉及的步骤,图中的“2”表示推理或预测阶段的步骤,图中的“3”表示训练和预测共享的那步骤。为了使得本发明在强噪音环境下依旧保持鲁棒性,在训练阶段本发明使用了理想比值膜(IRM)作为辅助的训练目标。IRM是通过比较带噪语音的梅尔特征和纯净语音的梅尔特征得到。如图1所示,本发明采用了跟7层卷积神经网络(CNN)相对应的7层反卷积神经网络(De-CNN)来估计每个输入带噪语音的理想比值膜,然后计算理想比值膜和估计比值膜的均方误差(Mean-square error,MSE)。神经网络的损失函数同时包含了交叉熵损失和均方误差,神经网络经过重复的多轮迭代将整个训练集的损失函数最小化。训练阶段结束之后,进入预测阶段,在这个阶段里面完全不使用反卷积部分。这种同时训练多个目标的训练方法一般称之为联合训练(joint training)。在本发明中反卷积神经网络部分的输出是预测理想比值膜,使用理想比值膜和带噪语音梅尔特征就可以用来恢复纯净语音的梅尔特征,因此添加预测理想比值膜作为训练目标可以使得卷积神经网络部分可以保留更多纯净语音特征,过滤掉跟关键词检测无关的噪音特征,可以使得整个神经网络拥有更好的降噪性能,使得本发明在强噪音环境下的鲁棒性,在强噪音环境下依然可以获得较高的正确率。
更进一步地,均方误差(Mean-square error,MSE)是反映估计量与被估计量之间差异程度的一种度量。
更进一步地,鲁棒性是唤醒系统在噪声干扰或目标人声变化的情况下,依然能够正确的被唤醒和保持较低水平的误唤醒率。
如图3或图4所示,从1200次左右到1400次左右均方误差(Mean-square error,MSE)数值在急速下降,此时交叉熵损失值也在快速的下降,可以看出来随着降噪任务性能的提升,关键词检测任务的性能也在不断的提升,说明降噪任务的性能对关键词检测任务的性能有协同促进作用。
进一步地,在本发明的训练过程中,共分为两个不同阶段的训练过程,第一个阶段就是上述的联合训练均方误差(Mean-square error,MSE)和交叉熵损失,第二个阶段训练过程主要训练句子级别的关键词检测。在上个阶段的训练过程中,训练出来的7层卷积神经网络拥有较好降噪效果,因此在这个阶段的训练中,这部分卷积神经网络的权值参数被冻结,使其在此阶段训练过程中不更新。在这个阶段的训练过程中,当前帧拼接了历史179帧共180帧卷积神经网络的输出作为注意力机制的输入。这180帧对应1.8秒的语音,由于绝大部分关键词语音都小于1.8秒,因此这180帧特征包含了几乎覆盖了整个唤醒词语音。注意力机制源于对人类视觉的研究,在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所以信息的一部分,同时忽略其他可见信息,在此处使用注意力机制可以从一个较长的时间序列中提取的关键词检测相关的信息而忽略其他无用信息。使用了带注意力机制的第二级唤醒可以有效地避免仅有第一级唤醒所带来的虚警率过高导致的性能差的问题。
更进一步地,本发明里面使用的注意力机制是软注意力机制。
如图5所示,软注意力的原理具体可以通过以下的公式描述:
e
t=υ
Ttanh(Wh
t+b)
其中T表示注意力机制使用的时间序列的长度,ht表示t时刻注意力机制的输入,αt表示t时刻ht对应的权重大小,ct表示前T帧注意力机制的输出。如上述公式所示,整个注意力机制的流程是首先计算前T帧每一帧隐藏状态的输出et,再使用归一化指数函数计算这些隐藏状态作为每一帧的权重,最后把整个事件序列每帧的输入加权求和就是注意力机制的输出。
进一步地,梅尔特征是由当前帧梅尔特征和未来若干帧拼接而成。
更进一步地,利用快速傅里叶变换提取每一帧上的频谱幅度矢量,再使用梅尔滤波器进行滤波得到每一帧的声学特征,即梅尔特征。
进一步地,单向长短期记忆回归神经网络包含多个堆叠的单向层,每个单向层具有六十四个神经元。
进一步地,神经网络采用带噪音大数据集进行训练,其中带噪语音由多种噪音和多个说话人语音混合而成;
带噪语音由数千种不同类型的噪音和五百个以上的说话人的语音混合而成。
进一步地,卷积神经网络是由若干个单卷积层堆叠而成;卷积神经网络的每个单卷积层通过激活函数层相连接。
更进一步地,卷积神经网络是一种深度前馈人工神经网络,人工神经元可以响应周围单元,卷积神经网络包括卷积层和池化层。
进一步地,前馈型深度神经网络由多个单层线性层堆叠而成;前馈型深度神经网络的每个线性层之间通过激活函数层相连接。
更进一步地,前馈型深度神经网络(Deep Neural Networks,DNN)是一种具备至少一个隐藏层的,利用激活函数去线性化,使用交叉熵作损失函数,利 用反向传播优化算法(随机梯度下降算法、批量梯度下降算法)进行学习训练(调整并更新神经元之间的权重)的前馈神经网络。
进一步地,注意力机制采用的是软注意力机制(Soft-attention)。
进一步地,注意力机制的输入来自于卷积神经网络层的输出。
进一步地,注意力机制的输入是将当前帧和若干个过去帧卷积层的输出信号混合所得。
更进一步地,注意力机制能够扩展神经网络的能力,并允许近似更加复杂的函数,用更直观的话说就是能关注输入的特点部分,能够帮助提升自然语言处理的基准表现,也带来了图像描述、记忆网络寻址和神经编程器等全新能力。
进一步地,神经网络的输出的向量大小为参与训练的关键词的数量加一。
更进一步地,本发明的单声道鲁棒性关键词检测是指对单个麦克风采集的信号,相比波束形成的麦克风阵列的关键词检测,单声道关键词检测具有更加广泛的实用性。
进一步地,本发明采用有监督学习方法进行关键词检测,通过带有卷积神经网络,长短期记忆回归神经网络,前馈型深度神经网络来检测关键词。本发明采用了句子级别的注意力机制和前馈型的深度神经网络作为第二级的神经网络,在基于卷积神经网络,长短期记忆回归神经网络和前馈型深度神经网络作为第一级的输出置信度大于阈值之后,使用第二级网络进行确认,如果第二级网络的输出置信度再次大于阈值,则认为检测到了关键词,否则认为未检出关键词,采用了第二级网络进行确认,在对性能影响较小的代价下,能够大幅的降低神经网络的虚警率,提升了本发明的性能。
进一步地,长短期记忆回归神经网络(LSTM,Long Short-Term Memory) 是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。
更进一步地,本发明单声道鲁棒性唤醒词检测中的鲁棒性体现在能够在嘈杂的环境中依然能够保持较高的唤醒率,在信噪比为0dB的嘈杂唤醒下能够保持90%以上的正确唤醒率。
进一步地,信噪比(SNR,S/N)又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。这里面的信号指的是来自设备外部需要通过这台设备进行处理的电子信号,噪声是指经过该设备后产生的原信号中并不存在的无规则的额外信号(或信息),并且该种信号并不随原信号的变化而变化。
更进一步地,鲁棒性单通道关键词检测是指对单个麦克风采集的电子格式的语音进行关键词检测,相比波束形成的麦克风阵列的关键词检测,本发明可以在不使用空间位置信息的情况下依然保持较高的唤醒率,而且仅使用一个麦克风,有着更加广泛的应用场景。本发明采用有监督学习方法进行关键词检测,通过结合降噪和关键词检测两个训练目标实现一个具有在噪音场景下鲁棒性的关键词检测方法。
更进一步地,本发明引入第二级网络降低关键词检测的虚警率过高的问题,其中第二级网络里面的注意力机制可以从较长的时间序列里面提取关键词相关的信息。第二级网络在推理阶段仅仅在第一级网络的输出大于阈值之后才执行其相关逻辑,可以节省一部分计算成本。
进一步地,虚警率又称虚警概率,指雷达探测的过程中,采用门限检测的方法时由于噪声的普遍存在和起伏,实际不存在目标却判断为有目标的概率。
本发明提供一种单声道鲁棒性的语音关键词实时检测方法,采用了单声道鲁棒性关键词检测方法对单个麦克风采集的信号,相比波束形成的麦克风阵列的关键词检测,具有更加广泛的实用性,并且采用了第二级网络进行确认,在对性能影响较小的代价下,能够大幅的降低神经网络的虚警率,提升了性能,能够在嘈杂的环境中依然能够保持较高的唤醒率。
尽管通过以上实施例对本发明进行了揭示,但本发明的保护范围并不局限于此,在不偏离本发明构思的条件下,对以上各构件所做的变形、替换等均将落入本发明的权利要求范围内。