首页 > 分享 > 轻量型胶囊网络语音情感识别方法

轻量型胶囊网络语音情感识别方法

轻量型胶囊网络语音情感识别方法

doi: 10.12178/1001-0548.2022086王颖1, , , 高胜21. 东北石油大学计算机与信息技术学院 黑龙江 大庆 1633182. 东北石油大学机械科学与工程学院 黑龙江 大庆 163318

基金项目: 国家自然科学基金(61702093);国家重点研发计划(2018YFE0196000);黑龙江省自然科学基金(F2018003);黑龙江省博士后专项(LBH-Q20077)

作者简介:

王颖(1986 − ),女,副教授,主要从事深度学习、情感计算、智能优化等方面的研究

通讯作者:王颖,E-mail:nepuwy@163.com 收稿日期:2022-03-22修回日期:2023-01-29网络出版日期:2023-05-26刊出日期:2023-05-28

中图分类号:TN912.3

摘要: 针对目前语音情感识别模型参数多、运算量大、训练速度慢等问题,提出了一种适用于小数据集、轻量型的网络模型。模型以胶囊网络为基础结构,引入深度可分离卷积模块代替胶囊网络中原有的卷积层以减少计算量。基于迁移学习提取普适的底层图像特征,利用语谱图来微调整个网络,减弱模型在小数据集上的过拟合现象。再利用夹角余弦来计算动态路由结构中向量的相似度,提高动态路由算法性能。实验结果表明,轻量型胶囊网络的识别率和运算速度均优于对比的7种深度学习网络模型。

English Abstract

王颖, 高胜. 轻量型胶囊网络语音情感识别方法[J]. 电子科技大学学报, 2023, 52(3): 423-429. doi: 10.12178/1001-0548.2022086

WANG Ying, GAO Sheng. A Speech Emotion Recognition Method Based on Lightweight Capsule Network[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(3): 423-429. doi: 10.12178/1001-0548.2022086

Citation:WANG Ying, GAO Sheng. A Speech Emotion Recognition Method Based on Lightweight Capsule Network[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(3): 423-429. doi: 10.12178/1001-0548.2022086

全文HTML

语音情感识别是建立语音信号与人类情感之间映射关系的一种方法[1],主要包括情感特征提取和分类模型建立两部分工作。情感特征提取的好坏是影响语音情感识别准确率的关键[2]。然而由于人类情感的复杂性和多样性,使得传统的语音情感特征提取方法面临一定挑战[3]。近年来,深度学习依靠其较强的学习非线性样本特征及复杂系统建模的能力,为语音情感识别研究带来了很大进展。文献[4]结合深度神经网络和HMM(hidden Markov model)方法,在柏林数据集上进行情感识别验证,识别率达到77.92%。文献[5]以TIMIT语音数据库(由德州仪器TI、麻省理工学院MIT和坦福研究院SRI合作构建的声学-音素连续语音语料库)作为数据源,在DNN(deep neural networks)中引入CNN(convolutional neural network)模型,与DNN相比识别准确率获得了较大提升。文献[6]以AlexNet网络模型为基础进行语音信号的情感分析,获得了较好的识别效果。文献[7]提出了一种基于注意力的长短期记忆网络(long short term memory, LSTM)的语音情感识别方法,分别在3个情感语料库上进行了实验,获得了理想的识别精度。文献[8]提出了一种基于深度学习的多模式权重网络模型,利用语音声学特征、语音转化成文本信息后的语义特征、语音频谱特征建立了3种分类器。然后基于这3种分类器的分类结果作为权重并构建权重网络分类器以实现语音情感识别。文献[9]以MFCC(Mel frequency cepstrum coefficient)、波形图、语谱图并行作为输入,分别设计不同的CNN网络模型,然后结合注意力机制获得最终分类结果,并在柏林情感语料库(EMO-DB)和多模态情绪识别数据集(IEMOCAP)上验证了所提方法的有效性。文献[10]提取语音文件的梅尔频谱系数、色谱图、语谱图、Tonnetz等参数作为CNN网络的输入进行语音情感识别,并在情感说话/歌唱视听数据集(RAVDSS)、EMO-DB以及IEMOCAP数据集上进行了实验,分别得到71.61%(8个类别)、86.1%(7个类别)和64.3%(4个类别)的准确率。

尽管深度学习的广泛应用使得语音情感识别的性能有了显著提升,但是深度学习的识别效果需要海量样本数据作为支撑,如果样本数据不足,模型会受到过拟合因素的影响且训练难度增加,识别准确率下降[11]。此外,神经元的输入输出均为标量形式导致隐含特征提取不足,且池化层的引入也会造成有用特征信息的丢失。考虑到传统卷积神经网络的缺点,文献[12]提出了胶囊网络(capsule network),它的神经元输入输出改为向量形式,可以保留确切的空间位置等信息,与此同时舍弃了池化层结构,只需较小的数据集就能训练出比较优秀的网络,已在机械设备故障诊断等领域中初露锋芒[13-14]。文献[15]利用胶囊网络对滚动轴承进行故障诊断,分类精度上达到了99.95% ,在收敛速度方面得到较大的提高,并对网络模型的自适应挖掘高层特征能力进行了验证。文献[16]利用胶囊结构构建向量神经元,引入Inception结构和空间注意力机制进行特征提取,实现了滚动轴承故障诊断,在噪声环境下能够得到良好的诊断结果。

本文提出了一种轻量型胶囊网络(lightweight capsule network, LCN)进行语音情感识别。以胶囊网络作为主干网络,利用其矢量化特性和动态路由算法充分挖掘特征空间信息。同时在LCN中融合深度分离卷积和参数迁移,进一步降低了网络计算量、减弱了模型在小数据集上的过拟合现象。通过试验证明了该方法的适用性,为快速精准的语音情感识别提供参考。

1.  轻量型胶囊网络模型原理1.1.  深度可分离卷积

深度可分离卷积[17-19](depthwise separable convolutions)将通道域和空间域分开处理,将标准的卷积操作分解成深度卷积(depthwise convolution)和逐点卷积(pointwise convolution)两步。深度卷积层卷积核的数量与输入特征图的通道数相同,每个卷积核只和输入的一个通道进行卷积。逐点卷积是利用通道数相同、大小为1×1的卷积核将上一层输出的不同通道特征图进行线性组合,这种分解能够大幅减少计算量和模型参数个数。

1) 标准卷积层是以DF×DF×M" role="presentation">DF×DF×M作为输入,以DG×DG×N" role="presentation">DG×DG×N作为输出,卷积核为DK×DK×M×N" role="presentation">DK×DK×M×N,一个标准卷积层计算消耗为:

DK×DK×M×N×DF×DF" role="presentation">DK×DK×M×N×DF×DF

2) 深度卷积核为M" role="presentation">M个DK×DK×1" role="presentation">DK×DK×1,计算消耗为:

DK×DK×M×DF×DF" role="presentation">DK×DK×M×DF×DF

3) 逐点卷积核为N" role="presentation">N个1×1×M" role="presentation">1×1×M,计算消耗为:

M×N×DF×DF" role="presentation">M×N×DF×DF

通过二者的比值可以看出模型计算量得到了大幅度减小:

DK×DK×M×DF×DF+M×N×DF×DFDK×DK×M×N×DF×DF=1N+1DK2" role="presentation">DK×DK×M×DF×DF+M×N×DF×DFDK×DK×M×N×DF×DF=1N+1DK2

1.2.  胶囊网络模型

文献[20-24]提出了胶囊网络,其由胶囊组成,胶囊是一组神经元,如图1所示。

图  1  胶囊结构

网络主要包括卷积层、基础胶囊层和数字胶囊层,其与卷积神经网络主要存在以下区别:输入从标量神经元变为向量胶囊,与标量神经元相比具有更丰富的表达能力;激活函数从ReLU改为Squash激活函数;池化层被动态路由替代。

低层特征向量ui" role="presentation">ui为输入向量,分别乘上对应的权重矩阵wij" role="presentation">wij进而得到高层特征向量uj|i" role="presentation">uj|i。uj|i" role="presentation">uj|i乘上cij" role="presentation">cij再进行累加求和得到Sj" role="presentation">Sj,其中cij" role="presentation">cij由动态路由决定。利用Squash激活函数对Sj" role="presentation">Sj进行非线性压缩变换得到输出向量vj" role="presentation">vj,Squash激活函数将模长压缩到0~1之间,以表示分类概率,且vj" role="presentation">vj和Sj" role="presentation">Sj同向,具体计算如下:

vj=||Sj||21+||Sj||2∗Sj||Sj||" role="presentation">vj=||Sj||21+||Sj||2∗Sj||Sj||

胶囊神经元之间采用动态路由的方式对输入的特征进行聚类,即根据特征的相似程度对特征进行选择,从而替代池化层。算法过程如下:

1) bij" role="presentation">bij为相邻层两个胶囊间的特征传递参数,初始值为0;

2)利用softmax计算两层胶囊间权重cij=exp⁡(bij)∑kexp⁡(bik)" role="presentation">cij=exp⁡(bij)∑kexp⁡(bik)

3) 激活向量vj=Squash(∑cijuij)" role="presentation">vj=Squash(∑cijuij)

4) 更新权重,bij=bij+uivj" role="presentation">bij=bij+uivj

1.3.  轻量型的胶囊网络模型

为减小胶囊网络的计算密集,降低模型参数数量,提高小样本识别准确率,本文提出一种轻量型的胶囊网络,模型结构如图2所示。

图  2  LCN模型结构

1)引入深度可分离卷积结构

引入深度可分离卷积模块替换原有胶囊网络中的标准卷积结构,模块共包括7个深度可分离卷积层和3个最大池化层,各层级信息如表1所示。DSC代表深度可分离卷积,“DSC-DC”代表逐通道卷积,“DSC-PC”代表逐点卷积,输入为256×256×3。

表 1 DSC模块各层参数

层号层/卷积核大小卷积核个数/个参数个数/个输出形状 1DSC-DC 3×3×133×3×3+1×1×3×64=219256, 256, 64DSC-PC 1×1×3642DSC-DC 3×3×1643×3×64+1×1×64×64=4672256, 256, 64DSC-PC 1×1×64643Maxpool 2×20128, 128, 644DSC-DC 3×3×1643×3×64+1×1×64×128=8768128, 128, 128DSC-PC 1×1×641285DSC-DC 3×3×11283×3×128+1×1×128×128=17536128, 128, 128DSC-PC 1×1×1281286Maxpool 2×2064, 64, 1287DSC-DC 3×3×11283×3×128+1×1×128×256=3392064, 64, 256DSC-PC 1×1×1282568DSC-DC 3×3×12563×3×256+1×1×256×256=6784064, 64, 256DSC-PC 1×1×2562569Maxpool 2×2032, 32, 25610DSC-DC 5×5×12565×5×256+1×1×256×256=7193628, 28, 256

2) 改变动态路由权重更新方法

动态路由算法原来的权重更新方法为向量的点乘法,即bij=bij+ui⋅vj" role="presentation">bij=bij+ui⋅vj。为进一步优化动态路由结构中向量相似度的计算方法,本文引入夹角余弦来计算向量相似度。余弦相似度的实质是比较几何空间中两个向量的关联程度,降低对绝对值的敏感性,适用于离散数据之间距离的测量。夹角余弦越大,表示两个向量的夹角越小,相似度越高;夹角余弦越小,表示两个向量的夹角越大,相似度越低。具体计算如下:

bij=bij+ui⋅vj||ui||||vi||" role="presentation">bij=bij+ui⋅vj||ui||||vi||

式中,ui" role="presentation">ui为第i" role="presentation">i个卷积层输出即胶囊网络的输入;vj" role="presentation">vj为胶囊网络输出向量;bij" role="presentation">bij为相邻层两个胶囊间的特征传递参数。

3) 参数迁移

ImageNet是现有最大的图像识别数据集,其包含了1 400多万张有标注图像。通过对ImageNet进行预训练可获得丰富的底层特征,但ImageNet数据与语音情感数据存在较大差异,因此拟采用迁移学习方法对ImageNet预训练模型进行微调,缓解小样本情感数据易造成过拟合的问题。

本文首先在ImageNet源任务上对模型进行预训练,然后用语音情感数据对预训练获得的模型参数进行微调,找到能够共享的模型参数,从而提高识别精度。由于低层网络学习到的图片特征为泛化特征,如边角、颜色等,不同的数据集差别不大,因此这部分参数迁移后可不参与微调[25]。而高层网络学习的特征能体现出差异性和全局性,参数迁移后不能冻结,需进行微调。

1.4.  损失函数

利用损失函数调整预测值与实际值的差异,反向优化模型参数,提高模型识别准确率。在训练过程中,间隔损失函数(margin loss)[26]使得胶囊网络倾向于输出一个长向量和若干个短向量,向量的长度代表胶囊存在的概率。因此,LCN模型采用间隔损失函数,其表达式为:

Lk=Tkmax(0,m+−||Vk||)2+λ(1−Tk)max(0,||Vk||−m−)2" role="presentation">Lk=Tkmax(0,m+−||Vk||)2+λ(1−Tk)max(0,||Vk||−m−)2

式中,Lk" role="presentation">Lk表示类别K的间隔损失,取值1表示第K类存在,否则取值0;m−" role="presentation">m−取值0.1,是||Vk||" role="presentation">||Vk||下边界,避免假阴性;m+" role="presentation">m+取值0.9,是||Vk||" role="presentation">||Vk||上边界,避免假阳性;λ" role="presentation">λ取值0.5,为比例系数。总损失为各样例损失之和。

2.  实验结果与分析2.1.  数据集

本文的数据源为中国科学院自动化研究所录制的CASIA汉语情感语料数据库,该数据库由2男2女共4位录音人在纯净录音环境下(信噪比约为35 dB)对500句文本进行演绎录制而成,包括6类情感(高兴/joy、悲哀/sadness、生气/anger、惊吓/shock、中性/neutral、害怕/fear)。采样率为16 kHz,16 bit量化,最终保留其中9 600句。为验证LCN模型在小样本集上的识别性能,本实验将数据源分成10份,每份包含960句,其中训练集800句,测试集160句。经过10次轮换训练及测试,取平均值作为最终的识别结果。

2.2.  数据预处理

对语音数据集进行分帧、加窗和傅里叶变换,生成语谱图集合:

Sp=∑t=0T−1FFT(s(t)h(t)e−2πiTkt)" role="presentation">Sp=∑t=0T−1FFT(s(t)h(t)e−2πiTkt)

式中,s(t)" role="presentation">s(t)为输入语音信号;T" role="presentation">T为窗长;h(t)" role="presentation">h(t)为汉明窗函数;FFT" role="presentation">FFT为傅里叶变换函数;k∈[0,T]" role="presentation">k∈[0,T]。实验中汉明窗长度T" role="presentation">T取512,语音帧叠加为240个波形点数,生成语谱图为256×256×3的图像。

2.3.  实验分析

为检验模型性能,将LCN分别与以下模型进行对比。

1) 普通卷积神经网络CNN,模型结构如表2所示;

2) VGG-16,模型结构如表2;

3) ResNet-50,模型结构如表2;

4) 传统胶囊网络CN,模型结构如图1;

5) CN-DSC,在4)的基础上融入深度可分离卷积模块,即将4)中的卷积层替换为DSC;

6) CN-DSC-PM,在5)的基础上引入参数迁移,即对5)中的DSC层引入参数迁移;

7) CN-DSC-DR,在5)的基础上改进动态路由算法。

不同方案下的语音情感识别结果如表3所示。

对比模型1)、2)、3)、4)发现,ResNet-50由于网络层数较多、结构复杂使其在准确率和收敛速度上均表现较差。模型4)与模型1)、2)、3)相比尽管收敛速度没有明显改善,但在小数据集上的识别准确率得到了一定的提升,从而也验证了胶囊网络在小数据集上的有效性。对比模型4)、5)发现DSC模块的引入使得网络在运算时间、模型参数量和复杂度方面有了明显提升,进而提升了情感识别的实时性。对比模型5)、6)得出采用参数迁移的方式提高了识别的准确率和训练速度,有效避免了过拟合现象。模型6)首先利用ImageNet数据集进行训练,然后从训练好的网络模型中选取不同的DSC层参数进行迁移,对不同迁移方案的识别结果进行了进一步对比。通过表4数据可以看出迁移前五层效果最佳,而迁移前六层和前七层准确率反而下降了,原因可能是层数越高ImageNet数据集和CASIA数据集的特征差别越明显。

表 2 模型结构

CNNVGG-16ResNet-50 Conv:[3×3,64]×1" role="presentation">Conv:[3×3,64]×1 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2C{rm{onv}}:[3×3,64]×3" role="presentation">C{rm{onv}}:[3×3,64]×3 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2C{rm{onv}}:[7×7,64]×1" role="presentation">C{rm{onv}}:[7×7,64]×1
MP:[3×3],stride=2" role="presentation">MP:[3×3],stride=2Conv:[3×3,128]×1" role="presentation">Conv:[3×3,128]×1 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[3×3,128]×3" role="presentation">Conv:[3×3,128]×3 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[1×1,643×3,641×1,256]×3" role="presentation">Conv:[1×1,643×3,641×1,256]×3Conv:[3×3,256]×1" role="presentation">Conv:[3×3,256]×1 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[3×3,256]×3" role="presentation">Conv:[3×3,256]×3 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[1×1,1283×3,1281×1,512]×4" role="presentation">Conv:[1×1,1283×3,1281×1,512]×4Conv:[3×3,512]×1" role="presentation">Conv:[3×3,512]×1 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[3×3,512]×3" role="presentation">Conv:[3×3,512]×3 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[1×1,2563×3,2561×1,1024]×6" role="presentation">Conv:[1×1,2563×3,2561×1,1024]×6Conv:[3×3,512]×3" role="presentation">Conv:[3×3,512]×3 ReLU
MP:[2×2],stride=2" role="presentation">MP:[2×2],stride=2Conv:[1×1,5123×3,5121×1,2048]×3" role="presentation">Conv:[1×1,5123×3,5121×1,2048]×3FC" role="presentation">FCFC" role="presentation">FCFC" role="presentation">FC

表 3 不同方案的实验结果

模型情感类型准确率平均值/%耗时/h高兴悲哀生气惊吓中性害怕 CNN80.5584.1985.7581.4482.6184.8383.239.6VGG-1679.6583.6385.0580.5781.8284.0982.479.8ResNet-5078.0183.7184.3680.6581.2383.7281.9510.7CN83.4288.4590.0484.9386.9188.7487.089.5CN-DSC86.4592.7993.1689.1690.4392.5890.767.0CN-DSC-PM92.3193.9395.4192.5893.1294.3293.605.1CN-DSC-DR90.7193.7194.2891.8792.1193.5992.715.9LCN90.9595.196.6293.4694.8595.1494.354.9

表 4 迁移不同DSC层参数结果对比

迁移层准确率/%耗时/h 前三层91.245.4前四层92.385.3前五层93.605.1前六层92.105.0前七层91.075.0

对比模型5)、7)得出动态路由算法中权重更新方法的改进增加了对胶囊向量方向的考虑,获得了更高的识别精度。综合对比模型LCN与模型1)~7),得出模型LCN在小样本集的应用中具有更高的准确率和更快的训练速度。迭代过程中LCN在测试集和验证集上的准确率和损失值变化如图3所示,可以看出,本文模型在迭代次数为20时就已收敛且获得了较高的准确率。

图  3  LCN在测试集和验证集上准确率和损失值的迭代曲线

3.  结 束 语

本文通过对语音情感识别的研究,提出了一种轻量化胶囊网络识别模型,并在小样本数据上进行了验证。实验结果表明:结合深度可分离卷积的胶囊网络可有效降低模型复杂度;模型参数迁移可以进一步避免微数据集带来的过拟合现象;动态路由算法的改进进一步提高了模型的精度。该方法取得了较好的实验效果,在未来的工作中,将继续研究轻量化模型的构建方法,提高识别的准确度和实时性。

参考文献 (26)

相关知识

语音情感识别调研
一种基于深度残差网络的宠物图像情绪识别方法与流程
一种基于深度学习的狗叫情感识别方法及装置与流程
鸟类声音识别方法,装置,计算机设备和存储介质
一种宠物情绪识别方法及系统
查找: 关键字=情感识别
一种基于神经网络的宠物声音识别方法及系统技术方案
宠物情绪识别方法及系统.pdf
宠物行为识别方法及电子设备
一种利用宠物语音信号识别情绪的方法及系统与流程

网址: 轻量型胶囊网络语音情感识别方法 https://m.mcbbbk.com/newsview412371.html

所属分类:萌宠日常
上一篇: 怎么判断我们会不会独立思考?
下一篇: 音乐情感识别算法研究