Speech Emotion Recognition Using Capsule Networks(基于胶囊网络的语音情感识别)
Speech Emotion Recognition Using Capsule Networks
abstract
语音情感识(SER)别是人机交互当中比较关键和重要的研究领域。然而在SER领域中,提取用来作为分类的语音中话语水平特征是一个挑战性问题。近年来通过语谱图的作为语音特征,以及卷积神经网络的发展。使得话语水平的特征提取更加容易。然而通过卷积神经网络无法捕获语谱图当中的空间信息,这些空间信息是与低水平特征(例如共振峰,音高)有着显著的联系。本文通过胶囊网络来进行SER,通过胶囊网络可以语谱图当中语音特征的空间信息,同时可以捕获全局水平的话语水平的特征。并介绍一种循环胶囊网络连接可以提高模型的时间敏感度。本文通过比较之前提出的CNN-LSTM模型作为baseline。同时在EMOCAP数据集上进行比较,此数据集包含4种情感,分别是:neutral,angry,happy,和sad。实验结果展示本文提出的模型实验得到准确率分别weighted accuracy(WA)是72.73%,baseline 68.8%,unweighted accuracy(UA)是59.71%,baseline 59.4%.
Introduction
语音识别领域中主要困难是提取高水平特征表示和构建话语水平的特征。像音高这样的短时帧中的特征作为是低水平特征。用神经网络对对基于帧低水平特征进行特征提取,得到基于帧的高水平特征。然而,在话语层面的情感识别需要一个全局特征表示,它既包含详细的局部信息,又包含与情感相关的全局特征。
最近通过用神经网络直接从语谱图中提取高水平潜在特征。从而克服如何使用低水平特征输入来得到高水平特征这一难点。传统的方法是用CNN来从语谱图中提取高水平特征,然而传统的基于卷积核卷积处理过程无法提取语谱图中有效的空间信息。
而对于话语水平特征,一般做法是基于帧的高水平特征基础上,然后进行构造话语水平特征。之前提到使用极限学习机(ELM)来构造话语水平特征。而话语水平特征是深度神经网络输出概率统计。由于循环神经网络可以考虑时域信息,因此同时可以使用循环网络从而增加网络对时域信息的捕获。利用注意力权重从CNNs输出的高级特征中提取话语级特征,因为并不是光谱图中的所有区域都包含对情绪识别有用的信息。
最近胶囊网络被提出可以作为捕获空间信息。(胶囊网络是由GeoffreyE.Hinton 于2017年提出,发表在NIPS 2017,该论文链接 https://arxiv.org/abs/1710.09829)该方法被应用于多种任务,并证明了其有效性。然而,以往研究中使用的CapsNets并没有考虑时间信息,而时间信息在情绪识别中是非常重要的。
论文主要内容
通过结合胶囊网络和卷积神经网络,进行整个实验主体框架的搭建:
对于基本的胶囊网络本博客不再详细叙述,有感兴趣可以自行查看相关链接:胶囊网络原理,以及相关胶囊网络原理图:hinon胶囊网络原理。以及胶囊网络原理pytorch代码。
框架解读
本文主要进行4个实验,baseline论文框架是CNN+LSTM。本文提出的四个框架分别是CNN+GRU,CNN+SeqCap,CNN+RecCap,CNN+GRU_SeqCap。并进行相关实验。
首先是将语谱图中输入到CNN当中,图示框架卷积过程中的数字分别代表卷积过程height×width×input_channels×output_channels。作为提取相关语音中的高水平特征,然后fed in to 胶囊网络或GRU网络中。GRU网络是双向64个隐含单元。最后再输入到全连接层当中,全连接层有两层,同时使用Dropout=0.5和**函数是ReLU。而在CNN+GRU_SeqCap网络结构中,使用 λ 和 1−λ 权衡两者。作者采取λ =0.6。
另外本文提出两种胶囊网络,一种是SeqCap,另外一种是RecCap。SeqCap胶囊网络是作为一种序列胶囊网络,RecCap是作为一种循环胶囊网络。
Experiment
数据集
实验采用数据集是:interactive emotional dyadic motion capture (IEMOCAP) database 。将其语音数据转换为语谱图。并将语谱图分为两segment,两个segment具有相同的标签。而在测试阶段使用的是完整的一个语谱图。语谱图的获取过程是,使用40ms的汉明窗,10 ms的shift,以及用1600的离散傅里叶变换(DFT)。使用0-5.12KHz频率范围。并使用短时能量作为语谱图中能量分布。最终得到N ×M 矩阵, 其中N<=200,M=512。
评价指标
• Weighted Accuracy (WA) – the accuracy of all samples in the test data.
• Unweighted Accuracy (UA) – the average of class accuracies in the test set.
实验过程参数设置
1, 采用5-fold cross validation
2, 采用Xavier initializer作为初始化参数设置,在CNN和胶囊网络中。
3, 采用batch size 是16
4, 使用 Adam algorithm 作为优化函数,相关参数设置为β1 = 0.9, β2 = 0.999 , ε =1e-8
5, 训练初始时 first 3 epochs is set to 0.001,当平均损失逐渐减少10倍时,学习率逐渐减少为0.0005,0.0002and0.0001,采用20个epoch。
实验结果
如上图所示,该论文提出的CNN+GRU_SeqCap模型获得的最好的准确率,比起baseline(CNN_LSTM)在WA上有平均5个百分点的提升。
另外如下图所示,作者验证胶囊网络对neutral, angry sadness分类效果比较好,但是对于happy比较差。作者的解释是,一方面由于数据集的原因,由于happy的训练数据比较少,同时happy情感的空间特征信息,以及happy更加依赖文本对比信息,因此happy识别准确率比较低,同时在之前的其他作者研究中也表明happy比较难以识别。
同时作者证明循环结构可以对识别准确率有所提高,如下图tabel2 和table3所示,通过循环网络结构,可以明显提升happy的识别准确率。
但是我不明白为什么作者没有采取,CNN+GRU_RecCap的网络模型作为对比。
最后,作者写出,通过胶囊网络可以很好的提取语谱图中的空间信息,同时采用循环结构可以提高网络对时域信息的捕获,从而提高识别的准确性。
个人解读,希望大家批评指正。