【转】CLDNN-将RNN与CNN结合使用 论文精读

原文地址:https://zhuanlan.zhihu.com/p/41765656
CLDNN-将RNN与CNN结合使用 论文精读
Masonic
Masonic
16 人赞同了该文章
论文题目:

CONVOLUTIONAL, LONG SHORT-TERM MEMORY, FULLY CONNECTED DEEP NEURAL NETWORKS

论文作者:

Tara N. Sainath, Oriol Vinyals, Andrew Senior, Has¸im Sak

概论 ABSTRACT
本文的题目直译过来是 卷积-LSTM-全连接神经网络。英文缩写为CLDNN

即同时使用卷积(Convolution)结构,循环(Recurrent)结构,与全连接(Fully-Connected)结构构建神经网络模型,解决NLP中的一个课题:LVCSR(Large-Vocabulary-Continuous-Speech-Recognition)

看似是思想单纯的混合使用,但在接下来的正文当中,

我们会对这种新型CLDNN内部的结构与信息处理过程做一个更加详细的介绍。

论文使用的结构:

LSTM(Long-Short-Term-Memory) 结构擅长处理与时间相关的数据
CNN(Convolutional Neural Network) 将多个时间点的数据抽象提取特征,减少无效数据。
DNN(Deep-Neural-Network) 将输入数据中的特征映射至更离散的空间,即将输入的数据变成神经网络中的各种参数。

研究背景 INTRODUCTION
常用套话(最近在LVCSR课题上神经网络又发展出什么什么新结构啦,又怎么怎么吊打老旧的GMM-HMM模型啦,既然这些新结构这么厉害,我们干嘛不把他们混起来用呢…)

关键点I 使用CNN-LSTM的原因:
对于输入的特征 x_t ,时间信息的处理已经在LSTM结构完成,后续结构收到的是不含时间信息的输入数据。但是CNN同样有一定的处理时间信息的能力,而且CNN的这种抽象特征的能力比LSTM的要更高维。

既然LSTM的输出不含时间信息,我们在输入端下手,在LSTM层前放置一个CNN层。

CNN层抽取时间维度上隐含的信息,将更高质量,高浓度的feature传递给LSTM层。
在这里插入图片描述

改进的CNN-RNN结构(点击查看原图)
关键点II CNN-LSTM结构的灵感来源:
针对LVCSR这个课题,

目前比较先进的GMM-HMM模型加入了说话人自适应(SpeakerAdaptation)处理,

原理是在GMM-HMM结构前进行VTLN/声道长度归一化(vocal tract length normalization)

以及fMLLR/特征空间极大似然估计线性回归(feature-space maximum likelihood linear regression)。实验中已经证明这种结构非常有效

当然这些专有名词不需要去理解是什么意思,它们主要与连续语音识别这个学科有关,感兴趣的话可以自行搜索。

在这里插入图片描述
含VTLN/fMLLR处理的GMM/HMM(点击查看原图)
VTLN/fMLLR的作用是平整输入的语音数据,统一声道长度,去除无效的数据。

这启发了我们,因为CNN同样有抽象特征,去除多余数据,减小运算量的功能。

模型结构 MODEL STRUCTURE
在这里插入图片描述
CLDNN模型结构
输入数据
数据的基本单位为帧( x_t ),每帧都是一个含40维度的梅尔频谱,输入的数据是由多帧组合成的向量 [x_{t-l},…,x_{t+r}] ,其中最左侧一帧即第一帧计为l,最后一帧计为r。

卷积结构
模型使用的CNN层为[1]中所推荐的,共使用两层卷积层,第一层的卷积核为(9,9),第二层的卷积核为(4,3),两层卷积层中含1个池化核为3的池化层。

线性层
由于卷积结构的结果数据量过大(feature-mapsxtimexfrequency context),我们使用[2]中提到的线性层将数据降维处理,将数据降维至每帧256个数据。

LSTM层
此处参考[3]使用了2层LSTM结构,每层含832个单元,另有一个含500个单元的Projection Layer作降维处理。time_step设为20,使用BPTT方法训练。

另外,我们将LSTM层的输入和输出数据错开了5帧,

这是因为在实验中发现,后续的DNN在知道了当前帧接下来几帧的信息时,能更好的预测当前帧信息。

举个例子,我们有1,2,3,4,5,6,7,8,9,10这样十帧数据,通常使用LSTM时,是用1,2,3,4,5来预测第6个位置的数字,但是这里我们用4,5,?,7,8来预测第6个位置的数字,相当于将数据错开了3帧。

实际上这是一个分析给定音频得出词语的课题,而不是预测问题,不存在训练好了模型,拿去使用时没有未来7,8这两帧的数据这种情况,最后两帧相对于音频的总长度可以忽略不计。

全连接层
使用了[4]中提供的方法,共两层全连接层,每层1024个神经元。

核心-多维度数据处理
原始数据与降维后的CNN输出同时输入至LSTM
CNN能够学习 [x_{t-l},x_t] 这个区间里的信息,并将其传递给LSTM层,我们称之为长期特征(Long-Term Feature)。

而LSTM层的参数time_step为20,即LSTM根据当前帧之前(20+l)帧分析得出当前帧的内容,是 [x_{t-20-l},x_t] 这个区间内的信息,算上错开的5帧,是 [x_{t-15-l},x_{t+5}] 这个区间里的信息。

我们称之为短期特征(Short-Term Feature)。

既然不需要CNN的处理,LSTM也能学习短期特征,在同一个模型中同时使用两种特征已经在[5]和[6]中研究过了,方法是:

把CNN的输出降维后与原始的 x_t 一并输入到LSTM当中,图中示意为连接输入和LSTM层的虚线(Short-Term_feature)。

注:这里的长短期跟LSTM(Long-Short-Term-Memory)里面自带的那两个长短期应该不是一个意思(?)

  1. LSTM输出与降维后的CNN输出同时输入至DNN

与1类似,这个想法首先由CV领域的学者提出[7],本论文使用了[8]和[9]方法的改进版,极大地减少了参数。图中示意为线性层与全连接层间的虚线。

实验结果与结论 RESULTS AND CONCLUSION
在200小时的训练后,CLDNN比LSTM的相关性高4%,加入了多维度数据处理后,相关性又提高了1%。

在2000小时的训练后,CLDNN比LSTM的相关性高4-5%。

本篇论文提出的CLDNN模型在处理LVCSR Voice Search任务时,比传统的LSTM模型更加优秀,

CLDNN结合RNN与CNN优秀性能的同时,在保证精度的前提下,使用线性层大大减少了运算量。模型结构中的两条虚线,即混合原始数据与CNN/LSTM处理过的数据,能够最大限度地保留数据当中隐含的特征,在数据量较大,且与时间相关的任务中可以尝试使用CLDNN。

By Masonic@NAIS
关注NAIS学生AI联盟公众号,一起探索人工智能!
Make Ai Accessible to All
http://weixin.qq.com/r/ny7bwxLECE93rVag93uN (二维码自动识别)

参考 REFERRENCES

[1] T. N. Sainath, A. Mohamed, B. Kingsbury, and B. Ramabhadran,

“Deep Convolutional Neural Networks for LVCSR,” inProc. ICASSP, 2013.

[2] T. N. Sainath, V. Peddinti, B. Kingsbury, P. Fousek, D. Nahamoo,

and B. Ramabhadhran, “Deep Scattering Spectra with

Deep Neural Networks for LVCSR Tasks,” in Proc. Interspeech,

[3] H. Sak, A. Senior, and F. Beaufays, “Long Short-Term Memory

Recurrent Neural Network Architectures for Large Scale

Acoustic Modeling,” in Proc. Interspeech, 2014.

[4] A. Mohamed, G. Hinton, and G. Penn, “Understanding

how Deep Belief Networks Perform Acoustic Modelling,” in

ICASSP, 2012.

[5] P. Schwarz, P. Matejka, and J. Cernocky, “Hierarchical Structures

of Neural Networks for Phoneme Recognition,” in Proc.

ICASSP, 2006.

[6] F. Grezl and M. Karafat, “Semi-Supervised Bootstrapping Approach

for Neural Network Feature Extractor Training,” in

Proc. ASRU, 2013.

[7] P. Sermanet and Y. LeCun, “Traffic sign recognition with

multi-scale convolutional networks,” in Proc. IJCNN, 2011.

[8] T. N. Sainath, B. Kingsbury, A. Mohamed, G. Dahl, G. Saon,

H. Soltau, T. Beran, A. Aravkin, and B. Ramabhadran,

“Improvements to Deep Convolutional Neural Networks for

LVCSR,” in in Proc. ASRU, 2013

[9] H. Soltau, G. Saon, and T. N. Sainath, “Joint Training of

Convolutional and Non-Convolutional Neural Networks,” in

in Proc. ICASSP, 2014.

编辑于 2018-09-02

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值