会议:ICASSP 2019
论文:FOCAL LOSS AND DOUBLE-EDGE-TRIGGERED DETECTOR FOR ROBUST SMALL-FOOTPRINT KEYWORD SPOTTING
作者:Bin Liu ; Shuai Nie ; Yaping Zhang ; Shan Liang ; Zhanlei Yang ; Wenju Liu

ABSTRACT

关键词识别系统是人机界面的重要组成部分,它从连续的音频流中检测特定的关键词。KWS的目标是在低虚警率下提供高的检测精度,同时具有较小的内存和计算要求。基于DNN的KWS系统在训练过程中面临着较大的类不平衡,因为关键字的可用数据量通常远小于背景语音,这会使训练无法进行,导致模型退化。在本文中,我们探讨小脚印KWS系统训练的焦点损失。它能自动降低训练过程中容易样本的权重,并将模型聚焦在难样本上,很自然地解决了类的不平衡问题,使我们能够有效地利用所有可用的数据。此外,由于汉语会话助词的习惯用法,许多关键词都是重复的,如“小度小度”。提出了一种针对重复关键字的双边缘触发检测方法,与单阈值方法相比,大大降低了虚警率。系统实验表明,与基线系统相比,有了显著的进一步改进。

CONCLUSIONS

在本文中,我们探讨小脚印KWS系统训练的焦点损失。它能自动降低训练过程中容易样本的权重,并将模型聚焦在难样本上,很自然地解决了类的不平衡问题,使我们能够有效地利用所有可用的数据。此外,我们还提出了一种针对重复关键字的双边缘触发检测方法,与单阈值方法相比,大大降低了虚警率。系统实验表明,与基线系统相比,有了显著的进一步改进。在未来,我们将利用深度学习研究语音风格转换,并在较小的数据集上开发一个KWS系统,以降低数据采集成本。

INTRODUCTION

随着移动设备的日益普及,启用语音的技术变得越来越普遍。运行在智能手机或智能家居传感器上的会话助手试图为用户提供完全免提的体验。关键字搜寻(KWS)系统是人机界面的关键组成部分,它从连续的音频流中检测特定的关键字,并在设备[1],[2],[3]的不同运行状态之间转换。由于移动设备的资源限制,所提出的KWS系统必须具有较小的内存和CPU占用空间,同时要提供非常高的检测精度和非常低的误报(FA)率。

传统的KWS方法基于隐马尔可夫模型(HMM)和序列搜索算法[4],[5],[6]和[7]。HMM用于表示关键字和背景音频。背景模型也称为填充模型,可用于对非关键字语音或噪声等进行建模。在解码过程中,实施维特比搜索以在解码图中找到最佳路径。当关键字模型与背景模型的似然比超过预定义的阈值时,将触发系统。

已经证明,在不涉及HMM的情况下,基于深度神经网络(DNN)的KWS替代方法明显优于关键字/填充器HMM系统[1],[8],[9],[10]。对DNN进行训练以识别子关键字目标,后验处理模块根据框架级后验分数计算单个置信度分数。关键字置信度得分超过预定义的阈值时,系统会触发。可以通过调整阈值来实现错误拒绝和错误接受之间的权衡,这是在实际应用中实现令人满意的用户体验的关键问题。

但是,由于数据获取的成本,可用于关键字的数据量通常比背景语音要少得多。KWS系统在训练过程中面临着很大的班级失衡,这使训练不堪重负,并导致模型退化。焦点损失[11]旨在通过向标准交叉熵损失中添加动态缩放因子来解决密集对象检测的类不平衡问题。它可以在训练过程中自动减轻对简单实例的贡献,并将模型集中于困难实例。

在本文中,我们探索了训练小型足迹KWS系统的焦点损失,该系统自然可以解决班级失衡问题,并使我们能够有效地利用所有可获得的数据。实验表明,焦点损失使我们能够训练一个高精度检测器,该检测器明显优于标准或加权交叉熵损失训练的替代方法。另外,由于汉语习惯用法,汉语会话助手中有很多重复的关键词,例如“小嘟小嘟”,“小艾小爱”。如果重复关键字,则具有排序约束的置信度得分将增加两次。针对重复关键字,我们提出了双边触发检测方法,相对于单阈值方法,该方法大大降低了误报率。

本文的其余部分的结构如下。在第2节中,我们回顾了相关工作。在第3节中,我们描述了提出的基于DNN的KWS系统。我们分别在第4 节和第5 节中介绍了实验和结论。

RELATED WORK

基于深度学习的KWS系统由于其卓越的性能而被广泛使用[1]。为了提高系统的鲁棒性,提出了多样式训练[12],自动增益控制(AGC)[13]和多任务学习[14]。在培训过程中,KWS系统面临着很大的班级失衡。一个常见的解决方案是使用类加权交叉熵损失[14],执行某种形式的硬负挖矿[15] [16]或采样/重称方案[17]。失焦[11]提出了用于解决密集对象检测的类不平衡的方法,该方法可以自动降低训练过程中简单示例的贡献,并使模型集中于硬示例。在后处理期间,[12]定义了一个关键字得分,该得分考虑了发出关键字目标的相对顺序。

DNN-BASED KEYWORD SPOTTING SYSTEM

我们的基于DNN的KWS系统的框图如图1所示。从概念上讲,我们的系统由三个模块组成:(1)一个特征提取模块,其提取声学特征,并输入到神经网络中这一点,(2)一个DNN其计算每个字的后验概率中的关键字词组,以及(3)一后处理模块,其根据帧级后概率计算单个置信度得分,并确定是否检测到关键字。

3.1. Focal Loss for DNN Training
略~
对于KWS,由于数据获取的成本,可用于关键字的数据量通常比背景语音和非语音少得多。如果我们将所有可用数据用于训练并且不过滤掉背景数据,则属于其中一个关键字的肯定样本将比不属于关键字中的任何单词的否定样本少得多。这种失衡会导致培训效率低下,因为大多数培训数据都是容易产生的负面影响,不会产生有用的学习信号。容易产生的阴性样本会使训练不堪重负,并导致模型退化。解决类不平衡的一种简单方法是加权损失函数,即,如果框架的标签属于关键字,则为框架赋予更高的权重。

训练期间面临的大班不平衡压倒了交叉熵的损失。容易分类的负样本包括大部分损耗,并主导梯度反向传播。尽管α平衡了正样本/负样本的重要性,但并没有使简单样本/硬样本之间产生差异。相反,我们使用焦点损失来自动缩小简单示例的权重,从而将训练重点放在困难示例上。

图2是焦损失为几个值的可视化γ∈ [0,5]。当p t,k →1时,调制因子趋于0,并且对分类良好的样本的损失进行了加权。当样本被错误分类并且p t,k很小时,比例因子接近1,并且损失不受影响。聚焦参数γ平滑地修改了简单样本的权重降低率。当γ = 0时,FL等效于CE。并且随着γ的增加,调制因子的作用也增加。

直观地讲,调制因子减少了简单样品的损耗贡献,并扩大了样品低损耗的范围。例如,在γ = 3的情况下,分类为p t,k = 0.9 的样本的损失比CE损失低1000倍,而在p t, k≈0.9536的情况下,损失将低10000倍。这反过来增加了纠正分类错误的样本的重要性(对于p t, k≤0.5和γ = 3 ,其损失最多可缩小8倍)。



3.2. Detecting Keywords using DNN Posteriors
我们在输入信号的长度T s的滑动窗口上反复运行关键字检测算法,以便实时从连续的音频流中检测关键字。

略~

3.3. Double-Edge-Triggered Detecting Method
在计算出关键字的置信度分数之后,我们通常使用一种阈值检测方法。如果分数超过预定义的阈值,则系统将触发。可以通过调整阈值来实现错误拒绝和错误接受率之间的权衡。如果重复使用关键字,例如“ XIAO AI XIAO AI”,则具有排序约束的关键字得分将增加两次,如图3所示。当用户说出关键字的第一部分时,部分满足了排序约束,并且关键字得分上升。说出第二部分时,完全满足约束条件,并且得分提高到更高的水平。因此,我们定义两个阈值δ 1,δ 2对于重复的关键字,一个较低的值检测到第一个分数上升,另一个较高的值检测到第二个分数上升。只有同时检测到两个上升,系统才会被触发。我们可以调整两个阈值δ 1,δ 2平衡FR和FA率。所提出的双沿触发检测方法可以捕获置信度得分的基本特征,并且相对于单阈值方法可以显着降低误报率。假设单个阈值的误报率是1个Ë,双边触发检测方法的FA率为 :

EXPERIMENT

4.1. Datasets
我们为关键字“ XIAO AI XIAO AI”和“ XIAO XIN XIAO XIN”开发了KWS系统。为了评估提出的方法,我们收集了包含关键字“ XIAO AI XIAO AI”的大约7K语音和包含“ XIAO XIN XIAO XIN”的4K语音。我们还将收集大约39K语音的更大集合,这些语音不包含任何关键字,并且被用作“否定”训练数据。

为了提高系统的鲁棒性,我们执行多条件训练。远场集是通过用与各种配置相对应的脉冲响应扩展原始集而构建的。而且,我们会以各种背景噪声人为地破坏每种说话,这些噪声是在[0dB,+ 10dB]之间随机采样的SNR,而噪声是从日常生活环境中采样的。我们还通过扰乱语音数据的速度来创建多速训练集。然后,将语音分别以80:5:15的比例随机分为训练集,发展集和评估集。在嘈杂的条件下训练模型,并在干净和嘈杂的条件下对模型进行评估。

4.2. Setup
在以下实验中,我们的DNN模型是前馈,完全连接的神经网络,具有128个神经元的三个隐藏层,可以满足较小的内存和CPU占用空间的要求。我们将40维滤波器组(在32毫秒的语音中计算,具有16毫秒的移码)作为输入特征,并且特征的每个维度均经过归一化以在训练集中具有零均值和单位方差。我们使用10帧左上下文和5帧右上下文特征作为最终输入,以捕获时间信息。我们对隐藏层使用整流线性单位(ReLU)激活函数[18]。softmax输出层包含关键字短语中每个单词的输出目标,以及一个单独的附加输出目标,该目标表示不属于关键字中任何单词的所有帧(在图1中表示为“填充符” )。我们通过使用大型LVCSR系统[19]执行强制对齐来确定每个输入帧的标签。我们在100帧(T s = 100)的滑动窗口上运行关键字检测算法,后验平滑30帧(L = 30)。

训练基线系统以优化交叉熵标准(表示为“ CE”)和加权交叉熵标准(表示为“ WCE”)。我们通过最小化第3.1节(称为“ FL”)中引入的焦点损失来训练我们的模型。我们使用亚当优化算法[20]进行训练,每批大小为128,学习率为0.0002。另外,我们在解码过程中将提出的双沿触发与单阈值检测方法进行了比较。我们使用等式(5)计算置信度分数,并通过不同的检测方法做出决策。

通过绘制接收器工作曲线(ROC)来测量KWS性能,该曲线将计算每个误报(FA)率的误拒率(FR)。以0.5%的FA率进行详细的定量比较,我们的目标是在保持低FA率的同时实现低FR率。

4.3. Results
首先,我们评估焦点损失准则对系统性能的影响。比较焦损失(“FL-单”)的系统接收器操作特性(ROC)曲线,交叉熵(“CE-单”)和加权交叉熵(“WCE-单”)标准中被呈现图4。我们在解码期间使用单一阈值检测方法。从图中可以看出,在干净和嘈杂的环境下,散焦损失标准比基准“ WCE-Single”系统显着改善了性能,在FR率下相对改善了15.4%(干净)和12.5%(嘈杂) FA率为0.5%。FL可以有效地消除容易产生的负面影响,将所有注意力集中在坚硬的负面例子上,这自然解决了类别不平衡问题,并使我们能够有效利用所有可用数据。

为了进一步比较焦点损失和交叉熵损失准则,我们分析了训练期间的帧精度。图5显示了通过焦点损失准则训练的模型不仅可以获得更高的帧精度,而且学习速度也更快。

我们还将研究第3.3节中描述的双沿触发检测方法。ROC曲线比较了双沿触发(‘FL-DETD’)和单阈值(‘FL-Single’)检测方法的系统,如图4所示。可以看出,所提出的双沿触发检测方法明显优于单阈值方法。与单阈值方法相比,该双边缘触发检测方法使用两个阈值并检测重复关键字的关键字得分两次上升,这大大降低了FA率,提高了系统的实用性能。

(ICASSP 19)FOCAL LOSS AND DOUBLE-EDGE-TRIGGERED DETECTOR FOR ROBUST SMALL-FOOTPRINT KEYWORD SPOTTING相关推荐

  1. (ICASSP 19)Streaming End-to-end Speech Recognition for Mobile Devices

    会议:ICASSP 2019 论文:Streaming End-to-end Speech Recognition for Mobile Devices 作者:Yanzhang He, Tara N. ...

  2. (ICASSP 19)AUTOMATIC GRAMMAR AUGMENTATION FOR ROBUST VOICE COMMAND RECOGNITION

    会议:ICASSP 2019 论文:AUTOMATIC GRAMMAR AUGMENTATION FOR ROBUST VOICE COMMAND RECOGNITION 作者:Yang Yang ; ...

  3. (ICASSP 19)Federated Learning for Keyword Spotting

    会议: ICASSP 2019 论文:Federated Learning for Keyword Spotting 作者:David Leroy.Alice Coucke.Thibaut Lavri ...

  4. (ICASSP 19)END-TO-END STREAMING KEYWORD SPOTTING

    会议:ICASSP 2019 论文:END-TO-END STREAMING KEYWORD SPOTTING 作者:Raziel Alvarez, Hyun Jin Park, Google, In ...

  5. 论文悦读(3)——NVM文件系统之ZoFS(SOSP‘19)文件系统

    ZoFS(SOSP'19) 1. 背景(Background) 2. 动机(Motivation) 2.1 观察1:低效的用户态NVMFS 2.2 观察2:文件权限与隔离措施 3. ZoFS设计与实现 ...

  6. Windows无法启动这个硬件设备(代码19)怎么办?

    在我们使用电脑的过程中,遇到"由于其配置信息(注册表中的)不完整或已损坏,Windows无法启动这个硬件设备(代码19)"的提示时该如何解决呢? Windows无法启动这个硬件设备 ...

  7. 【暮色天】不是不破 时候未到(2.19)

    [暮色天]不是不破 时候未到(2.19) 行情回顾: 昨日白银方面最高4307,最低4187,收盘在4301,日线昨日报收较长下引线阳柱.白银在突破4030后,近期的走势表现平平.黄金方面昨日最高13 ...

  8. (ICASSP 18)DEEP RESIDUAL LEARNING FOR SMALL-FOOTPRINT KEYWORD SPOTTING(重点)

    会议:ICASSP 2018 论文:DEEP RESIDUAL LEARNING FOR SMALL-FOOTPRINT KEYWORD SPOTTING.链接2.GitHub 作者:Raphael ...

  9. 《C++ Primer 5th》笔记(1 / 19):C++基础

    文章目录 编写一个简单的C++程序 编译.运行程序 初识输入输出 注释简介 控制流 while语句 for语句 读取数量不定的输入数据 if语句 类简介 Sales_item类 初识成员函数 书店程序 ...

最新文章

  1. Hadoop_MapReduce的基本应用
  2. 这 HTTPS,真滴牛逼!
  3. 查看MySQL句柄_mysql查询语句-handler
  4. 开始---《C++ primer》随笔
  5. Qt三种方式实现FTP上传功能
  6. git 拉取远程分支到本地
  7. Firefox终于返回到了Debian stable
  8. junit junit_使用junit做其他事情
  9. 前端学习(2932):vue中的v-show
  10. 军用装备产品GJB150A淋雨试验检测机构
  11. Markdown常用特殊符号
  12. Lync Server 2013 实战系列之七:标准版-测试内部登陆
  13. [概率练习] n个小球放入m个盒子(8大类)
  14. 【概率论与数理统计】python实验
  15. 万能遥控器小制作(四)
  16. 笔记本扩展屏幕后没声音的解决办法(HDMI转VGA)
  17. STM32应用开发实践教程:基于 RS-485 总线的多机通信应用开发
  18. props的基本使用和特点
  19. 每周一更——新的起点
  20. 两片74161实现60进制_如何用两片74160来接一个60进制的计数器

热门文章

  1. 原生js控制台(console)打印直角三角形,等腰三角形、矩形、棱形
  2. Ubuntu 国内镜像下载地址大全
  3. 一步一步学习KBEngine(四)
  4. 业务上云会面临哪些安全挑战?
  5. [禅悟人生]实事实干, 空话少说
  6. 北戴河2日游之图解版(5.3--5.4) 每日一图
  7. nodejs家庭健康食谱分享网站系统vue前端项目源码介绍
  8. 在DOS环境下win7系统与win10系统的编程、链接及运行步骤(非常适合第一次学习DOS的小萌新入手)
  9. Android-fastboot刷机
  10. Nexus 5X Root 教程