李子煜 汪鑫 张优优 姚天
摘 要 近年来,随着理论的发展与大数据的来临,人工智能、深度学习再度成为学术界研究的热点。本研究的主要目标是通过卷积神经网络实现对江苏省方言的分类,提出了一种高效准确的语音识别与分类的方法,可建立详细的方言数据库,在方言日益衰微的今天,方言数据库对于方言的保护与研究都具有重大意义。首先详细介绍了用于卷积神经网络的数据集的制作过程,包括语音文件的准备,声谱图的批量转化以及处理过程。然后使用MatConvNet建立卷积神经网络,在训练与测试过程中不断修改参数,最后使用江苏省方言中的单字进行测试,分类的准确率在85%左右,证明该卷积神经网络性能良好。
关键词 卷积神经网络;语音识别;江苏省方言;MatConvNet
中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2018)208-0080-03
1 卷积神经网络
1.1 卷积神经网络的起源与发展
卷积神经网络是人工智能神经网络的一种,Fukushima于1980年第一次提出了一个基于感受野的理论模型Neocognitron,Neocognitron是一个自组织的多层神经网络模型,也是卷积神经网络的理论基础;1998年,Lecun 等提出的LeNet-5采用了反向传播算法对神经网络网络进行有监督的训练,经过训练的网络通过交替连接的卷积层和下采样层将原始图像转换成一系列的特征向量,最后通过全连接的神经网络针对图像的特征表达进行分类,这就是最早的卷积神经网络模型;2012年,Krizhevsky 等提出的AlexNet 在大型图像数据库ImageNet的图像分类竞赛中以准确度超越第二名11%的巨大优势夺得了冠军,使得卷积神经网络成为了学术界的焦点,至此卷积神经网络被广泛应用于语音分析和图像识别领域。
1.2 卷积神经网络的结构
卷积神经网络是一个多层的神经网络,由多个独立神经元彼此连接构成平面,又由多个二维平面构成完整的网络。卷积神经网络一般含有多个卷积层与特征映射层,其中卷积层是卷积神经网络最基本的结构,一般来说,一个典型的卷积层包括数据输入、卷积计算、激活、池化等部分组成。其中,数据输入层也包括可选择性的对原始数据的处理,主要是归一化等图像白化处理;卷积计算的目的是通过卷积核与输入数据的卷积来实现图像的特征提取,得到多个特征映射;激活通过非线性的激活函数处理,提高网络的表达能力;池化层通过最大池化或者平均池化等来减小参数的规模,降低网络的复杂程度。特征映射层上所有神经元的权重相同,通过Logistic回归与ReLu激活映射图像特征,最后一个特征映射层通过softmax输出结果。以本研究为例,本文的卷积层共使用了18个卷积核,并采用最大池化来提取图像有效特征,防止过拟合,同时提高模型泛化能力;特征映射层通过ReLu函数来约束Logistic回归中可能出现的负值,最后一层通过softmax来输出分类结果。
1.3 卷积神经网络的特点与优势
卷积神经网络的模型因其权值共享的结构类似于生物神经网络,使得网络模型的复杂度大大降低而被用于图像及语音的识别,并取得了卓越的效果。另外,由于引入了GPU,以前很复杂的模型现在通过并行计算能很容易地训練,大大缩短了训练调节参数的周期,大大增强了卷积神经网络的实用性。
2 语音文件的准备
2.1 语音文件的选择
为了使卷积神经网络具有良好的性能,本研究选择了种类繁多,发音相近的江苏省方言对神经网络进行训练。因为训练卷积神经网络需要庞大的数据集,本研究按照江苏省各市分为70类,其中每类的语音文件又分为单字、词语和短句各选择300个音频文件,从而提供了足够可分为训练集与测试集的数据库。
2.2 语音文件的下载
首先登录江苏语言与文化资源库http://jsyy. jsjyt.edu.cn/选择所要下载的音频类型与所属市,点击鼠标右键,选择其中的“查看源”选项,使用“ctrl+F”进入查找页面,查找“wav”文件,得到音频的源文件下载地址为:http://jsyy.jsjyt. edu.cn/bigdata/滨海需交文件电子版/录音/方言老男/老男例句/0001小张昨天.wav 获得一个市的所有下载地址后使用Internet Download Manager进行批量下载:点击“任务”选项,选择“从剪贴板中添加批量任务”;点击“浏览”选项,选择需要保存的位置,然后点击“全部选择”,然后点击“确定”;选择“开始执行队列”,点击“确定”,开始批量下载到以县级市名字命名的指定文件夹。这样即可批量下载一个市的方言音频文件。而下载其他市的样本集只需在excel中用目标市替换下载地址中的当前市,重复以上步骤即可。
3 声谱图的转换与处理
3.1 声谱图的转换
为了使用卷积神经网络进行语音识别,本研究使用MATLAB将音频文件转换为可输入卷积神经网络的二维声谱图。在MATLAB中有许多绘图函数,本研究中采用自动短时傅里叶变换spectrogram函数直接绘制音频文件的声谱图,软件框架如图1所示。
使用strcat函数获取音频文件的路径与名称;使用audioread函数读取音频文件并保存为向量形式;使用spectrogram函数将音频文件转化为声谱图,其中的参数分别为:x——输入信号的向量,本研究中即为音频文件转化为的向量;window——窗函数,本研究中默认为nfft长度的海明窗Hamming;noverlap——每一段的重叠样本数,本研究中采用500;nfft——做FFT变换的长度,本研究中取512;fs——采样频率,本研究取384;最终使用saves函数保存获得的声谱图至目标路径。
最终得到的声谱图实质上为音频文件所转化的向量的频谱图,其中纵轴为时间,横轴为频率,颜色表示音频强度。
3.2 声谱图的处理
用MATLAB转化的声谱图会带有图例与空白边缘,这无疑对卷积神经网络的训练是不利的;另一方面,本实施例中所述声谱图的大小为1 200×900,不可以直接放进经典的卷积神经网络进行训练。本研究中使用Photoshop批量处理声谱图,去掉白边并转换为固定大小。具体步骤为:使用Photoshop中的“创建新组”功能实现批量处理,即在点击创建新组后进行裁剪、调整大小、保存至目标路径等操作,之后即可对一批声谱图反复执行所述操作,最终得到无空白边缘,图像大小为227×227、224×224等经典卷积神经网络可训练的图片大小,处理后的声谱图如图2所示。再为处理后的声谱图打上标签,即其所属的市与单字或词语等类型,按照4:1的比例分为训练集与测试集,至此完成声谱图的转换与处理,获得可用于卷积神经网络的数据集。
4 卷积神经网络的训练
4.1 MatConvNet简介
MatConvNet是MATLAB软件中可用于实现计算机图像识别的卷积神经网络(CNN)的工具箱,其特点是非常易于开发与使用。除了MatConvNet之外,已经有许多机器学习以及卷积神经网络的开源库,例如Caffle、Tensorflow、CudaConvNet等,而开发者仍要开发MatConvNet的主要动机就是为研究者以及使用者提供一个更加友好,高效便捷的环境。相比于其他框架,MatConvNet的优势在于可以运用相对简单的MATLAB语言来构筑网络(卷积,归一化,池化等)。除此以外,MATLAB可以支持GPU运算,这可以保证工作的效率。而且,MATLAB软件的开放性也意味着卷积神经网络能够在其他领域发挥作用。MatConvNet可以对一些大型神经网络进行学习,比如我们将要使用的Alexnet网络。
4.2 卷积神经网络的建立
本研究在MatConvNet中搭建的Alexnet网络共分为五层,结构如图3所示。
输入图像为227×227×3的彩色图像,输出为70个结点,对应70个县市。初始化网络模型之后,可以开始训练样本和测试样本,分批次对所有样本进行训练,不断更新权值,直到目标函数的值收敛于一个稳定区域内的值。
5 卷积神经网络的测试
5.1 实验准备
Alexnet网络的第一层为输入层,接受227×227的彩色图片输入,最后一层为输出层可以设置有N个节点,可以代表结果的N个分类。本研究的数据集为江苏省70个县市的方言单字音频转换的声谱图,所以将N的值设为70,每个类约有300个样本,将其中的80%用于训练,剩余的20%用于测试。
5.2 实验结果
使用测试集测试经过训练的卷积神经网络,得到AlexNet网络用于江苏省方言分类的目标函数及错误率的变化趋势图如图4所示。其中,横坐标代表训练的次数,蓝色曲线表示训练过程,黄色曲线表示测试过程;objective 表示目标函数即误差的变化趋势,纵坐标表示目标函数的值;top1err表示将方言准确分类到其所属县市的错误率的变化趋势,纵坐标表示错误率;top5err为表示将方言分类到与所属县市方言最接近的5个县市方言的错误率的变化趋势,纵坐标表示错误率。从图4中通过对卷积神经网络的训练与测试,目标函数和错误率都逐渐趋于稳定值,其中top1err 的值也稳定在10%左右,证明卷积神经网络性能良好。
参考文献
[1] Hubel D H, Wiesel T N. Receptive fields,binocular interaction,and functional architecture in the cats visual cortex [J].Journal of Physiology, 1962,160(1):106-154.
[2] Fukushima K. Neocognitron: a self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position [J]. Biological Cybernetics, 1980, 36(4):193-202.
[3] Lecun Y, Bengio Y, Hinton G E. Deep learning. Nature,2015,521:436-444.
[4] Krizhevsky A, Sutskever I, and Hinton G E. Imagenet classification with deep convolutional neural networks[C]. Advances in Neural Information Processing Systems, Lake Tahoe,NV,USA,2012:1097-1105.
[5]張晴晴,刘勇,王智超,等.卷积神经网络在语音识别中的应用[C]//中国科学院声学研究所纪念建所50周年暨学术交流会,2014.
[6]赵志宏,杨绍普,马增强.基于卷积神经网络 LeNet-5 的车牌字符识别研究[J].系统仿真学报,2010,22(3):638-641.