HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种基于残差网络的3DACRNN语音情感识别方法及存储介质与流程

2021-01-28 16:01:36|442|起点商标网
一种基于残差网络的3DACRNN语音情感识别方法及存储介质与流程

本发明属于语音信号处理与模式识别领域,特别是一种基于残差网络的3dacrnn语音情感识别方法。



背景技术:

人工智能领域的不断发展使得人类与计算机的关系日益密切,情感计算更是其中一个重要研究领域,在人机交互中情感交互具有非常重要的意义。而语言是人类信息交流的直接媒介,所以,语音情感识别(ser)相较于其他情感识别技术来说,在实用性和应用广泛程度上最具有代表性。情感识别过程中的一个关键环节是从语音信号中提取出可以表征人类情感的特征集,迄今为止,仍然没有一个很系统的特征集。

之前很多研究都是直接从语音中提取低层次描述符(llds),再利用传统的机器学习方法对情感进行分类。但是,由于存在上下文和表达情感的不同方式等因素,从llds选取特征集进行ser的效果不是特别理想。随着科技的发展,图像处理变得易于实现,因此ser研究的新热点是将语音信号转化为语谱图作为ser的识别对象。这种方法避免了手工特征提取的繁琐过程,减少建模和训练工作量。它还能反映语音信号的能量特性和节奏变化的纹理特征,已有许多研究者开始基于图谱开展语音情感识别技术的研究,并取得了良好的效果。tarunika等使用深度神经网络(dnn)从幅度谱中提取高级情感特征表示,并且与传统声学特征相比表现出更好的性能。han等提出一种dnn-elm深度网络模型用于ser,使用能量最高的片段来训练dnn模型,以提取有效的情绪信息。

近几年,cnn和rnn在ser领域应用广泛,深卷积模型可以保持语音信号的谱时平移不变性,rnn在处理时序信息方面表现优异,因此常用于提取情感语音的高级特征。neumann等将无监督自动编码器学习表示集成到crnn情感分类器中,提高了识别精度。但是,cnn从语谱图中学习特征的这种方法,仅仅是对单帧图的cnn特征进行融合,因此往往忽略了相邻的连续语音帧间的联系,因此,一些研究提出了三维卷积模型用于ser,可以更好地捕捉特征表示的短期时空关系。peng等人将谱图信息直接作为三维-crnn的输入,卷积层用于提取高层次表示,递归层则提取用于情感识别的长期依赖关系。针对沉默帧和情感无关帧对ser的干扰,chen等提出了一种基于注意力的3d卷积递归神经网络(acrnn)模型用于学习ser的判别特征,注意力机制的引入有效降低了沉默帧等冗余信息的影响。但是随着使用cnn模型的卷积层数量的增加,原始特征将逐渐丢失,且需要训练的参数也逐渐增多,导致计算量非常大。本发明针对计算量大的问题,发明了一种后遗忘门结构代替传统lstm的遗忘门,通过减少参数的方式减少计算量。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种可获得较高识别率、弥补丢失特征且降低计算量的基于残差网络的3dacrnn语音情感识别方法及存储介质。本发明的技术方案如下:

一种基于残差网络的3dacrnn语音情感识别方法,其包括以下步骤:

s1、对语音信号进行包括预加重、加窗分帧在内的预处理;

s2、将经过步骤s1处理后的语音信号转换为二维语谱图,通过堆叠多个连续帧的语谱图的方法将二维语谱图处理成三维语谱图数据;

s3、基于残差网络的三维卷积神经网络res3dcnn从三维语谱图中提取情感语音的短期时空特征,利用残差网络补偿传统卷积神经网络(cnn)在卷积过程中缺失的特征,从而有效解决梯度消失或爆炸问题;

s4、将res3dcnn的输出作为基于注意力机制的递归神经网络arnn模型的输入,rnn指的是递归神经网络,对处理时序信号有很好的性能,lstm是rnn其中的一种,但是由于冗余信息的存在,所以加了注意力机制,注意力机制可以降低无用信息的权重,提高训练速度,提取这些时空特征的长期依赖关系,改善时空关联性弱的问题。采用后遗忘门结构改进传统lstm的遗忘门;lstm由三个门结构组成,遗忘门、输入门、输出门,这里是对遗忘门进行了改进,针对计算量大的问题,对传统长短时记忆lstm,一种特殊的rnn结构网络的遗忘门进行了改进,发明了一种新的门结构,称为后遗忘门,该门结构通过减少参数来降低计算量。

s5、使用验证集对训练后的模型进行10倍交叉验证,交叉熵作为损失函数,用rmsprop算法对模型参数进行优化;

s6、使用验证集对训练后的模型验证,调整模型的超参数,得到最终网络模型,最后利用softmax层进行语音情感分类。

进一步的,所述步骤s1根据语音信号的短时平稳性,对其进行包括预加重、加窗分帧在内的预处理,具体步骤如下:

步骤a1:采用一阶高通滤波器即预加重滤波器,其z域中的传递函数为h(z)=1-az-1,a表示预加重系数,取值0.95,z表示z域的坐标值,h(z)是传递函数,预加重处理后的信号为x(t);

步骤a2:对预加重后的信号进行分帧,变为x(m,n),n为帧长,m为帧的个数,采用汉明窗进行加窗:

x(m,n)表示分帧后的语音信号,w(n)表示汉明窗的窗函数,加窗分帧后语音信号为:sw(m,n)=x(m,n)*w(n),sw(m,n)表示加窗分帧后的语音信号,其中每一帧含有n个采样点。

进一步的,所述步骤s2将处理后语音信号转换为二维语谱图,通过堆叠多张连续帧的语谱图的方法将二维语谱图处理成三维数据,其处理步骤如下:

步骤b1:通过快速傅里叶变换fft将步骤a2处理后的信号从时域数据变换到频域,得到x(m,n);

步骤b2:做周期图y(m,n),公式为y(m,n)=x(m,n)*x(m,n)',x(m,n)'表示x(m,n)的导数,然后取10log10y(m,n),把m根据时间变换一下刻度m,n根据频率变化一下刻度n,利用(m,n,10log10y(m,n))画出二维语谱图;

步骤b3:通过堆叠多个连续帧的语谱图组成一个立方体,然后在立方体中与3d卷积核进行卷积操作,这里的输入数据设置为time×frequency×c,time、frequency分别表示语谱图的横轴时间和纵轴频率,c表示语谱图的张数。

进一步的,所述步骤s3使用设计的res3dcnn从三维语谱图中提取情感语音的短期时空特征,残差公式为:

f(x)=y-x

其中,x是输入,y是输出,f(x)表示残差,计算时x和f(x)维度要保持一致,若不一致,则通过如下算法计算:

y=wk*x+f(x)

wk表示一个权重矩阵,可以调整输入x的维度,使其与f(x)保持一致,表示设计的res3dcnn模型由四个残差块组成,每个残差块包含4个卷积层,1个池化层,第一层的卷积核大小为1×1×1,其余三个卷积层的卷积核大小为3×3×3,池化层大小为2×2×1,步长为1×1×1,每个卷积层后加入批规范层bn和relu激活函数层;

bn对深度神经网络中间层激活进行归一化,算法关键在于引入了两个可学习参数γ和β:

表示待进入激活函数的变量,k表示激活函数的个数,一个批次中,bn是对每个特征而言的,有m个训练样本,j个维度(j个神经元节点),对第j维进行规范化:

其中,是第i层第j维的线性计算结果,μj表示每一个小批量训练数据的均值,表示每一个小批量训练数据的方差,表示该批次训练数据的归一化结果,ε是为了防止方差为0;

relu的计算公式如下:

进一步的,所述步骤s4将res3dcnn的输出作为arnn模型的输入,提取这些时空特征的长期依赖关系,传统lstm单元由三个门结构组成,分别是遗忘门、输入们和输出门,使用遗忘门来确定在前一时刻的单元状态中应该丢弃哪些信息,并直接参与更新单元状态,单元状态的更新算法与前一刻的隐藏层输出和当前时刻的输入有关,并将前一个时刻的单元状态作为更新当前状态的参数;

遗忘门算法:ft=σ(wf×[ht-1,xt]+bf)

单元状态更新算法:it=σ(wi×[ht-1,xt]+bi)

其中ct-1和ht-1分别是前一时刻的单元状态和隐藏层输出,ft表示遗忘门输出结果,it表示输入门的输入数据,xt是当前时刻的输入,是要被添加到记忆单元的候选值,wf、wi和wc是分别是由训练得到的遗忘门、输入门和候选单元的权重,bf、bi和bc是它们的偏差,it是的权重系数,σ表示的是逻辑sigmoid函数:

针对计算量大的问题,改进了传统lstm的遗忘门,提出一种新颖的后遗忘门结构,算法如下:

ft=σ(wf×ct-1+bf)

修改后的wf维度更小,因为式中没有使用xt和ht-1参与计算,减少了需要训练的参数,降低了计算量,将修改后的门结构称为后遗忘门。

进一步的,所述步骤s4改进后的arnn模型设置blstm有512个双向隐藏单元,创建了一个形状为l×1024的新序列,将其放入注意力层中,最后产生一个新的序列h。

进一步的,所述步骤s5用训练集对模型进行训练,采用交叉熵作为损失函数,利用rmsprop算法优化目标函数,具体包括:

交叉熵算法定义如下:

其中,第j个样本的真实标签

yj:第j个样本的网络模型的预测输出,c表示损失值。

rmsprop算法的定义如下:

其中,r:梯度平方值的滑动率,w:衰减率,α:学习率,ε:防止分母为零的常数项,η:超参数,常量。

进一步的,所述步骤s6利用softmax层进行语音情感分类,softmax函数的的公式如下:

该式表示的数组中第i元素的softmax值,si表示第i元素的分类概率。j表示一个累加变量。

一种存储介质,所述存储介质为计算机可读存储介质,其存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如任一所述的方法。

本发明的优点及有益效果如下:

综上所述,由于采用了上述技术方案,本发明的有益效果是:相同的实验环境下,基于残差网络的3dacrnn语音情感识别方法,能够更好的解决深度cnn网络在卷积过程中特征缺失问题,以及时空关联性弱的问题,进一步提取出可以表征语音情感的更深层特征。从预处理后的语音信号中提取语谱图并组合成三维语谱图数据,再通过基于残差网络的三维卷积神经网络结构提取短期时空特征,然后通过基于注意力的递归神经网络提取这些时空特征的长期依赖关系。但是,三维卷积神经网络复杂,计算量大,因此对lstm网络进行了改进,发明了一种新的后遗忘门结构代替传统的遗忘门结构,改进后的lstm网络在很大程度上降低了计算量,提升了模型训练和测试速度。总之,本发明提出的基于残差网络的3dacrnn语音情感识别方法在较大程度上提升了语音情感识别系统的性能。

附图说明

图1是本发明提供优选实施例基于残差网络的3dacrnn语音情感识别方法的总体框图;

图2是语谱图提取过程;

图3是卷积神经网络中的残余块结构图;

图4是传统lstm和改进后的lstm网络结构。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

如图1所示,本发明提供了一种基于残差网络的3dacrnn语音情感识别方法,其特征在于,包括以下步骤:

s1:对语音信号进行预加重、加窗分帧,具体步骤如下:

步骤a1:采用一阶高通滤波器即预加重滤波器,其传递函数为h(z)=1-az-1,a表示预加重系数,本发明取值0.95,预加重处理后的信号为x(t);

步骤a2:对预加重后的信号进行分帧,变为x(m,n)(n为帧长,m为帧的个数)。我们采用汉明窗进行加窗:

x(m,n)表示分帧后的语音信号,w(n)表示汉明窗的窗函数,加窗分帧后语音信号为:sw(m,n)=x(m,n)*w(n),sw(m,n)表示加窗分帧后的语音信号,其中每一帧含有n个采样点。

s2:将处理后语音信号转换为二维语谱图(语谱图提取过程如图2所示),通过堆叠多张连续帧的语谱图的方法将二维语谱图处理成三维数据,其处理步骤如下:

步骤b1:通过快速傅里叶变换(fft)将a2处理后的信号从时域数据变换到频域,得到x(m,n);

步骤b2:做周期图y(m,n),公式为y(m,n)=x(m,n)*x(m,n)',然后取10log10y(m,n),把m根据时间变换一下刻度m,n根据频率变化一下刻度n,利用(m,n,10log10y(m,n))画出二维语谱图。

步骤b3:3d卷积的输入数据必须是三维的,这样才能与3d卷积核进行卷积操作,因此本发明通过堆叠多个连续帧的语谱图组成一个立方体,然后在立方体中与3d卷积核进行卷积操作,这里的输入数据设置为time×frequency×c,time、frequency分别表示语谱图的横轴时间和纵轴频率,c表示语谱图的张数。

s3:使用本发明设计的res3dcnn从三维语谱图中提取情感语音的短期时空特征。残差网络的示意图如图3所示,其公式为:

f(x)=y-x

其中,x是输入,y是输出,f(x)表示残差。计算时x和f(x)维度要保持一致,若不一致,则通过如下算法计算:

y=wk*x+f(x)

wk表示一个权重矩阵,可以调整输入x的维度,使其与f(x)保持一致。设计的res3dcnn模型由四个残差块组成,每个残差块包含4个卷积层,1个池化层。第一层的卷积核大小为1×1×1,其余三个卷积层的卷积核大小为3×3×3,池化层大小为2×2×1,步长为1×1×1。每个卷积层后加入批规范层(batchnormalization,bn)和relu激活函数层。

bn对深度神经网络中间层激活进行归一化,算法关键在于引入了两个可学习参数γ和β:

表示待进入激活函数的变量,k表示激活函数的个数,一个批次中,bn是对每个特征而言的,有m个训练样本,j个维度(j个神经元节点)。对第j维进行规范化:

其中,是第i层第j维的线性计算结果,μj表示每一个小批量训练数据的均值,表示每一个小批量训练数据的方差,表示该批次训练数据的归一化结果,ε是为了防止方差为0。

relu的计算公式如下:

s4:将res3dcnn的输出作为arnn模型的输入,提取这些时空特征的长期依赖关系。传统lstm单元由三个门结构组成,分别是遗忘门、输入们和输出门。使用遗忘门来确定在前一时刻的单元状态中应该丢弃哪些信息,并直接参与更新单元状态,单元状态的更新算法与前一刻的隐藏层输出和当前时刻的输入有关,并将前一个时刻的单元状态作为更新当前状态的参数。

遗忘门算法:ft=σ(wf×[ht-1,xt]+bf)

单元状态更新算法:it=σ(wi×[ht-1,xt]+bi)

其中ct-1和ht-1分别是前一时刻的单元状态和隐藏层输出,ft表示遗忘门输出结果,it表示输入门的输入数据,xt是当前时刻的输入,是要被添加到记忆单元的候选值,wf、wi和wc是分别是由训练得到的遗忘门、输入门和候选单元的权重,bf、bi和bc是它们的偏差,it是的权重系数,σ表示的是逻辑sigmoid函数:

针对计算量大的问题,改进了传统lstm的遗忘门,提出一种新颖的后遗忘门结构,算法如下:

ft=σ(wf×ct-1+bf)

修改后的wf维度更小,因为式中没有使用xt和ht-1参与计算,减少了需要训练的参数,降低了计算量,本发明将修改后的门结构称为后遗忘门,传统lstm和改进后的lstm网络结构如图4所示。

本发明为上述改进后的arnn模型设置blstm有512个双向隐藏单元,创建了一个形状为l×1024的新序列,将其放入注意力层中,最后产生一个新的序列h。

步骤s5用训练集对模型进行训练,采用交叉熵作为损失函数,利用rmsprop算法优化目标函数。

交叉熵算法定义如下:

其中,第j个样本的真实标签,yj:第j个样本的网络模型的预测输出,c表示损失值。

rmsprop算法的定义如下:

其中,r:梯度平方值的滑动率,w:衰减率,α:学习率,ε:防止分母为零的常数项,η:超参数,常量。

步骤s6所述利用softmax层进行语音情感分类,softmax函数的的公式如下:

该式表示数组中第i元素的softmax值。si表示第i元素的分类概率。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips