发明名称 基于神经网络的声纹识别系统的最优码本设计方法
摘要 本发明涉及一种基于神经网络的声纹识别系统的最优码本设计方法,包括语音信号输入、语音信号预处理、语音信号特征参数提取、三路初始码本生成、神经网络训练以及最优码本选择五个步骤,在预处理后同时了提取MFCC和LPCC参数,然后采用局部最优的矢量量化法和全局最优的遗传算法,实现了基于VQ、GA、VQ与GA的三路并列算法对混合语音特征参数矩阵产生初始码本,通过对三路码本的神经网络识别准确率的判决,选出最优码本。其显著效果是:利用该最优码本,使得声纹识别系统获得较高的识别率和稳定性,并提高了系统的自适应性;较之单一的码本进行模式识别,采用基于神经网络得到的最优码本的声纹识别系统,其性能有明显的改进。
申请公布号 CN102800316B 申请公布日期 2014.04.30
申请号 CN201210314067.3 申请日期 2012.08.30
申请人 重庆大学 发明人 李勇明;施忠继;王品;邹雪;梅林
分类号 G10L17/02(2013.01)I;G10L17/18(2013.01)I 主分类号 G10L17/02(2013.01)I
代理机构 重庆市前沿专利事务所(普通合伙) 50211 代理人 郭云
主权项 1.一种基于神经网络的声纹识别系统的最优码本设计方法,包括: S1:用于语音信号输入的步骤; S2:对输入的语音信号段进行预处理的步骤; S3:对预处理后的语音信号段提取特征参数的步骤; 其特征在于,还包括: S4:用于生成三个初始码本的步骤,该步骤中第一初始码本采用矢量量化法生成,其中采用矢量量化法生成第一初始码本步骤为, S4-1-1:输入训练矢量集合S,本例中为32*638维的混合特征参数,将其表述为矢量X的集合形式,每个矢量的长度为32,矢量的个数为638,设定码本容量为J,最大迭代次数为L,两个矢量的最小畸变阈值为δ,这里J的值设置为16,最大迭代次数为L为16; S4-1-2:初始化J个码字初值为<img file="FDA0000380331170000011.GIF" wi="476" he="91" />畸变初值D(0)=∞,迭代次数m=1;S4-1-3:根据最邻近准则,按照本步骤公式对每一个X∈S进行判定,从而将训练矢量集合S分成J个子集S<sub>1</sub><sup>(m)</sup>,S<sub>2</sub><sup>(m)</sup>,…,S<sub>J</sub><sup>(m)</sup>, <img file="FDA0000380331170000012.GIF" wi="1176" he="91" />对每一个X∈S,如果满足前述公式,则判定<img file="FDA0000380331170000013.GIF" wi="236" he="90" />其中距离d(·)表示两矢量的畸变量,采用欧式距离;S4-1-4:按照本步骤公式计算总畸变D<sup>(m)</sup>, <img file="FDA0000380331170000014.GIF" wi="726" he="179" />S4-1-5:按照本步骤公式计算畸变改进值ΔD<sup>(m)</sup>的相对值δ<sup>(m)</sup>, <img file="FDA0000380331170000021.GIF" wi="780" he="174" />S4-1-6:按照本步骤公式计算新码本的码字<img file="FDA0000380331170000022.GIF" wi="568" he="92" />其中N<sub>l</sub>表示第l子集<img file="FDA0000380331170000023.GIF" wi="105" he="88" />中样本的数目,<img file="FDA0000380331170000024.GIF" wi="463" he="167" />S4-1-7:判断畸变相对值δ<sup>(m)</sup>是否小于最小畸变阈值δ,如果小于,则转入S4-1-9,否则转入S4-1-8; S4-1-8:判断当前迭代次数m是否满足L≤m,如果满足,则转入S4-1-9,否则设置m=m+1,然后转入S4-1-3; S4-1-9:迭代计算终止,输出码字<img file="FDA0000380331170000025.GIF" wi="546" he="92" />作为第一初始码本,即32*16的码本矢量集合;第二初始码本采用遗传算法生成,其中采用遗传算法生成第二初始码本步骤为, S4-2-1:初始化,加载初始群种并计算初始适应度; 初始种群为32*638维的混合特征参数矩阵,命名为pop,计算初始适应度是将数据矩阵的每一行作为一个个体,即1*638,转换成一个矩阵后,即25*25,计算适应度值,即计算该矩阵与混合特征参数矩阵之间的欧氏距离,通过计算的欧式距离数值的大小,来判断种群中每个个体适应度情况,欧式距离越小,适应度越高, S4-2-2:启动遗传算法,选择遗传精英; 首先设定要保留的精英个数为n,n取5,对输入的混合特征参数矩阵,选取适应度最高n个个体,直接保存给新参数矩阵new-pop,原始的混合特 征参数矩阵中其余32-n行即种群其余32-n个个体,根据每个个体的适应度,按预定的选择概率Ps,随机选取32-n个个体保存到new-pop进行接下来的操作,使得new-pop大小仍为32*638; S4-2-3:对新的参数矩阵new-pop进行交叉操作; 随机产生一个范围在[0,1]的数,用以比较预设的交叉概率Pc并确定交叉位置,若交叉位置是0~9,就不予交叉直接进入下一次循环;若交叉位置不在0~9范围内,则执行从该位置起的两列之间码字的互相交叉,并储存交叉结果,最终输出交叉后的码本矩阵cro_pop,大小仍为32*638; S4-2-4:对交叉后的码本矩阵cro_pop进行变异操作; 随机产生一个范围在[0,1]的数,用以比较预设的变异概率Pm并确定变异位置,若变异位置是0,就不予变异直接进入下一次循环;若变异位置不是0,则执行变异操作,即将该位置列的码字均变异为1~255之间的随机数,最终输出变异后的新码本矩阵pop1,大小仍为32*638; S4-2-5:判断是否满足循环条件; 生成一次新码本矩阵pop1后,计数器gen加1,计算变异后的新码本矩阵pop1与初始种群pop之间的欧氏距离,同时计算新码本矩阵pop1中每个个体的适应度值;判断前后两个种群间的适应度函数值误差是否小于0.00001,若小于该值的次数达到30,则跳出循环输出结果;或判断循环次数是否达到200,若计数器gen达到200,亦跳出循环输出结果;若无以上条件,则返回S2-2-2,将新码本矩阵pop1作为初始种群pop继续进行遗传算法过程,直至结束循环,最后生成第二初始码本; 第三初始码本先采用矢量量化法,再采用遗传算法生成,其具体步骤为,对于第三初始码本的生成先是采用矢量量化法从32*638维的混合特征参数矩 阵中提取出32*16维码本矢量集合,然后将矢量量化法生成是初始码本作为初始种群,利用遗传算法进行优化,最终得到32*16维的第三初始码本; S5:用于神经网络训练的步骤,该步骤中利用神经网络分别对三个初始码本进行训练,得到第一初始码本识别正确率、第二初始码本识别正确率以及第三初始码本识别正确率; S6:用于选择最优码本的步骤,该步骤中选择三个初始码本中识别正确率最高的一个初始码本作为输入的语音信号段的最优码本。 
地址 400044 重庆市沙坪坝区沙正街174号