关键词检测任务调研(Keyword Spotting)(4)

目录

说明

Abstract

Introduction

Method

Experiment

Conclusion

笔者发言

说明

这篇文章是对一些论文的简要描述。如果你想知道具体内容,可以下载原文并阅读。如果读者参考下面的文章,请以标准的方式引用。

[En]

This article is a brief description of some papers. If you want to know the specific content, you can download the original text and read it. If readers refer to the following article, please quote it in a standard way.

Li, Ximin et al. “Small-Footprint Keyword Spotting with Multi-Scale Temporal Convolution.” ArXiv abs/2010.09960 (2020): n. pag.

Abstract

(1) the trade-off between small footprint and high accuracy for KWS(关键词定位) task.

(2) 我们提出了一个多分支时间卷积模块(MTConv),训练阶段替换标准的时间卷积层,性能更好。有多个size不同的时间卷积滤波器,丰富了时间特征空间。

(3) 模型在时间和深度上的利用,可以在KWS系统成为一个时间高效的神将网络(TENet)。

(4) MTConv在inference阶段,可以等价地转换为基本卷积结构,这样比起base model,我们不会增加额外的参数和训练成本。

(5) 性能在谷歌语音命令数据集上准确率96.8%,且参数只有100K.

Introduction

(1) 关键字定位(KWS)是一项旨在检测音频流中预先训练好的单词的任务。其中一个应用就是唤醒词检测。

(2) 唤醒词检测:用来启动与移动设备的语音助手的交互,设备资源有限,但是要实现持续监听特征词,所有高精度、低延迟以及低占用空间仍然具有挑战性。

(3) DNNs已经被证明能够为KWS提供有效的small-footprint solutions。尤其一些先进的架构,如CNNs,准确性不错under limited memory footprint as well as computational resource scenarios(有限内存占用和有限的计算资源)。

(4) 第一个问题:基于2D-CNN的方法,网络浅时很难捕获低高频之间的依赖性。为解决该问题,在一些工作中,[8,9]利用一维时间卷积来提取高级频率特征。尽管它们取得了成功,但由于固定的核大小(即二维卷积为3×3,9×1为1维卷积),因此没有考虑到聚合短期和长期时间信息特征的能力。事实上,捕获不同尺度的时间信息是很重要的,因为关键字的特征在时间尺度上通常是不同的。

(5) 本文方法

  • 时间特真丰富,
  • MTConv可以等价地转换为具有增强核的原始时间卷积层,使得输出与标准时间卷积的输出一样。
  • 占用内存与准确度之间有个比较好的平衡,我们提出的TENet,由1×1 convolution, 9×1 depthwise convolution and 1 × 1 convolution构成的倒置瓶颈块。

(6) 贡献

  • 提出了一种基于深度-时间卷积的时间效率高的神经网络。
    [En]

    We propose a time-efficient neural network based on depth-time convolution.*

  • 进一步提出多分支的时间卷积模块MTConv,以获得多尺度时间特征,它在inference阶段可以转化成标准的时间卷积。(训练阶段是MTConv,推理阶段转化为标准时间卷积STConv)
  • 我们的base TENet inference获得96.6%的准确性,
  • 换成MTConv训练,inference时的kernel fusion mechanism,使得性能提高到96.8%。

Method

(1)数据处理:

  • 先带通滤波器去噪,然后40维的MFCC(30ms的window size and 10ms frame shift),最后将MFCC作为输入数据送入神经网络。维度:(T,F)帧数*40

(2) TENet【8】:

1) 首先将输入的MFCC特征视为时间序列,维度[T,1,F],因此模型中的所有卷积都沿时间维度。

2) 模型结构受[11]启发,TENet的主要模块IBB(倒置瓶颈块),带残差的瓶颈时间去分离卷积。(顶和底瓶颈,中间膨胀层,两者之间的channel size比值为1:3)

关键词检测任务调研(Keyword Spotting)(4)
  • Conv1x1:通过扩大信道数,将输入嵌入高维子空间,

  • 深度Conv9x1:将tensor重新转化为低位紧的子空间,用于信道间的信息传输。它是时间卷积的重要模块,每个信道一个卷积滤波器来执行实现轻量级滤波,伴随着非线性变换。

  • Conv1x1:当输入和输出的大小不匹配时,利用1×1卷积来匹配维度。

3) 通过叠加IBB层,可以很容易地构建时间高效的神经网络。

(3) Multi-Scale Temporal Convolution:

1) 在训练阶段,将深度卷积替换为MTConvs进行训练,在推理阶段,MTConv训练的TENet可以等价地转换为基础TENet,这节省了模型参数和计算成本。

2) MTConvs是具有不同的核大小和批归一化

3) 具体地说,MTConv中每个分支的内核大小彼此不同,从而帮助该分支从自己的时间粒度中学习独特的模式。膨胀区新增两个分支,增强了捕获短期时间特征的能力。

关键词检测任务调研(Keyword Spotting)(4)

4) Relu的输入并不是concat每个分支的输出,而是以元素的方式将每个分支的输出相加。 (多尺度核 融合 一个增强核)

5) 标准卷积训练的核 VS. 增强核:后者包含更丰富的时间信息,从而产生更好的性能。

(4) Kernel Fusion of MTConv(核融合)

1) 输入M:[T,1,C], C个滤波器的concatenation F:[D,1,C],(kernel size of D × 1 and C filters)

输出O:[T,1,C]

M F

关键词检测任务调研(Keyword Spotting)(4)

所以第j个滤波器输出的第t个元素,再通过batch normalization后为:

关键词检测任务调研(Keyword Spotting)(4)

K = (D-1)/2,且D为基数,如9,5,3,则对应k=4,2,1

2) 再变成多分支,为了方便融合,所以三个F按照最大的k(即4)来补零。

根据方程(2),我们对小内核做零填充,这样所有的内核都具有相同的大小,

关键词检测任务调研(Keyword Spotting)(4)

关键词检测任务调研(Keyword Spotting)(4)

关键词检测任务调研(Keyword Spotting)(4)

这也应证了上文说的MTConv等价于是带有ˆF核和βˆ偏差的,且去掉标准化的卷积。

Experiment

(1) 谷歌的数据是:上千人关于30中不同的关键词的一秒长的发音文件,总共有65k个文件。80%训练。验证集测试集各10%。

(2) 训练数据中随机80%增加了一些服从非均匀分布(0,0.1)的噪声,作为背景噪声,还增加了随机时移:(-100,100)ms之间的值

(3) 初始30K学习率为0.01,每10k衰减0.1.,batchsize=100,标准权重衰减设置为0.00004.

(4) 我们分别用MTConv和标准卷积来训练TENet的所有四个实现,每个实现都经过20次的平均性能训练。 TENet6,TENet12,TENet6-narrow,TENet12-narrow,四种

(5) 默认的MTConv由四个分支组成,分别包含3×1、5×1、7×1和9×1卷积核。

(6) 性能指标:accuracy、模型的参数数量以及multiply操作

(7) 结果:

  • 不加MTConv时的TENet,比起别人的方法[7]、[8],我们的性能不错,且模型参数少,multiply数也少。
  • 加入MTConv:四种配置的TENet都有性能提升了0.15% ~0.32%。
  • 分支越多,性能越好。

Conclusion

(1) 轻量级、高效的、占用内存小的KWS,

(2) 为了同时聚合短期和长期的时间信息特征,我们引入了一个具有不同核大小的多分支时间卷积模块,丰富了时间特征空间,以获得更好的性能。

(3) 我们的基本模型(TENet)性能接近目前最先进的模型,且我们只用了他们1/3的参数量,乘法操作也少。

(4) 引入了MTConv, 但由于核融合机制,没有增加额外的参数或计算成本。

笔者发言

  • 关于关键词检测任务,读者想了解更多文章可以去 关键词检测任务调研(Keyword Spotting)(1)https://blog.csdn.net/LJJ_12/article/details/120079279 中一览,
  • 然后可以去https://www.semanticscholar.org/ 根据关键词进行文章搜索,完成自己的探索
  • 我只是分享自己的一点学习成果,这只是KWS任务的冰山一角,还有很多有效的方法等待你去挖掘
  • 相关代码(谷歌的):https://github.com/hyperconnect/TC-ResNet

Original: https://blog.csdn.net/LJJ_12/article/details/120080929
Author: LJJ_12
Title: 关键词检测任务调研(Keyword Spotting)(4)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/515067/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球