2. 大庆油田第一采油厂, 大庆 163318
2. No.1 Oil Production Plant, PetroChina Daqing Oilfield Company, Daqing 163318, China
说话人识别是一项根据说话人的语音参数来区分说话人身份的技术, 广泛地应用于语音拨号、安全控制、电话银行、司法鉴定、语音导航等方面[1]. 但在实际应用中, 系统的识别性能受到短语音、背景噪声干扰、信号引起的信号畸变等多种因素的影响, 其中短语音导致的训练数据不足是较为常见且较为突出的问题. GMM-UBM模型能够有效地解决训练数据不充分的问题, 但它导致的问题是系统鲁棒性差, SVM利用帧特征向量在空间分布的高斯混合的均值进行识别, 能显著提高系统的鲁棒性能, 而且SVM还能有效地解决小样本、低维线性不可分等实际问题. 但应用SVM对说话人进行识别, 重点就是选择合适的核函数, 为了提高性能, 这里根据单核核函数的特性不同构造了一种组合核函数. 因此, 本文选用GMM-UBM为基线系统模型, 在此基础上应用SVM组合核函数作为分类器进行分类.
2 GMM-UBM基线系统模型高斯混合模型(GMM)利用多个高斯分布的加权混合来描绘说话人的特征空间分布[2], 因此, 混合度越高, 识别性能越好, 当然所需的训练语音也会越多. 但在很多实际应用中, 有些训练语音比较短, 这些有限的训练语音无法很好地代表说话人所有可能的发音情况, 因此, 训练得到的模型也无法很好地表征说话人的特征, 这种情况使GMM识别的性能较差.
GMM-UBM模型能够有效地解决GMM由于训练语音不足导致的问题. 通用背景模型(UBM)是一个高阶的GMM, 通常能够达到1024~4096个混合度. 它由数百人、性别比例均衡、长时间的语音训练得到的模型, 使得UBM基本包括了所有说话人的特征参数. 这样, 短的语音未覆盖到的发音部分就可以用UBM中与说话人无关的特征分布近似描述, 降低训练语音短带来的影响, 继而提高系统识别性能. 但GMM-UBM 在说话人应用中存在受信道影响较大的问题, 使系统的鲁棒性较差[3], 鉴于此, 这里用GMM-UBM为基线系统模型.
3 SVM 3.1 SVM原理SVM是由Vapnik等人提出的基于统计学习理论和结构风险最小化原理的一种分类算法[4]. 基本思想是将低维空间无法线性可分样本映射到高维特征空间, 并构建一个最优分类面以达到使两类样本正确分开, 且类间间隔最大的结果.
给定训练样本集
$y(x) = {\mathop{\rm sgn}} \left\{ {w \cdot \phi (x) + b} \right\}$ | (1) |
其中x、w、b和
$\begin{aligned}& \quad\quad\quad\quad \mathop {\min }\limits_{w,b,\xi } {\textstyle{1 \over 2}}{w^T}w + C\sum\limits_{i = 1}^N {{\xi _i}} ,\\& {\rm s.t.}{y_i}\left( {{w^t} \cdot \phi \left( {{x_i}} \right) + b} \right) \ge 1 - {\xi _i},{\xi _i} \ge 0,i = 1, \ldots ,N\end{aligned}$ | (2) |
其中C和
$\begin{array}{l}\!\!\!\!\!\max Q(\alpha ) \!=\! \max \sum\limits_{i = 1}^N {{\alpha _i}} \!- \!\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^N {{\alpha _i}} } {\alpha _j}{y_i}{y_j}\phi ({x_i})\phi ({x_j})\\{\rm s.t.}\sum\limits_{i = 1}^N {{\alpha _i}{y_i}} = 0,0 \le {\alpha _i} \le C,i = 1,2, \ldots ,N\end{array}$ | (3) |
其中
$f(x) = {\mathop{\rm sgn}} ((w \cdot x) + b) = {\mathop{\rm sgn}} (\sum\limits_{i = 1}^{{N_V}} {({a_i}{y_i}(\phi ({x_i}) \cdot \phi ({x_j})} + b))$ | (4) |
解式(4), 其中大于零的解所对应的样本xi就称为支持向量. 在实际问题中, 低维空间的向量集总是难以线性划分, 而通常的解决办法就是将低维空间的向量集映射到高维空间以线性划分, 但导致的最大问题就是计算复杂度大大增加, 引入核函数可以有效地解决这个问题. 相应的判别函数为:
$f(x) = {\mathop{\rm sgn}} \left\{ {\sum\limits_{i = 1}^N {{a_i}{y_i}K({x_i},{x_j}) + b} } \right\}$ | (5) |
常见的核函数有:
① 线性内积(Linear)核函数:
$K(x{}_i \cdot {x_j}) = \left( {{x_i} \cdot {x_j}} \right)$ | (6) |
② 高斯径向基(Gaussian)核函数:
$K({x_i} \cdot {x_j}) = \exp ( - {\left\| {{x_i} - {x_j}} \right\|^2}/2{\sigma ^2})$ | (7) |
其中
③ 多项式(Polynomial)核函数:
$K(x{}_i \cdot {x_j}) = {\left[ {\left( {{x_i} \cdot {x_j}} \right) + C} \right]^d},d > 0$ | (8) |
其中d是Polynomial核函数的幂指数, C是一个常数, 实际应用中一般令C=1[5].
④ 两层神经网络(Sigmoid)核函数:
$K(x{}_i \cdot {x_j}) = \tanh (\left( {v({x_i} \cdot {x_j}} \right) + \theta )$ | (9) |
其中v和
根据SVM核函数特性的不同, 可分为局部性核函数和全局性核函数.
由公式(7)可知, 当
根据公式(8), 当测试点取0.2, 可得图2. 可以看出, Polynomial核函数对测试点附近以及较远的数据都有影响, 且相差不大, 可见全局核函数具有较强的泛化能力, 但局部学习能力较弱.
3.4 组合核函数的构建
选择的核函数是否合适直接影响着SVM的识别性能, 鉴于Gaussian核函数较强的局部学习能力和Polynomial核函数较强的全局泛化能力, 可将两种核函数进行线性组合, 使其充分发挥各自单核的优点.
由核函数的构成条件可知, 两个核函数的线性加权, 仍然满足Mercer条件, 组合后的核函数如公式(10)所示.
$K(x{}_i \cdot {x_j}) = \alpha {\left[ {\left( {{x_i} \cdot {x_j}} \right) + 1} \right]^d} + (1 - \alpha )\exp ( - {\left\| {{x_i} - {x_j}} \right\|^2}/2{\sigma ^2})$ | (10) |
其中
3.5 SVM参数优化方法
SVM核函数的参数优化方法主要有网格搜索法、交叉验证法和蚁群算法、遗传算法等智能算法. 与其它算法相比, 网格搜索法能实现并行操作, 因此效率较高, 但缺点是精度不高[6], 多重网格搜索可以在一定程度上提高参数精度. 鉴于组合核函数中参数较多, 综合考虑参数的精度与效率, 这里选取多重网格搜索来优化参数.
网格搜索法的主要思路是先确定搜索范围和步长, 再按照确定的步长沿每个参数方向生成网格, 得到的网格中的节点即构成可能的参数组合. 在上次网格寻优最优点的基础上, 减小搜索步长, 并再次寻优, 就是多重网格搜索. 如要确定参数C与d, 首先设定参数C的范围为
图4为运用UBM-SVM组合核函数进行说话人识别的框架图, 基于UBM的SVM组合核函数的识别过程从整体上包括训练和测试两个阶段. 如图4所示, 一是训练阶段, 输入训练语音信号, 这些信号经过预处理后形成信号帧, 经过特征提取后形成帧特征向量, 它们是以GMM-UBM作为基线模型经过参数自适应后形成的定长超向量, 这些超向量可以直接作为SVM组合核函数分类器的输入, 在此基础上并进行参数优化, 根据优化后的特征参数就可以建立训练样本模式库. 二是测试阶段, 输入的测试语音信号同样经过预处理、特征提取、GMM-UBM为基线模型进行自适应、SVM组合核函数分类几个过程, 将得到的特征参数与训练过程得到的样本模式库里的所有参考模型进行匹配, 即可输出判决结果.
5 实验结果及分析 5.1 数据来源
本实验采用自建语音库, 正常情况下, 选取400个说话人(200男200女)进行录音, 时间为5-6分钟/人. 训练语音选取每个说话人录音的前4分钟, 从400人中随即选择20人的后50 s作为测试语音, 使训练语音与测试语音之间不重叠. 对所得数据进行处理, 预加重系数为0.97, 分析窗选用宽度为32 ms的汉明窗, 帧长为25 ms, 步长为10 ms, 选取16维的MFCC系数以及其16维一阶差分. 自适应方法选为EigenVoice, 维数取为10, 段间隔为5 s, 这里自适应时长取10 s.
5.2 性能评价指标识别率(正确识别率)是系统识别性能最为直观的评价指标, 但对于一个实际说话系统来说, 错误拒绝率FRR和错误接受率FAR也是两个重要的性能评价指标.
${\rm{FRR}} = {\text{错误拒绝的次数}}/{\text{类内测试的总次数}}$ | (11) |
${\rm{FAR}} = {\text{错误接受的次数}}/{\text{类间测试的总次数}}$ | (12) |
但以上两个指标互相矛盾, 因此, 综合考虑两个指标, 一般采用二者相等时的错误率作为衡量标准, 称为等错误率EER. 这个值在一定程度上能够反映系统的鲁棒性.
因此本实验采用识别率和等错误率两个指标作为评价模型分类性能的标准, 综合评价系统识别的准确率与鲁棒性.
5.3 参数确定应用多重网格搜索法进行参数寻优, C、
实验一. 在混合度不同情况下, 比较GMM与GMM-UBM基线系统的识别性能, 实验结果见表1.
实验结果表明, 随着混合度的增加, GMM与GMM-UBM的识别率与EER都有所改善. 通常情况下GMM-UBM混合度都比较高, 即使同为256和512的情况下, GMM-UBM的识别率也分别高于GMM3.5%和4.7%, 但GMM-UBM的EER不低, 即使随着混合度增加EER会下降, 但系统复杂性会增加.
实验二. 综合考虑系统复杂性与识别性能要求, 选取GMM-UBM混合数为1024, 比较SVM选取不同核函数的识别性能.
由表2可知, 引入SVM核函数后, Gaussian核、Polynomial核和组合核的识别性能都优于GMM-UBM不引入SVM的基线系统模型. 可见, 引入SVM核函数不仅能提高系统的鲁棒性, 同时也能提高系统的识别率. 另外, 在以上核函数中, 组合核函数的识别性能最好, 它的识别率分别优于Linear核、Gaussian核和Polynomial核10.6%、7.3%和5.4%, EER也优于其它三个单核.
实验三. GMM-UBM混合数为1024, 人工添加白噪声, 得到信噪比不同的语音, 比较不同核函数的识别性能实验结果见图5和图6.
由图5和图6可知, 所有SVM核函数的识别性能都随着信噪比的减小而降低. 但对于给定的某一信噪比来说, 组合核函数的识别率要高其它核函数, EER要低于其它核函数, 说明基于GMM-UBM基线系统的SVM组合核函数能够提高系统的识别率与鲁棒性.
实验四. 假定20个说话人, 选择不同的高斯混合数, 比较SVM选取不同的核函数的训练时长. 具体数据见表3.
由表3可知, 在不同的高斯混合数情况下, 组合核函数的运行时间比Linear核平均多21%, 比Gaussian核平均多10%, 比Polynomial核平均多9%. 因为组合核参数最多, 其次是Gaussian核和Polynomial核, Linear核参数最少, 运行时间与参数基本成正比. 组合核SVM的参数虽比Gaussian核和Polynomial核多, 但运行时间就多了10% 左右, 主要原因有: 一是参数优化采用的是多重网格搜索法, 这种方法的最大优势是可以同时搜索多个参数, 在一定程度上能减少参数搜索的时间. 二是经过自适应后的超向量可以直接作为SVM的输入, 这样可以实现整体语音序列上进行分类, 因此能够降低运算复杂度. 综合考虑识别率、等错误率及运行时间, 组合核SVM是较理想的选择.
6 结语针对训练数据不充分问题, 选取GMM-UBM为基准系统模型, 并应用SVM对其参数进行优化, 本文基于单核函数的特性, 构建具有良好的泛化能力与良好的学习能力的组合核函数. 在说话人识别的仿真实验中, 组合核函数表现出明显优于其它单核SVM的良好性能. 而且在信噪比不同、高斯混合数不同的情况下, 表现依旧不俗. 但由于组合核函数引入过多的参数, 增加了模型复杂度及系统运算时间. 模型参数自适应方法能够在一定程度上解决这个问题, 在模型参数自适应方法中基于特征音EV模型的变换方法由于能用少量的训练数据快速的调整模型以实现自适应得到广泛的应用, 在此基础上再采用SVM组合核函数训练方法来弥补模型参数自适应方法的局限性, 能够弥补参数设置过多的问题, 但如何在保障识别正确率与系统鲁棒性的基础上减少参数设置依然是需要进一步研究的问题.
[1] |
王韵琪. 自适应高斯混合模型及说话人识别应用. 计算机系统应用, 2015, 24(6): 143-147. |
[2] |
翟玉杰. 基于GMM-SVM说话人识别的信道算法研究[硕士学位论文]. 长春: 吉林大学, 2015.
|
[3] |
鲍焕军, 郑方. GMM-UBM和SVM说话人辨认系统及融合的分析. 清华大学学报(自然科学版), 2008, 48(S1): 693-698. |
[4] |
吕洪艳, 刘芳. 组合核函数SVM在说话人识别中的应用. 计算机系统应用, 2016, 25(5): 168-172. |
[5] |
栗志意, 张卫强, 何亮, 等. 基于核函数的IVEC-SVM说话人识别系统研究. 自动化学报, 2014, 40(4): 780-784. |
[6] |
刘群锋. 最优化问题的几种网格型算法[博士学位论文]. 长沙: 湖南大学, 2011.
|