基于参数迁移和语谱图的语音情感识别方法与流程

文档序号:15562139发布日期:2018-09-29 02:29阅读:462来源:国知局

本发明涉及语音处理技术和情感分析技术领域,具体是基于参数迁移和语谱图的语音情感识别方法。



背景技术:

语音作为人类交流的重要载体之一,不仅承载着语义内容而且还包含丰富的情感信息。语音情感识别综合模式识别、信号处理、仿生学等多学科,在人工智能和人机交互的发展中扮演着极其重要的作用。语音情感识别的目的是使机器从人类的语音信号中自动识别出说话人的当前情感状态,从而使计算机具有更人性化的功能。

根据目前的研究,语音信号中用于情感识别的特征大致可以分为三类:韵律特征、音质特征和谱特征,包括能量、音高、过零率、共振峰、梅尔倒谱系数(mel-frequencycepstralcoefficients,mfcc)等。这些低层特征以语音帧为单位进行提取,然后把它们在语音段的全局统计特征值输入到分类器进行情感识别。传统的语音情感识别方法使用人工选取的特征输入浅层机器学习模型进行分类识别。然而目前业界还不清楚这些特征集是否能有效地描述语音的情感内容,并且韵律特征、音质特征和谱特征要么属于语音的时域特征,要么属于频域特征,缺少语音信号随时间变化的特性,即融合时频两域相关性的特征。深度神经网络凭借其强大的建模能力有效地捕获隐藏于数据内部的特征,对数据自动地逐级提取特征,从而减少了手工设计特征造成的不完备性。语谱图是一种特殊的图像,它既像普通图片那样具有空间邻域相关性,在时间维度上又具有时序性。近来已有研究者使用深度神经网络对语谱图提取特征进行语音情感识别,如把经过卷积层提取后的二维语谱图特征展开成具有固定时间步长的一维特征,然后输入到两层堆叠的长短期记忆网络学习具有时序性质的特征。但这些研究没有构建一个良好的模型来提取语谱图特征,没有充分考虑语谱图时频两域的特性,也没有解决在语音数据集小的情况下识别率低的问题。



技术实现要素:

本发明的目的是针对现有技术的不足,提供基于参数迁移和语谱图的语音情感识别方法。这种方法可以提取语谱图时频两域的情感特征,提高识别准确率;还能够学习到预训练的知识,提高网络训练速度。

实现本发明目的的技术方案是:

基于参数迁移和语谱图的语音情感识别方法,包括以下步骤:

1):从中科院自动化所汉语情感数据库中采集语音情感数据并对语音情感数据进行预处理,其中语音情感数据包括6种情感:生气、害怕、高兴、中性、伤心、惊奇;

2):构建基于预训练卷积循环神经网络的网络模型;

3):对步骤2)中的网络模型进行参数迁移并训练。

步骤1)中所述的预处理,包括如下步骤:

①:采集6种语音情感数据;

②:对每条语音情感数据进行预加重,将预加重后的语音情感数据进行分帧,再将分帧后的语音情感数据进行加窗处理,以降低泄漏;

③:将加窗处理后的语音情感数据进行傅里叶变换,最后将音情感数据转换为rgb三通道语谱图。

步骤2)中所述的构建网络模型,包括如下步骤:

网络模型由卷积神经网络部分和循环神经网络部分组成;

①:基于alexnet网络模型构建卷积神经网络(convolutionalneuralnetwork,cnn)部分,去掉alexnet网络模型第五个卷积层之后的全连接层,重新设置全连接层参数,形成新的全连接层,然后将步骤1)中的语谱图输出的特征进行维度转换,再连接循环神经网络部分,循环神经网络部分使用(long-shorttermmemory,lstm)神经网络,最后连接新的全连接层;

②:使用relu函数作为卷积和池化层的激活函数,步骤1)中的语谱图经过每一个卷积层的卷积操作后提取的特征图在池化层进行降采样操作,去除冗余信息,缩小运算规模,构建出网络模型。

步骤3)中所述的参数迁移包括如下步骤:

①:对步骤1)中的每张语谱图进行数据增强操作来扩充语谱图的数据集,扩充后的语谱图数据集有利于提高识别准确率;

②:迁移在imagenet数据集上预训练的alexnet网络的权重参数,设置预训练alexnet网络的每个卷积层的权重参数为w(i)(i=1,2,…,5),选取w(4)迁移到步骤2)中的网络模型;固定卷积神经网络部分的前四层权重参数,使卷积神经网络部分的前四层权重参数在训练时不更新,只调整四层之后的权重参数;

③:对步骤2)中的卷积神经网络部分提取的语谱图特征组成的c张特征图进行维度转换,设置得到的c张输出特征图为m=(m1,m2,…,mc),每张特征图用(xt,yf)表示,其中t为时域维度,f为频域维度;所有的特征图组成c×t×f的三维向量,形成特征图集m(c,t,f);将t作为一个维度,c和f组成一个二维向量,即变成t×(c×f),对m集进行维度变换操作,转换其特征维度形成m′(t,c,f);当输入到lstm神经网络后,将维度t作为训练的时间步长,c×f作为每个时间步的序列特征输入;

④:将lstm神经网络输出的语谱图特征输入到新的全连接层,经softmax激活函数映射到语音情感数据中的其中一种情感。

步骤3)中所述的训练包括如下步骤:

①:使用随机梯度下降算法计算损失函数,设置随机梯度下降算法的学习率为0.0001,动量为0.9;

设定总数为m的语谱图训练样本集{(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},对于单个输入样本每个样本即有n个特征。步骤2)构建的网络模型的整体样本的损失函数为:

其中hw,b为假设函数,为神经元间的权重,y(i)为真实标签,则为单个样本例的损失函数;为正则化项,λ为权重衰减系数,防止网络模型在多个测试样本例上产生过拟合;

②:梯度下降算法在执行过程中利用反向传播算法计算输出权值的偏导数;

③:经过迭代来缩小整体语谱图集的损失函数,当产生的训练误差变小时减小学习率直到误差稳定。

本技术方案具有以下有益效果:可以提取语谱图时频两域的情感特征,提高识别准确率;还能够学习到预训练的知识,提高网络训练速度。

附图说明

图1为实施例的流程示意图;

图2为实施例中网络模型的参数设置图;

图3为实施例中网络模型示意图;

图4为应用语音传统特征和语谱图的识别对比图;

图5为迁移不同预训练卷积层的效果对比图。

具体实施方式

下面结合实施例和附图对本发明的内容作进一步的阐述,但不是对本发明的限定。

实施例:

参照图1:基于参数迁移和语谱图的语音情感识别方法,包括如下步骤:

1):从中科院自动化所汉语情感数据库中采集语音情感数据并对语音情感数据进行预处理,其中语音情感数据包括6种情感:生气、害怕、高兴、中性、伤心、惊奇;

2):构建基于预训练卷积循环神经网络的网络模型;

3):对步骤2)中的网络模型进行参数迁移并训练。

步骤1)中所述的预处理,包括如下步骤:

①:采集6种语音情感数据;

②:对每条语音情感数据的语音波形信号进行预加重,将预加重后的的语音波形信号进行分帧,再将分帧后的的语音波形信号进行加窗处理,以降低泄漏;

(1):语音波形信号在经过嘴唇与鼻孔的福射后将会造成高频部分的衰减,预加重的目的是为了对语音波形信号的高频部分进行提升,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,利于频谱分析,预加重传递函数公式为:

h(z)=1-az-1

其中z表示语音波形信号,a表示预加重系数,a的取值范围一般为0.9~1,这里取0.97;

(2):对预加重后的语音波形信号进行分帧时每一帧的长度大概是20ms~30ms,预加重后的语音波形信号在这个小时间段里可以视为稳定的;但是由于人说话并不是间断的,每帧之间都是相关的,加上帧移可以更好地与实际的语音波形信号相接近,在这里分帧时每一帧的长度取25ms,帧移取10ms;

(3):分帧后的语音波形信号变成了分段的有限信号,导致在调用傅里叶变换函数的时候发生高频部分泄漏的情况,可以通过加窗处理来降低泄漏,窗函数一般选取汉明窗,公式为:

其中α为系数,取0.46;

③:提取加窗后的语音波形信号的传统特征以验证传统方法与本实施例方法的差别;选取了梅尔倒谱系数(mfcc)、基音频率、短时能量、短时过零率、共振峰;对这些特征进行全局统计,采用的统计指标有最大最小值及其所在帧、范围、均值、标准差、偏斜度、峰度、线性近似斜率、线性近似偏移、线性近似二次偏差共12个统计量,每句语音由上述特征的统计量共组成384维的特征向量,如表1所示:

表1语音传统384维特征向量

④:将加窗处理后的语音情感数据进行傅里叶变换,最后将语音情感数据转换为rgb三通道语谱图,公式为:

其中,s(t)为加窗后的输入语音波形信号,t为汉明窗长度,h(t)为汉明窗函数,fft为傅里叶变换函数,k∈[0,t];t取512,语音帧叠加为240个波形点数,生成227×227像素大小的rgb三通道语谱图。

步骤2)中所述的构建网络模型,包括如下步骤:

网络模型由卷积神经网络部分和循环神经网络部分组成;

①:基于alexnet网络模型构建卷积神经网络部分,如图3所示,去掉alexnet网络模型第五个卷积层之后的全连接层,重新设置全连接层参数,形成新的全连接层,然后将步骤1)中的语谱图输出的特征进行维度转换,再连接循环神经网络部分,循环神经网络部分使用lstm神经网络,最后连接新的全连接层;

卷积神经网络部分由c1、p1、c2、p2、c3、c4、c5堆叠构成,c表示卷积层,p表示池化层,循环神经网络部分由lstm1和lstm2构成,全连接层由全连接层1和全连接层2构成,如图2所示,具体的的网络结构参数设置为:卷积层c1的卷积核96×11×11,步长4,池化层p1的池化窗口3×3,步长2,填充方式为大小为2的零填充,卷积层c2的卷积核128×5×5,步长2,池化层p2的池化窗口3×3,步长2,填充方式为大小为1的零填充,卷积层c3的卷积核384×3×3,步长2,卷积层c4的卷积核192×3×3,步长2,卷积层c5的卷积核128×3×3,步长2,设置转换层的维度转换方式为(3,1,2),lstm1层的神经元个数1024,lstm2层的神经元个数512,全连接层1的神经元个数512,全连接层2的神经元个数6;

②:使用relu函数作为卷积和池化层的激活函数,池化方式采用最大池化法以减少提取特征时过多参数的计算复杂度;具体的,假设第l层为卷积层,第l-1层为输入层或池化层,则第l层前后的映射关系公式为:

其中:表示第l个卷积层第j个特征图的输入;表示第l-1个卷积层第i个特征图的输出;表示前一层第i个特征图与当前层第j个特征图之间的卷积核,核大小为l1×l2;表示第l个卷积层第j个特征图的偏置项;*代表卷积操作;mj表示当前层第j个特征图与前一层连接的特征图的集合;g代表激活函数;

语谱图经过每一个卷积层的卷积操作后得到的特征图在池化层进行降采样操作,假设第l-1层为卷积层,第l层为池化层,则池化过程公式为:

其中:表示第l层的输入特征图;表示第l-1层的输出特征图;down表示l-1层到l层的降采样函数,这里采用最大值池化方法,通过滑动窗口方法对输入特征图不同的n×n区域取最大值然后乘以权重再加上偏置使得输出特征图缩小为原来的1/n;去除冗余信息,缩小运算规模,构建出网络模型。

步骤3)中所述的参数迁移包括如下步骤:

①:对步骤1)中的每张语谱图进行数据增强操作来扩充语谱图的数据集,数据增强方法包含了两种扩充方式,一种是对语谱图进行剪切变换,剪切角弧度为0.2;另一种方式为随机缩放,缩放比例为0~10%;由于语谱图是特殊的图片,进行平移变换后会丢失某些语音段的情感信息,破坏了语谱图的时序性,因此本实施例采用剪切与缩放结合的方式对语谱图进行数据增强,保持了图片像素特征之间的前后关系和相对位置,扩充后的语谱图数据集有利于提高识别准确率;

②:迁移在imagenet数据集上预训练的alexnet网络的权重参数,用其初始化本技术方案所构建网络模型的卷积神经网络部分的权重参数;参数迁移能利用预训练大数据集的知识,将已有网络模型参数的学习能力迁移到另一个小型数据集的网络中,加快新网络的训练速度以及提高网络的泛化能力;设置预训练alexnet网络的每个卷积层的权重参数为w(i)(i=1,2,…,5),选取w(4)迁移到步骤2)中构建的网络模型并初始化w(4)参数;低卷积层学习到的是图片的边角、颜色等低卷积层特征,随着网络层次的深入,逐步学习到更加高层的、全局的特征;预训练的alexnet网络模型中卷积层第五层学习到的特征比第四层更具全局性,而语谱图和imagenet数据集中图片的高层特征差别较大,且具有数据集特定性;因此对应的网络参数配置为固定卷积神经网络部分的前四层权重参数,使卷积神经网络部分的前四层权重参数在训练时不更新,只调整四层之后的权重参数;

③:对步骤2)中的卷积神经网络部分提取的语谱图特征组成的c张特征图进行维度转换,设置得到的c张输出特征图为m=(m1,m2,…,mc),每张特征图用(xt,yf)表示,其中t为时域维度,f为频域维度;所有的特征图组成c×t×f的三维向量,形成特征图集m(c,t,f);将t作为一个维度,c和f组成一个二维向量,即变成t×(c×f),对m集进行维度变换操作,转换其特征维度形成m′(t,c,f);当输入到lstm神经网络后,将维度t作为训练的时间步长,c×f作为每个时间步的序列特征输入,这样对特征图进行重构后能够把语谱图的多个特征图上同一时间步长的特征聚集成更加丰富的时序特征;

④:将lstm神经网络输出的语谱图特征输入到新的全连接层,经softmax激活函数映射到语音情感数据中的其中一个类别,假设第i个训练样本所提取的特征为y(i)∈{0,1,…,k}是类别标签,在这里k为6,代表六种不同的情感,则估计被划分归类为某一类别的概率分布具体的,特征所预测的类别概率分布表示为{p(1),p(2),…,p(6)},分别对应语音情感的生气、害怕、高兴、中性、伤心和惊奇六类情感。

步骤3)中所述的训练包括如下步骤:

①:使用随机梯度下降算法计算损失函数,设置随机梯度下降算法的学习率为0.0001,动量为0.9;

设定总数为m的语谱图训练样本集{(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},对于单个输入样本每个样本即有n个特征。步骤2)构建的网络模型的整体损失函数为:

其中hw,b为假设函数,为神经元间的权重,y(i)为真实标签,则为单个样本例的损失函数;为正则化项,λ为权重衰减系数,防止网络模型在多个测试样本例上产生过拟合;

接下来采用梯度下降算法修正参数w和b求解语谱图集整体损失函数的最小值,其中w为隐藏层神经单元之间的连接权重,b为神经元的偏置项;计算整体损失函数j(w,b),分别对和w和b的偏导数,公式如下:

②:梯度下降算法在执行过程中利用反向传播算法计算输出权值的偏导数,利用反向传播算法计算输出权值w和b的偏导数;

③:经过迭代来缩小整体语音情感数据的损失函数,当产生的训练误差变小时减小学习率直到误差稳定。

现在对本实施例产生的技术效果结果进行分析与说明:

对提取的语音384维传统特征,训练时用随机森林算法或者决策树算法作为分类器;另外将语音情感数据生成的语谱图作为输入alexnet预训练模型进行训练;如图4结果可知基于语谱图特征的语音情感识别的准确率比基于传统384维语音特征的随机森林分类和决策树分类的准确率都高。

本技术方案利用在imagenet数据集训练好的alexnet模型提取其不同卷积层的特征进行迁移,cnn底层的卷积层学习到的是图片的边角、颜色等低层特征,随着网络层次的深入,逐步学习到更加高层的、全局的特征,由于不同类型图片的低层特征几乎没有差异,底层卷积层学习到的权重参数具有泛型性,因此在这里只比较3层卷积层以上的参数迁移效果;采用参数迁移的方式能提高语音情感识别的准确率,也可以加快网络训练的速度,在参数迁移的实验中,将第四层卷积层特征进行迁移得到的准确率最高,而迁移第五卷积层的权重参数进行网络训练相比第四层卷积层准确率反而下降了,这是因为预训练模型中第五卷积层学习到的特征比第四卷积层更具全局性,而语谱图和imagenet数据集中图片的高层特征差别较大,具有数据集特定性;由图5可知本实施例采用参数迁移训练的识别准确率较为未迁移准确率更高,收敛速度更快,最终迭代次数减少400步以上。

本实施例采用了调整的alexnet预训练模型,迁移第四层卷积层特征,循环神经网络结构使用两层lstm神经网络结构;语谱图经过alexnet网络得到的特征图叠加形成三维向量输入到后续的lstm神经网络,其中时间作为一个维度,频域和特征图数量组成另外一个维度;这种方法的准确率达到了72.83%,比已有文献采用cnn+lstm神经网络的方法高7.6%;本技术方案利用cnn对图像识别的优势以及lstm神经网络擅于处理时序化数据的特点的基础上,使用了预训练的良好模型和权重参数,并对语谱图经卷积神经网络输出的特征图进行三维向量形式的重构,保证在输入后续lstm神经网络结构前能够得到同一时间步各特征图多通道的特征,因此训练速度快,识别准确率进一步提高。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1