【文献阅读】Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution

题目:Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution
时间:2020
会议/期刊:INTERSPEECH
研究机构:CAS Key Laboratory of Wireless-Optical Communications, 中科大

Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution

摘要

关键词识别(Keyword Spotting, KWS)在智能终端和服务机器人的人机交互中发挥着至关重要的作用。在 KWS 任务中实现小尺寸Small-Footprint和高精度之间的权衡仍然具有挑战性。在本文中,我们探讨了多尺度时间建模在小尺寸KWS任务中的应用。我们提出了一个多分支时间卷积模块(multi-branch temporal convolution module, MTConv),这是一个由多个具有不同内核大小的时间卷积滤波器组成的 CNN 块,它丰富了temporal feature space。此外,利用temporal and depthwise convolution, a temporal efficient neural network (TENet) is designed for KWS system。基于目标模型,我们用可以训练以获得更好性能的 MTConvs 替换标准时间卷积层。而在推理阶段,MTConv 可以等效地转换为基础卷积架构,因此与基础模型相比,不会增加额外的参数和计算成本。 Google Speech Command Dataset 上的结果表明,我们使用 MTConv 训练的模型之一仅使用 100K 参数即可实现 96.8% 的准确度。

关键词: keyword spotting, convolutional neural network, multi-branch convolutional networks

1. Introduction

关键字定位 (KWS) 是一项旨在检测音频流中预训练单词的任务。唤醒词检测作为关键词发现的一种应用,近年来越来越流行。它通常用于启动与语音助手的交互(例如,Hey Siri [1]、Alexa [2、3] 和 Okay Google [4])或区分移动设备上的简单常见命令(例如,是或否)。由于此类任务通常通过不断收听特定关键字在低资源设备上运行,因此实现高精度、低延迟和占用空间小的 KWS 系统仍然具有挑战性。

随着深度学习在语音识别中的巨大成功,深度神经网络(DNN)近年来已被证明可以为 KWS 提供高效的小尺寸解决方案 [5、6、7、8、9]。特别是,更先进的架构,如卷积神经网络 (CNN),已被应用于解决有限内存占用和计算资源场景下的 KWS 问题,显示出出色的准确性。然而,基于 2D CNN 的方法难以通过相对较浅的网络捕获低频和高频之间的依赖关系。为了解决这个问题,一些工作 [8, 9] 利用 1D 时间卷积来提取高级频率特征。尽管它们取得了成功,但由于内核大小固定(即 3×3 用于 2D 卷积,9×1 用于 1D 卷积),尚未考虑聚合短期和长期时间信息特征的能力。事实上,捕捉不同尺度的时间信息很重要,因为关键词的特征通常在时间尺度上是不同的。

在本文中,我们提出了一种多分支时间卷积模块(multi-branch temporal convolution module, MTConv),一种具有不同内核大小的 CNN 结构,可以在训练阶段替代标准的时间卷积层。As a building block of the backbone network,MTConv 丰富了模型的时间特征空间,处理更多的时间信息,从而获得更好的性能。具体来说,MTConv 可以等效地转换为 the origin temporal convolution layer with an enhanced kernel, which is element-wise added by multi-scale kernels correspondingly,这样我们就可以通过等效模型获得与具有 MTConvs 的模型相同的输出标准时间卷积。此外,为了在小尺寸和准确性之间取得更好的平衡,我们提出了一种时间高效神经网络(TENet),constructed by inverted bottleneck blocks with 1×1 convolution, 9×1 depthwise convolution and 1 × 1 convolution。我们在 Google Speech Command 数据集 [10] 上评估了使用 MTConv 训练的提议模型。我们的贡献总结如下。
• 我们提出了一种基于深度时间卷积的时间高效神经网络,用于小尺寸 KWS。
• 我们进一步提出了一个多分支时间卷积模块,用于获得丰富的多尺度时间特征,在推理阶段可以等效地转换为标准时间卷积。
• 我们在 Google 语音命令数据集上评估的基础 TENet 仅使用 100K 参数即可达到 96.6% 的最新准确率。通过在训练中用 MTConv 替换标准时间卷积,由于核融合机制,我们在推理阶段使用相同参数将准确率进一步提高到 96.8%。

2. Method

2.1 Data Preprocess

在数据预处理开始时,我们应用 20Hz/4kHz 的带通滤波器来降低噪声。 之后,构建了 forty dimensional Mel-Frequency Cepstrum Coefficient (MFCC) frames,窗口大小为 30 毫秒,frame shift为 10 毫秒。 最后,我们将 MFCC features作为输入数据输入神经网络。 相应地,我们将 MFCC representation记为 I ∈ R T × F \textbf{I}∈\mathbb{R}^{T×F} IRT×F,其中 F 表示 MFCC 特征的维度,T 表示number of frames。

有关MFCC:一种语音处理技术,用于把音频信号处理成符合人耳听觉的信息。
参见:
https://blog.csdn.net/weixin_42788078/article/details/101422144
https://blog.csdn.net/weixin_38468077/article/details/102709510

2.2. Temporal Efficient Neural Network

Following the implementation of temporal convolution[8], we first treat the input MFCC features as time series, where the feature dimension is equal to the channels of the input feature map. 因此,模型中的所有卷积都是沿时间维度进行的,避免了堆叠大量层来捕获高级频率特征。输入特征图可以表示为 X ∈ R T × 1 × F \textbf{X}∈\mathbb{R}^{T×1×F} XRT×1×F

受 MobileNetV2[11] 中倒置残差结构概念的启发,我们引入了一个bottleneck temporal depthseparable convolution with residuals,称为倒置瓶颈块 (inverted bottleneck block, IBB),它是 TENet 的 key building block。在本文中,IBB(图 1)主要由 1×1 卷积、9×1 深度卷积和 1×1 卷积组成。前者的 1×1 卷积旨在通过扩展通道数量将输入嵌入到高维子空间中,而后者的 1×1 卷积将张量转换回低维紧凑子空间,用于通道之间的信息传输。 9×1 深度卷积作为时间卷积的关键块,通过对每个输入通道应用单个卷积滤波器来伴随非线性变换来执行轻量级滤波。 IBB基于倒置瓶颈结构,顶层和底层为瓶颈层,中间层为扩展层。我们仔细选择扩展层和瓶颈层的通道大小之间的比率为 3,以便在效率和性能之间取得很好的平衡。此外,当输入和输出的大小匹配时,我们直接在瓶颈层之间使用快捷方式[12]。否则,我们使用 1 × 1 卷积和步长来匹配维度。我们使用 ReLU 作为非线性激活函数,并在训练期间使用批量归一化[13]。
在这里插入图片描述
通过堆叠 IBB 层可以轻松构建时间高效神经网络。在图 2 中,我们展示了两个 TENet 实现,分别表示为 TENet6 和 TENet12。它们都从带有批归一化和 ReLU 的 3×1 卷积开始,并以平均池化层、全连接层和 softmax 层的模块结束。 TENet6 和 TENet12 中的每个 IBB 通道数为 32。为了获得紧凑的模型,我们还设计了 TENet6-narrow 和 TENet12-narrow,其 IBB 通道数为 16,其他结构参数保持不变。
在这里插入图片描述

2.3. Multi-Scale Temporal Convolution

2.3.1. Multi-branch Temporal Convolution Module

为了更好地聚合短期和长期的时间信息特征,我们引入了一个多分支时间卷积模块(MTConv)来加强所提出模型中的标准深度卷积层。因此,与基础 TENet 相比,我们通过在训练阶段用 MTConvs 替换 TENet 中的深度卷积来获得更好的精度。但是,在推理阶段,使用 MTConv 训练的 TENet 可以等效地转换为基础 TENet,从而节省了模型参数和计算成本。

我们通过采用具有不同内核大小和batchnorm层的多分支深度卷积架构来实现 MTConv,以取代具有batchnorm层的标准深度卷积,以获得更丰富的时间信息。具体来说,MTConv 中每个分支的kernel size彼此不同,从而帮助分支从自己的时间粒度中学习独特的模式。图 3 显示了 MTConv 的一种实现,与具有 9 × 1 内核的标准深度卷积相比,MTConv 增加了两个分别具有 5 × 1 和 3 × 1 内核的新分支,这增强了捕获短期时间特征的能力。考虑到融合多尺度内核的可行性,我们将分支的输出 逐元素相加 以形成 ReLU 层输入,而不是连接分支的输出。
在这里插入图片描述
在这项工作中,TENet 中的所有深度卷积层在训练时都被替换为 MTConvs。分支数和内核大小都是选择性的。我们从 MTConv 中获得了一个由多尺度内核融合而成的增强内核,通过它我们可以获得与 MTConv 相同的输出。详细的数学推导在第 2.3.2 节中。与使用标准卷积训练的核相比,增强核包含更丰富的时间信息,从而获得更好的性能。然而,在推理阶段,通过将 MTConv 转换为等效的标准深度卷积,带有 MTConv 的 TENet 具有与基本 TENet 相同的参数数量和相同的计算成本。

2.3.2. Kernel Fusion of MTConv

本节讲述了具体是如何把多分支的MTConv融合为普通卷积层,从而在推理时获得和普通卷积一样的计算规模的。就是把多分支卷积的每个分支的kernel size扩展到最大的kernel size。

3. Experiment

4. Conclusions

在这项工作中,我们提出了一种轻量级且高效的小型 KWS 模型。 为了同时聚合短期和长期时间信息特征,我们引入了具有不同内核大小的多分支时间卷积模块,丰富了时间特征空间以获得更好的性能。 我们的目标基础模型在 Google Speech Command Dataset 上仅使用三分之一的参数和更少的乘法运算就可以达到最先进模型的精确度。 额外的比较实验显示了 MTConv 的有效性,其目的模型在性能上优于基本模型,但由于内核融合机制,没有增加额外的参数或计算成本。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值