2022.10.16 第4次周报

目录

  • 一、文献阅读
    • 1.1 摘要
    • 1.2 研究内容
    • 1.3 使用技术
    • 1.5 结果分析
  • 二、卷积神经网络
    • 2.1 基本概念
    • 2.2 各层介绍
    • 2.3 卷积操作
  • 三、数字识别代码实现
  • 总结

一、文献阅读

本周阅读了Convolutional Neural Networks for Speech Recognition(语音识别中的卷积神经网络),下面做简单介绍。

1.1 摘要

最近,混合深度神经网络(DNN)-隐藏马尔可夫模型(HMM)已被证明比传统的高斯混合模型(GMM)-HMM能显著提高语音识别性能。性能的提高部分归因于DNN对语音特征中复杂的相关性进行建模的能力。在本文中,我们表明,通过使用卷积神经网络(CNN)可以进一步降低错误率。我们首先对基本的CNN进行了简明的描述,并解释了如何将其用于语音识别。我们进一步提出了一个有限权重共享方案,可以更好地模拟语音特征。CNN中的局部连接、权重共享和池化等特殊结构对语音特征沿频率轴的微小移动表现出一定程度的不变性,这对处理说话人和环境的变化非常重要。实验结果表明,在TIMIT电话识别和语音搜索大词汇量语音识别任务中,与DNNs相比,CNNs的错误率降低了6%-10%。

1.2 研究内容

本文的前提是,广泛的输入上下文和适合领域的不变性表示对于最近基于神经网络的声学模型的成功是如此重要,以至于这些优点的 ANN-HMM 体系结构原则上可以胜过其他具有潜在无限深度的 ANN 体系结构,至少对于某些任务。CNN 是最古老的深层神经网络结构之一,作为手写识别的一种手段,它非常受欢迎。而一个基于卷积神经网络(CNN)的新型结构,一种 CNN 的修改,称为有限重量分担,但是,这在一定程度上削弱了它们无限深堆叠的能力。此外,我们还详细说明了 CNN 在 ASR 中的应用,并提供了不同的 CNN 配置如何影响 ASR 最终性能的额外实验结果。

1.3 使用技术

一般来说,深度神经网络(DNN)是指具有一个以上隐藏层的前馈神经网络。每个隐藏层都有一些单元(或神经元),每个单元将下层的所有输出作为输入,与一个权重向量相乘,将结果相加并通过一个非线性激活函数,如sigmoid或tanh,如下所示:
在这里插入图片描述
其中o(l)i表示第l层第i个单元的输出,w(l)j,i表示从第l-1层第j个单元到第l层第i个单元的连接权重,w(l)0,i是添加到第i个单元的偏置,σ(x)是非线性激活函数。在本文中,我们只考虑sigmoid函数,即σ(x)=1/(1+exp(-x))。为了简化符号,我们可以用以下矢量形式表示上述计算:
在这里插入图片描述
其中,偏置项通过将向量o(l-1)扩展为额外的1维而被吸收到列权向量w(l)i中。 此外,每层的所有神经元激活可以用以下矩阵形式表示:
在这里插入图片描述
其中W(l)表示第l层的权重矩阵,第i列w(l)i为任意i。
DNN的第一层(底部)是输入层,最上面一层是输出层。对于多类分类问题,每个类别的后验概率可以用输出softmax层来估计:
2022.10.16 第4次周报_第1张图片
其中o(L)i的计算方法为
在这里插入图片描述
在混合DNN-HMM模型中,DNN取代了GMM来计算HMM状态的观察似然。DNN输出层计算状态后验概率,除以状态的先验值来估计观测似然值。在训练阶段,首先进行强制对齐,为每一帧生成一个参考状态标签。这些标签在监督训练中被用来最小化交叉熵函数,Q({W(l)})=-∑idilogyi,这里显示的是一个训练帧的i范围是所有目标标签。交叉熵目标函数的目的是使参考目标d和软性最大DNN预测y之间的差异最小化。
Q相对于每个权重矩阵W(l)的导数可以根据众所周知的误差反向传播算法进行有效计算。如果我们使用随机梯度下降算法来最小化目标函数,对于每个训练样本或小型批次,每个权重矩阵的更新可以计算为:
2022.10.16 第4次周报_第2张图片
其中,ϵ是学习率,第l层的误差信号向量e(l)从sigmoid隐藏单元向后计算,如下所示:
2022.10.16 第4次周报_第3张图片
其中,-代表两个同等大小的矩阵或向量的逐元乘法。

具有有限权重共享的CNN用于ASR
2022.10.16 第4次周报_第4张图片
一个具有有限权重共享的CNN的图示。一维卷积是沿着频带应用的。
2022.10.16 第4次周报_第5张图片
使用有限权重共享(LWS)的CNN层也可以表示为使用大的稀疏矩阵的矩阵乘法,其中局部连接和权重共享以矩阵形式表示。上图假设滤波器大小为5,池子大小为4,45个输入特征图,卷积层有80个特征图。

1.5 结果分析

语音数据与分析
在这两个数据集中,语音分析的方法是相似的。使用固定帧速率为10毫秒的25毫秒汉明窗口对语音进行分析。采用基于傅里叶变换的滤波器组分析方法生成语音特征向量,该方法包括40个对数能量系数及其第一和第二时间导数。对所有语音数据进行归一化处理,使得每个向量维具有零均值和单位方差。

电话识别结果
对于 TIMIT,我们使用标准的462扬声器训练集,并删除所有 SA 记录,因为他们可能会偏倚的结果。一个单独的50个发言者的开发集被用来调整所有的元参数,包括学习时间表和多学习率。结果报告使用24扬声器核心测试集,其中没有重叠的开发集。除了对数 MFSC 特性之外,我们还增加了每帧的对数能量特性。对每个话语的对数能量进行标准化,使其最大值为1,然后对整个训练数据集进行标准化,使其均值和单位方差为零。能量特征在 CNN 中处理,如第三部分所述。
2022.10.16 第4次周报_第6张图片 不同 CNN 池大小对局部权重分享(LWS)和全权重分享(FWS)的电话错误率(PER)的影响。分别绘制了开发装置和核心测试装置的精度图。卷积和汇集层使用8150个 FWS 特征映射的滤波器尺寸,以及80个 LWS 特征映射的每个频带。LWS 和 FWS 使用2的移位大小,而 LWS (SS)和 FWS (SS)使用等于池大小的移位大小
2022.10.16 第4次周报_第7张图片
在VS大型词汇数据集上的表现,在有和没有预训练(PT)的情况下,WER百分比。

二、卷积神经网络

2.1 基本概念

卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层(池化层)构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征图(featureMap),每个特征图由一些矩形排列的的神经元组成,同一特征图的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。

2.2 各层介绍

卷积神经网络通常包含以下几种层:
2022.10.16 第4次周报_第8张图片

  • 卷积层(Convolutional layer),卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。
  • 线性整流层(Rectified Linear Units layer, ReLU layer),这一层神经的活性化函数(Activation function)使用线性整流(Rectified Linear Units, ReLU)f(x)=max(0,x)f(x)=max(0,x)。
  • 池化层(Pooling layer),通常在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。
    2022.10.16 第4次周报_第9张图片
  • 全连接层(Fully-Connected layer), 把所有局部特征结合变成全局特征,用来计算最后每一类的得分。

2.3 卷积操作

对于CNN,卷积操作的主要目的是从输入图像中提取特征。卷积通过使用输入数据的小方块学习图像特征来保留像素之间的空间关系。卷积操作就是卷积核(过滤器 / Filter)在原始图片中进行滑动得到特征图(Feature Map)的过程。假设我们现在有一个单通道的原始图片和一个卷积核,卷积的过程如下图所示:
2022.10.16 第4次周报_第10张图片
卷积得到的特征图的每一个像素值,是由对应位置的卷积核所覆盖的原始图像的对应像素值相乘,然后再相加获得的。卷积核每滑动一次,就进行一次卷积运算,直至得到最后的特征图。

实际上,CNN在训练过程中会自行学习这些过滤器的值。 我们拥有的过滤器数量越多,提取的图像特征就越多,并且我们的网络在识别看不见的图像中的图案方面会变得越好。但是在训练过程之前,我们仍然需要指定一些超参数,例如卷积核的数量,卷积核大小,网络的体系结构等。特征图的大小和三个参数有关系:
1、深度:特征图的深度等于卷积核的个数。
一个卷积核的通道数是和被卷积的图像的通道数一致,例如,对于三通道的图像,那么一个卷积核也是由三个通道组成(三个叠加而成的二维矩阵)。
2022.10.16 第4次周报_第11张图片
2、步长:步长是将卷积核滑过输入矩阵的像素数。 当步长为1时,我们将卷积核一次移动一个像素。步长较大将产生较小的特征图。

3、零填充:用于控制特征图的大小;有利于卷积核学习到输入图像周边的信息。
如果有一个nn的图像或矩阵,将其填充P层元素后,用FF大小的过滤器,以步长为S的方式进行卷积,输出的矩阵大小为【(n+2P-F)/S+1】*【(n+2P-F)/S+1】。

三、数字识别代码实现

2022.10.16 第4次周报_第12张图片
2022.10.16 第4次周报_第13张图片
2022.10.16 第4次周报_第14张图片
2022.10.16 第4次周报_第15张图片

总结

本周学习了卷积神经网络,在学习途中遇到了很多问题,通过反复查阅资料,逐渐清晰了卷积神经网络的工作原理以及实现过程。下周,我会继续学习卷积神经网络,加深对其的理解以及应用。

你可能感兴趣的:(语音识别,深度学习)