针对传统卷积神经网络在环境声音分类中泛化能力不足且准确率不高的问题,提出了一个新的将CNN和LightGBM融合的环境声音分类模型。新模型在对音频文件进行梅尔频率倒谱系数矩阵预处理基础上,首先应用深度CNN提取音频的高层次特征;然后,结合LightGBM在分类预测上高效准确的特点,将提取的高层次特征导入LightGBM进行训练预测,从而达到提升分类准确性的目的。UrbanSound8K公开数据集上的对比实验结果表明:与目前使用的单独使用卷积神经网络相比,新模型提高了近7.7%的分类准确率。 Aiming at the problem that the traditional convolutional neural network has insufficient generalization ability and low accuracy in environmental sound classification, a new model mixing deep CNN with LightGBM is proposed. Based on the preprocessing of the Mel Frequency cepstral coefficient matrix on the audio file, the new model firstly uses the deep convolutional neural network to extract features. Then, combined with the efficient and accurate characters of LightGBM in classification prediction, the extracted features are imported into LightGBM for training. Thereby it achieves the purpose of improving classification accuracy. The results of the comparative experiments on the UrbanSound8K public dataset show that the new model improves the accuracy of 7.7% compared to the using a single-use convolutional neural network model.
廖威平,陈平华,赵璁,赵亮,陈建兵,董梦琴
广东工业大学计算机学院,广东 广州
收稿日期:2019年9月25日;录用日期:2019年10月10日;发布日期:2019年10月17日
针对传统卷积神经网络在环境声音分类中泛化能力不足且准确率不高的问题,提出了一个新的将CNN和LightGBM融合的环境声音分类模型。新模型在对音频文件进行梅尔频率倒谱系数矩阵预处理基础上,首先应用深度CNN提取音频的高层次特征;然后,结合LightGBM在分类预测上高效准确的特点,将提取的高层次特征导入LightGBM进行训练预测,从而达到提升分类准确性的目的。UrbanSound8K公开数据集上的对比实验结果表明:与目前使用的单独使用卷积神经网络相比,新模型提高了近7.7%的分类准确率。
关键词 :环境声音分类,卷积神经网络,LightGBM模型,梅尔频率倒谱系数
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
音频识别是模式识别领域一个前沿研究课题。作为音频识别的一个重要分支,环境声音分类(Environmental Sound Classification, ESC)受到了业界许多专家学者的关注,成为了热门研究话题。ESC是用机器进行声学环境分析最重要的技术之一,广泛应用于监听 [
环境声音分类识别属于音频识别范围。传统的音频识别方法分为信号处理方法和机器学习方法。传统的信号处理方法直接使用音频数据 [
为了更好地利用音频数据信息,设计更好的网络结构模型,本文在此基础上调整网络层结构,同时由于卷积神经网络结构模型具有提取音频特征功能作用,本文将使用卷积神经网络模型对音频数据特征进行提取,而使用LightGBM模型对提取特征后的音频数据进行分类预测以加强模型效果,将模型提取特征功能和分类预测功能分离,以改善模型效果。本文将卷积神经网络模型和LightGBM模型融合,融合了卷积神经网络提取特征的功能和LightGBM分类预测的能力,各分模型对应不同的功能,使模型结构具有更好的分类预测效果。
音频数据存储着音频的信号,这种信号是一种一维的时域信号,由多段频谱信号按时间排列表示每个时间段的帧信息。通过直观上观察频谱的分布信息很难得出频率变化的规律,并且难以通过其它模型对该数据进行处理以进行分类预测,同时需要将每个音频数据进行规整化处理使其统一标准,因此需要将音频的频谱信息转换成其它易于理解的形式进行进一步处理。
人的听觉系统是一个特殊的非线性感知系统,它对不同频率的信号有不同的听觉敏感度,通常使用梅尔频率表示人耳对于频率的感受度。梅尔频率是一种基于人耳对等距的音高变化的感官判断而定的非线性频率刻度,它与频率的关系如公式(1)所示。
m e l ( f ) = 2 5 9 5 * l o g 1 0 ( 1 + f 7 0 0 ) (1)
在音频特征的提取上,人类听觉系统能够做得非常好,它不仅能提取出语义信息,而且能提取出声源特征。如果在音频识别系统中能模拟人类听觉感知处理特点,就有可能提高音频的识别率。
梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)是通过梅尔频率和频率之间的关系计算得到的频率频谱特征,是一种在自动语音识别和声纹识别等音频识别中广泛使用的特征。梅尔频率倒谱系数考虑到了人类的听觉特征,通过对spectrogram声谱图进行描述的音频数据进行处理,对分帧后的音频频谱信息通过坐标表示出来,得到一个随时间变化的短时频谱图,即描述单帧信号中能量分布的情况。其峰值表示语音的主要频率成分,称为共振峰(formants),携带声音的辨识属性,利用共振峰可以识别不同的声音。通过提取频谱的包络(Spectral Evnelope)和频谱细节,得到每帧频谱的相关信息。对于每帧频谱信息提取的一维频域特征,将每帧的结果沿另一个维度堆叠起来,得到类似于一幅图的二维信号形式,这样就可以像处理图像一样处理音频数据了。其具体特征提取过程如图1所示,先将语音预加重,使信号的频谱变得平坦,保持在低频到高频的整个频带中;再分为多个帧,每个帧对应于一个频谱;然后加窗,将每帧乘以汉明窗,以增加帧左段和右段的连续性;通过短时快速傅里叶变换(Fast Fourier Transformation, FFT),计算频率与振幅的关系,使时域信号转换为频域上的能量分布来观察;因为频域信号有很多冗余信息,需要滤波器组对频域的能量幅值进行精简,每一个频段用一个值来表示。通过公式(1)将能量幅值转化为人耳对声音感知的梅尔频率,即Mel滤波操作,如图2的映射操作,并通过离散余弦变换将能量信号集种到低频部分。其输出结果值,即是能够描述音频数据的低阶特征MFCC值。梅尔频率倒谱系数将线性频谱映射到基于听觉感知的Mel非线性数据,即可进行倒谱分析。通过提取音频文件的MFCC物理特征,将音频文件信息转换为矩阵信息,为后续模型训练测试做准备。
通过对频谱分析,得到音频声谱图对应的特征数据,且格式符合使用卷积神经网络(Convolution Natural Network, CNN)进行模型拟合过程,可以用CNN进行进一步的高层次特征提取。
卷积神经网络是一种前馈神经网络,由多层卷积层及池化层以及有限数量的全连接层以及softmax输出层构成的神经网络结构。卷积层是通过一系列卷积核表征像素点之间的空间分布,将一个范围内的所有像素点进行加权求平均;卷积核用矩阵表示特征值,代表高层语义信息。卷积层的作用是过滤输入数据的特征,以提取输入所具有的特性空间,通过多个卷积核捕获不同视觉模式。池化层是通过对图像进行下采样将样本大小进行缩放或重构,为下一步更精细的特征做准备。常用的池化方法有最大池化和平均池化。全连接层对层间所有神经元节点进行权值连接,softmax输出层对应模型的分类结果。
图1. 音频文件的MFCC矩阵提取过程
卷积神经网络由在深层架构中堆叠在一起的许多不同层组成,包括一个输入层、一系列卷积层和池化层(可以任意方式组合),防止过拟合的Dropout层,有限数量的完全连接的隐藏层,以及输出层。不同堆叠方式的网络结构,对模型有着不同的效果。随着网络层数的增加,层数过深的网络会导致精度下降,模型效果甚至会变差,这与梯度在传播过程中梯度逐渐消失导致无法对网络权重进行迭代变换有关。因此,为了避免网络结构过深导致模型效果变差,适当地调整网络结构堆叠能够让模型充分发挥效果。本文的CNN网络结构是在Piczak [
模型结构构造为如图3所示,包括:一层输入层,堆叠五层卷积层和池化层,两层全连接层以及一个softmax分类层。此处的softmax分类层是用于训练网络时传递误差,当网络训练完成后,去掉该层而提取前一层的输出数据以进行下一步的训练。由于本文CNN网络只改变网络层数量,而不改变相关参数,因此参数设置与Piczak和Zhang所提出的网络参数设置一致,卷积核使用3 × 3矩阵,池化层步长使用2 × 2的最大池化方法,激活函数使用relu函数,通过该模型训练音频数据,提取音频文件的高层次特征数据。模型的主要流程如下:
算法:CNN提取高层次特征
输入:音频文件经过预处理的MFCC矩阵
输出:音频文件高层次特征数据
1) 构建卷积神经网络模型并且初始化权值;
2) 输入数据经过卷积层、池化层、全连接层的前向传播得到输出值;
图2. 频率映射为Mel频率
3) 计算网络的输出值与目标值之间的误差;
4) 当误差大于期望值时,将误差传回网络中,依次求得网络全连接层、池化层、卷积层的误差,当误差小于等于给定期望值时,结束训练,进入第6步;
5) 根据求得误差调整网络各层权值,再次进入到第2步;
6) 训练结束,输出高层次特征数据。
图3. 卷积神经网络提取高层次特征模型结构图
卷积神经网络的softmax层虽然也能进行分类预测,但是让模型既进行提取特征也进行分类会让模型泛化能力不强,因此考虑让CNN模型进行单独提取特征功能,而使用另一个分类器模型进行分类预测。
轻量级梯度提升器(Light Gradient Boosting Machine, Light GBM) [
算法:Light GBM分类预测
输入:经过CNN提取的高层次音频特征数据
输出:音频类别概率矩阵
1) 初始化m棵基分类决策树,训练样例的权重为 1 / m ;
2) 训练弱分类器 f ( x ) ;
3) 根据训练误差确定当前弱分类器 f ( x ) 的权重
4) 当未达到最大迭代次数,返回第2步继续训练,当达到最大迭代次数,进入第5步;
5) 得到最终分类器如公式(2):
6) 合并基分类器为强分类器对结果进行预测。
其中,m为算法迭代次数,i为第i代迭代,且
针对单一的卷积神经网络模型在环境声音分类预测应用中功能单一导致的准确率不足问题,本文提出了融合两种模型的综合算法模型,具体改进内容如图4所示,在调整CNN网络结构的基础上,将原模型中的softmax方法改进为使用Light GBM方法进行分类。模型总共由三部分组成,分别为数据预处理模块、CNN提取特征模块以及Light GBM分类预测模块。模型总体结构图如图5所示,先将原始音频数据通过数据预处理模块获取音频的物理特征MFCC矩阵然后通过CNN模块提取音频高层次特征数据,最后通过Light GBM模块训练进行分类预测得出预测结果。
算法模型的主要流程如下:
算法:基于CNN和Light GBM的环境声音分类
输入:音频文件信息
输出:模型分类预测概率矩阵
1) 通过数据预处理提取音频数据文件MFCC特征T;
2) 构建卷积神经网络模型并且初始化权值;
3) 输入特征数据T经过卷积层、池化层、全连接层的前向传播得到输出值;
图4. 分类方法改进点
图5. 模型总体结构图
4) 计算网络的输出值与目标值之间的误差
5) 当误差大于期望值时,将误差传回网络中,依次求得网络全连接层、池化层、卷积层的误差,当误差大于给定期望值时,根据求得误差调整网络各层权值,进入到第3步,当误差小于等于给定期望值时,进入第6步;
6) 提取卷积神经网络softmax分类层前一层输出结果作为输入数据V;
7) 初始化Light GBM基分类决策树
8) 训练弱分类器
9) 根据训练误差确定当前弱分类器
10) 当未达到最大迭代次数,返回第8步继续训练,当达到最大迭代次数,进入第10步;
11) 合并基分类器为强分类器
12) 使用综合模型对测试数据进行分类预测
其中提取音频MFCC物理特征过程如图1所示,将音频文件信息使用统一标准提取为规定长度的二维MFCC矩阵特征。i为第i个样本,N为样本数,yi为第i个样本的真实值,yi为第i个样本的预测值,通过构建如图3所示卷积神经网络结构,初始化网络卷积核、全连接层、激活函数各参数等,使用二维MFCC矩阵训练参数并提取最终训练结果,不做最后softmax层的分类而是提取前一层具有音频高层次特征的一维数据。构建LightGBM模型并使用高层次特征数据进行训练,最终使用整体模型进行分类预测。
以监督学习方式训练深度神经网络结构主要问题之一是有效学习所需的计算量和含标签数据量。虽然前者在某方面通过硬件改进和GPU计算在通用基础上得到解决,但后者非常依赖于相关领域知识,往往很难获得有效的源数据。然而,无论是在数量上还是记录大小上,公开可用的环境声音记录数据集都十分有限。考虑到手动注释的高成本,虽然随着新的录制设备的引入逐渐改善了这种情况,但它仍然是该领域新数据密集型方法发展的主要障碍之一。因为监督的深度学习模型的性能受可用于学习的数据集大小的影响强烈,所以选择一个合适的数据集对模型训练的性能影响很大。
本实验数据集使用公开数据集UrbanSound8K [
所使用数据集的所有音频文件采样率均为22050 Hz和16位字深wav格式的单声道信道,使用1024的FFT窗口和50%的重叠以及它们的增量(沿时间维度谱图的一阶导数)将文件转换为频谱图。对所有的数据文件将其提取为4 s长度的频谱,超过4 s的文件截取为4 s,不足4 s的文件通过填充0补足为4 s。在时频变换后提取分段,以提取音频文件的梅尔频率倒谱系数,为了更好地利用数据以及优化模型训练,使用z-score标准化对所有训练文件进行标准化特征,并且同时作用于验证集和测试集上,以达到将音频文件转化为矩阵信息的操作,进而将矩阵输入模型进行训练。图6为某个音频文件经过分帧、加窗、FFT变换得到的频谱图,将该频谱图转换为灰度图,以提取该音频文件MFCC特征的输出,输出结果为40 × 173的二维MFCC矩阵,样本数据集D(8732, 40, 173),将总数据集划分为训练集和测试集,其中70%作为训练集,30%作为测试集,最终得到训练集T(6112, 40, 173),测试集V(2620, 40, 173)。
图6. 一段音频文件提取特征信息的结果
为了提取频谱图的高层次特征,本文调整卷积神经网络层结构并利用数据集D(8732, 40, 173)训练网络模型参数。由于频谱图为单通道数据,因此网络输入层大小设置为(40, 173, 1),卷积层使用3 × 3的卷积核,初始使用32个过滤器,激活函数使用relu函数,卷积处理后填充边界,池化层使用2 × 2的核大小,步长设置为2 × 2,堆叠5层卷积层和池化层后映射到全连接层再到softmax层,对应分类预测的结果,由于本实验数据共有10类,在softmax设置为10类。本实验所设置的卷积网络层结构具体见表1,将该结构卷积神经网络模型命名为ProposedCNN。
Layer | Ksize | Stride | Nums of filters | Out shape |
---|---|---|---|---|
Input | - | - | - | (40, 173, 1) |
Conv1 | (3, 3) | (1, 1) | 32 | (40, 173, 32) |
Pool1 | (2, 2) | (2, 2) | - | (20.86, 32) |
Conv2 | (3, 3) | (1, 1) | 64 | (20.86, 64) |
Pool2 | (2, 2) | (2, 2) | - | (10, 43, 64) |
Conv3 | (3, 3) | (1, 1) | 128 | (10, 43, 128) |
Pool3 | (2, 2) | (2, 2) | - | (5, 21, 128) |
Conv4 | (3, 3) | (1, 1) | 256 | (5, 21, 256) |
Pool4 | (2, 2) | (2, 2) | - | (2, 10, 256) |
Conv5 | (3, 3) | (1, 1) | 512 | (2, 10, 512) |
Pool5 | (2, 2) | (2, 2) | - | (1, 5, 512) |
FC | - | - | 2560 | (2560) |
Dense (Softmax) | - | - | Nums of classes | (10) |
表1. 本文卷积神经网络层结构ProposedCNN相关设置
当卷积神经网络训练完成后,提取最后softmax层前一层的输出结果作为LightGBM模块的输入。LightGBM模块中,输入训练数据由原来的T(6112, 40, 173)重构为T’(6112, 2560),测试数据由原来的V(2620, 40, 173)重构为V’(2620, 2560),并在训练过程中使用GBDT的提升类型,为了防止模型训练过程过拟合,设置较小的叶子节点数num_leaves = 15、较小的学习率learning_rate = 0.01及较小的树深度max_depth = 10。
实验将通过对比本文提出的CNN模型结构ProposedCNN和Piczak提出的卷积网络层结构框架PiczakCNN、Zhang提出的卷积网络层结构框架ZhangCNN训练过程的模型效果,其相关网络设置如表2和表3所示,同时比较本文提出CNN模型结构下融合不同分类学习方法的综合模型效果。
Layer | Ksize | Stride | Nums of filters | Out shape |
---|---|---|---|---|
Input | - | - | - | (40, 173, 1) |
Conv1 | (3, 3) | (1, 1) | 32 | (40, 173, 32) |
Pool1 | (2, 2) | (2, 2) | - | (20.86, 32) |
Conv2 | (3, 3) | (1, 1) | 64 | (20.86, 64) |
Pool2 | (2, 2) | (2, 2) | - | (10, 43, 64) |
Dropout | - | - | - | (10, 43, 64) |
FC | - | - | 2560 | (2560) |
Dense (Softmax) | - | - | Nums of classes | (10) |
表2. PiczakCNN相关设置
Layer | Ksize | Stride | Nums of filters | Out shape |
---|---|---|---|---|
Input | - | - | - | (40, 173, 1) |
Conv1-1 | (3, 3) | (1, 1) | 32 | (40, 173, 32) |
Conv1-2 | (3, 3) | (1, 1) | 32 | (40, 173, 32) |
Pool1 | (2, 2) | (2, 2) | - | (20.86, 32) |
Conv2-1 | (3, 3) | (1, 1) | 64 | (20.86, 64) |
Conv2-2 | (3, 3) | (1, 1) | 64 | (20.86, 64) |
Pool2 | (2, 2) | (2, 2) | - | (10, 43, 64) |
Conv3-1 | (3, 3) | (1, 1) | 128 | (10, 43, 128) |
Conv3-2 | (3, 3) | (1, 1) | 128 | (10, 43, 128) |
Pool3 | (2, 2) | (2, 2) | - | (5, 21, 128) |
Conv4-1 | (3, 3) | (1, 1) | 256 | (5, 21, 256) |
Conv4-2 | (3, 3) | (1, 1) | 256 | (5, 21, 256) |
Pool4 | (2, 2) | (2, 2) | - | (2, 10, 256) |
FC | - | - | 2560 | (2560) |
Dense (Softmax) | - | - | Nums of classes | (10) |
表3. ZhangCNN相关设置
在实验过程中,通过对比PiczakCNN、ZhangCNN和本文ProposedCNN训练过程,其训练过程中的模型准确率和模型损失如图7、图8所示,从图中可以看出,不管是在训练集中还是在测试集中,本文提出的混合框架的模型准确率及模型损失均优于前面两种框架,通过对比表4中实验结果,进一步表明本文提出的CNN结构框架是有效的。
图7. 不同卷积层结构下的模型训练过程准确率
图8. 不同卷积层结构下的模型训练过程损失
Model | Accuracy |
---|---|
PiczakCNN | 0.6618320608867033 |
ZhangCNN | 0.7141221376775785 |
ProposedCNN | 0.7519083969465649 |
表4. 不同CNN结构分类的准确率
通过对比本文所提出CNN结构结合不同分类方法实验比较,表5显示了各种模型的模型准确率和模型损失情况。从表中可以看出,实验的结果表明了融合LightGBM的综合模型,效果更优于融合其它常见的分类算法的混合模型,进一步证明了本文提出的混合结构框架的有效性,这说明融合的模型具有更好的预测分类效果,算法模型能够更好地应用于环境声音分类问题中。使用ProposedCNN + LightGBM混淆模型进行预测分类混合矩阵结果情况如图9所示,混淆矩阵是通过统计每个音频信息其对应的真实类别及预测类别的情况,矩阵中的数为统计真实类别样本被预测为指定类别的样本数,矩阵对角线上的数代表了正确分类预测到该类别的样本数,从混淆矩阵分布情况可以看出,大多数音频文件能够正确分类到对应类别中。
Model | Accuracy |
---|---|
ProposedCNN (softmax) | 0.7519083969465649 |
ProposedCNN + KNN | 0.7660305346241434 |
ProposedCNN + RandomForest | 0.7751908396946565 |
ProposedCNN + SVM | 0.7851908396946565 |
ProposedCNN + LightGBM | 0.7916030534351145 |
表5. 本文所提CNN结构结合不同分类方法的准确率
图9. 模型分类结果混淆矩阵
本文提出了一个新的将深度CNN与LightGBM融合的模型,并与过往提出过的网络结构模型进行对比,结果表明新的卷积神经网络结构模型具有更好的分类预测效果。综合模型通过提取音频文件数据,利用CNN提取音频的高维特征进行进一步的模型训练,通过对比实验表明使用综合模型可以进一步提高分类预测的准确性。
由于卷积网络结构具有不确定性,不能确定该结构网络模型是否是最佳的网络层结构,未来工作可以进一步探索具有更好效果的网络层结构模型,并且如果可以通过理论证明某个网络层结构模型在该工作中是具有最好效果的模型,将能给领域带来良好的贡献价值。
本文得到国家自然科学基金项目(No.61572144)的资助。
本文得到广东省科技计划项目(No.2017B030307002,2015B010110001,2016B030306002)的资助。
廖威平,陈平华,赵 璁,赵 亮,陈建兵,董梦琴. 基于CNN和LightGBM的环境声音分类 Environmental Sound Classification Base on CNN and LightGBM[J]. 计算机科学与应用, 2019, 09(10): 1892-1905. https://doi.org/10.12677/CSA.2019.910212