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

本文主要是介绍【文献阅读】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 的有效性,其目的模型在性能上优于基本模型,但由于内核融合机制,没有增加额外的参数或计算成本。

这篇关于【文献阅读】Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295864

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

【阅读文献】一个使用大语言模型的端到端语音概要

摘要 ssum框架(Speech Summarization)为了 从说话人的语音提出对应的文本二题出。 ssum面临的挑战: 控制长语音的输入捕捉 the intricate cross-mdoel mapping 在长语音输入和短文本之间。 ssum端到端模型框架 使用 Q-Former 作为 语音和文本的中介连接 ,并且使用LLMs去从语音特征正确地产生文本。 采取 multi-st

INDEX+SMALL+IF+ROW函数组合使用解…

很多人在Excel中用函数公式做查询的时候,都必然会遇到的一个大问题,那就是一对多的查找/查询公式应该怎么写?大多数人都是从VLOOKUP、INDEX+MATCH中入门的,纵然你把全部的多条件查找方法都学会了而且运用娴熟,如VLOOKUP和&、SUMPRODUCT、LOOKUP(1,0/....,但仍然只能对这种一对多的查询望洋兴叹。   这里讲的INDEX+SMALL+IF+ROW的函数组合,

AI文献综述神器,有这一款就够了!

我是娜姐 @迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 当前的AI辅助文献综述的工具有很多,如果说功能最强大的,娜姐无疑要推SciSpace了。 SciSpace利用强大的AI算法,理解并建立研究论文之间的联系,可以大大提升文献综述的质量和效率。并且其功能还在不断更新和完善。        1 强大的语义搜索功能 传统的关键词搜索可能会遗漏相关文献,Sc