论文笔记

时间:2024-04-12 17:19:27

论文笔记 ---- 基于卷积神经网络的语音情感识别

论文题目:基于卷积神经网络的语音情感识别
论文作者:陈晓东

摘要

通过研究语音情感识别,能使得计算机在人机交互过程中做出更加人性化和更有针对性的反应。深度学习是目前最接近人脑的人工智能学习方法。深度学习有很多常用的模型,比如自编码器、限制玻尔兹曼机、卷积神经网络等等。其中,卷积神经网络已经应用在图像识别、语音识别、广告推荐系统等领域,而且也取得了很不错的进展。 经过深入研究发现,当使用传统的卷积神经网络进行语音情感识别时,卷积神经网络的子采样层在实现维数约减的效果的同时,也可能导致大部分有用的特征丢失,从而降低了语音情感识别分类的准确率。本文提出一个基于卷积神经网络的改进算法,在该算法中,使用特征选择的办法来代替卷积神经网络子采样层的简单处理,称为卷积特征选择神经网络。

介绍

语音情感识别(Speech Emotion Recognition,SER),顾名思义,就是通过对人类的语音进行分析,使得计算机能够识别出人类语音中的情感。一般的语音情感识别的研究工作主要是以下几个方面:搭建数据库,建立描述模型,提取特征,特征选择以及识别算法。建立一个样本量大,样本具有代表性,样本标签具有平衡性的数据库是进行语音情感识别的基本条件。建立描述模型,就是对语音的情感的描述,并且将语音情感做分
门别类。提取语音的特征情感,就是对那些能表现出这段语音的情感的特征提取出来。特征选择的作用主要有两个,一个是将原本提取出来的特征进行选择,除去那些会影响结果准确率的特征,另外一个是降低特征的维度,避免维度灾难。最后一个,识别算法也就是机器学习中的分类算法。大部分机器学习的分类方法都适合语音情感识别算法,如贝叶斯网络[1],支持向量机[2,7],神经网络[3],隐马尔科夫模型[4,5],高斯混合模型[6,7],集成算法[8],近邻算法[9]等等,这些算法都已经取得了很好的成功。

语音情感识别基本理论

  1. 语音情感识别流程:
    论文笔记
  2. 语音情感数据库介绍
    语音情感数据库的好坏直接影响并且决定了语音情感识别系统的性能的好坏。在语音情感识别的领域中,语音情感数据库没有统一的建立标准,并且有多种分类方式。按照应用目标的方式,可以分为合成型以及识别型;按照语音语种的不同,有可以分为英语、汉语与德语;根据情感标注形式的不同,语音情感数据库还可以分为离散情感数据库与维度情感数据库[13]。就国内外的研究状况而言,还是离散语音情感数据库比较多。
    代表性的数据库
  • Belfast 英语情感数据库[14,15]
  • 德国柏林工业大学录制柏林语音情感数据库(Berlin emotional speechdatabase,EMODB)[16]
  • 儿童语音录制的 FAU AIBO 儿童德语情感语音库[17]
  • Surrey 视听表情情感数据库 ,从标准的 TIMIT 语音识别库中选取的语料组成的 Surrey 视听表情情感数据库库(Surrey Audio-Visual Expressed Emotion Database, SAVEE)[19]
  • 日本的研究机构录制的 Crest 情绪语料库
  • 汉语为语种的语音情感数据库中科院自动化所语音情感数据库(Institute of Automation, Chinese Academy of Sciences,CASIA)[18]
  • ACCorpus 系列汉语情感数据库
  1. 语音信号预处理
    语音信号的预处理也可以称之为前端处理。语音信号的预处理有很多方面的内容,但是,就一般情况上来讲,无非是这样的主要步骤:采样和量化,预加重和分帧加窗等。

  2. 语音信号采样与量化
    原始的语音信号是一个连续的模拟信号,需要对原始信号进行采样,使其转化成为时间轴上离散的数据。就采样率而言,是不应该太高,也不能太低,是一个经验值。常用的采样率为 16kHz,8kHz 等。原始语音信号经过采样后在得到了时间离散但是幅度连续的信号,因此必需对这个语音信号再进行量化处理。常用的量化方法有均匀量化与非均匀量化。

  3. 语音信号分帧加窗
    语音信号就整体而言,是一个连续的适时变化的过程,但是,在一个很短的时间段里面,语音信号可以看作是一个稳定的状态,也称作准稳态。我们会把语音信号进行分帧,每一帧的长度大概是 20ms~30ms,在这个很小的时间段里面,语音信号的大小便是稳定的。
    由于人说话时并不是间断的,即相邻之间的帧是有相关性的,所以前后两帧之间应该有重叠部分,也就是帧移【加上帧移后,处理之后的语音信号跟实际语音信号更接近】。分帧与帧移之间的关系如下:
    论文笔记
    帧之后原本的语音信号变成了有限信号,导致在调用傅立叶变换函数的时候会致使高频部分泄露,因此,分帧之后的信号通过加窗(矩形窗和汉明窗)处理来降低泄露。
    论文笔记

语音情感特征及其提取

  • 在现今的语音情感特征研究中,基本可以将这些特征分为 3 类:应用最广泛,能具有连续性的特点的韵律特征;通常表示语音信号在较短时间特点的谱特征;以及其他特征。其他的特征有诸如基于声音质量的特征,融合特征,基于 i-vertor特征,基于 TEO 的特征,基于 EMD 的特征,基于 FD 的特征等等。
  • 特征:
    韵律特征: INTERSPEECH2010[20]基准特征集上囊括了绝大部分的韵律特征。INTERSPEECH2010 基准特征集中,除了 MFCC[23]是谱特征之外,其他的都是韵律特征。因此对韵律特征的提取可以将MFCC INTERSPEECH2010 基准特征集移除后得到。
    常用的谱特征:线性预测倒谱系数 LPCC[21],过零幅度峰值 ZCPA[22],Mel 倒谱系数 MFCC[23],感知线性预测倒谱系数 PLP[24],RASTA 感知线性预测倒谱系数RASTA-PLP[25],短时连贯性 SMC[26]等等。此外还有一些近年才被研究出来的谱特征Hu WSF[39]。
    统计学特征:生理学提取出来的特征之外,还有基于统计学知识得到的语音情感特征,这些特征有:最大值、最小值、均方差、平均值、回归参数、协方差等等。
    本文所涉及的特征:MFCC,短时能量,语音情感特征统计函数。
  • 特征选择算法
    特征选择(Feature Selection)是指在提取出来的全部特征中选择出一定的特征子集,从而利用这些特征子集构造出更好的分类模型。特征选择算法有两大类:线性特征选择算法与非线性特征选择算法。

语音情感识别分类算法

  1. 高斯混合模型 GMM
    从本质上讲:语音经过特征提取后的声音特征向量其实是一个概率密度函数 。
    这个特征向量可以看是状态数是 1 的连续的分布的隐马尔科夫模型。而对应的,高斯混合模型,可以看成只有一个状态的多维的概率密度函数。
    高斯混合模型做语音情感识别的流程:
  • 首先将语音情感数据提取特征后,进行聚类,聚类的方法,如 K-means,AP 聚类等;
  • 接着将各个聚类的得到的结果当成高斯分布函数,同时对应计算这个高斯分布函数的均值,协方差矩阵,概率值,从而得到一个训练模版来训练各种语音情感;
  • 最后,在测试阶段中,将各个语音情感测试数据分别一一输入到训练时候得到的训练模版,得到该语音属于每一种情感的后验概率,后验概率最大的情感训练模版就是该语音情感数据的输出结果。
  1. 支持向量机SVM
    持向量机的主要思想理论是将所有的特征向量都映射到更高维空间上面,然后,在这个空间中,寻找最大的超平面将这些特征向量分开。对于非线性问题,SVM的参数设置的关键是核函数的选择。
    已经有很多学者使用 SVM 作为语音情感识别的分类器[2,7]。首先将语音情感提取得到的空间特征向量通过核函数映射到高维空间中,然后针对主要的语音
    情感,找出最优的分类超平面,但关于核函数的选择还有参数的确定问题上面都暂时无法解决。一般的研究工作者都是通过逐步实验的方法去确定的。
  2. 隐马尔科夫模型 HMM
    隐马尔科夫模型是通过结合马尔科夫模型跟实际生活改进的。在马尔科夫模型中,状态对于观察者是直接可见,它的转换的参数是可以明确确定的,但是,实际应用中,并不是所有的状态对于观察者都是直接可见的,状态的隐藏的。因此,科学家便就此提出了隐马尔科夫模型。在语音情
    感识别中,利用语音具有时序的特征,隐马尔科夫模型可以将状态变换与特征进行结合,随着时间的变化,不同的情感之间也产生不同的变化。
  3. Softmax 回归分类器
    逻辑回归分类器是一个二元分类器,Softmax 回归分类器是一个多分类器。在对于分类类别具有互斥的情况下,一般使用 Softmax 回归分类器,此时,如果发现已经类别中的其他类别,那么就是增加一类其他类,并将 Softmax 回归分类器的分类数量参数增加一个;当分类的类别之间不互斥的时候,就是说,某些样本不但属于第一类,也可能属于第二类,或者更多的时候,一般应该选择多个逻辑回归分类器。

人工神经网络

  • 人工神经网络的神经元的功能是将多个输入分量,以及每个输入分量自己对应的权值,通过某种函数关系得到一个输出值。单个神经元的模型如图 所示:
    论文笔记
    论文笔记
    xn是输入向量,????????是每个输入分量权重,也就是加权,权重的作用可以看作是每个分量的连接强度,通过改变权重的大小能达到使输入分量放大或者缩小
    的作用。V 是基函数值(基函数有很多种,上述为线性基函数,其他的如距离基函数,椭圆基函数等),f 是激励函数,也称作**函数,**函数的作用是将通过基函数得到的数值 V 变换到指定的范围中。b 值是一个偏置值,Z 是单个神经元的输出结果。
  • 神经网络类别 :
    学习策略分类:有监督学习网络和无监督学习网络
    网络结构分类:前馈网络和反馈网络
  • 反向传播算法 (BP算法)

深度学习

深度学习是一种神经网络 ,深度学习是使用了一种深层模型。对于深层模型能够提高效果的原因分析大概有以下3个:

  • 天然层次化的特征 :对于绝大多数的研究对象而言,研究对象本身的特征就是具有层次化的。类似文本,图像,语音等等。
  • 仿生学依据 :人工神经网络便是模仿了人类神经系统而被科学家提出来的一门学科。
  • 特征层次的可表现性 : Bruno Olshausen 和 David Field 通过了生理学以及计算机的方法研究人类视觉问题。首先选取了很多的黑白风景图片;然后,在这些风景图片选取了 400 个小碎片;最后通过了稀疏编码算法实现了使用 400 个小碎片的用线性组合很好得表示出原来的风景图。证明了,复杂的图形,往往可以有一些基本结构组成。此外,除了图像,在语音上也是同样存在着这样的规律。科学家曾经发现语音也可以有 20 种基本的语音结构组成。
    深度学习神经网络常用模型【自编码器和卷积神经网络】:
  • 自编码器: 这是一个通过使用无监督学习的方法学习出一个输入值与输出值接近相等的神经网络模型。
  • 输入值近似等于输出值的作用:在网络中往往存在着大量的数据,这些数据之间有着某种特殊的关系。使用这些数据训练自编码器之后,使得输入输出接近相等时,那么我们可以近似的认为,自编码器未经解码最后的隐藏层的输出是对这些数据很好的压缩。自编码器的学习过程中,代价函数越小,表示输出结果跟输入结果的差值就越小,此时,自编码器的效果就是越好。【注:我
    们应用的是隐藏层中的输出结果,也就是编码的结果,而输出层得到的结果,也就是解码结果一般没什么作用 】
  • 自编码器还有很多其他的变体,比如稀疏自编码器,栈式自编码器,栈式降噪自编码器等。
  • 卷积神经网络:般的深度学习神经网络是属于全连接的网络,比如自编码器
    ,这种全连接的网络在处理输入层神经元个数比较少的情况下的学习速度还是可以,但输入数据维度较大时一般是采用部分连接的网络模型,比如卷积神经网络。 【深层模型的缺点是参数多,设置麻烦,没有固定的设置,训练规模一般较大需要加速(GPU,计算集群:构建一个 CPU 集群
    )】

基于卷积神经网络的语音情感识别

  1. 基于卷积神经网络的改进算法 CFSNNs
    卷积神经网络的训练属于有监督学习。它在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。
  • 传统的卷积神经网络的功能和优点:主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。在图像中,相邻的像素点之间冗余度相对比较高,此时,使用传统的卷积神经网络时候,有下列两个优点:(1)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。(2)图像的结构跟网络的拓扑结构很相似,因此,在子采样层的处理甚至能达到二次特征提取的效果。
  • 应用于此研究的问题:在语音情感识别中,使用卷积神经网络进行语音情感识别存在一个很大的缺点。语音情感识别中,输入的特征矩阵相邻的特征之间相似性很小,每个特征之间都包含着很大的信息。此时,子采样层的计算方式会使得很多特征表达的信息减少,从而导致经过子采样层处理后的语音情感特征可能使得分类的效果下降。
  • 提出一个基于卷积神经网络的改进算法——卷积特征选择神经网络(Convolutional Feature Selection Neural Networks,CFSNNs)。CFSNNs 与传统的卷积神经网络相比最大的区别是在 CFSNNs 算法中使用了特征选择代替了子采样层。两者的流程图如图所示:
    论文笔记
    在 CFSNNs中,输入样本首先通过卷积层进行卷积处理,然后将得到的结果进行特征选择,最后得到输出。CFSNNs 算法步骤可以总结如下:
    论文笔记
    论文笔记
    此研究的CFSNNs 算法中,经过特征选择算法得到的特征维度一般都比较低,因此,CFSNNs 算法只有两层架构,一层是卷积层,一层是特征选择
    层。卷积层中的训练方式与传统的卷积神经网络相同,特征选择算法则不需要进行训练。

    CFSNNs 相比与传统卷积神经网络的优势在于:传统的卷积神经网络应用最经典的范围是图像识别,特别是 Le Net-5 系统。在图像识别中,子采样层的简单的求和取平均的做法能达到维数约减的效果,同时由于在图像中,相邻像素点的冗余相关性比较大,因此经过子采样层处理之后的特征对分类的准确率可能不会出现下降,甚至能使得分类的准确率上升。但是,在语音情感识别中,经过卷积层卷积处理的特征,相邻之间的特征并没有很大的冗余相关性,只是做简单的求和取平均很可能一些有用的特征丢失,从而在最后出现虽然维数约减的目的达到却使得分类准确率下降的情况出现。相比与传统的卷积神经网络,CFSNNs 算法对经过卷积处理之后的特征是采用了特征选择的办法,选择出了更加高效的特征子集,这样能确保达到维数约减的效果的同时,也确保了准确率不会下降。
  1. 实验评价标准
    实验中我们将选取 EMODB 数据库(记为 EMODB),CASIA 数据库(记为 CASIA),SAVEE 数据库(记为 SAVEE)以及 FAU AIBO 儿童德语情感语音库(记为 FAU)这四个语音情感数据库进行实验。
    实验的测试策略有两种,分别是说话人独立(Speaker Independent,SI)实验与说话人依赖(Speaker Dependent,SD)实验。说话人独立的实验过程中是在语音情感数据库中逐一选取不同的说话人做测试数据,其他说话人做训练数据,最后将每个人的语音情感识别准确率求和取平均;说话人依赖的实验是采用 5 倍交叉验证法,将语音情感数据库中的所有数据随机打乱,然后平均成 5 份,逐一选取 1 份作为测试数据,其他 4 份做训练数据,最后将得到的准确率求和取平均。如此重复 5 次,然后再求和取平均。
    【注:精度为加权精度论文笔记
  2. 特征选择算法
    现今在机器学习的领域上特征选择的办法有很多种,而在一些在语音情感方面研究的参考文献[39]中,将特征选择算法进行对比,得到了下表:
    论文笔记
    从中可以看出,无论是使用 HuWSF,LPCC,MFCC,PLP,ZCPA 哪种特征进行分类,MCFS的特征选择结果无疑是最好的。
    MCFS 算法步骤:
    论文笔记
    论文笔记
    其中,构造近邻图的方法采用的是0-1权重(其他方法:热核权重,点积权重) 。MCFS算法,(1)-(3)计算出数据的内在维度;(4)-(6)基于稀疏思想,根据得到的数据维度计算出每个特征在进行分类时的贡献程度。
    MCFS 有下列三个优点
  • 第一,算法中考虑到了数据的整体结构,从而避免选择到次优的特征;
  • 第二,算法使用测试数据的无标签样本信息,对选择出有利识别该说话人情感的特征起到一定作用;
  • 第三,保持数据的流形结构,可以稍微减少克服过拟合问题。
  1. 分类器选择对比实验
    本节将先在 EMODB 数据库上,基于 OTHER+HuWSF【HuWSF 是文献[39]中提出的新的特征】,OTHER+ MFCC ,OTHER+HuWSF+MFCC,以及OTHER【OTHER 特征 INTERSPEECH2010 基准特征集中移除 MFCC 外加 LPCC,ZCPA,PLP 得到】 四种原始特征组合的基础上,使用支持向量机,Softmax,knn 进行实验对比,然后根据实验结果确定选择具体的分类器。其中支持向量机的核函数分别选择多项式核函数和径向基函数,分别记为 SVM_POL和 SVM_RBF。
    【注:SVM的工具包来自林智仁教授提供的支持向量机库libsvm-3.16[48],使用默认的参数 ;Softmax 的工具包来自斯坦福大学的机器学习教程提供的工具包,使用 Softmax_exercise 的默认参数,其中 lambda = 1e-4 且options.maxIter = 100;knn 分类器的参数设置 k=3】
    论文笔记
    从上表的SI和SD两个评价指标上得出,SVM_POL,SVM_RBF,SOFTMAX的性能相近,但SVM_RBF的参数调整更麻烦,从SD的评价标准上SVM_POL,SOFTMAX旗鼓相当,但从综合分析SOFTMAX更好。对于使用 OTHER,OTHER+HUWSF+MFCC,OTHER+HUWSF,OTHER+MFCC 这四种特征组合进行语音情感识别使用 Softmax 作为分类器。
    在本结构CFSNNs 使用 Softmax有以下几个优点:
    (1) 根据实验,我们可知 Softmax 有更好的语音情感识别效果。
    (2) Softmax 输出的结果是样本属于每个类的概率,这个概率可以评价基分类器分类的不确定性,使分类器集成时可以利用更多的信息,因此,选择 Softmax 作为分类器也能更好地使用集成分类器。也就是说,相比与其他直接输出样本类别的分类器,Softmax 分类器更加有潜力。
    (3) Softmax 分类器是一个适合大数据处理的分类器,训练时候可以进行批式训练。Softmax 经常最为深度学习神经网络最后使用的分类器,因此,使用 Softmax分类器更卷积神经网络更为贴合。

基于 CFSNNs 算法的说话人独立实验

  1. 实验特征:OTHER+HuWSF,OTHER+MFCC ,OTHER+HuWSF+MFCC 以及 OTHER。
  2. 分类方法:
  • 第一种方法,利用这些特征组合,直接使用 Softmax 分类器进行分类,记为 no_CNN。
  • 第二种方法,利用这些特征组合,放到传统的卷积神经网络中进行训练,这卷积神经网络中有两层,第一层是卷积层,第二层是子采样层,最后使用 Softmax 分类器进行分类,记为 with_CNN;
  • 第三种方法,利用这些特征组合,使用 CFSCNNs 进行训练,其中,最后使用 Softmax分类器进行分类,记为 CFSCNNs。
  • 第四种方法,利用这些特征组合,使用卷积神经网络进行训练,卷积神经网络中只有一个卷积层,最后使用 Softmax 分类器进行分类,记为 C_CNN。
  1. 分类方法结构参数设置:
    with_CNN:卷积层的 outputmaps参数设置为 4,卷积核大小为 3x3,子采样层大小为 2x2。
    CFSNNs:卷积层的outputmaps 参数设置为 4,卷积核大小为 3x3,特征选择的方法采用 MCFS,MCFS 的起始维度是 90,步长是 40,最高维度是 490。
    C_CNN:卷积层的outputmaps 参数设置为 4,卷积核大小为 3x3。
    所有的反向传播迭代次数都是 15。
  2. 上述方法分别在EMODB,CASIA,SAVEE三个数据库上实验。下图为在EMODB数据集上的结果:
    论文笔记
  3. 在 FAU 数据库上说话人独立实验
    CFSNNs 算法是一个拥有潜力的算法,它在随着训练样本的增加的情况下,准确率也会随之增加。目的主要是通过在 FAU 数据库上逐步增加训练样本的数量,验证 CFSNNs 算法的实验效果是否随之增加。
    FAU 数据库: FAU 数据库是一个非常不平衡的数据库,在分类中,数量最多的样本是最少的11倍,所以需要
    平衡处理
  • 常见的平衡处理方法有下采样 (Down Sampling, DS )[49],上采样( Over Sampling,OS )[50],集成采样(Ensemble Sampling, ES)[51],训练样本加权[52]。下采样的方法相比与其他三个方法更加简单易行,此文平衡数据使用的下采样方法是将从训练样本数量较多的类中随机抽取与训练样本数量最少类数量相同的样本,最后抽取出来的样本与训练样本数量最少的类组成新的训练数据集。
  • 由于测试数据的样本各类分布也存在不平衡情况,实验将采用不加权精度(Unweighted Accuracy, UA)作为评价标准。论文笔记
    【注:在不加权精度的评价标准中,无需考虑各个样本的个数,UA对于不平衡的测试数据的评价更加有代表性】
  • 实验结果分析:
    实验特征:PROS,PLP-C,MFCC[23],LPCC[25]特征。【其中 PROS为 INTERSPEECH2010移除 MFCC 特征得到;PLP-C 特征是由PLP与 RASTA-PLP特征组成】
    实验过程:训练数据 Train_ALL 中首先随机抽取 500 条数据作为训练数据,之后逐渐增加 500 条数据,直到训练样本数量达到 3000 条。对于每个样本数量不同的数据集,都随机从 Train_ALL 训练集随机抽取所需样本数量,然后使用CFSNNs 算法进行训练,最后用测试样本集进行测试,如此重复 10 次,最后将所有得到的准确率求和取平均。【其中,CFSNNs 的特征选择的方法采用MCFS,MCFS 的起始维度是 10,步长是 40,最高维度是 210,其他参数不变同上】
    论文笔记
    因此可见,CFSNNs 算法是一个拥有潜力的算法,它能随着训练样本的数量的增加而提升自己的准确率。

论文总结:此论文的主要内容是提出了一个基于改进的卷积神经网络CFSNNs对语音情感识别,由于原来CNN的子采样层在对特征进行约减降维时会丢掉部分特征信息,所以将原本CNN网络结构中的子采样层改进为特征选择层然后再利用分类器输出结果。期间包含了对特征选择方法的实验验证,最后采用MCFS特征选择方法;还有分类器的选择,通过实验对比选出softmax分类器。最后在选定的几个特征中进行实验,在4个经典数据集上对比了本模型和CNN,no_CNN,仅包含卷积层的CNN等的实验结果,最后得本模型的性能最好【关键有特征选择方法,可从此方面进行后续创新,以及网络的深度】。