细菌趋药性算法在说话人识别中的应用

2017-12-13 03:15倩,李
宿州学院学报 2017年11期
关键词:滁州正确率语音

刘 倩,李 时

1.滁州职业技术学院机电工程系,滁州,239000;2.滁州供电公司营销部,滁州,239000

细菌趋药性算法在说话人识别中的应用

刘 倩1,李 时2

1.滁州职业技术学院机电工程系,滁州,239000;2.滁州供电公司营销部,滁州,239000

针对自动识别大规模、时序性样本说话人身份的模式识别问题,提出了基于细菌群体趋药性算法(Bacterial Colony Chemotaxis, BCC)的说话人识别系统。采用最小二乘支持向量机(LS_SVM)作为模式识别的模型,利用BCC对最小二乘支持向量机的正则化参数γ和核宽度参数σ进行优化。实验结果表明,经过参数寻优之后的LS_SVM分类器能很好地避免人为选择参数的不足,极大地提高了说话人识别系统的性能。

参数优化;细菌群体趋药性算法;说话人识别;最小二乘支持向量机

说话人识别系统是语音识别的一种,其识别过程实质上是一个模式识别过程。目前说话人识别模型大多都是基于生成性(generative)的模型,如矢量量化(VQ)模型[1]和高斯混合(GMM)模型[2],并取得一定成功。支持向量机(SVM)作为一种区分性模型,是在统计学基础上发展起来的一门机器学习方法,它具有坚实的理论基础和强大的分类能力,能很好地应用在说话人识别问题上。

说话人识别过程主要有四个部分:特征提取、模式训练、模式匹配和逻辑决策。声音经过录音设备储存,声纹转换成模拟信号,再经过处理变成计算机能识别的数字信号。选择能够代表不同说话人说话特性的特征参数,在进行模型训练和测试阶段,对语音信号进行处理,用提取到的特征参数对说话人识别模型进行训练和测试,并对系统模型中的参数进行估计和优化。将测试语音的特征参数与已有说话人模型进行对照检测匹配,根据对照检测和匹配的结果得出模式识别结果。由于说话人发音的不稳定、语音信号的复杂性、实际环境的多变性等因素导致语音信号是一种大规模的、时序性的样本,SVM很难处理这样大规模的、时序性的样本;选择合适的模型参数对说话人识别系统最终识别的准确性和快速性有很大影响。针对这两个问题,下面对与文本无关的说话人识别进行深入研究。

1 最小二乘支持向量机描述

随训练样本随样本数目增大,SVM算法求解相应的二次规划问题时复杂度增加,计算速度也会变慢,针对这个问题,Suykens提出了最小二乘支持向量机(LS_SVM)算法[3]。

1.1 LS_SVM算法原理

LS_SVM算法将传统SVM算法的不等式约束变成了等式约束,使求解问题从标准SVM的二次优化问题转化成线性方程求解问题,大大简化了问题的复杂性。经过修改后LS_SVM分类函数可转化为最小化问题:

(1)

通过核函数k(xi,x)的引入,得到LS_SVM模型:

(2)

在实际应用中,核函数通常选择高斯核函数:

K(xi,x)=exp(-(xi-x)2/2σ2)

(3)

可见,LS_SVM通过使用最小二乘法求解线性方程组,使得SVM计算复杂度和内存需求大大降低,从而提高SVM的效率,并使其具有很强的适应性。

1.2 LS_SVM中参数

LS_SVM的训练和泛化性能直接由正则化参数γ和核宽度参数σ决定[3],两者作为一个整体使用,是LS_SVM必须优化的参数对。正则化参数γ折中了算法的复杂度和错分样本的比例,通过调整正则化参数γ的大小,来获得较好的推广能力。正则化参数γ的大小取决于对错分样本的重视程度,每种情况下至少有一个合适的γ值使得SVM的推广能力最强。核宽度参数σ很大程度地影响SVM的性能,σ很小时,在训练过程中产生的训练误差很小,测试误差却很大,此时几乎没有推广能力;当σ参数增大到一定程度时,测试和训练误差都增加。

2 BCC优化算法LS_SVM参数

细菌群体趋药性算法(Bacterial Colony Chemotaxis,BCC)是源于大自然生物现象的一种智能优化算法,模拟细菌群的趋药性运动形式提出的[4]。BCC算法模拟细菌群体为获得生存,通过某种方式感知和交换周围细菌位置信息寻找最优生存位置的过程,它充分利用单个细菌移动方向和时间遵循概率分布的特性,使算法具有强大的摆脱局部最优的能力;同时又利用群体特性,优化速度及精度要超过一些常见的群体优化算法。BCC算法是在以下假设基础上建立的:细菌是直线匀速运动,并且向左、向右转的概率是一样的,运动持续时间、运动速度和运动方向三个量决定了细菌的运动轨迹,它在各个运动轨迹上移动的时间和转动夹角遵循概率分布。

本文BCC优化LS_SVM参数,以留一交叉有效性分类精度为目标函数,逐步优化进行变量筛选,找出实验结果中分类精度最高的优化参数组合。实现步骤如下:

(1)初始化各细菌的位置。输入待优化参数限值,设置细菌群体的规模20、最大迭代次数10 000、初始精度ξbegin=2,最终精度0.000 01和进化精度更新参数α等参数,其中ξnew=ξold/α,α=1.25(αgt;1);

(2)确定算法参数T0、b、τc,初始值都设为0;

(6)重复步骤b到e,判断是否达到精度或达到迭代步数,选择输出结果或继续迭代。

3 LS_SVM多分类器实现说话人识别

LS_SVM在实现多类问题上,必须先将多分类问题转化为二分类问题,转化的方法就是编码。具体过程是:首先使用输入样本对多个分类器进行训练,对应输入X,训练目标Yc’为输入X所属类别的编码,对应着Yc的其中一行,在分类阶段,输入样本X,LS_SVM分类器组分类得到一组由-1或1组成的编码Yc’,再与Yc进行比较,解码之后得到y0,对应说话人标示Y中的一位数字,即得到说话人所属类别。过程如图1所示。

图1 基于最小输出编码的说话人的分类

4 试验及结果分析

4.1 语音特征参数提取

在实验室环境下,对50个说话人进行录音,分别录音6次,每次录音时间段分别为1、2、5、10、20和60 s,说话人自然说话。其中,10、20和60 s的语音各4段,用于训练模型;1、2、5 s的语音各2段,用于测试说话人识别系统性能。一共900个语音段。由于说话人的语音随着时间改变,间隔1个星期录音一次,语音库大小2 996 900 528字节。本文取18维的LSP系数作为说话人识别系统的特征提取参数。在提取LSP特征之前,对语音样本进行预处理,包括预加重、分帧、加窗、去噪。LSP系数有优秀的量化特性和内插特性,并和语音信号谱包络的峰

图2 说话人1第8帧的线谱对系数

图3 由线谱对系数求得的谱估计

有紧密的联系,有优于LPC系数和MFCC系数的性能[6],并且能够大大减少产生相同质量的语音编码所需的数据量。

4.2 BCC优化LS_SVM参数用于说话人识别试验

BCC算法设置优化参数上下限值为(2-12,212),细菌数目选为20,采用LOOC为目标函数,优化正则化参数γ和核宽度参数σ。采用50个说话人的60 s时间长度语音作为训练样本来训练模型,分别采用1、2、5 s时长的语音作为测试样本,用来检测模型性能。训练样本数目为200,测试样本数目为300,程序运行10次,取平均值。

表1 SVM和LS_SVM模型下识别率

表1中识别正确率和运行时间都是10次实验的平均值。从表1可以看出,最小二乘支持向量机比传统支持向量机识别准确率高,且每个分类器训练时间要少很多,验证了理论上LS_SVM对SVM的扩展效果。

LS_SVM多分类的实现:以时长10、20、60 s的语音段作为训练样本,分别用时长1、2、5 s的语音作为测试样本,训练样本数目为200,测试样本数目为300。

表2 训练语音时长10 s时实验结果

表3 训练语音时长20 s时实验结果

表4 训练语音时长60 s时实验结果

(1)从分析表上每次实验中经BCC优化后的参数对可以看出,BCC优化LS_SVM参数得到的参数对取值范围跨度很大,是由于在BCC算法中设置参数范围时,将参数范围设置为正负无穷大,细菌群在寻找最优值的时候,搜索空间过大。然而实验得到的参数对,分别用于说话人识别系统,都能得到很好的效果。

(2)由表2~4可以看出,采用10、20、60 s的语音段作为训练LS_SVM模型的样本,1 s语音段作为测试样本得到的识别结果来看,说话人识别正确率普遍偏低,参数优化之后,识别正确率平均提高5.3%。由于1 s语音中包含说话人特性少,所以即使对模型采用时间长的训练语音,识别正确率增长的速度也不快。

(3)随着训练样本时长由10到60 s,其中包含说话人语音特征参数越多,识别系统本身的识别正确率就有一定程度的提高。在训练音时长60 s时的系统识别正确率平均达到96.7%;随着测试语音时长由1到5 s增加,采用BCC优化LS_SVM参数后识别正确率也有很大的增加。

4.3 不同优化算法对比试验

以本实验语音60 s样本作训练样本,10 s样本作为测试样本,BCC算法设置优化参数上下限值为(2-12,212),细菌数目选为20,采用LOOCV为目标函数,优化正则化参数γ和核宽度σ,运行次数为10次。图4为粒子群算法(PSO)、遗传算法(GA)和BCC算法的训练结果,本文给出的仿真图都是多次仿真中出现频率最高的情况。

图4 各算法正确率随算法迭代次数的变化图

从图4中可以看出,在本实验条件下,BCC智能优化算法和PSO智能算法都在第11次迭代时找到最优解,优化速度快于GA优化算法。同时可以看出,BCC智能优化算法寻优得到的参数对应的正确率好于其他两种优化算法,说明在参数寻优的过程中,利用BCC智能算法优化得到的LS_SVM参数对能使识别系统的识别准确率最高。BCC算法和其他优化算法不同之处在于,它利用单细菌感知同伴信息的特性,具有摆脱局部最优点的能力,并且利用过去的经验寻求最优点,细菌群通过共享和交换位置信息节省了搜索时间,算法中细菌个体随时修正移动策略,加入参数更新和精英保留机制,在不同阶段改变移动步长,很大程度地减少了搜索时间,保证了算法的局部搜索能力。

5 结 论

讨论了BCC智能优化算法优化LS_SVM参数后LS_SVM在说话人识别中的应用,构建了最优的识别算法。实验结果表明,BCC以其强大的摆脱局部最优点的能力及在不同阶段改变移动步长的性能,在优化LS_SVM参数上效果明显。LS_SVM是传统SVM的改进,本身便具有良好的性能,再用BCC优化LS_SVM参数,使得说话人识别系统性能大大增加。BCC算法值得进一步研究和更为广泛的应用。

[1]赵振东,胡喜梅,田景峰.基于VQ-SVM的说话人识别系统[J].华北电力大学学报,2009(5):73-76

[2]赵振东,张静,李圆,等.基于GMM说话人分类的说话人识别方法研究[J].通信技术,2009,42(10):192-193

[3]Suykens Johan A K,Gestel Tony Van,Brabanter Jos De.Least Squares Support Vector Machines[M].Singapore:World Scientific Publishers,2002:25-30

[4]李威武,王慧,邹志君,等.基于细菌群体趋药性的函数优化方法[J] .电路与系统学报,2005(1):58-63

[5]孙德山.支持向量机分类与回归方法研究[J] .计算机应用与软件,2008,25(2):84-85

[6]陈俊.基于线谱对系数和高斯混合模型的说话人识别技术研究[D].长沙:中南大学电路与系统,2009:32-40

[7]Guo Wu,Dai Li-Rong,Wang Ren-Hua.Speaker vericationbased on improved updates to the SVM[J].Journal of Tsinghua University:Science and Technology,2008,48(S1):704-707

[8]Karam Z N,Campbell W M.A new kernel for SVM MLLR based speaker recognition[C]//Proceedings of the 8th Conference in the Annual Series of Interspeech Events and the 10th Biennial Eurospeech Conference.Antwerp,Belgium:International Speech and Communication Association,2007:290-293

[9]Campbell W M, Sturim D E, Reynolds D A. Support vectormachines using GMM supervectors for speaker verication[J].IEEE Signal Processing Letters,2006,13(5):308-311

[10]Passino K M. Biomimicry of bacterial foraging for distributed optimization and control[J].IEEE Control System Magazine,2002(6):52-67

[11]Muller S D,J Airaghi Marchetto S,Koumoutsakos P.Optimization Based on Bacterial Chemotaxis[J].IEEE Transaction of Evolutionary Computation,2002,6(1):16-29

[12]Shahla Nemati,Mohammad Ehsan Basiri.Particle Swarm Optimization for Feature Selection in Speaker Verification[M].Berlin/Heidelberg:Springer,2010

(责任编辑:刘小阳)

10.3969/j.issn.1673-2006.2017.11.024

TP18

A

1673-2006(2017)11-0101-04

2017-08-26

安徽省省级质量工程项目“电气自动化”特色专业(2016tszy061);滁州职业技术学院地方技能型高水平大学项目(2015gx013-1-5)。

刘倩(1984-),女,湖北天门人,硕士,讲师,研究方向:自动控制与模式识别。

猜你喜欢
滁州正确率语音
《滁州西涧》(草书)
门诊分诊服务态度与正确率对护患关系的影响
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
《滁州学院学报》征稿简则
《滁州学院学报》征稿简则
生意
品管圈活动在提高介入手术安全核查正确率中的应用