【情感识别】基于神经网络的语音情感识别

一、简介
1 概述
BP(Back )神经网络是1986年由和为首的科研小组提出,参见他们发表在上的论文by back-。
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一 。BP网络能学习和存贮大量的 输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程 。它的学习规则是使用最速下降法,通过反向传播来不断 调整网络的权值和阈值,使网络的误差平方和最小 。
2 BP算法的基本思想
上一次我们说到,多层感知器在如何获取隐层的权值的问题上遇到了瓶颈 。既然我们无法直接得到隐层的权值,能否先通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值呢?BP算法就是采用这样的思想设计出来的算法,它的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成 。
正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层 。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段 。
【【情感识别】基于神经网络的语音情感识别】反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据 。
这两个过程的具体流程会在后文介绍 。
BP算法的信号流向图如下图所示
3 BP网络特性分析——BP三要素
我们分析一个ANN时,通常都是从它的三要素入手,即
1)网络拓扑结构;
2)传递函数;
3)学习算法 。
每一个要素的特性加起来就决定了这个ANN的功能特性 。所以,我们也从这三要素入手对BP网络的研究 。
3.1 BP网络的拓扑结构
上一次已经说了,BP网络实际上就是多层感知器,因此它的拓扑结构和多层感知器的拓扑结构相同 。由于单隐层(三层)感知器已经能够解决简单的非线性问题,因此应用最为普遍 。三层感知器的拓扑结构如下图所示 。
一个最简单的三层BP:
3.2 BP网络的传递函数
BP网络采用的传递函数是非线性变换函数——函数(又称S函数) 。其特点是函数本身及其导数都是连续的,因而在处理上十分方便 。为什么要选择这个函数,等下在介绍BP网络的学习算法的时候会进行进一步的介绍 。
单极性S型函数曲线如下图所示 。
双极性S型函数曲线如下图所示 。
3.3 BP网络的学习算法
BP网络的学习算法就是BP算法,又叫 δ 算法(在ANN的学习过程中我们会发现不少具有多个名称的术语),以三层感知器为例,当网络输出与期望输出不等时,存在输出误差 E,定义如下

【情感识别】基于神经网络的语音情感识别

文章插图
下面我们会介绍BP网络的学习训练的具体过程 。
4 BP网络的训练分解
训练一个BP神经网络,实际上就是调整网络的权重和偏置这两个参数,BP神经网络的训练过程分两部分:
前向传输,逐层波浪式的传递输出值;
逆向反馈,反向逐层调整权重和偏置;
我们先来看前向传输 。
前向传输(Feed-前向反馈)
在训练网络之前,我们需要随机初始化权重和偏置,对每一个权重取[ ? 1 , 1 ] [-1,1][?1,1]的一个随机实数,每一个偏置取[ 0 , 1 ] [0,1][0,1]的一个随机实数,之后就开始进行前向传输 。
神经网络的训练是由多趟迭代完成的,每一趟迭代都使用训练集的所有记录,而每一次训练网络只使用一条记录,抽象的描述如下: