本发明涉及一种基于自适应遗传算法的多参数优化方法。从应用场景的角度讲,属于音频事件识别技术领域;从技术实现的角度来讲,亦属于计算机科学与音频处理技术领域。
背景技术:
随着计算机和数字多媒体技术的快速发展,以及移动设备的大量普及应用,音频数据的数量迅速增长。音频数据是一种重要的媒体数据,包含了自然界中的各种可闻声,以及由专门设备合成的语音等,不仅是人们沟通和交流的重要载体,而且在生活中无处不在。音频事件识别技术基于音频数据,能够将音频流中的事件声音段落识别出来。它的应用领域十分广泛,如异常场景监控、交通监控以及敏感区域安全监测等方面。因此,音频事件识别技术在近年来得到了广泛的研究。
随着音频事件识别技术的研究逐渐深入,系统架构和识别流程日益复杂,各个模块的参数数量不断增加,使得系统在参数优化过程中耗时多、人工介入程度深、参数取值容易陷入局部最优、多参的高分辨率优化无法实施。在当前的音频处理领域中,系统的参数优化方法通常是将系统的各个层次割裂开来进行独立寻优,再将寻优结果简单组合,构成最终的系统参数取值。但是这种方法假设每个层次的参数之间是相互独立的,跨层次不会对识别效果造成影响,而实际应用中往往不能满足这一假设。
目前,对音频事件识别系统多层次多参数的优化研究较少,主流优化算法包括:
1.遗传算法
遗传算法是模拟了生物进化机制的计算模型,是一种基于选择、交叉、变异的随机搜索算法,核心要素是参数编码、初始群体的设定、适应度函数的设计、遗传操作设计及控制参数。它的核心思想在于利用群体中各染色体的搜索机制和信息交互机制,在搜索过程中不依靠梯度信息,自动获得搜索空间中的相关知识,并自动控制整个搜索过程快速逼近最优解,具有良好的全局优化能力。但传统遗传算法也有两个不足之处:容易过早收敛和搜索后期遗传效率较差,容易导致最终优化结果不是全局最优解。
2.粒子群优化算法
粒子群优化算法(pso)是一种基于群体智能的演化计算技术,在1995年被kennedy和eberhart首次提出。系统初始化为一组随机解,称为粒子,通过粒子在搜索空间中的飞行完成参数优化过程,得到最优解,这一过程被称为迭代,即粒子在解空间中跟随当前最优粒子进行搜索。随着粒子群算法的不断发展,研究者提出了许多改进算法来提高算法性能,如标准pso、带收缩因子的pso以及二进制的pso等。
综上所述,目前在音频处理领域中,参数优化的研究集中在一个特定层次,而较少涉及到多个层次、多个参数的优化研究。对于音频识别系统而言,各个参数的取值应当从整体考虑进行寻优,而不是将各个层次的单层优化结果进行简单地组合。因此将多层次参数优化方法引入音频事件识别领域具有重要的应用价值。
技术实现要素:
本发明的目的是:针对音频事件识别系统难以实现多层次参数联合优化的问题,提出了一种基于自适应遗传算法的多参数优化方法,使系统获得更高的识别准确率,并有效提高参数的优化速度。
本发明的设计原理如图1所示,具体为:首先,对数据进行预处理,提取音频训练样本的底层特征,生成特征向量,并使用adaboost算法训练音频事件识别模型;其次,将音频事件识别系统的底层特征提取层、特征向量生成层、模型训练层的多参数进行二进制级联编码;然后,设定参数优化适应度函数以及循环终止条件;最后,采用自适应遗传算法优化参数,逼近最优解。本发明可以减少参数优化训练时间,提高音频事件识别系统的准确率。
本发明的技术方案是通过如下步骤实现的:
步骤1,采集音频事件训练样本,使用adaboost算法训练音频事件识别模型,提取多层次参数,具体实现方法为:
步骤1.1,采集多段音频样本,将表示某一特定事件的样本标记为正样本,表示其余事件的样本标记为负样本;
步骤1.2,提取底层特征mel频率倒谱系数(mfcc),该过程包括3个参数:滤波器个数、mfcc阶数、静音帧阈值,记为f1、f2、f3;
步骤1.3,生成特征向量,该过程包括2个参数:段移m和段长n;
步骤1.4,使用adaboost算法训练音频事件识别模型,该过程包括一个参数:迭代次数t。
步骤2,对各个参数进行二进制编码,将编码按一定顺序级联,具体实现方法为:
步骤2.1,计算步骤1.2中的参数f1、f2、f3的编码位数,计算方法为:
其中,x=(x1,x2,…,xi,…,xn),xi∈[ui,υi],(i=1,2,…,n)表示个体含有n个参数;
步骤2.2,对步骤1.2中的参数f1、f2、f3进行多参数级联二进制编码,得到遗传位串f=(f1,f2,…,fn);
步骤2.3,利用步骤2.1中的公式,计算步骤1.3中的参数m和n的编码长度;
步骤2.4,对步骤1.3中的参数m和n进行多参数级联二进制编码,得到遗传位串g=(g1,g2,…,gn);
步骤2.5,利用步骤2.1中的公式,计算步骤1.4中的参数t的编码长度;
步骤2.6,对步骤1.4中的参数t进行多参数级联二进制编码,得到遗传位串m=(m1,m2,…,mn);
步骤2.7,将步骤2.2、步骤2.4以及步骤2.6得到的遗传位串按顺序级联起来,组成表示全部参数的个体编码。
步骤3,优化操作的循环终止条件,具体实现方法为:
步骤3.1,利用十折交叉得到的测试结果的混淆矩阵计算总体准确率p:
步骤3.2,设定优化操作的循环终止条件为:
其中,
步骤4,设定参数优化适应度函数,具体实现方法为:
步骤4.1,在模型训练层应用adaboost算法,迭代结束后得到强分类器:
步骤4.2,设定适应度函数为:
其中,
步骤5,配置自适应遗传算法的交叉概率pc和变异概率pm,具体实现方法为:
步骤5.1,调整pc:
其中,pc的取值范围为[pc1,pc2],fmax是群体中染色体对应的最大适应值,favg是群体中每一个染色体的平均适应值,f′是选择出的交叉染色体的较大适应值;
步骤5.2,调整pm:
其中,pm的取值范围为[pm1,pm2],f是需要进行变异操作的染色体的适应值。
有益效果
相比于现有的网格法参数优化方法,本发明提出的基于自适应遗传算法的多参数优化方法,利用自适应遗传算法对3个层次的多参数进行优化,很大程度上提高了系统优化速度及识别准确率。
本发明所提方法,对音频事件识别系统的底层特征提取层、特征向量生成层、模型训练层的参数进行联合优化,减少了参数优化的时间,更快地逼近系统的全局最优解,并且音频识别准确率有了一定的提高。
附图说明
图1为本发明提出的基于自适应遗传算法的多参数优化方法原理图;
图2为具体实施方式中模型训练层验证循环终止条件实验结果对比图;
图3为具体实施方式中特征向量生成层和模型训练层两层3参数优化结果图;
图4为具体实施方式中底层特征提取层、特征向量生成层和模型训练层三层4参数优化结果图;
图5为具体实施方式中底层特征提取层、特征向量生成层和模型训练层三层6参数优化结果图;
图6为具体实施方式中多层次多参数优化对比结果图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合实例对本发明方法的实施方式做进一步详细说明。
训练数据为枪声音频数据。枪声为正样本,包括游戏和电影中的手枪声、步枪声、机关枪声等,总时长约2h,样本时长分布在小于1s、1-5s和5-10s三个范围。非枪声为负样本,包含除枪声外的各种声音,如乐器声、动物叫声、音乐声、以及各种语言的人声等,总时长约2h,样本时长分布较广,在1s-30s之间。
测试过程主要包括五个环节,所有环节均在同一台计算机上完成,该计算机配置为:四核2.9ghzcpu,8.0gb内存,windows7操作系统。
第一环节
本环节使用数据源为原始数据源。详细说明训练数据的预处理过程,以及使用adaboost算法训练音频事件识别系统并提取多层次参数的过程。具体实施步骤如下:
步骤1.1,采集多段音频样本,将表示某一特定事件的样本标记为正样本,表示其余事件的样本标记为负样本;
步骤1.2,提取底层特征mel频率倒谱系数(mfcc),该过程包括3个参数:滤波器个数、mfcc阶数、静音帧阈值,记为f1、f2、f3;
步骤1.3,生成特征向量,该过程包括2个参数:段移m和段长n;
步骤1.4,使用adaboost算法训练音频事件识别模型,该过程包括一个参数:迭代次数t。
第二环节
本环节使用数据源为上一环节获得的数据源。详细说明对各个参数进行二进制编码并按一定顺序级联的过程。具体实施步骤如下:
步骤2.1,计算步骤1.2中的参数f1、f2、f3的编码位数,计算方法为:
其中,x=(x1,x2,…,xi,…,xn),xi∈[ui,υi],(i=1,2,…,n)表示个体含有n个参数;
步骤2.2,对步骤1.2中的参数f1、f2、f3进行多参数级联二进制编码,得到遗传位串f=(f1,f2,…,fn);
步骤2.3,利用步骤2.1中的公式,计算步骤1.3中的参数m和n的编码长度;
步骤2.4,对步骤1.3中的参数m和n进行多参数级联二进制编码,得到遗传位串g=(g1,g2,…,gn);
步骤2.5,利用步骤2.1中的公式,计算步骤1.4中的参数t的编码长度;
步骤2.6,对步骤1.4中的参数t进行多参数级联二进制编码,得到遗传位串m=(m1,m2,…,mn);
步骤2.7,将步骤2.2、步骤2.4以及步骤2.6得到的遗传位串按顺序级联起来,组成表示全部参数的个体编码。
第三环节
本环节使用数据源为第一环节获得的数据源。详细说明测试不同循环终止条件有效性的过程。具体实施步骤如下:
步骤3.1,设定第一种评价方法pf、rf、ff:
pf=x/y
rf=x/z
其中pf是基于片段的准确率,rf是基于片段的召回率,x是系统正确检出的音频样例数,y是系统检出的音频样例总数,z是真实的音频样例总数;
步骤3.2,设定第二种评价方法pt、rt、ft、f:
pt=r/s
rt=r/t
其中,pt是基于时长的准确率,rt是基于时长的召回率,r是系统正确检出的枪声的总时长,s是系统检出的枪声总时长,t是真实枪声的总时长;
步骤3.3,以α为适应值函数,分别以ff、ft、pf、pt、f作为循环终止条件进行参数优化,其中α=0.9。
步骤3.4,对比循环终止条件实验结果,如图2所示,当循环终止条件为pf时,f值为87.4352%,当循环终止条件为f时,f值为87.0954%,由于f综合考虑了基于时长和基于片段的评价参数,在保证评价参数较高水平的条件下,将f值作为循环终止条件。
第四环节
本环节使用数据源为第一环节获得的数据源。详细说明测试不同适应值函数有效性的过程。具体实施步骤如下:
步骤3.1,分别以α、ff、ft、pf、pt、f作为适应值函数进行参数优化;
步骤3.2,对比适应值实验结果,见表1,当适应值函数为f时,f值最高,达到88.0704%,迭代次数的最优解为648,因此将f作为适应值函数。
·表1模型训练层验证适应值实验结果对比
第五环节
本环节使用数据源为第一环节获得的数据源。详细说明验证多层次联合参数优化对提高参数优化速度有效性的过程。具体实施步骤如下:
步骤5.1,对特征向量生成层和模型训练层的3个参数联合优化,以f为适应值函数和循环终止条件,迭代6轮,得到的最优解见表2,对应的音频事件识别结果如图3所示;
·表2特征向量生成层和模型训练层两层3参数优化
步骤5.2,对底层特征提取层、特征向量生成层和模型训练层的4个参数联合优化,以f为适应值函数和循环终止条件,迭代6轮,得到的最优解见表3,对应的音频事件识别结果如图4所示;
·表3底层特征提取层、特征向量生成层和模型训练层三层4参数优化
步骤5.3,对底层特征提取层、特征向量生成层和模型训练层的6个参数联合优化,以f为适应值函数和循环终止条件,迭代6轮,得到的最优解见表4,对应的音频事件识别结果如图5所示;
·表4底层特征提取层、特征向量生成层和模型训练层三层6参数优化
步骤5.4,对比单层次和多层次参数优化的识别结果,如图6所示,可以得到三层次6参数优化的识别结果f值达到89.29%,和少于6个参数进行优化的识别结果比较,准确率在一定程度上得到了提高,验证了音频事件识别系统多层次多参数优化方法的有效性。
本发明首先是针对音频事件识别技术研究的逐渐深入,系统架构和识别流程日趋复杂,各个模块的参数逐渐增多的问题,其次针对音频事件识别系统难以实现多层次参数的联合优化问题,提出了一种基于自适应遗传算法的多参数优化方法。通过音频事件识别模型参数优化实验证明,本方法可以有效减少参数优化训练事件,并且提高音频事件识别准确率,简单易行,便于推广。