【深度学习语音识别】CNN-LSTM-DNN:CLDNN-卷积,长短时记忆,完全连接的深层神经网络

1. 论文地址:

Convolutional, Long Short-Term Memory, fully connected Deep Neural Networks

发表年份:2015年
被引量:691

这是一篇 CNN 在语音识别任务中应用的经典;

2. 摘要:

卷积神经网络(CNN)和长短期记忆(LSTM)都已在各种语音识别任务中显示出对深度神经网络(DNN)的改进,并且 CNN,LSTM 和 DNN 在建模能力上是互补的,因为 CNN 擅长减少频率变化,LSTM 擅长时间建模,而 DNN 适合将要素映射到更可分离的空间;

在本文中,作者通过将 CNN,LSTM 和 DNN 组合成一个统一的架构来利用它们的互补性,由此搭建并优化 的体系结构,被称为称为 CLDNN,用于各种词汇连续识别任务,相对于 LSTM(三个模型中最强的模型)的WER 提高了 4 6 4-6%

3. 核心思想:

  1. LSTM 的一个问题是时间建模是在输入特征 x t x_t (如倒谱系数特征)上完成的,而 x t xt 的高级建模可以帮助 LSTM 更容易理解输入中变化的潜在特征,从而更容易学习连续时间步长之间的时序结构; 例如,已经有研究表明,CNN 可以学习不同个体自适应或区别的训练特征,从而消除输入中的变化;
  2. 在 LSTM 中, h t h_t 和 输出 y t y_t 之间的映射也不深,即没有中间的非线性隐藏层;如果可以减少隐藏状态的变化因素,那么模型的隐藏状态可以更有效地总结先前输入的上下文信息,从而使输出更容易预测;因此可以通过在 LSTM 层之后放置 DNN 层来模拟减少隐藏状态的变化;

作者提出的模型主要结构是:

  1. 将输入要素(由时间上下文包围)输入到几个 CNN 层以减少频谱变化;
  2. 将 CNN 层的输出输入到几个 LSTM 层中,以减少时间变化;
  3. 将最后一个 LSTM 层的输出输入到几个完全连接的 DNN 层,这些层将要素转换为一个空间,使该输出易于分类;

这篇论文的贡献之处在于,作者将 CNN,LSTM 和 CNN 合并到一个联合训练的统一框架中,从而改善LSTM性能,并通过使隐藏单元和输出之间的更深层次的映射(DNN 层提供)来输出预测;

4. CLDNN 的网络结构:

在这里插入图片描述
(虽然作者画的图比较草率,,,但是研究还是非常有意义的)

4.1 输入:

对于时刻 t t ,它的输入包括左边的 l l 个上下文向量和右边的 r r 个上下文向量,记为 [ x t l , . . . , x t , . . . , x t + r ] [x_{t-l},...,x_t,...,x_{t+r}] ,并且每个向量都是 40 40 维的 log-mel 特征;

4.2 卷积层:

在这里插入图片描述

卷积层的作用是减少输入信号的频率变化;

具体来说,使用 2 个卷积层,每个卷积层具有 256 个特征图;

  1. 第一个卷积层使用 9x9 频率-时间滤波器;
  2. 第二个卷积层使用 4x3 滤波器;

这些滤波器在整个时频空间中共享;

池化使用不重叠的最大池化,并且仅按频率进行池化,第一层的池化层大小为3,第二层未进行池化;

4.2 线性层:

由于 CNN 输出大小为 特征图数×时间×频率 尺寸很大,因此作者通过添加线性层以减小特征尺寸,而不会造成精度丢失;

在这里插入图片描述

在实验中,作者发现减小维数以使线性层有 256 个输出是合适的;

4.3 LSTM 层:

在这里插入图片描述
进行频率建模后,将 CNN 的输出传递到LSTM层,从而对信号进行建模;

作者使用了 2 个 LSTM 层,其中每个 LSTM 层具有 832 个单元,以及一个 512 单位的用于降维的投影层;

注意文中默认 LSTM 将展开 20 个时间步,并通过进行截断的反向传播(BPTT)训练;

此外,输出状态标签会延迟 5 帧有助于更好地预测当前帧;

为了确保 LSTM 不会看到超过 5 个未来上下文的帧从而避免解码延迟,作者为 CLDNN 设置 r = 0 r = 0

4.4 DNN 层:

在这里插入图片描述
在进行频率和时间建模之后,将 LSTM 的输出传递到几个完全连接的 DNN 层,适合于生成更易于分为我们要区分的不同类别的高阶特征;

每个完全连接的层都有 1024 个隐藏单元;

4.5 多尺度叠加:

作者发现将 CNN 的输入 x t x_t 同时传入到 LSTM 中可以增加额外的补充信息,因此设计了虚线 (1) 的结构:

在这里插入图片描述

同时受计算机视觉的残差结构的启发,作者探索了在使用 LSTM 在时间上以及使用 DNN 在判别上对 CNN 输出进行建模之间是否存在互补性,并将 CNN 的输入传递到 DNN 中,如 (2) 所示:
在这里插入图片描述

5. 实验参数:

所有模型的输入都是 40 维的 log-mel 滤波器组特征,每 10ms 计算一次;

除非另有说明,否则所有神经网络均使用异步随机梯度下降(ASGD)优化策略并以交叉熵准则进行训练;

所有网络都有 13,522 个 CD 输出目标,并使用 Glorot-Bengio 策略初始化所有 CNN 和 DNN 层的权重;

所有 LSTM 层都将随机初始化为高斯分布,方差为1/(#inputs);

另外,学习速率是针对每个网络选择的,并且选择为最大值,以使训练保持稳定。;

学习率呈指数下降;

6. 消融实验:

作者分别在一个中等大小英语口语数据集(200 小时)、一个较大英语口语数据集(2000 小时)和一个人工添加环境噪声的数据集(2000 小时)上进行训练和评估,并采用 WER(词错率)作为评判指标;

6.1 基准线:

基准模型的参数设置为:

  1. CNN包括 2 个具有256个特征图的卷积层和 4 个包括 1,024 个隐藏单元的全连接层;
  2. DNN包括 6 层,每层共有 1,024 个隐藏单元;

CNN 和 DNN 的输入都是 40 维的 log-mel 滤波器组特征,周围有 20 个过去帧和 5 个将来帧;

  1. LSTM 由 2 层 832 个单元的 LSTM 层和 512 个单元的维投影层训练,输入是一个 40 维 log-mel 特征,在时间上展开为 20 步,并且输出延迟了 5 帧;

在这里插入图片描述

在这里插入图片描述

6.2 CNN+LSTM:

为确保 CLDNN 的改进不是归因于CNN(以及LSTM)的额外上下文功能,作者还探索了具有不同时间上下文的 LSTM 的行为,结果如下:

在这里插入图片描述

6.3 LSTM+DNN:

这里作者还探讨了在 LSTM 输出之后添加完全连接的层的效果:

在这里插入图片描述

实验结果表明在完成时间建模之后,使用 DNN 层将 LSTM 层的输出转换为更具区分性和更容易预测输出目标的空间是有益的;

6.4 CNN+LSTM+DNN:

在这里插入图片描述

该表表明,将 CNN 和 DNN 层与 LSTM 组合在一起所获得的收益是互补的;

6.5 权重初始化:

通过适当的权重初始化,可以提高模型性能:
在这里插入图片描述

6.6 多尺度特征:

在这里插入图片描述

7. 实验结果:

本节在更大的数据集上比较 CLDNN 和 LSTM,以及多尺度相加模块的性能:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8. 结论:

在本文中,作者提出了 CNN,LSTM 和 DNN 的组合架构,称之为 CLDNN;

该体系结构使用 CNN 来减少输入特征的光谱变化,然后将其传递到 LSTM 层以执行时间建模,最后将其输出到 DNN 层,从而产生更易于分离的特征表示;

作者还为该体系结构添加了多尺度的补充,以捕获不同分辨率的信息;

各种 LVCSR 语音搜索任务的结果表明,与 LSTM 相比,CLDNN 体系结构可将 WER 相对降低 4 6 4-6%

发布了115 篇原创文章 · 获赞 198 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44936889/article/details/104891283