APP下载

基于前向神经网络多特征融合算法的音乐情感鉴赏分类

2021-03-17宁慧南江萍

微型电脑应用 2021年2期
关键词:音高音符神经网络

宁慧, 南江萍

(1.西安交通工程学院 人文与经济管理学院, 陕西 西安 710000;2.西安交通工程学院 电气工程学院, 陕西 西安 710000)

0 引言

数字音乐的出现,将音乐艺术与信息技术相结合成为目前音乐市场发展热点[1-2]。音乐的本质是潜在的情感,而音乐情感的识别则是根据音乐特征与情感的映射关系来满足,对音乐情感识别有效提升人机情感交互[3-5]。目前,音乐情感分类识别更多的是基于音乐文本、音频信号形式下对数据特征的分析,通过相应的学习方法发现音色、节奏和韵律等特征来构建音乐特征信号的识别模型[6-8]。如针对音乐歌词部分,通过Bag of words方式进行识别,获得不同音乐模式下的情感分类[9-11];针对音乐韵律方面,采用相应的表达式编程算法进行情感类型的划分[12-14]。但上述方式更多的是基于歌词、韵律的音乐情感分类采用的是单模态数据分析法,难以完整的反映对象的全部特征。

前项神经网络通过利用不同模态数据形成多模态数据来实现对音乐情感鉴赏的多特征融合,实现从歌词、律动和节奏多方位的分类分析,因此具有很强的分类精确度[15]。基于此,本文基于前向神经网络,通过梯度下降算法来提升模型学习能力,利用多模态的数据特征实现对音乐情感的模型训练。

1 情感特征的提取

1.1 音乐情感分类

音乐情感分类是情感分析的第一步。目前在音乐领域较为常用的模型主要为Thayer模型和Hevner情感环模型[16]。本文在两种分类方法的基础上,通过面向音乐领域专家和网络调查、访谈,按照Hevner的环节结构,针对词表中67个形容词进行定量表述,符合中国人习惯,通过修改、删除,基于不同情感划分为神圣、悲伤、向往、抒情、轻盈、快乐、热情和生机8个区域共47小类情感分类,如表1所示。

表1 基于音乐情感类别划分

1.2 情感特征参数化

音乐特征包括音高、时长和音色等声学特征,节奏、旋律和速度等时空特征以及曲式、调式的语义特征[17]。音乐情感分析需要同时考虑音乐基本信息、节奏变化和结构形式,将音乐特征分为音符特征和高层特征。音符特征中包括音高、时长和音强;高层特征包括速度、力量、节奏、旋律和音程信息。

音高、时值和音强作为音乐最基本组成原始,是音乐情感认知的声学线索。乐曲的音高变化音高的均方差来表征,如式(1)。

(1)

式中,Pi表示第i个音符音高;n表示音符数量。

音域用来表示乐曲音高广度,定义音域,如式(2)。

Range=Max(P1,P2,…Pn)-Min(P1,P2,…Pn)

(2)

式中,P1,P2,…Pn表示音符音高值Pitch。

时值时音符的持续时间。时值的表示方法,如式(3)。

Duration=EedTime-StartTime

(3)

力度是音乐表达情感的重要手段,不同的音乐力度能够对听众造成差异化的情感体验。对于力度特征,可采用平均力度和力度变化特征来表征,其中平均粒度采用式,如式(4)。

(4)

式中,n、m分别表示乐曲音符数。针对力度变化程度采用式,如式(5)。

(5)

式中,Di表示第i个乐曲音符力度;N表示总音符数。通过式(5)以乐曲小节来对力度变化描述,排除节拍中轻重变化带来的影响,更纯粹的描述力度变化。

旋律是根据一定规律形成的有组织和谐运动,反映了乐音时间和空间上的组织形式。旋律的方向描述了音高走势变化,对此提出旋律方向的表示方式,如式(6)。

(6)

式中,Di表示第i个音长;D表示音长总和。

节奏是音乐中交替出现有规律强度的现象。不同的节奏赋予音乐不同张力。针对节奏运动的张力变化,采用发音点密度来直接反映其基本状态。密度越大,紧张度越强。表征节奏密度的变化,如式(7)。

(7)

式中,BarCapacity(i)表示第i个小节能量值;MaxCapacity(i)表示该节最大能量值。

2 音乐情感分类模型构建

2.1 前向神经网络架构

前向神经网络(FFN)是一种多层神经网络结构,用于求解非线性问题[18]。FFN通常由输入层、输出层和隐含层构成。隐含层接收到输出层结构,按照需求进行变化,将结果传递到输出层,作为整个网络的输出。当实际输出与期望输出不一致时,以计算获得的误差作为输入反馈至输入层,基于误差梯度下降来对网络模型中各层的权值进行修正,直到输出符合期望值,即完成一次训练。

假设网络中每一个神经元数值为ai,将层与层间单元用不同权值连接,利用非线性激活函数获得的激活值zi对上一层数据计算,将获得的结果传递到下一层数据实现逐层向前计算。前向神经网络模型框架图,如图1所示。

图1 FNN模型框架图

其中,h表示网络输入;w和b分别表示输入层和输出层参数权重;z表示神经网络输出。

2.2 神经网络前向传播

神经网络传递分为前向传播和反向传播[19]。前向传播根据给定的输入进行计算,由底向上传播。后向传播根据前向传播结果,采用梯度下降算法计算、训练各神经元参数[20-21]。前向传播计算传播,如式(8)、式(9)。

(8)

(9)

2.3 反向传播激活函数

对于FNN的训练样本,根据各输入参数的非线性特征,采用Softmax激活函数[22]。由于网络神经炎的数据值范围在[0,1]区间,因此将非线性参数输入视为一个概率分布。即假定分类输出为f(zj),输入标记为Z,数组Z中第i个元素为Zi,定义Softmax判断式,如式(10)。

(10)

相应的损失函数,如式(11)。

loss=-logf(zk)

(11)

(12)

实际计算过程中,首先计算各节点激活值,通过反向传播算法传播获得各参数梯度值,对模型参数进行更新,直到迭代过程收敛。

2.4 情感识别流程

根据前向神经网络的传播方式,确定算法具体流程。模型训练中,选择总量为m的样本集{xj,j=1,2,…,m}作为神经网络的输入数据,使用{yj,j=1,2,…,m}作为期望输出。训练中,利用算法微调获得神经网络各个参数,确定算法的具体流程,如图2所示。

图2 前向神经网络学习流程

(1) 系统初始化。对每个神经元内部阈值和连接权分别随机赋值(0,1),输入MIDI音乐片段的特征向量,输出为向量代表的音乐情感。

(2) 通过输入样本,连接权重和阈值计算中间层输入值,选择隐含层传递函数,计算获得中间各层单元的计算结果[24];通过中间层输出,连接权重和阈值计算输出层各单元的输入样本,以simoid作为传递函数计算输出层单元的响应值。

(3) 将输出响应值与目标结果比较,获得一般化误差,根据连接权重、输出层一般误差和中间层输出计算中间各单元一般化误差,通过输出层各单元误差修正各层的连接权重和阈值。

(4) 将下一个学习样本向量作为新的输入向量,并执行步骤(2),直到样本误差小于预设误差极小值,算法结束,网络结构收敛。

当训练完成后,需要对神经网络测试来监测情感识别的准确度。首先选择测试样本来检验网络性能。测试样本中包括后续网络应用中存在的样本形式,为保证网络的泛化能力,测试样本不应该包含相同样本。

3 实例结果及分析

3.1 网络模型建立

为验证本文提出的前向神经网络模型的可行性,从QQ音乐、网易等软件中选择了五类情感特征明显的80首MIDI音乐片段进行情感分类。将测试样本随机分成5组进行分类测试,给出的部分样本信息片段,如表2所示。

表2 部分样本信息表

首先通过音乐鉴赏专家分类后,采用前向神经网络进行样本训练。神经网络输入层输入8维音乐特征向量,因此设定网络输入层节点数为8,根据上节多模型的分类,确定输出神经元节点数为8个,八个情感特征标准形式分别为:神圣(0,0,0,1)、悲伤(0,0,1,0)、向往(0,1,0,0)、抒情(1,0,0,0)、轻盈(0,0,1,1)、快乐(1,1,0,0)、热情(0,1,1,1)和生机(1,1,1,0)。由Kolmogorov定义,确定隐藏层节点数为17,建立8x17x3的前向神经网络,输入层8个节点,隐藏层17个节点,输出层3个节点,选择Sigmoid函数来保证输出结果落在(0,1)区间内。采用traingdx训练函数[25],设定最大循环次数为2 500次,为保证模型具有较好的泛化能力,设定模型在误差率期望值小于0.001。

3.2 实验结果

实验平台在MATLAB7.1下运行,获得的运行结果和误差性能,如图3所示。

图3 算法误差率分析

从图3中可以看出,算法在初始节点算法误差率相对较大,当迭代次数达到100次以后,误差率保持在10-15水平以下,此后保持相对稳定,神经网络收敛。

将80个样本随机分为五组,分别采用传统的推理规则认知系统和前向神经网络对5组测试样本进行情感认识分类测试,获得测试样本识别结果,如表3所示。

表3 部分音乐片段的识别结果

可以看出两种测试方法在测试相同样本中获得的识别结果存在明显差异。其中前向神经网络分类精度高于基于推理规则的情感认知系统,本文算法的识别准确率平均为86%,而基于系统的识别准确率74%左右。特别是在对神圣、悲伤、热情情感类型的音乐识别中分类准确率达到了88%以上。

在针对抒情情感的音乐识别中,采用前向神经网络的情感识别率相较于其他类的准确率偏低,这可能是由于抒情类情感的片段训练样本在音乐旋律、力度和节奏感方面相对较为平缓和轻盈,因而相对音乐特征的提取较低。通过实验,针对旋律特征和节奏特征对音乐情感识别有较大的影响作用,因此选择适当的音乐特征作为输入变量能够在一定程度上提高音乐情感的分类精度。同时比较两种模型可以看出,两种模型的训练时间都较短,其中前向神经网络相对更优一些,但二者相差不大。

4 总结

音乐情感识别和分类对于有效改善音乐检索服务有重要现实意义。本文基于前向神经网络建立音乐情感认识的分类模型。选择音色、力度、旋律、节奏、音高、音域和时域作为音乐特征提取变量,建立输入层、隐含层和输出层网络结构,根据输入变量进行前向传播计算,通过比较实际输出与期望输出间的误差梯度修正隐含层权重,利用Softmax函数进行反向激活计算,实现预定分类精度下的算法收敛。将建立的算法模型与传统推理规则专家识别系统进行算法性能比较,实例验证结果表明:基于前向网络的算法模型平均识别准确率提升到86%。对节奏感、旋律和力度特征量更强的音乐类型分类准确率高于平缓、轻盈特征的温柔情感音乐类型。算法在保证计算效率的基础上,具有更高的分类准确率。

猜你喜欢

音高音符神经网络
里盖蒂《小提琴协奏曲》中的“双律制音高组织”研究
神经网络抑制无线通信干扰探究
美妙音符
春天的音符
基于神经网络的中小学生情感分析
改进音高轮廓创建和选择的旋律提取算法
序列的蜕变——皮埃尔·布列兹室内乐作品《无主之槌》音高组织初探
音乐是一种特殊的语言——聊聊音高的魅力
基于神经网络的拉矫机控制模型建立
基于支持向量机回归和RBF神经网络的PID整定