(IS 15)Convolutional Neural Networks for Small-footprint Keyword Spotting

会议:INTERSPEECH 2015
论文:Convolutional Neural Networks for Small-footprint Keyword Spotting

作者:Tara N. Sainath, Carolina Parada

Abstract

我们探索使用卷积神经网络(CNN)进行小尺寸关键字发现(KWS)任务。 CNN对于KWS具有吸引力,因为它在参数方面要远远优于DNN。 我们在工作中考虑了两个不同的应用程序,一个限制了KWS系统的乘法运算数量,另一个限制了参数数量。 我们提出了新的CNN架构来解决每个应用程序的限制。 我们发现,与DNN相比,CNN架构在误剔除率方面的相对改进介于27-44%之间,同时适合每个应用程序的约束。

6. Conclusions

在本文中,我们探索了用于KWS任务的CNN。 当我们限制乘法或参数的数量时,我们会将CNN与DNN进行比较。 当限制乘数时,我们发现在干净和嘈杂的条件下,对频率进行卷积滤波器移位都会比DNN的性能提高27%以上。 当限制参数时,我们发现在干净和嘈杂的条件下,及时合并比DNN的相对改进率高41%。

1. Introduction

随着移动设备的快速发展,与语音相关的技术变得越来越流行。例如,Google提供了在Android手机上通过语音[1]进行搜索的功能,而诸如Google Now,Apple的Siri,微软的Cortana和亚马逊的Alexa之类的个人助理都利用语音识别与这些系统进行交互。 Google提供了一种完全免提的语音识别体验,称为“ Ok Google” [2],它可以不断监听特定的关键字以启动语音输入。此关键字查找(KWS)系统在移动设备上运行,因此必须具有较小的内存占用量和较低的计算能力。

Google [2]的当前KWS系统使用深度神经网络(DNN),该网络经过训练可以预测子关键字目标。事实证明,DNN的性能优于关键字/填充程序隐马尔可夫模型系统,这是关键字查找的常用技术。此外,DNN在设备上运行很有吸引力,因为可以通过更改网络中的参数数量来轻松调整模型的大小。

但是,我们认为替代的神经网络架构可能会为我们的KWS任务提供进一步的改进。具体来说,卷积神经网络(CNN)[3]在过去几年中已成为声学建模的流行对象,在各种大小词汇任务中都比DNN有所改进[4、5、6]。

出于多种原因,与DNN相比,CNN具有吸引力。首先,DNN忽略输入拓扑,因为可以以任何(固定)顺序显示输入,而不会影响网络性能[3]。然而,语音的频谱表示在时间和频率上具有很强的相关性,并且通过在输入空间的局部区域之间共享的权重来与CNN建模局部相关性在其他领域也被证明是有益的[7]。其次,DNN并未明确设计为对语音信号中的翻译差异建模,这可能由于不同的讲话风格而存在[3]。更具体地说,不同的讲话风格会导致共振峰在频域中移动。这些说话风格要求我们应用各种说话人自适应技术来减少功能差异。虽然足够大的DNN确实可以捕获翻译不变性,但这需要具有大量训练示例的大型网络。另一方面,CNN通过平均不同本地时间和频率区域中隐藏单元的输出来捕获参数少得多的平移不变性。

鉴于CNN在改善性能和减小模型尺寸方面相对于DNN具有更多优势,因此我们有动机着眼于KWS的CNN。[4,5,6]在本文中,我们研究了CNN在KWS中的两个应用。首先,我们考虑必须限制KWS系统的整体计算的问题,即参数和乘法。由于这个限制,在这里不能使用对CNN很好的典型架构,并且仅在频率上集中[8]。因此,我们介绍了一种新颖的CNN架构,该架构不会合并,而是在频率上跨越滤波器,以遵守计算约束问题。其次,我们考虑限制KWS系统的参数总数。对于这个问题,我们表明可以通过在时间和频率上进行合并来提高性能,这是首次证明这种方法对语音有效,而无需使用多个卷积块[5,9]。

我们在包含14个不同短语的KWS任务上评估了我们提出的CNN体​​系结构。通过以每小时1次虚假警报(FA)的运行阈值查看虚假拒绝率(FR)来衡量性能。在限制乘法的任务中,我们发现,在频率上跨越滤波器的CNN相对于DNN可使FR相对提高27%。此外,在限制参数的任务中,我们发现,及时合并的CNN与DNN相比,FR的改进率高出41%,而传统的CNN仅将频率提高了6%[8]。

本文的其余部分如下。在第2节中,我们概述了本文使用的KWS系统。第3节介绍了在限制计算和参数时我们探索的不同CNN架构。实验设置在第4节中介绍,而CNN和DNN的比较结果在第5节中介绍。最后,第6节对本文进行了总结并讨论了未来的工作。

2. Keyword Spotting Task

图1显示了此工作中使用的DNN KWS系统的框图[2]。从概念上讲,我们的系统由三个组件组成。首先,在特征提取模块中,每25ms计算40维log-mel滤波器组特征,帧偏移为10ms。接下来,在每一帧,我们将左侧的23帧堆叠到右侧的8帧,并将其输入到DNN中。
在这里插入图片描述

基准DNN架构包含3个隐藏层,每层128个隐藏单元和一个softmax层。每个隐藏层都使用整流线性单位(ReLU)非线性。 softmax输出层包含一个要检测的关键字短语中每个单词的输出目标,以及一个单独的附加输出目标,该目标表示不属于该关键字中任何单词的所有帧(在此标记为“填充”图1)。使用分布式异步梯度下降训练网络权重以优化交叉熵准则[10]。最后,在后处理模块中,来自DNN的各个帧级后验分数被组合为与关键字相对应的单个分数。我们请读者参考[2],以获得有关这三个模块的更多详细信息。

3. CNN Architectures

在本节中,我们将CNN架构描述为第2节中描述的DNN的替代方法。特征提取和后处理阶段与第2节相同。

3.1. CNN Description
典型的CNN架构如图2所示。首先,给定输入信号V∈<t×f
,其中t和f分别是时间和频率上的输入特征维。权重矩阵W∈<(m×r)×n
与全部输入V卷积。权重矩阵跨过一个大小为m×r的局部时频小块,其中m <= t和r <= f。这种权重共享有助于对输入信号中的局部相关性进行建模。权重矩阵具有n个隐藏单位(即特征图)。滤波器的时间跨度为s,频率跨度为非零。因此,总体而言,卷积运算生成大小为22
的n个特征图。

执行卷积后,最大池化层有助于消除由于说话风格,通道失真等因素而导致的时频空间中的可变性。给定池大小为p×q,池执行子采样操作以减小时频空间。出于本文的目的,我们考虑非重叠池,因为它没有显示出对语音的帮助[8]。合并后,时频空间的尺寸为在这里插入图片描述
在这里插入图片描述
3.2. Typical Convolutional Architecture
经过大量测试并显示可在许多LVCSR任务上正常工作的典型卷积体系结构[6,11]是使用两个卷积层。假设输入CNN的log-mel为t×f = 32×40,则通常第一层的滤波器大小在r = 9的频率下。尽管通常的做法是选择时间上占整个输入时间大小的2/3的滤波器大小,即m = 20,但是该体系结构对时间上的滤波器的敏感度较小,卷积乘法是通过对滤波器进行跨步执行的在整个时间和频率范围内,s = 1,v = 1。接下来,仅在频率上执行非重叠最大池化,池化区域为q = 3。第二个卷积滤波器的滤波器大小在频率上为r = 4,并且不执行最大合并。

例如,在我们的任务中,如果要将参数数量保持在250K以下,表1中显示了一种典型的CNN体​​系结构。在本文中,我们将该体系结构称为cnn-trad-fpool3。该体系结构具有2个卷积,一层线性低秩和一层DNN。在第5节中,我们将展示这种结构对KWS的好处,特别是与DNN相比,频率合并。

但是,这种体系结构的主要问题是卷积层中的大量乘法,由于涉及时间,频率和特征图的3维输入,在第二层中该乘法会加剧。对于功耗有限的乘法受限的小尺寸KWS任务,这种架构是不可行的。此外,即使我们的应用程序受参数限制而不是乘以,但其他可以及时合并的体系结构可能更适合KWS。下面我们提出了替代的CNN架构,以解决限制参数或乘法的任务。
在这里插入图片描述
3.3. Limiting Multiplies
我们的第一个问题是找到合适的CNN架构,将乘法次数限制为500K。 在尝试了几种体系结构之后,一种限制乘法次数的解决方案是具有一个卷积层而不是两个卷积层,并且所有时间都具有时间过滤器。 然后将此卷积层的输出传递到线性低秩层,然后传递到2个DNN层。 表2显示了仅具有一个卷积层的CNN架构,我们将其称为cnn-one-fpool3。 为简单起见,我们从表中省略了s = 1和v = 1。 请注意,通过使用一个卷积层,与cnn-trad-fpool3相比,在将第一卷积层减少了10倍之后的乘法数。
在这里插入图片描述
频率合并(q = 3)要求将滤波器的步幅增加v = 1,这也会增加乘法系数。 因此,我们比较了没有在频率上集中而是在频率上跨越滤波器的架构。 表3显示了当我们有一个大小为r = 8的频率滤波器并以v = 4跨度(即50%重叠)时以及以v = 8跨越(无重叠)时的CNN架构。 我们将它们分别称为cnn-one-fstride4和cnn-one-fstride8。 为简单起见,我们省略了线性和DNN层,因为它们与表2相同。表3显示,如果将滤波器的步长乘以v> 1,我们将减少乘法,因此可以将隐藏单元n的数量增加为。 比表2中的cnn-one-fpool3体系结构大3-4倍。
在这里插入图片描述
3.4. Limiting Parameters
上一节中介绍的模型的问题之一是,当保持乘数固定时,模型的参数数量仍远远小于250K。但是,增加CNN参数通常会导致进一步的改进[6]。在其他应用程序中,我们希望设计一个模型,在该模型中,参数数量保持固定,但允许乘法变化。在本节中,我们探索与cnn-trad-fpool3不同的CNN架构,在该架构中,我们将模型大小限制为250K,但不限制乘法。

改善CNN性能的方法是增加特征图。如果要增加特征图但保持参数固定,则必须探索时间和频率上的采样。鉴于我们已经在cnn-trad-fpool3中进行了频率合并,因此在本节中,我们将探讨时间的二次采样。

以前已经探索了传统的时间合并技术来进行声学建模[4,8],但是没有显示出希望。我们的理由是,在声学建模中,我们要分类的子词单位(即与上下文有关的状态)发生在很短的时间段内(即10-30毫秒)。因此,及时汇集是有害的。但是,在KWS中,关键字单元的出现时间要长得多(即50-100毫秒)。因此,我们探索是否可以通过跨步或池化对信号进行时间二次采样来改善cnn-trad-fpool3。应该注意的是,在使用多个卷积子网时,及时池化会有所帮助[5,9]。但是,这种方法增加了参数数量,并且对于我们的KWS任务而言在计算上昂贵。据我们所知,这是对具有较长声学单位的常规子采样的首次探索。

3.4.1. Striding in Time
首先,我们比较将卷积时间滤镜跨度s> 1的体系结构。表4显示了更改时间滤镜跨度s的不同CNN体系结构。 我们将这些架构称为cnn-tstride2,cnn-tstride4和cnn-tstride8。 为简单起见,我们省略了DNN层,并且在所有实验中某些变量均保持不变,即频率步幅v = 1和时间池p =1。要注意的一件事是,随着时间滤波器步幅的增加,我们可以增加 特征图数量n使得参数总数保持恒定。 我们希望及时的子采样不会降低性能,而增加特征图将改善性能。
在这里插入图片描述

3.4.2. Pooling in Time
及时跨越过滤器的另一种方法是按不重叠的量及时合并。 表5显示了随着时间p的变化而变化的配置。 我们将这些架构称为cnn-tpool2和cnn-tpool4。 为简单起见,我们省略了在所有实验中保持不变的某些变量,即时间和频率跨度s = 1和v = 1。 注意,通过及时池化,我们可以增加特征图的数量n,以保持参数总数不变。
在这里插入图片描述

4. Experimental Details

为了将建议的CNN方法与基准DNN KWS系统进行比较,我们选择了14个短语,并收集了包含这些短语中每个短语的10K-15K语音。我们还收集了大得多的一组大约396K语音,其中不包含任何关键字,因此被用作“否定”训练数据。然后将话语分别按80:5:15的比例随机分为训练集,发展集和评估集。

接下来,我们通过人为地将汽车和自助餐厅的噪声以SNR随机采样到[-5dB,+ 10dB]的干净数据集中来创建嘈杂的训练和评估集。在嘈杂的条件下训练模型,并在干净和嘈杂的条件下对模型进行评估。

通过绘制接收器工作曲线(ROC)来测量KWS性能,该曲线将计算每个误报(FA)率的误拒率(FR)。每FA速率的FR越低越好。选择KWS系统阈值以使其对应于该组语音每小时每小时1 FA。

5. Results

5.1. Pooling in Frequency
首先,我们分析了3.2节中描述的典型CNN架构与KWS的DNN的比较。尽管CNN和DNN的参数数量相同(250K),但CNN的乘法数为9M。为了了解用于KWS任务的频率池的行为,我们比较了not pool p = 1以及不按p = 2和p = 3进行池化时CNN的性能,并在所有三个实验中保持参数数量不变。

图3a和3b表明,对于干净语音和嘈杂语音,随着我们将合并大小从p = 1增加到p = 2,CNN的性能会提高,并且在p = 3之后似乎会饱和。这与声学建模的结果一致[ 8]。更重要的是,在1 FA / hr的工作点清洁和嘈杂的条件下,性能最好的CNN(cnn-trad-fpool3)与DNN相比,显示出超过41%的改善。鉴于这些令人鼓舞的结果,我们接下来在约束乘法和参数时比较CNN和DNN的性能。
在这里插入图片描述
5.2. Limiting Multiplies
在本节中,当我们将乘法数限制为500K时,我们比较了3.3节中描述的各种CNN架构。图4a和4b显示了干净语音和嘈杂语音的结果。表现最佳的系统是cnn-one-fstride4,在该系统中,我们以50%的重叠率跨越了频率滤波器,但没有集中频率。这与具有不重叠滤波器步幅的cnn-one-fstride8相比,性能要好得多。此外,if提供了对cnn-one-fpool3的改进,后者的频率很高。如第5.1节所示,虽然频率合并很有帮助,但它的计算量很大,因此我们必须大幅度减少特征图以限制计算量。因此,如果我们处于乘法受限的情况,则首选的CNN架构是将滤波器重叠。
在这里插入图片描述

在1 FA / hr的工作点上,性能最好的系统cnn-one-fstride4与DNN相比,清洁度相对改善27%,噪声方面相对改善29%。

5.3. Limiting Parameters
在本节中,我们比较了CNN架构,在该CNN架构中,我们将乘法数与第5.1节中性能最好的系统相匹配,即cnn-trad-fpool3。图5a和5b展示了当我们在频率上跨越卷积滤波器时,如3.4.1节所述,不同架构的性能。与不跨越时间过滤器的cnn-trad-fpool3相比,所有跨越时间过滤器的架构的性能都稍差。
在这里插入图片描述
相比之下,图6a和6b比较了我们及时合并卷积滤波器时的性能。时间为p = 2的系统cnn-tpool2是性能最佳的系统。这些结果表明,在时间上进行合并,从而在子采样之前对相邻帧之间的关系进行建模,比在时间上大步向前(先验选择要过滤的相邻帧)更为有效。另外,当预测长关键字单位时,在干净的情况下,及时池化相对于cnn-trad-fpool3有6%的相对改进,但在嘈杂方面与cnn-trad-fpool3有相似的性能。此外,cnn-tpool2在清洁度方面比DNN表现出44%的相对改善,在噪音方面则显示41%的相对改善。据我们所知,这是第一次在没有子网的情况下进行时间合并,这对语音任务很有帮助。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值