system: [SYSTEM]

user: 2. 技术细节 2.1. 音频数据预处理 音频数据存储着音频的信号，这种信号是一种一维的时域信号，由多段频谱信号按时间排列表示每个时间段的帧信息。通过直观上观察频谱的分布信息很难得出频率变化的规律，并且难以通过其它模型对该数据进行处理以进行分类预测，同时需要将每个音频数据进行规整化处理使其统一标准，因此需要将音频的频谱信息转换成其它易于理解的形式进行进一步处理。 人的听觉系统是一个特殊的非线性感知系统，它对不同频率的信号有不同的听觉敏感度，通常使用梅尔频率表示人耳对于频率的感受度。梅尔频率是一种基于人耳对等距的音高变化的感官判断而定的非线性频率刻度，它与频率的关系如公式(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物理特征，将音频文件信息转换为矩阵信息，为后续模型训练测试做准备。 2.2. CNN提取特征数据 通过对频谱分析，得到音频声谱图对应的特征数据，且格式符合使用卷积神经网络(Convolution Natural Network， CNN)进行模型拟合过程，可以用CNN进行进一步的高层次特征提取。 卷积神经网络是一种前馈神经网络，由多层卷积层及池化层以及有限数量的全连接层以及softmax输出层构成的神经网络结构。卷积层是通过一系列卷积核表征像素点之间的空间分布，将一个范围内的所有像素点进行加权求平均；卷积核用矩阵表示特征值，代表高层语义信息。卷积层的作用是过滤输入数据的特征，以提取输入所具有的特性空间，通过多个卷积核捕获不同视觉模式。池化层是通过对图像进行下采样将样本大小进行缩放或重构，为下一步更精细的特征做准备。常用的池化方法有最大池化和平均池化。全连接层对层间所有神经元节点进行权值连接，softmax输出层对应模型的分类结果。 图1. 音频文件的MFCC矩阵提取过程 卷积神经网络由在深层架构中堆叠在一起的许多不同层组成，包括一个输入层、一系列卷积层和池化层(可以任意方式组合)，防止过拟合的Dropout层，有限数量的完全连接的隐藏层，以及输出层。不同堆叠方式的网络结构，对模型有着不同的效果。随着网络层数的增加，层数过深的网络会导致精度下降，模型效果甚至会变差，这与梯度在传播过程中梯度逐渐消失导致无法对网络权重进行迭代变换有关。因此，为了避免网络结构过深导致模型效果变差，适当地调整网络结构堆叠能够让模型充分发挥效果。本文的CNN网络结构是在Piczak [ 21 ] 和Zhang [ 26 ] 提出的网络结构的基础上调整提取特征的网络结构，调整它们的堆叠方式，改变卷积层和池化层的数量，以更好的对音频数据进行高层次特征提取。 模型结构构造为如图3所示，包括：一层输入层，堆叠五层卷积层和池化层，两层全连接层以及一个softmax分类层。此处的softmax分类层是用于训练网络时传递误差，当网络训练完成后，去掉该层而提取前一层的输出数据以进行下一步的训练。由于本文CNN网络只改变网络层数量，而不改变相关参数，因此参数设置与Piczak和Zhang所提出的网络参数设置一致，卷积核使用3 × 3矩阵，池化层步长使用2 × 2的最大池化方法，激活函数使用relu函数，通过该模型训练音频数据，提取音频文件的高层次特征数据。模型的主要流程如下： 算法：CNN提取高层次特征 输入：音频文件经过预处理的MFCC矩阵 输出：音频文件高层次特征数据 1) 构建卷积神经网络模型并且初始化权值； 2) 输入数据经过卷积层、池化层、全连接层的前向传播得到输出值； 图2. 频率映射为Mel频率 3) 计算网络的输出值与目标值之间的误差； 4) 当误差大于期望值时，将误差传回网络中，依次求得网络全连接层、池化层、卷积层的误差，当误差小于等于给定期望值时，结束训练，进入第6步； 5) 根据求得误差调整网络各层权值，再次进入到第2步； 6) 训练结束，输出高层次特征数据。 图3. 卷积神经网络提取高层次特征模型结构图 2.3. Light GBM 卷积神经网络的softmax层虽然也能进行分类预测，但是让模型既进行提取特征也进行分类会让模型泛化能力不强，因此考虑让CNN模型进行单独提取特征功能，而使用另一个分类器模型进行分类预测。 轻量级梯度提升器(Light Gradient Boosting Machine， Light GBM) [ 27 ] 是集成学习中的一种Boosting框架，使用决策树作为学习算法的基分类器。Boosting方法训练基分类器时采用串行训练的方式，各分类器之间有依赖。它的基本思想是将各个基分类器层层叠加，将弱分类器提升为强分类器，每一次训练时，对前面训练错误的样本赋予更高的权重，逐渐堆叠分类器为一个复杂强大的集成分类器。预测时，根据各层分类器结果加权取得最终预测结果。基于Boosting思想而出现的一系列算法模型，从早期的简单弱分类器组合成强分类器的自适应提升器(Adaptive Boosting， AdaBoost)到依据模型损失函数的梯度信息来迭代训练的梯度提升决策树(Gradient Boosting Decent Tree， GBDT)，再到在各大算法竞技平台普遍使用的XgBoost (eXtreme Gradient Boosting)，以及在XgBoost基础上改进的Light GBM算法，这些算法模型在处理常见的分类预测问题上均能表现出不错的效果。算法的主要流程如下： 算法：Light GBM分类预测 输入：经过CNN提取的高层次音频特征数据 输出：音频类别概率矩阵 1) 初始化m棵基分类决策树，训练样例的权重为 1 / m ； 2) 训练弱分类器 f ( x ) ； 3) 根据训练误差确定当前弱分类器 f ( x ) 的权重 ； 4) 当未达到最大迭代次数，返回第2步继续训练，当达到最大迭代次数，进入第5步； 5) 得到最终分类器如公式(2)： (2) 6) 合并基分类器为强分类器对结果进行预测。 其中，m为算法迭代次数，i为第i代迭代，且 ，为第i代训练出的分类器。 2.4. 模型描述 针对单一的卷积神经网络模型在环境声音分类预测应用中功能单一导致的准确率不足问题，本文提出了融合两种模型的综合算法模型，具体改进内容如图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为样本数，y i 为第i个样本的真实值，y i 为第i个样本的预测值，通过构建如图3所示卷积神经网络结构，初始化网络卷积核、全连接层、激活函数各参数等，使用二维MFCC矩阵训练参数并提取最终训练结果，不做最后softmax层的分类而是提取前一层具有音频高层次特征的一维数据。构建LightGBM模型并使用高层次特征数据进行训练，最终使用整体模型进行分类预测。