音乐流派是被提及最多的音乐标签之一。随着互联网曲库容量的增加,按流派检索音乐成为音乐信息检索的主流方法,同时也是音乐服务平台为用户推荐音乐的重要基础。自动且精准地进行音乐流派识别可以有效减少人力成本。常用的音乐流派识别模型一般包括训练和测试两个阶段。在训练阶段,首先通过建立数学模型描绘具有区分度的音乐流派数字特征;然后采用预加重、梅尔滤波、倒谱提升等方式提取音乐文件的数字特征;最后基于不同流派的数字特征和分布特性训练分类器。在测试阶段,使用与训练阶段相同的方式进行数字特征提取,利用在训练阶段得到的分类器对提取到的数字特征进行计算并评估流派。
常用的机器学习音乐流派识别模型主要有支持向量机(support vector machine,SVM)模型、K-近邻(K-nearest neighbor,KNN)模型、梯度提升(gradient boosting)模型和极端随机树(extra trees)模型。邵曦等[1]利用音乐的梅尔频率倒谱系数(Mel frequency cepstrum coefficient, MFCC)特征构造了SVM模型,对5个流派的音乐进行识别,取得了81.20%的识别准确率。Ali等[2]将MFCC特征输入KNN模型,在GTZAN数据集[3]上进行实验,验证了KNN模型对音乐流派识别的有效性。Murauer等[4]对比了Gradient Boosting模型和Extra Trees模型对音乐流派多维数字特征的提取能力,证明了两个模型能够有效识别音乐流派特征信息。但常用的机器学习音乐流派识别模型存在容易过拟合的问题,在完成一定数据量的训练之后,输入更多的数据进行训练,无法得到更好的扩展。因此常用的机器学习音乐流派识别模型在处理大量的训练样本时表现较差[5]。
近年来,学者们尝试使用深度学习模型来提高音乐流派自动识别的准确率,采用循环神经网络(recurrent neural network,RNN)构建深度学习音乐流派识别模型逐渐成为当前的研究热点。Dai 等[6]提出了融合段特征的概念,验证了音乐特征分段提取的有效性,成功将长短时记忆网络(long short-term memory, LSTM)引入音乐流派识别领域。Jakubik[7]采用音乐长片段和短片段两种数据格式进行模型训练,建立了有效的 LSTM和门控循环单元(gated recurrent unit,GRU)音乐流派识别模型,并将LSTM模型和GRU模型进行了对比,在GTZAN数据集上,GRU模型取得了更高的音乐流派识别准确率。但是LSTM和GRU难以表达具有良好区分度的音乐特征[8],因此LSTM和GRU在音乐流派识别领域表现不够理想。而图像识别领域中的深度卷积神经网络(deep convolutional neural network,DCNN)模型具有权值共享和良好的局部感知特性[9],能够学习音乐的频谱图像中局部细腻的音乐流派特征和频率节奏等变化。因此本文在对比了AlexNet[10]、VGGNet16[11]、VGGNet19[11]、GoogLeNet[12]和ResNet-34B[13]后,选择了参数较少,参数空间较小,不易导致过拟合和梯度消失的AlexNet[14]做出增强,基于增强的AlexNet构建了深度卷积神经网络音乐流派识别(deep convolutional neural network music genre recognition,DCNN-MGR)模型,旨在进一步提高机器学习模型对音乐流派自动识别的准确率。
1 AlexNet网络Krizhevsky等[10]提出了由5个卷积层、3个最大池化层、3个局部响应归一化(local response normalization,LRN)层、3个全连接层堆叠成的AlexNet。AlexNet使用线性整流(rectified linear unit,ReLU)函数作为卷积层和全连接层的激活函数,有效解决了网络较深时的梯度消失问题。AlexNet利用GPU的并行计算来处理神经网络训练时大量的矩阵运算,使卷积神经网络的训练变得更加高效,从而增强了DCNN在工业生产中的实用性。AlexNet在医疗诊断[15-17]、目标检测[18-19]、人脸识别[20]等领域有着广泛的应用,AlexNet的网络结构如图1所示。
Download:
|
|
为了避免网络在训练过程中出现过拟合现象,AlexNet在全连接层间应用Dropout。在进行前向传播时以概率
$ {{r}}_j^{(l)}\sim {\rm{Bernoulli}}(p) $ | (1) |
$ {{{\tilde y}}^{(l)}} = {{{r}}^{(l)}} \times {{{y}}^{(l)}} $ | (2) |
$ {{z}}_i^{(l + 1)} = w_i^{(l + 1)}{{{\tilde {{y}}}}^l} + {{b}}_i^{(l + 1)} $ | (3) |
$ {{y}}_i^{(l + 1)} = f({{z}}_i^{(l + 1)}) $ | (4) |
式中:
本文在AlexNet的基础上,针对DCNN的音乐特征提取能力和频谱识别性能,对网络性能进行增强并改进其部分结构,提出了AlexNet-enhanced。AlexNet-enhanced由5个卷积层、3个最大池化层、3个全连接层及Softplus分类器构成,AlexNet-enhanced的网络结构如图2所示,网络模型如图3所示。
Download:
|
|
Download:
|
|
增强1 AlexNet-enhanced将卷积层的激活函数——ReLU函数替换为带泄露整流(leaky rectified linear unit,Leaky ReLU)函数。Leaky ReLU激活函数计算公式[21] 为
$ f(x) = \left\{ {\begin{array}{*{20}{l}} {{\rm{0}}{\rm{.01}}x{\rm{, }}\quad x < 0} \\ {x{\rm{, }}\quad x \geqslant 0} \end{array}} \right\} = \max ({\rm{0}}{\rm{.01}}x,x) $ | (5) |
Leaky ReLU函数可以有效解决ReLU函数带来的神经元坏死问题。Leaky ReLU函数的导数不为零,可以减少静默神经元的出现。同时其自变量在负区间取值时,输出值不为0,避免了ReLU函数进入负区间后神经元不学习的问题。因此,在特征提取过程中,Leaky ReLU函数能够有效提高特征信息的完整性和利用率。
增强2 AlexNet-enhanced将全连接层的激活函数ReLU函数替换为双曲正切(hyperbolic tangent,Tanh)函数。Tanh激活函数计算公式为
$ f(x) = \frac{{\sinh (x)}}{{\cosh (x)}} = \frac{{{{\rm{e}}^x} - {{\rm{e}}^{ - x}}}}{{{{\rm{e}}^x} + {{\rm{e}}^{ - x}}}} $ | (6) |
Tanh函数在自然语言处理领域有着广泛的应用,其函数的零均值化处理,可以在迭代过程中不断增强网络对音乐特征的提取效果。
2.1.3 网络结构改进改进1 为了使网络更易并行化,AlexNet- enhanced去掉了对音乐特征识别泛化能力增益较弱的LRN层。
改进2 AlexNet-enhanced将第1个卷积层的输出节点减少至64个,第2个卷积层的输出节点减少至192个,最后一个全连接层的输出节点减少至10个,通过减少冗余参数来加速收敛网络,减少网络的训练时间。
改进3 AlexNet-enhanced在提取特征的全连接层后加入 Softplus[22]分类器进行特征分类。Softplus计算公式为
$ \zeta (x) = \log (1 + {{\rm{e}}^x}) $ | (7) |
Softplus具有单侧抑制、相对宽阔的兴奋边界等优点,其在定义域内连续可导,使得梯度可在整个定义域内传播,更接近生物特性[23]。
2.2 模型构建 2.2.1 模型流程图DCNN-MGR模型通过快速傅里叶变换(fast fourier transform,FFT)[24]提取音频信息,生成可以输入DCNN的频谱,并将频谱进行切割后输入DCNN。以模型完成训练集中全部音乐文件的一次训练,验证集中全部音乐文件的一次验证,作为一个批次,多次迭代训练模型和验证模型,在达到指定批次时输出音乐流派识别模型。模型流程如图4所示。
Download:
|
|
DCNN-MGR模型提取音频信息的方法为:通过将音频数据的声道由立体声转换为单声道,降低信息冗余;通过FFT将时域数据转换到频域,使数据更加简单和紧凑,生成频谱。模型将频谱切分为227像素×227像素的切片后输入DCNN,以此更加拟合人类的学习和认知规律。音频处理得到的频谱切片如图5所示。
Download:
|
|
频谱切片以
本文实验主要在Intel Core i7 2.9 GHz CPU + Nvidia GeForce GTX 2080 Ti GPU配置的服务器上进行,另外采用基于Python语言的TensorFlow深度学习框架构建DCNN进行对比实验。
3.2 数据集GTZAN数据集是音乐流派识别领域常用的公开数据集,其音乐数据分为10个流派,分别为流行、古典、金属、爵士、雷鬼、蓝调、迪斯科、嘻哈、乡村、摇滚。
GTZAN数据集共有1 000条音乐数据,本文实验以800条音乐数据作为训练集,100条音乐数据作为验证集进行监督学习,100条音乐数据作为测试集进行音乐流派识别准确率测试。
3.3 DCNN对比实验 3.3.1 网络评价指标本文采用频谱识别准确率和频谱识别损失函数值作为DCNN的性能评价指标。其中频谱识别准确率指网络对频谱切片的识别准确率,频谱识别损失函数为适用于多分类问题的交叉熵函数。交叉熵函数计算公式为
$ {\rm{loss}} = - \sum\limits_{i = 1}^n {p({x_i})} \log q({x_i}) $ | (8) |
式中:
AlexNet-enhanced与常用DCNN以学习率0.001迭代31 000次的训练集频谱识别准确率变化曲线如图6所示。在迭代31 000次后的训练集频谱识别准确率见表1。DCNN通过梯度下降算法训练网络,迭代更新权重参数,网络从欠拟合趋向于最佳拟合[25],应用更新后的权重参数计算频谱识别准确率。随着迭代次数的增加,频谱识别准确率逐渐提升,并趋于稳定。根据图6看出,各网络迭代31 000次后,训练集频谱识别准确率均趋于稳定,AlexNet-enhanced的训练集频谱识别准确率高于常用DCNN。表1数据表明,AlexNet-enhanced的训练集频谱识别准确率比常用DCNN高出0.50%~4.05%。
Download:
|
|
AlexNet-enhanced与常用DCNN以学习率0.001迭代31 000次的训练集频谱识别损失函数值变化曲线如图7所示。在迭代31 000次后的训练集频谱识别损失函数值见表2。
Download:
|
|
DCNN在最小化频谱识别损失函数值时,通过梯度下降算法逐步迭代求解。随着迭代次数的增加,频谱识别损失函数值逐渐下降,并趋于稳定。根据图7可以看出,各网络在迭代31 000次后,训练集频谱识别损失函数值均趋于稳定,AlexNet-enhanced的训练集频谱识别损失函数值低于常用DCNN。表2数据表明,AlexNet-enhanced的训练集频谱识别损失函数值比常用DCNN低0.028 1~0.132 4。
AlexNet-enhanced与常用DCNN以学习率0.001迭代31 000次的验证集频谱识别准确率变化曲线如图8所示。在迭代31 000次后的验证集频谱识别准确率见表3。
Download:
|
|
根据图8可以看出,各网络在迭代31 000次后,对验证集音乐的频谱识别准确率趋于稳定,且AlexNet-enhanced的准确率达到了最高,表3数据表明,AlexNet-enhanced的验证集频谱识别准确率比常用DCNN高出1.85%~6.98%。
AlexNet-enhanced与常用DCNN以学习率0.001迭代31 000次的验证集频谱识别损失函数值变化曲线如图9所示。在迭代31 000次后的验证集频谱识别损失函数值见表4。
Download:
|
|
根据图9可以看出,各网络在迭代31 000次后,对验证集音乐的频谱识别损失函数值趋于稳定,且AlexNet-enhanced的损失函数值降到了最低,表4数据表明,AlexNet-enhanced的验证集频谱识别损失函数值比常用DCNN低0.122 1~0.310 9。
对比实验结果表明,DCNN在经过31 000次迭代之后,频谱识别准确率和频谱识别损失函数值均趋于稳定。AlexNet-enhanced的训练集频谱识别准确率和验证集频谱识别准确率分别达到了99.43%和88.16%,训练集频谱识别损失函数值和验证集频谱识别损失函数值分别降低到0.073 4和0.465 3。由此可以看出,AlexNet-enhanced具有更好的频谱识别性能。
3.4 机器学习模型对比实验将基于AlexNet-enhanced的DCNN-MGR模型和基于AlexNet、VGGNet16、VGGNet19、GoogLeNet、ResNet-34B的DCNN-MGR模型与其他机器学习模型对GTZAN数据集的测试集音乐进行流派识别,识别准确率见表5。
实验结果表明,基于AlexNet-enhanced的DCNN-MGR模型在GTZAN数据集中测试集上的音乐流派识别准确率达到79.00%,比基于其他DCNN的DCNN-MGR模型高出2.00%~9.00%;比其他机器学习模型高出4.00%~20.00%。由此可以看出,相较于基于其他DCNN的DCNN-MGR模型,基于AlexNet-enhanced的DCNN-MGR模型具有更高的音乐流派识别准确率;相较于其他机器学习模型,基于AlexNet-enhanced的DCNN-MGR模型具有更高的音乐流派识别准确率。
4 结束语本文针对机器学习模型对音乐流派特征识别能力较弱的问题,提出了基于增强AlexNet的音乐流派识别DCNN-MGR模型。一方面通过融合Leaky ReLU函数、Tanh函数和Softplus分类器对AlexNet做出增强,并对AlexNet做出了部分网络结构调整,得到了频谱识别准确率更高,网络收敛效果更好的DCNN;另一方面通过FFT提取音频信息,生成可以输入DCNN的频谱,并将频谱进行切割后输入DCNN进行深度学习,以此构建音乐流派识别模型。将本文模型与其他机器学习模型在GTZAN数据集上进行对比实验,实验结果表明,对于音乐流派的识别,基于AlexNet-enhanced的DCNN-MGR模型具有较高的准确率,证明了本文模型的有效性。本文模型在GTZAN数据集上取得了79%的音乐流派识别准确率,仍有较大的提高空间,下一步将充分发挥DCNN的特性以进一步提高音乐流派识别的准确率。
[1] |
邵曦, 姚磊. 基于SVM主动学习的音乐分类[J]. 计算机工程与应用, 2016, 52(6): 127-133. SHAO Xi, YAO Lei. Music classification based on SVM active learning[J]. Computer engineering and applications, 2016, 52(6): 127-133. DOI:10.3778/j.issn.1002-8331.1405-0097 (0) |
[2] | ALI M A, SIDDIQUI Z A. Automatic music genres classification using machine learning[J]. International journal of advanced computer science and applications, 2017, 8(8): 337-344. (0) |
[3] | TZANETAKIS G, COOK P. Musical genre classification of audio signals[J]. IEEE transactions on speech and audio processing, 2002, 10(5): 293-302. DOI:10.1109/TSA.2002.800560 (0) |
[4] | MURAUER B, SPECHT G. Detecting music genre using extreme gradient boosting[C]//Companion of the The Web Conference 2018. Lyon, France, 2018: 1923−1927. (0) |
[5] |
焦李成, 杨淑媛, 刘芳, 等. 神经网络七十年:回顾与展望[J]. 计算机学报, 2016, 39(8): 1697-1716. JIAO Licheng, YANG Shuyuan, LIU fang, et al. Seventy years beyond neural networks: retrospect and prospect[J]. Chinese journal of computers, 2016, 39(8): 1697-1716. (0) |
[6] | DAI Jia, LIANG Shan, XUE Wei, et al. Long short-term memory recurrent neural network based segment features for music genre classification[C]//2016 10th International Symposium on Chinese Spoken Language Processing. Tianjin, China, 2016: 1−5. (0) |
[7] | JAKUBIK J. Evaluation of gated recurrent neural networks in music classification tasks[C]//International Conference on Information Systems Architecture and Technology. Szklarska Poręba, Poland, 2017: 27−37. (0) |
[8] |
马世龙, 乌尼日其其格, 李小平. 大数据与深度学习综述[J]. 智能系统学报, 2016, 11(6): 728-742. MA Shilong, WUNIRI Qiqige, LI Xiaoping. Deep learning with big data: state of the art and development[J]. CAAI transactions on intelligent systems, 2016, 11(6): 728-742. DOI:10.11992/tis.201611021 (0) |
[9] |
苗北辰, 郭为安, 汪镭, 等. 隐式特征和循环神经网络的多声部音乐生成系统[J]. 智能系统学报, 2019, 14(1): 158-164. MIAO Beichen, GUO Weian, WANG Lei. A polyphony music generation system based on latent features and a recurrent neural network[J]. CAAI transactions on intelligent systems, 2019, 14(1): 158-164. DOI:10.11992/tis.201804009 (0) |
[10] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural Information Processing Systems. Lake Tahoe, USA, 2012: 1097−1105. (0) |
[11] | SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer science, 2014: 1409-1556. (0) |
[12] | SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA, 2015: 1−9. (0) |
[13] | HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA, 2016: 770−778. (0) |
[14] |
吴进, 钱雪忠. 紧凑型深度卷积神经网络在图像识别中的应用[J]. 计算机科学与探索, 2019, 13(2): 275-284. WU Jin, QIAN Xuezhong. Compact deep convolutional neural network in image recognition[J]. Journal of frontiers of computer science and technology, 2019, 13(2): 275-284. DOI:10.3778/j.issn.1673-9418.1808018 (0) |
[15] |
吕鸿蒙, 赵地, 迟学斌. 基于增强AlexNet的深度学习的阿尔茨海默病的早期诊断[J]. 计算机科学, 2017, 44(6): 50-60. LYU Hongmeng, ZHAO Di, CHI Xuebin. Deep learning for early diagnosis of Alzheimer’s disease based on intensive AlexNet[J]. Computer science, 2017, 44(6): 50-60. (0) |
[16] |
甘岚, 郭子涵, 王瑶. 基于径向变换和改进AlexNet的胃肿瘤细胞图像识别方法[J]. 计算机应用, 2019, 39(10): 2923-2929. GAN Lan, GUO Zihan, Wang Yao. Gastric tumor cell image recognition method based on radial transformation and improved AlexNet[J]. Journal of computer applications, 2019, 39(10): 2923-2929. (0) |
[17] |
陈思文, 刘玉江, 刘冬, 等. 基于AlexNet模型和自适应对比度增强的乳腺结节超声图像分类[J]. 计算机科学, 2019, 46(6): 146-152. CHEN Siwen, LIU Yujiang, LIU Dong, et al. AlexNet model and adaptive contrast enhancement based ultrasound imaging classification[J]. Computer science, 2019, 46(6): 146-152. (0) |
[18] |
王文秀, 傅雨田, 董峰, 等. 基于深度卷积神经网络的红外船只目标检测方法[J]. 光学学报, 2018, 38(7): 160-166. WANG Wenxiu, FU Yutian, DONG Feng, et al. Infrared ship target detection method based on deep convolution neural network[J]. Acta optica sinica, 2018, 38(7): 160-166. (0) |
[19] |
李祥鹏, 闵卫东, 韩清, 等. 基于深度学习的车牌定位和识别方法[J]. 计算机辅助设计与图形学学报, 2019, 31(6): 979-987. LI Xiangpeng, MIN Weidong, HAN Qing, et al. License plate location and recognition based on deep learning[J]. Journal of computer-aided design & computer graphics, 2019, 31(6): 979-987. (0) |
[20] |
赵远东, 刘振宇, 柯丽, 等. 人脸识别中AlexNet网络设计和改进方法研究[J]. 通信技术, 2019, 52(3): 592-598. ZHAO Yuandong, LIU Zhenyu, Ke li, et al. Alexnet network design and improvement methods in face recogintion[J]. Communications technology, 2019, 52(3): 592-598. (0) |
[21] |
盖杉, 鲍中运. 基于改进深度卷积神经网络的纸币识别研究[J]. 电子与信息学报, 2019, 41(8): 1993-2000. GAI Shan, BAO Zhongyun. Banknote recognition research based on improved deep convolutional neural network[J]. Journal of electronics and information technology, 2019, 41(8): 1993-2000. (0) |
[22] | ZHENG Hao, YANG Zhanlei, LIU Wenju, et al. Improving deep neural networks using softplus units[C]//2015 International Joint Conference on Neural Networks. Killarney, Ireland, 2015: 1−4. (0) |
[23] |
赵慧珍, 刘付显, 李龙跃. 一种新的深度卷积神经网络的SLU函数[J]. 哈尔滨工业大学学报, 2018, 50(4): 117-123. ZHAO Huizhen, LIU Fuxian, LI Longyue. A novel softplus linear unit for deep CNN[J]. Journal of Harbin institute of technology, 2018, 50(4): 117-123. DOI:10.11918/j.issn.0367-6234.201703117 (0) |
[24] | ELBIR A, İLHAN H O, SERBES G, et al. Short time Fourier transform based music genre classification[C]//2018 Electric Electronics, Computer Science, Biomedical Engineerings' Meeting. Istanbul, Turkey, 2018: 1−4. (0) |
[25] |
毛勇华, 桂小林, 李前, 等. 深度学习技术应用研究[J]. 计算机应用研究, 2016, 33(11): 3201-3205. MAO Yonghua, GUI Xiaolin, LI Qian, et al. Study on application technology of deep learning[J]. Application research of computers, 2016, 33(11): 3201-3205. DOI:10.3969/j.issn.1001-3695.2016.11.001 (0) |