fmllr--学习笔记
预备知识:
说话人自适应技术是利用特定说话人数据对说话人无关(Speaker Independent,SI)的码本进行改造,其目的是得到说话人自适应(SPeaker Adapted, SA)的码本来提升识别性能。 在某个说话人的训练数据足够多的时候,针对当前说话人数据采用传统的训练方法可以得到×说话人相关(Speaker Dependent, SD)的码本,由于SD码本很好的反应了当前说话人的特征,因此效果往往更好,但实际中往往缺少足够的数据,因此采用说话人自适应,这样只需要很少量的数据就可以得到比较大的性能提升。其实质是利用自适应数据调整SI码本以符合当前说话人特性。 由于传统训练方法得到的 SI 码本不可避免地受训练集特性的影响, 在训练集和自适应数据失配时这会导致自适应效果变得不明显, 原始码本越具有说话人无关性, 在自适应时就越能迅速地趋近当前说话人的特征。与自适应相结合的码本训练对 SI 码本、训练集内每个说话人特性分别建立模型, 因此可以得到更具说话人无关性的 SI 码本。 FMLLR:
针对特定的说话人,其码本可以用SI码本经过线性变换后的SA码本表示,即SA码本中的任意均值矢量可以表示为:x∗=Ax+b,其中x表示N维SI码本的均值矢量,A为N×N的线性变换矩阵,b表示偏移量,不同的均值矢量可以有不同的变换矩阵A。fMLLR码本自适应的目的就是估算变换矩阵A从而更新SA码本。 如何得到变换矩阵?
可以将其作为参数,使用参数估计的方法得到。 假设有K个说话人的训练数据,每个说话人的SA码本均由SI码本线性变换得到,训练的目标是使得输出概率函数最大,即:
式中λ表示SI码本的参数集合(均值和方差),Ak表示第k个说话人的变换矩阵,AK=[bk,Uk]。Ok表示第k个说话人的训练数据集合,W∗,λ∗表示参数的最佳估计。 从码本包含信息的角度分析, 语音信号总是包含两部分的内容: 说话人信息( 这里指广义的说话人信息, 也包括环境变化造成的特征的不确定性) 和语意信息, 这可以看作两个相对独立的坐标轴。在训练说话人无关码本时希望码本尽量只与语意相关, 传统的训练方法对所有数据作平均, 这实际隐含着训练集中说话人信息部分可相互抵消的假设; 而自适应训练的做法是: 对每个说话人分别估计说话人信息, 期望在此基础上能够真正得到说话人无关码本, 对两部分的估计是同时进行的, 对训练集的要求相对较低。 参数估计
参数估计的目标是更新码本的均值、方差和每个说话人的线性变换矩阵以使得输出概率最大,由于多个优化参数的存在,需要分别实现参数更新。 初始时给定SI码本,转换矩阵A为单位矩阵。 更新说话人变换矩阵,首先根据SI码本和当前说话人矩阵A得到SA码本,依照SA码本对每个说话人训练数据做Viterbi分割,分割的结果是将每一帧分别归到某一个高斯分布,然后按照分割结果更新每个人的变换矩阵。 更新SI码本均值。把已经更新的变换矩阵A带入目标函数求解SI码本均值。 更新SI码本方差。利用更新后的说话人变换矩阵A和SI码本均值带入目标函数可以求解SI码本的方差。 判断统计量是否收敛,若不收敛重复2-4步进行迭代。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23532.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!