A Deep Neural Network Integrated with FilterBank Learning for Speech Recognition
本文主要对该论文中的关键点进行总结和梳理,不完全翻译整篇文章。
摘要
DNN的主要优势就是不需要人工提取语音信号当中的特征。因此,我们在DNN的底部(输入部分)加上了一个pseudo-filterbank层,并且通过联合训练,对该层的参数和网络其他层的参数进行训练。在现有的其他基于DNN的网络当中,一般取预先定义的Mel尺度filterbanks作为声学特征作为网络的输入。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。在本文的实验当中,我们使用Gaussian函数代替三角Mel尺度的filterbanks。这一技术使得filterbank层能够保持频域光滑性(This technique en- ables a filterbank layer to maintain the functionality of fre- quency domain smoothing.)
Experimental results show that the frame-level transformation of filterbank layer constrains flexibility and promotes learning efficiency in acoustic modeling.
- 在本文中,其filterbank不是预先从语音当中提取出来的,而是通过联合训练,得到一组滤波器组,然后对输入信号进行处理得到的。
介绍
DNNs已经应用到语音识别当中(DNN-HMM),并且表现出比传统GMM方法优异的结果。在参考文献【2,3】当中,研究了使用深度学习的方法来进行前端(front-end)学习,如语音增强和filterbank学习。这些工作都表现出了比手动提取特征的方法优异的效果。
在参考文献【4,5】当中,分析和评价了hand-crafted filterbanks和learned filterbanks之间的差异。这些分析表明,在Mel尺度的filterbanks和learned filterbanks之间的中心频率具有一定相似性。( 这一结果表明,基于Mel尺度的learned filterbanks的中心频率初始化是有根据的和合理的,具体需要进行学习的只有filter的形状参数。 )但是,在中心频率的学习问题上,两个文献具有不一致的观点。那些实验结果表明,filterbanks形状的学习取决于当前任务,尤其是背景噪声的存在与否(因为背景噪声如果存在的话,则需要对噪声所在的频率区域进行抑制,形成一个陷波器)
文献【6】当中,联合learned filterbanks和classifier(DNN)进行训练,其中,filterbank是由Gaussian函数进行参数化的模型。( 高斯参数化模型与当前文章有什么不同,在本文当中也使用Gaussian函数进行filterbank的参数化)把filterbank和分类器进行联合训练,能够提升分类的准确性。
文献【7】也进行了联合训练,其中filterbank的限制条件是:通过引入权值的指数\(exp(W)\),使filterbank中的元素保持为正。这种弱限制(weak restriction)没有给出一个清晰的函数解释,为什么人们要手工设置三角形状的filterbank。也就是说,pseudo-filterbanks的参数对所给定的数据来说是过拟合的,pseudo-filterbanks的形状导致了multiple peaks。( 我的理解是:因为指数函数不像三角或者Gaussian函数那样,中间高两边低,但是训练之后的参数却形成了这种类三角的形状,而不是和指数函数的单调形式类似,并且形成了多峰形状,从而可以推断出filterbank参数对于所给定的数据发生了过拟合,从而导致了这种情况的发生。 )这样的pseudo-filterbanks没有频域中的平滑能力(多峰导致)。
文献【9】中为了进一步减少网络的参数,在CNN 中使用\(Gabor\)滤波器作为卷积层,其中网络的输入为归一化功率谱(Power-Normalized Spectrum)。( \(Gabor\)函数具有什么属性,能够使得网络的参数继续降低。)
在本文中,我们参考文献【6】当中,使用Gaussian函数对网络中的filterbank进行参数化,Gaussian函数对其进行参数具有自由参数方面的优势,并且pseudo-filters能够快速自适应调节。(The Gaussian function has an advantage over a convolutional layer in the number of free parameters and in the fast adaptation of pseudo-filter.)实验当中,使用联合训练对网络进行训练。
Filterbank learning的相关工作
虽然DNN-HMM方法比GMM-HMM方法性能优异,但是当测试集和训练集存在不匹配时,前者的性能也会随之下降。学习filterbanks能够使用一些自适应方法来近似,虽然这些方法有不同的表示和约束。
自适应方法大致可以分为两类:特征空间自适应和模型自适应(在一般的分类当中,还有一个分数自适应)。文献【12】的在DNN的前面加上了一个线性变换层\(input=Wx+b\),文献【11】在DNN前面加上了一个单独训练的能够跨帧连接的线性层,文献【13】在前面加上一个(块对角)block-diagonal矩阵,并且能够通过忽略与其他帧的连接,相同的方法也用在单独帧数据当中。能够看到,【11】中的方法是【12】中方法的一种特殊形式。
(这里介绍的是两种补偿方法的例子,且基本都是在神经网络的输入层进行改进。)
判别训练(Discriminative training)Gaussian Filterbanks
Gaussian filterbanks
一般的,我们可以使用HTK工具来进行Mel尺度filterbank特征提取(也可以使用Kaldi语音识别工具包,比HTK更全面,但是参考和学习文档没有HTK完整、系统)。然而,一个三角滤波器不是可微的(实际上,只是在一个点不可微,不明白此处作者这样分析是否有问题),不能融合到BP算法当中对其进行训练另外,因为每一次的前向传递,都需要沿着所有的频率带(frequency bins)进行计算累加,所以滤波器函数应该是计算有效的函数。也就是说,能够用来设计filter的函数应该是可微的和计算高效的(简单的)
在实验当中,pseudo-filterbanks由下式进行建模(参数化):
\[ \theta_n(f)=\varphi_n exp\{-\beta_n(p(\gamma_n)-p(f))\}^2 \]
其中,\(\theta_n(f)\)是第\(n\)个滤波器在频率\(f\)处的值,\(\varphi_n\)是增益参数,\(\beta_n\)是带宽参数,\(\gamma_n\)是中心频率。线性频率\(f\)由函数\(p(f)\)映射到Mel尺度中。
在上述filter的参数化模型中,可训练的参数有:\(\varphi_n\)(gain)、\(\beta_n\)(bandwith)、\(\gamma_n\)(center frequency)。传统的三角滤波器和高斯滤波器都能够保持频域的光滑性(Both a traditional triangular filter and a Gaussian filter maintain the functionality of frequency domain smoothing) ** 滤波器之间主要的不同是包含频率带的范围(滤波器的带宽)**Gaussian滤波器作用于整个频率带范围,然而三角滤波器只作用于截止频率以内的频率带。
Training algorithm
