1. 由于每个人的声道、口腔和鼻腔(发音要用到的器官)也具有个体差异性。因为反映到声音上,也是具有差异性的。就比如说,当在接电话的时候,通过一声"喂",就能准确的分辨出接电话的是谁,人耳作为身体的接收器生来就具有分辨声音的能力,那么也可以通过技术的手段,使声纹也可以向人脸、指纹那样作为“个人身份认证”的重要信息。
  2. 识别性能好坏的关键在于对语音中身份信息的建模能力与区分能力,同时对于身份无关的其余信息具有充分的抗干扰能力和鲁棒性。
  3. 通用背景模型(UBM)
    1. 可以用UBM和少量的说话人数据,通过自适应算法(如最大后验概率MAP、最大似然线性回归MLLR等)来得到目标说话人模型。
    2. 思路:可以从其他地方收集到大量非目标用户的声音,将这些非目标用户数据(声纹识别领域称为背景数据)混合起来充分训练出一个GMM,这个GMM可以看作是对语音的表征,但是又由于它是从大量身份的混杂数据中训练而成,它又不具备表征具体身份的能力。可以把这种模型看作是某一个具体说话人模型的先验模型。形象的比方就是说你准备去相亲,媒人给你看了小莉的照片,你耳边浮现的肯定是小莉各种可能的温柔的声音,而不是你家旺财的叫声。这种GMM-UBM就是起到类似的作用,它对语音特征在空间分布的概率模型给出一个良好的预先估计,使得可以提前训练GMM。然后将目标用户的数据在这个模型上进行参数的微调即可。GMM-UBM模型最重要的优势就是通过MAP算法对模型参数进行估计,避免了过拟合的发生,同时不必调整目标用户GMM的所有参数(权重,均值,方差)只需要对各个高斯成分的均值参数进行估计,就能实现最好的识别性能。 根据实验表明,这可以让待估的参数减少超过一半,越少的参数也意味着更快的收敛,不需要那么多的目标用户数据即可模型的良好训练。
    3. 算法逻辑:使用背景数据通过EM算法训练UBM模型,然后在使用目标用户训练数据通过最大后验估计MAP训练UBM模型,就可以得到目标用户GMM.
    4. 本质:用其他用户的数据来进行“预训练”,减少对真正目标用户的训练时间和参数调整。
    5. 在GMM-UBM系统框架中,UBM拟合出大量说话人的特征分布,目标用户的数据散落在UBM某些高斯分布的附近。其中自适应的过程就是将UBM的每个高斯分布向目标用户数据偏移。极大后验概率(MAP)算法就是解决这种问题的算法之一。
    6. 对目标用户的GMM模型自适应的过程分为两个步骤:
      1. 首先,使用目标说话人的训练数据计算出UBM模型的新参数(高斯权重、均值和方差);
      2. 将得到的新参数与UBM模型的原参数进行融合,从而得到目标说话人的模型。
    7. 具体计算方法:
      1. 给定GMM模型和目标说话人的训练矢量集X = (X1, X2...XT)。计算新的参数。计算Xi和UBM中中第i个高斯分布的相似度:计算新的权重、均值和方差参数:
      2. 由第一步得到的新参数和UBM原参数融合,得到最终的目标说话人模型,其中,自适应参数{α_i^w,α_i^m,α_i ^v}用于调节新参数和UBM参数对最终模型的影响。归一化因子(可以理解为权重值的权重)γ可以保证各混合度的权重满足:
      3. 具体自适应参数的取值与具体模型有关GMM-UBM系统框架,是GMM模型的一个推广,是用于解决当前目标说话人数据量不够的问题的一种方式。通过收集其他说话人数据来进行一个预先的训练。通过MAP算法的自适应,将预先训练过的模型向目标说话人模型进行微调。这种方式可以大大减少训练所需要的样本量和训练时间(通过减少训练参数)。
  4. i-vector:
    1. 在实际应用中,由于说话人语音中说话人信息和各种干扰信息掺杂在一起,不同的采集设备的信道之间也具有差异性,会使我们收集到的语音中掺杂信道干扰信息。这种干扰信息会引起说话人信息的扰动。传统的GMM-UBM方法,没有办法克服这一问题,导致系统性能不稳定。
    2. 在GMM-UBM模型里,每个目标说话人都可以用GMM模型来描述。因为从UBM模型自适应到每个说话人的GMM模型时,只改变均值,对于权重和协方差不做任何调整,所以说话人的信息大部分都蕴含在GMM的均值里面。GMM均值矢量中,除了绝大部分的说话人信息之外,也包含了信道信息。联合因子分析(Joint Factor Analysis, JFA)可以对说话人差异和信道差异分别建模,从而可以很好的对信道差异进行补偿,提高系统表现。但由于JFA需要大量不同通道的训练语料,获取困难,并且计算复杂,所以难以投入实际使用。
    3. JFA方法是对说话人差异空间以与信道差异空间分别建模,而基于I-Vector的方法是对全局差异进行建模,将其二者作为一个整体进行建模,这样处理放宽了对训练语料的限制,并且计算简单,性能也相当。
    4. 由于I-Vector矢量中不仅包含说话人差异信息,同时也存在信道差异信息,不光需要去除I-Vector矢量中的信道干扰,同时还需要信道补偿技术来消除信道干扰。
    5. 均值超矢量(supervector)是GMM-UBM模型的最终结果。在GMM-UBM框架下,说话人模型是从UBM模型自适应得到的,过程中只改变了均值的大小,因此说话人之间的区别信息都蕴含在GMM的均值矢量中。将说话人GMM模型的每个高斯成分的均值堆叠起来,形成一个高维的超矢量,即为均值超矢量。
    6. 假设语音声学特征参数的纬度为P,GMM的混合度为M(M个高斯成分),那么这个GMM的均值超矢量的维度为MP。
    7. 信息冗余是高维数据分析常见的问题,使用因子分析方法,可以将一些信息重叠和复杂的关系变量简化为较少的足够描述原有观测信息的几个因子,是一种数据降维的统计方法。JFA和I-vector都为因子分析方法。
    8. 因子分析:
      1. 设P维的观察矢量x可以用n个因子组合得到,它们之间的关系:x=u+Az+e

        1. μ为观测矢量x的均值,即E[x] = μ (期望);
        2. 矢量z为不可观测的变量,称为隐藏因子;
        3. 矩阵A为因子荷载矩阵;
        4. 矢量e为误差矢量。
        5. 可以理解为,因子分析法认为高维数据样本实际上是由低维数据样本经过线性变化,叠加误差扰动生成的。
      2. 因子分析的实质是认为m个n维特征的训练样例,x^(i)(x_1^(i),x_2^(i),...,x_n^(i) )的产生过程如下:
        1. 首先在一个k维的空间中按照多元高斯分布生成m个z^(i) (k维向量)
        2. 然后存在一个变换矩阵Λ∈R^(nxk) ,将 z^(i) 映射到n维空间中,即Λz^(i) 。因为z^(i) 的均值是0,映射后仍然是0.
        3. 然后将Λz^(i) 加上一个均值u(n 维),即u+Λz^(i) 对应的意义是将变换后的Λz^(i) (n维向量)移动到样本x^(i)的中心点u
        4. 由于真实样例x^(i)与上述模型生成的有误差,因此继续加上误差ε(n维向量,且符合多元高斯分布), u+Λz^(i) +ε
    9. 联合因子分析(Joint Factor Analysis,JFA)认为,说话人的GMM模型的差异信息,是由说话人差异和信道差异这两个不可观测的部分组成的,公式如下:M=s+c,s为说话人相关的超矢量,表示说话人之间的差异;
      1. c为信道相关的超矢量,表示同一个说话人不同语音段的差异;
      2. M为GMM均值超矢量,表述为说话人相关部分s和信道相关部分c的叠加。
      3. JFA定义公式:s=m+Vy+Dz c=Ux
        1. s为说话人相关的超矢量,表示说话人之间的差异;
        2. m为与说话人以及信道无关的均值超矢量;
        3. V为低秩的本征音矩阵;
        4. y为说话人相关因子;
        5. D为对角的残差矩阵;
        6. z为残差因子;
        7. c为信道相关的超矢量,表示同一个说话人不同语音段的差异;
        8. U为本征信道矩阵;
        9. x为与特定说话人的某一段语音相关的因子。
        10. 这里的超参数集合{V,D,U}即为需要评估的模型参数。
      4. 基于以上,可以将均值超矢量重新改写为:M=m+Vy+Ux+Dz
      5. JFA(联合因子分析)方法的思想是使用GMM超矢量空间的子空间对说话人差异和信道差异分别建模,从而可以方便的分类出信道干扰。但JFA模型中,信道因子中也会携带部分说话人的信息,在进行补偿时,会损失一部分说话人信息。
    10. 所以提出了全局差异空间模型,将说话人差异和信道差异作为一个整体进行建模。这种方法改善了JFA对训练语料的要求,和计算复杂度高的问题,同时性能也与JFA相当,逐渐流行起来。给定说话人的一段语音,与之对应的高斯均值超矢量可以定义为如下:M=m+Tw
      1. M为给定语音的高斯均值超矢量;
      2. m为通用背景模型(UBM)的高斯均值超矢量,该超矢量与具体说话人以及信道无关;
      3. T为全局差异空间矩阵,低秩;
      4. w为全局差异空间因子,它的后验均值,即为I-Vector矢量,它先验地服从标准正态分布。
      5. 相对于JFA而言,I-Vector的计算量大大降低,可以应对大规模数据,同时因为I-Vector本身具有不错的跨信道能力和PLDA信道补偿法的引入,I-Vector对信道的鲁棒性也比JFA更好。
      6. M和m是可以计算的出的,而全局差异空间矩阵(T)和全局差异空间因子(w)是我们需要估计的

声纹识别--基础学习笔记相关推荐

  1. SH-SSS丨跨年龄声纹识别:学习年龄不变的说话人特征

    SH Symposium Series on Speech (SH SSS 2022)  SH SSS 是由语音之家打造的AI语音技术相关的前沿论文成果分享平台. 来自AI语音技术领域的优秀论文作者. ...

  2. 深度学习声纹识别_kaldi/语音识别ASR/声纹识别SRE/资源汇总

    化 按时间顺序降序排列,最新内容在最上面 最下方有一些我通过各方渠道偶然得知的技术交流qq群,感兴趣可以加入 刘斌总结的学习资源,中科院自动化所博士生,研究方向为鲁棒性声学建模. [语音识别]从入门到 ...

  3. 讯飞声纹识别(简单基础)

    讯飞声纹识别(简单基础) 注册登录科大讯飞的开发者平台,创建应用,拿到对应的APPID,下载声纹识别的sdk,下载下来的文件中有sample例子,可以参考例子中的demo做自己应用的开发. 根据dem ...

  4. 深度学习声纹识别_声纹识别:你的声音是这样被“破译”的!

    节目中的比赛规则是这样的:从21位性别相同.年龄相仿.声线极为相似的专业合唱团中,选出三位每个人读一句话,加密后成为断断续续的声音样本再交给小度和人类选手,要求他们从合唱声音中识别出三名线人的声音.( ...

  5. [深度学习概念]·声纹识别技术简介

    声纹识别技术简介 声纹识别,也称作说话人识别,是一种通过声音判别说话人身份的技术.从直觉上来说,声纹虽然不像人脸.指纹的个体差异那样直观可见,但由于每个人的声道.口腔和鼻腔也具有个体的差异性,因此反映 ...

  6. 基于深度学习的声纹识别

    一.选题 1.1 题目: 基于深度学习的声纹识别 1.2 研究内容: ① 研究用于声纹识别的语音参数以及这些参数对声纹识别性能的影响. ② 研究声纹识别的传统方法及性能. ③ 在研究声纹识别的传统方法 ...

  7. 说话人识别(声纹识别)发展史简单总结——(阶段学习总结,GMM,GMM-UBM,GMM-SVM理解)

    本文的创新点与关键点之一:GMM,GMM-UBM,GMM-SVM的理解 大概是从10月20号开始由于项目需要开始接触说话人识别这一研究方向,这一个多月的时间主要是看论文中文英文,尤其是综述文章,当然也 ...

  8. python声纹识别_【kaldi学习.4】Aishell V1(说话人识别、声纹识别)中的run.sh详解...

    下面打算用aishell来做声纹识别,在做声纹识别之前,肯定是要对run.sh这个文件做个深入的了解,才可以继续往下走,接下来会记录如何修改run.sh去运行自己的数据,而不是手动输入自己的数据... ...

  9. 声纹识别(说话人识别)技术

    说话人识别(Speaker Recognition,SR),又称声纹识别(Voiceprint Recognition,VPR),顾名思义,即通过声音来识别出来"谁在说话",是根据 ...

最新文章

  1. WindowManagerPolicy的后缀 解释
  2. Golang + vscode 开发环境配置
  3. Hadoop学习笔记(1)
  4. OpenCV使用人脸界标检测进行人脸交换
  5. Python 获取指定文件夹下的目录和文件
  6. 【资讯】这10大科技,将彻底改变你的生活
  7. python中+和join()的区别
  8. CSS强制英文、中文换行与不换行
  9. CSS3实现圆角效果
  10. leetcode190-颠倒二进制位
  11. 深入 JVM 字节码,解析类加载、链接、初始化、创建对象、对象初始化、程序执行的流程
  12. 计算机应用基础文字处理测试题,国家开放大学《计算机应用基础》考试与答案形考任务模块2Word2010文字处理系统—客观题测验答案.docx...
  13. G - Ordering Tasks(拓补排序)
  14. atitit.事件驱动的总结attilax
  15. Atitit.软件开发的非功能性需求attilax 总结At
  16. Windows xp多国语言包
  17. 基于复杂网络的股票分析论文研读
  18. 《电子商务概论》刘宏,PPT总结成Word
  19. leaflet加载谷歌影像地图、天地图影像地图、天地图影像注记
  20. windows安全中心打不开defender的完美解决方法,适用于win11更新后进入defender提示需要新应用或者Windows安全中心出错,或者账户更换后出现此问题。

热门文章

  1. .obj文件格式与.mtl文件格式(转)
  2. 日系插画学习笔记(九):人物线稿
  3. 如何利用IDEA将项目打包
  4. 岁月温柔-21 妈妈转到省医院第2天
  5. 设置高德地图在Fragment中显示
  6. 计算机获取的系统时间是什么时间格式,【excle怎样获取当前日期格式】如何在EXCEL中显示当天的日期和时间?...
  7. css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
  8. 关于GIT怎么将本地仓库和远程仓库进行关联
  9. 【强化学习】Q-Learning算法求解悬崖行走问题 + Python代码实战
  10. easy_nbt——Bugku