Robust CNN-based Speech Recognition With Gabor Filter Kernels

在这篇文章中,强调GCNN对噪声数据的稳健性,提出这一方法的初衷,与在特征层面上进行失配补偿的方法异曲同工,希望通过提取对噪声更加鲁棒的特征缓解数据之间的失配问题。

Abstract

在之前的研究当中,通过多层神经网络提取语音信号当中的声学特征信息。虽然这种方法取得了一定的效果,但是,在测试集和训练集数据不匹配的时候,效果会急剧下降(也就是说,模型的泛化性能不好)。Gabor特诊一般由谱-时间滤波器(spectro-temporal filter)进行抽取,来对人类声学信息进行建模。
在本文中,我们提取一种网络结构:GCNN(Gabor Convolutional Neural Network),将Gabor函数与卷积核相结合。在这种网络结构中,一系列的Gabor features为卷积层提供多个feature maps(a variety of Gabor features served as the multiple feature maps of the convolutional layer)。滤波器的系数然后使用BP算法进行微调。

Introduction

在典型系统当中,倒谱系数或者短时谱被当做一个神经网络(eg:DNN,CNN)的输入。虽然训练得到的特征可以有效的降低WER(word error rate),但是这些特征是任务特殊化的(即,这些训练所得到的特征是高度任务相关的,在其他的任务当中可能不会有较好的效果)。与倒谱系数或者谱特征不同,Gabor processing生成得到的大量特征是基于听觉模型的先验知识的。(Unlike cepstral coefficients or spectra, Gabor processing generates a large number of features based on prior knowledge of auditory models before neural network training.)

研究表明,Gabor特征对噪声信号具有较好的稳健性(鲁棒性),这就为噪声语音信号的处理提供了一种新的解决思路。在以前,人们通常通过对信号特征或者声学模型的补偿来处理这一失配问题。

在本文当中,我们提出的GCNN架构,将2D Gabor滤波器融入到经典的CNN网络当中的filter kernel当中进行处理。

文献【17】使用Gabor函数作为谱-时间感受野(spectro-temporal receptive fileds,STRFs),取得了一定的成果。那些方法定义一系列的谱、时间和谱-时间调制滤波器,可以看做是对特定谱-时间信号组件神经发放模式的建模。除去生物解释,还可以理解为这些滤波器提供了比较宽范围的时频plane。

特别的,在文献【18】(TRAPS)文献【19】(HATS)当中,单纯的时间特征可以看做是特殊的谱-时间特征。

最近,在文献【20,21】当中,已经将Gabor滤波器作为DNN网络的输入(这里的将Gabor滤波器作为输入是什么意思?指的是将Gabor滤波器作用于信号,来提取特征,将所提取的特征作为网络输入),来生成Gabor-DNN特征,以提升语音识别的性能。

典型的CNN结构使用权值共享来构建感受野,也构建了信号谱的局部特征。这个滤波过程,允许我们将2D Gabor滤波器整合到CNN的拓扑结构当中。我们使用了一些时间和频域上的支撑信息,修改了CNN的感受野,使其更能够适应Gabor 滤波器的特征。经过修正的CNN网络包括:使用Gabor滤波器系数作为网络最低层的初始化滤波器,然后通过BP算法来fine-tuning滤波器系数。

在实验当中,GCNN网络结构比Gabor-DNN和CNN结构的实验效果都好。其中,Gabor-DNN当中的Gabor滤波器系数没有经过训练微调,是直接指定的滤波器系数;CNN结构则没有使用Gabor函数作为滤波器系数的初始化。

Proposed Method

1)Power-Normalized Spectrum

Gabor和CNNs网络结构都使用了信号的局部频域信息,因此,二者都使用短时(short-time)功率谱作为输入。(<font color#FF0000>也就是说,本论文的实现代码当中,使用的是二维卷积网络(Conv2d)。网络的输入时二维时频功率谱,而不是时域一维信号。)虽然,Mel功率谱已经被成功的用于许多实验当中,但是很容易被噪声数据降低性能。在本论文中,我们使用更加稳健的谱-时间标示特征——power-normalized spectrum(PNS),这种特征的抽取算法在文献【16】当中有所描述,基于PNCC算法。

  • 不像Mel谱那样,短时谱使用等矩形带宽尺度分布的gammatone听觉滤波器;
  • 然后,减去medium-duration功率偏置(其中,bias的计算使用medium-duration的算术平均和几何平均的比值(AM/GM)来计算)

  • 使用幂为0.1的幂次非线性函数来替代对数函数,进行mel倒谱域的非线性压缩

2)Gabor features

3)Convolutional Neural Network

与Gabor滤波器不同,CNN当中的局部滤波器一般使用有监督学习的方法来获得。一个典型的CNN网络一般由卷积层、降采样层和全连接层组成(如图所示)。
Basic convolutional neural network topology

图中以h_m(n,k)表示的是feature map的一列,整个feature map是一个二维矩形
如上图中所示,每一个CNN网络的训练样本由整个频率带的数据在时间帧上的拼接组成(也就是一个完整的时频谱)。在卷积层当中,每个神经元的感受野是一个频率带的子集。一系列的神经元(图中在一个小矩形框中)的感受野(filter),在频域上进行平移,共享相同的参数(kernel,weights)。这些神经元堆叠起来,能够覆盖整个频率带的范围,从而得到一个全频域的feature map。通常卷积层由多个不同的kernels得到多个feature maps组成。每一个神经元的激活由其对应的感受野的权值和接收域中的信号相乘,加上一个偏置,然后使用非线性函数进行映射得到。

4)Convolutional Neural Network using Gabor filter

为了构建Gabor滤波器,我们对上式做出了几点改变:

  • 使用线性函数代替非线性激活函数,偏置强制设置为0
  • 使用不同的时间和频率带支持的Gabor特征。(Gabor features consist of filters with several different time and frequency band supports)
    为了满足滤波器设计,我们修改接收域的尺寸来提供相同的支持作为Gabor滤波器,来代替固定接收域尺寸。(To meet the filter design, we modified the receptive field size to give the same supports as the Gabor filters, instead of using a fixed receptive field size.)(对于此处的描述不太理解,supports的理解,以及接收域尺寸?如何调整接收域的尺寸提供相同的supports?自己的理解,待查证:Gabor滤波器有自己的2D范围(supports),在设计的时候包含了时间和频域二维的band,而接收域/感受野具有人为设定的大小,将感受野的band范围设置为和Gaboe滤波器相同的大小,而不对滤波器进行截断(参考图像当中的高斯滤波器设计,可以直接截取均值附近的一部分范围进行采样,作为平滑滤波器)。

Gabor滤波器系数然后进行联合初始化,如在式(1)所示。相比较于传统的CNN网络,我们提出的GCNN在不同的时域和频域解析度的情况下,定义了线性激活feature maps,初始化之后使用BP算法进行参数训练,这样的方法也潜在的缓解了模型参数的过拟合问题。
1567740-20190513203120629-2025772011.png

实验

模型的基本架构如上面图所示,此处对实验的具体参数不做过多说明,如有需要可以参考论文当中的实验设置。

值得注意的是,在实验当中,作者在卷积层使用了120个filters(相当于输出120个feature maps,也就是120维输出通道数),其中,每个滤波器的size为:9个频率带和15个连续帧,相比于图像卷积核来说,在本文中使用的filter size非常大。使用6个频率带的max pooling,stride为2(重叠为4个频率带),也就是说,经过一次max pooling后,feature maps在频率上的维度减少2。在论文中,对时间维度上的pooling,与频率上的参数设置相同)。在GCNN当中,对每一个filter kernel来说,time supports为7-99 frames,freauency supports为7-40 bands。(对于此处有点疑惑!!!)

结果和分析

实验结果

Gabor-DNN使用变尺寸的filters,但是完全为手工设计(Gabor-DNN used filters with variable size, but totally handcrafted)。PNS-CNN使用fixed size的filters,但是参数是在有限数据集上训练得到的。PNS-GCNN具有variable size的filters。

CNN与GCNN的filters比较

在上图中,上半部分,展现了CNN网络当中vertical(spectral)方向上和horizontal(temporal)方向上的filters的可视化结果。CNN训练的滤波器与对角Gabor滤波器没有什么相关性;下半部分,展示了diagonal Gabor filter和经过GCNN网络训练之后的滤波器。因此,giagonal filtering是一个辨别滤波器是由随机初始化训练得到的,还是Gabor滤波器初始化训练得到的辨别标志。

1567740-20190513210412694-668978812.png

参考:
Tutorial on Gabor Filters

转载于:https://www.cnblogs.com/dream-and-truth/p/10838821.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值