近年来互联网技术快速发展,很多音乐平台都为用户提供了在线数字音乐服务,以方便用户获取音乐。但随着音乐数据的激增,根据音乐的名称、艺术家等文字信息的传统分类已不再能满足人们的需求。因此急需引入新的音乐信息来为听众提供更智能的音乐选择类别。音乐是传达情感的艺术,情绪感受是音乐最重要的本质特征之一。一项针对音乐网站Last.fm的研究表明,情绪标签是用户最常打的标签之一[1]。基于情绪将音乐分类的方式,从音乐感受出发能为听众提供更大的方便。
传统的基于情绪的音乐分类算法一般分为3个部分:信号预处理、信号特征提取、分类算法识别。其中提取的音乐特征需要基于音乐和心理学的知识手工选择。这种方法很难得到好的特征表示,对特征的优化也将非常困难。除此之外,传统的机器学习方法利用的是浅层的网络结构,一般只含有一个非线性特征层,已无法满足解决复杂的自然信号如语音信号、自然语言等问题。
近年来,深度学习在人工智能领域取得了较好的成果。它模仿人脑处理信息的机制,采用多层结构依次训练网络来从原始数据中提取复杂的结构表示。其中Hinton在2006年提出了深度信念网络(Deep Belief Network,DBN),该网络可以自动学习特征而不依赖人工提取,在很多领域都表现出了较好的效果。[2]针对讲话者区分、音素检测等任务,使用了加入卷积的深度信念网络来处理声学信号,其性能要优于传统的声学特征,梅尔倒谱系数(MFCC);[3]中结合DBN强大的特征提取能力和高斯混合模型-隐马尔可夫模型(GMM-HMM)序列进行建模的优越性,在大词汇量的语音识别任务中取得了很好的效果。
本文对深度信念网络进行了研究,并针对其在应用上的优缺点结合卷积神经网络中的卷积层的思想,提出了一种新的基于情绪的音乐分类算法。本论文通过实验将传统MFCC特征方法和DBN方法进行对比,并对优化后的算法进行实验测试。实验表明,加入卷积后的深度信念网络较原始网络有更好的分类性能。
1传统音乐情绪识别
音乐信号具有高维度高冗余的特点,因此在传统的音乐情绪识别方法中通常需要先进行一系列的预处理,然后再提取合适的音乐特征,最后将提取到的特征进行统计训练,利用分类算法识别音乐情绪类别[4]。传统方法的一般流程如图4所示。
图4.传统方法处理流程
1.预加重。音乐信号的高频部分一般能量较低,需要使用滤波器滤除低频干扰,来更易获取高频频谱。这个阶段就是预加重,信号的方程式为: ,其中是预加重系数
2.分帧。音乐信号是一种非平稳信号,但由于人体发音器官的相关原因,音乐信号又具有短时平稳的性质。为此,需要将音频截成一段段比较平稳的片段。截取的长度需要既能保证片段的平稳、又能方便处理。
3.音乐信号中时常会出现一些大峰值信号,使信号不够平滑难以处理。所以还需要对分帧的信号进行加窗操作来平滑信号,加窗信号为:。一般常用的窗函数有汉宁窗、海明窗、布莱克曼窗等。本文在实验中使用了海明窗进行处理。海明窗函数为:4.静音帧检测。音乐信号中有时还会存在不具有信号参数特征的静音帧,影响识别的结果。该部分可以设置基于音频信号短时能量的阈值来检测静音帧。若能量低于设定的阀值,则将其去除。本论文中,设定阀值为0.1[5]。
5. MFCC特征提取。提取特征的好坏直接关系到最终输出的结果。MFCC特征是声学任务中最常用的特征之一。人类的耳蜗相当于一组滤波器,能够通过过滤不同频段、带宽等特征来区分不同的声音。MFCC特征就是在模仿这种能力。音乐信号的频率与梅尔倒谱系数的关系如下:
从公式中可以看到,对于频率小于1000Hz的声音信号,梅尔滤波呈线性相关,频率大于1000Hz时则成对数关系。MFCC提取过程如图7所示:信号经过预处理后,通过快速傅里叶变换(FFT),求得各帧信号的频谱信息;然后通过平方运算得到每一帧的功率谱;再设计一组梅尔滤波器,对上一步得到的幅度谱滤波。计算每个滤波器组输出的对数能量;最后对上一步的输出结果做离散余弦变换(DCT)后即可得到MFCC特征。
图7.MFCC特征提取过程
提取信号的MFCC特征后,可将特征输入到分类算法中进行模型训练,来学习情绪标签和音乐特征之间的联系。常见的分类算法有:支持向量机算法(SVM)、K近邻算法、决策树等。
2基于深度信念网络的情绪分类
2.1深度信念网络
深度信念网络是Hinton在2006年提出的一种能自上而下自动学习特征的多层神经网络。它由多个受限玻尔兹曼机(RBM)堆叠而成。其结构如图8所示,每相邻两层组成一个受限玻尔兹曼机。自下而上,前一个RBM的隐层即为下一个RBM的显层。前一个RBM的输出即为下一个RBM的输入,以此类推逐层进行训练,直至最后一层[6]。
图8.DBM结构
通过训练学习即可得到各层的链接权重和节点偏置,完成网络初始化。再采用反向传导算法(BP)自上而下有监督的对深度信念网络进行微调,来克服易陷于局部最优和训练时间长的缺点。尽管深度信念网络表现出了强大的特征学习能力,但由上图原理可知,网络的训练需要大量的样本数据,且会生成更大数目的参数权值,一方面基于情绪的音乐分类问题缺少大量的样本数据,另一方面大量参数的生成会耗费巨大的时间,不利于实际应用。
2.2基于卷积DBN的音乐情绪分类
由上文可知深度信念网络在数据训练中存在一些无法克服的缺点。要想解决此问题就需要尝试减少神经网络训练的参数数目,常用的技术就是权值共享方法。权值共享是卷积神经网络中卷积层采用的一种思想。与普通的神经网络全连接、参数不共享不同,卷积神经网络具有局部连接、权值共享的特点。所谓的权值共享,即指一层中多个节点的连接共享相同的一组参数。共享参数的可行性主要来源于生活中很多对象都有局部相关性,例如音乐中每一帧信号并不是孤立的,正是连续各帧共同作用,才将情绪传达给听众。因此,将卷积神经网络与DBN相结合,利用权值共享技术能显著减少参数的数量,还能反映音乐传达情绪的本质,具有重要的意义。
与传统机器学习方法不同,DBN是将信号的原始时域特征作为输入,并通过逐层训练自动学习输入信号的特征。常用的时域特征有短时平均幅度差、短时能量、短时自相关系数等。本文采用短时能量作为深度神经网络的原始输入特征。短时能量能够反映声学信号的能量随时间变化的过程。通过短时能量特征能明显区分清浊音段。设一段音乐信号为x(n),则其短时平均能量为:但原始的时域特征维度很高,存在大量的冗余和噪音。因此需要对输入的训练数据进行降维处理。本文将采用主成分分析(Principal Component Analysis,PCA)的方法。主成分分析,是考察多个变量间相关性的一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构。
在训练数据经过降维处理后,输入DBN中进行训练,来自动学习数据的特征信息,最后将输出数据通过深度学习中常用的Softmax分类函数进行数据处理,完成分类任务。具体基于DBN的音乐情绪分类结构如图9所示。
本文针对原始深度信念网络的缺点提出的结合卷积神经网络的DBN与原始DBN不同。它将卷积神经网络中的卷积层和下采样层共同加入到了DBN中,如下图10所示,在神经网络的第二层有6个节点,在第三层具有2个节点,如果使用全连接的话需要训练的参数为12个,由于采用了权值共享并加入了下采样需要训练的参数变为了3个。卷积层的输出会作为下一层受限玻尔兹曼机的隐藏层节点。
3 对比实验分析
实验共使用三种方法进行音乐情绪的分类。第一组使用MFCC系数作为输入特征;第二、三组使用原始的时域特征作为输入,并分别采用DBN和加入卷积的DBN学习特征。为了保证实验的可比性,都将使用softmax作为分类算法。
3.1数据集
由于自建基于情绪的音乐分类数据集需要花费大量的时间和资金,且需要一定的音乐和心理学知识,因此本论文采用了美国德雷塞尔大学音乐和娱乐技术实验室(Music and Entertainment Technology Laboratory ,MET-lab)的MoodSwings数据集。该数据集以一种协同式在线游戏的方式收集用户对音乐情绪的打分,并运用一些游戏规则和激励方式来尽量保证标记的客观性。游戏是目前比较科学的情绪表征空间,V-A空间进行的[7],如图11,V维度是愉悦程度,代表情绪给人感觉的正或负;A是活化程度,代表音乐的能量高低。
图11. V-A标记游戏
每组实验样本都采用MoodSwing数据库中歌曲片段,随机选择800首歌曲作为训练样本,其余200首歌曲作为测试样本。样本歌曲的情绪被分为4个类别。
3.2基于传统方法和基于深度信念网络音乐情绪分类对比
第一组实验采用MFCC系数作为输入特征。使用30ms帧长、20ms窗口的海明窗对音乐进行分帧处理,然后使用Matlab下工具箱MIRToolBox对每一帧的音频片段提取N维的MFCC特征值,系统架构如图12:
图12.传统音乐情绪分类架构
第二组实验使用Matalab的MIRToolBox工具箱对每首歌曲的每一帧进行短时能量的提取,得到2000X1000维度的矩阵。然后利用PCA进行降维处理,得到1200X1000维的转换后的数据,将这些特征数据输入到深度神经网络进行训练得到模型。
第一组实验与第二组实验的对比结果如下。为了验证歌曲数目对模型分类性能的影响,每次实验利用N首歌曲当做训练样本。第一组中,使用全部N首进行模型的训练。第二组中,采用2/3N的样本用于无监督的训练,1/3N的样本用于有监督的微调。此次采用4层DBN,两个隐藏层分别为800个神经元节点和300个神经元节点,最后的输出层有100个神经元节点。
实验结果如下表1所示:
表1.MFCC与DBN提取特征对比
歌曲数 | MFCC+SoftMax | 短时能量+DBN+softmax |
200首 | 35% | 32% |
400首 | 40% | 45% |
600首 | 50% | 56% |
800首 | 53% | 62% |
从数据中可以看到,两种分类方法的分类准确度都随着样本数据的增长而增长。但是使用MFCC+softmax的方法的准确度增长速度逐渐减慢,而采用深度神经网络的分类方法,仍在稳定的增长。这说明在大量样本数量下,深度学习方法将比传统方法分类效果更好。而且DBN可以使用无标签数据进行训练,这更符合实际场景数据的需要。
另一方面可以看到,在样本数量非常少的情况下,使用DBN提取到的特征性能并不如MFCC特征。这也证实了深度学习网络需要一定数量的样本进行训练才能更好的拟合测试样本。
3.3加入卷积操作的DBN
上节实验显示使用原始DBN进行音乐特征的提取,需要大量的样本数据进行训练,且需要花费大量的训练时间。因此需要利用权值共享技术,将深度信念网络结合卷积神经网络来提高深度信念网络的性能。本实验在深度信念网络中加入卷积层,来对音乐的情绪进行分类。 实验结果如下表2:
表2.标准DBN和加入卷积的DBN对比
RBM个数 | 标准DBN | 加入卷积的DBN |
2个 | 4.5小时/59% | 2.3小时/56% |
3个 | 8.2小时/58% | 3.8小时/59% |
从数据可以看到,加入卷积层的DBN训练时长远小于原始DBN,这是权值共享带来的好处。然而还应该看到,进行音乐分类的准确度并没有显著提高,但这有可能是参数选择不当导致的后果。
加入卷积层来源于将卷积神经网络和深度信念网络结合的想法,没有具体的理论支持和严谨的推导,所以没有取得显著地性能提升。但是这种加入卷积的思想是值得深入研究的。
4.结论
基于情绪的音乐分类任务,是人工智能拥有情绪感知能力的初步尝试,能够为用户带来新的娱乐体验。本文针对音乐的情绪分类问题,分析研究了传统的机器学习方法的性能以及深度信念网络在音乐信号处理的能力,并将卷积神经网络与深度信念网络相结合,优化了深度信念网络在训练时需要大量数据样本来生成大量参数,耗时耗力的问题。实验显示,加入卷积的深度信念网络确实比原始网络在训练耗时上有较好的效果,但是也许因为参数设置的问题,其准确率并没有得到很大的提升,这也是之后工作需要进一步解决的问题。
参考文献
[1] 郭俊. 社会化数字音乐服务设计研究——以Last.fm的用户标签行为数据分析为例[D]. 中山大学, 2012.
[2]Deng L, Seltzer M L, Yu D, et al. Binary coding of speech spectrograms using a deep auto-encoder[C]//Interspeech. 2010: 1692-1695.
[3]Mohamed A, Sainath T N, Dahl G, et al. Deep belief networks using discriminative features for phone recognition[C]//Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on. IEEE, 2011: 5060-5063.
[4]王磊, 杜利民, 王劲林. 基于AdaBoost的音乐情绪分类[J]. 电子与信息学报, 2007, 29(9):2067-2072.
[5]张昕. 基于深度信念网络和隐马尔科夫模型的音乐自动分类算法研究[D]. 大连理工大学, 2015.
[6]Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2014, 18(7):1527-1554.
[7] Grimm M. Emotion estimation in speech using a 3D emotion space concept[J]. Robust Speech Recognition & Understanding, 2007, 16:381--385.