语音活动性检测(Voice Activity Dection, VAD)常作为语音识别系统的前端模块过滤非语音段,为后续增强模块提供语音/非语音判据,从而更好的掌握背景噪声特性,进而提升降噪量,保证识别性能,且能降低整个系统的功耗。连接主义时间分类(Connectionist Temporal Classification, CTC)是语音识别领域的经典技术,它解决了标签与语音的自动对齐问题,不需人工费时费力的对音频标注语音基元位置。实际上,采用CTC技术路径的语音识别系统可径直使用声学模型部分做VAD判断[1-3],且能获得极高的帧级准确率,不再需要额外计算传统的VAD特征,甚或为VAD专门训练一个神经网络,省去对应的算量(也即功耗)和内存开销。
传统VAD常以一个或多个特征组合使用,各特征与各自的阈值(常通过预研仿真的方式确定)比较大小,再佐以一组逻辑关系判断,最终确定当前帧是否为语音,更复杂的还可以将固定阈值改为滑动阈值。特征常是手工设计的,具备较为明确的物理或信号意义。比如在时域计算的过零率在一定程度上可反映信号的频率成分,能量可反映信号振幅情况;再比如在频域计算的幅谱差异,可反映信号在时间维度上前后两帧的幅值变化程度,而单帧幅谱或功率谱的谱平坦度可反映信号谱线的平整程度,如果峰峰谷谷数目较多且很尖锐,则此特征值偏低。在频域计算的特征还可灵活地选择特定频段计算或对不同频点加权,以此实现仅考虑某频段或对不同频段分配不同关注程度的目的。
传统VAD方法所用的特征虽然具备一定的可解释性,但并不一定具备对语音的特异性检出能力。例如,语音信号具备波纹特征,会使得频域特征——平坦度较低,但反过来并不一定成立,因为平坦度较低的不一定就是语音信号,鸣笛等信号用Audition观察具备清晰明亮的平行于时间维的横向谱线,也会使得此特征值很小。除此之外,传统方法还有一个普遍存在的问题是抗噪性差,一旦背景噪声过强,特征遭受污染,则极难在摒除非语音段和不伤语音之间谋求平衡。语音识别系统常在低虚警和低漏检之间偏向后者,因为只有当语音无缺损才谈得上降噪和被识别,一旦缺损导致没有进入后续模块,则再怎么补救都无济于事。而一旦VAD的阈值被调节成了低漏检的状态,则会非常灵敏,稍有风吹草动都有可能被激活,其控制系统开启,进而降低系统功耗的目的也就形同虚设了。
为弥补传统VAD的缺陷,增强其语音帧检测能力及抗噪能力,可设计专用于VAD的神经网络。网络可以是CNN的,也可是RNN的。具体实现形式不重要,重点在于此类神经网络的训练也依赖于大量标注数据,而人工标注语音端点本身就是一项费时费力的任务,决定了可供训练的数据量不足,且标注精度堪忧。何况基于神经网络的VAD常需要较大的参量及算量,是否具备足够的性价比也是一个问题。
CTC是输入为音频或图像序列,输出标签的学习任务中实现标签与序列自动对准的方法,使用CTC损失训练的模型不要求输出标签与输入对准,省去了高成本的人工标注,极大地简化了学习任务,也扩大了可学习的数据范围,使得深度网络有充足的数据可供学习。CTC损失被定义为各可能路径的概率和的对数再复数,因此最小化CTC损失等价于最大化所有路径概率和,而能做到输出标签和输入序列严格对准的“最理想”路径自然也在这所有路径之中,因此CTC损失训练处的模型最终具备将标签自动和序列对准的能力。
在语音识别任务中,由CTC损失训练出的神经网络的输出,可视为对所建模语音基元的分类器,也即语音识别系统的声学模型。中文语音识别的建模基元可以是音节(声母+韵母,若考虑音调则建模基元更为丰富),英文语音基元可以是音素或径直是英文字母本身。分类数即有效音节/音素数+1,1即是Blank标签。Blank标签较为特殊,可简单理解为区别于语音基元之外的一切背景。网络输出裸分求softmax后,可使各类别概率和为1。
因此,举个例子,若手上已有一个使用CTC损失训练出的中文语音识别的声学模型,可产生帧级别的blank+中文音节的分类得分,则提取出blank标签的概率得分即可做VAD,当其概率小于某阈值(比如0.99)时,则可认为模型对当前帧的判断倾向于当前帧是非语音帧,当然具体是别的什么音节需要看在哪个音节上得分最高。
基于CTC的VAD判断精度是帧级别的,这意味着:
一、甚至可检出字与字之间的停顿;
二、针对具有快时变特性的背景噪声,后续降噪模块能“见缝插针”地识别非语音帧,及时追踪更新背景噪声的变化,从而保证降噪量;
三、CTC-VAD打出的语音端点,可为其他NN-VAD提供大量精确标注的高质量语音数据,为NN-VAD的高性能、小型化提供强力支持。
为增强此声学模型的抗噪性能,在生成训练数据时就需要对语音加噪,加噪信噪比及背景噪声的选择都随机,同时也可将纯背景噪声或纯音乐数据加入,辅以全blank标签作为训练目标。
然而,CTC-VAD也并非没有局限性,CTC的训练所选定的语音基元与语言是绑定的,因此基于此的VAD也必然受限于此特定语言,仅针对此语言下的语音具备VAD能力,并不具备对其他语言的外推性,为此只能训练跨语种的声学模型,增强通用语音基元对人类语言语音的检出能力。
来源:21dB声学人 中科院声学所苏州电声产业化基地