Java教程

声纹-前世今生

本文主要是介绍声纹-前世今生,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

声纹: voiceprint. 可以将一个人的声音 与 其他人的声音区分开来 的特征
属于音频处理技术
生物特征识别技术分为:生理特征和行为特征

生理特征:指纹、DNA、人脸、视网膜

行为特征:声纹、笔迹、步态

模板匹配方法

基于时频谱的人工鉴别法

对应的文字内容一致,

  • 文本相关的声纹识别
  • 文本无关的声纹识别

从人工到算法(模板匹配法)

一段时频谱,可以被视为 1个 F * T 的二维矩阵 S。
其元素S(f,t)表示在时刻t,频带f上的强度。
如果有俩段这样的时频谱 S1 和 S2. 最简单的鉴别法:直接计算俩者之间的差别D = || S1 - S2||
或者相关度 p= corr(S1,S2) .
这样就需要将俩个时频谱对齐,然后进行计算。
一个更好的做法:在S1截取 出一段 S11.然后在S2截取K个与S11大小一致的时频谱。然后计算每一个差值。去最小值作为俩段时频谱的差别。这个方法就是模板匹配法。采用了时频谱的二维矩阵S作为音频特征。但通过简单的时频谱替换为其他的音频特征。能更好的鉴定。

早期统计学方法

简单的模板匹配方法准确率低下,没有考虑到语言信号中普遍存在的一种现象----变换
同一个人说同一个词,无论说多少遍,也不可能出现俩次一模一样的音频。
解决这个问题最直接的方法:便是引入统计学模型,将变换本身包含到模型里。
最简单的一种:就是对时频谱二维矩阵S的时间维度进行均值统计。得到一个一维的均值向量。
这个向量的每一个数值,代表整段语音在对应频带 的 平均强度
有了这个均值向量之后,便可以对俩段语音计算其均值向量之间的差值范数,相关度等。
简单的改进:加上标准差向量。

高斯混合模型

在统计学里,高斯混合模型 Gaussian mixture model GMM 绝对是一个极为重要的模型。
在神经网络与深度学习计数普及之前,高斯混合模型在计算机视觉、语言识别、声纹识别等领域几乎占据着主导地位。
语言识别里用高斯混合模型-隐马尔可夫 GMM-HMM作为 声学模型 acoustic model一度是行业的标准做法
直到后来被深度神经网络-隐马尔科夫模型 DNN-HMM 及端到端模型所取代。

高斯混合模型之所以强大,在于其可以将本身非常复杂的概率分布,表示为多个简单的概率分布之和。
高斯混合模型里的每一个分量,都是一个简单的高斯分布(正态分布)
该高斯分布则可以简单的通过一个均值向量和一个协防差矩阵来表示。
多个不同的高斯分布叠加在一起,则能够用近似十分复杂的分布。这样的分量越多,最后得到的近似就越准确。

联合因子分析与i-vector

1995-2006年称为高斯混合模型时代。
2007-2011,加拿大的蒙特利尔计算机研究中心 CRIM 的Patrick Kenny提出的联合因子分析 JFA 及 i-vector技术,让声纹识别计数迈上了新的台阶。

其一:充分考虑了信道的变化因素。
其二:将每个 说话人的模型从高斯混合模型的多个分量中,映射到了更加低维的表征空间。从而克服了高斯分量互相独立的局限性。

大变革:深度学习时代的来临

深度学习逐渐 取代i-vector成为主流, 顶流。

谷歌公司最早使用深度学习方法进行声纹识别,声纹表征称为 d-vector.d代表deep深度的意思。
也是首先提出了端到端的声纹识别系统。
深度学习模型的成功三要素:

  • 其一:高斯混合模型的成功,在于其可以通过多个分量的叠加,用以近似十分复杂的分布。在这一点上,深度神经网络具备更大的优势。
    通过增加网络的层数,或者每一层的节点数,深度神经网络几乎可以用来近似任意复制的函数。

  • 其二:神经网络下的一个子类---循环神经网络 RNN .尤其是 长短期记忆网络 LSTM 能够更好的对数据在时间维度的相关性进行建模。

  • 其三:大数据时代的来领,计算机硬件的成本不断下降。数据的采集变得更加自动化,用来训练模型的数据规模也正在变得越来越大。高斯混合模型
    和联合因子分析等方法 无法再大规模的数据上进行高效的训练与推理。神经网络模型的训练要容易得多。

这篇关于声纹-前世今生的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!