什么是语音识别中的声学模型?

>博客>资源>其他资源>人工智能与语音识别>什么是语音识别中的声学模型?

自动语音识别系统是一种复杂的技术机器,它将人类语音的音频片段翻译成书面文本。这通常是为了一些目的,例如为视频添加封闭字幕或转录会议录音以便稍后回顾。ASR系统不是整体对象,而是由两个不同的模型组成:一个声学模型和一个语言模型。

声学模型通常处理人类语言的原始音频波形,预测每个波形对应的音素,通常在字符或子词水平。语言模型指导声学模型,抛弃了在适当的语法和讨论主题的约束下不可能实现的预测。在本文中,我们将深入讨论如何构建声学模型,以及如何将它们集成到更大的ASR系统中。

声学建模面临的挑战

在真实地建模声音信号(如语音的音频波形)方面,存在多个挑战。第一,波形是非常细微的。它们不仅能接收到说话的声音,还能接收到来自环境的背景噪音和其他不规则的声音。

每个环境都有自己的声学 - 在eChoey教堂里说话的人的声音将与在隔音播客工作室中说话的不同。因此,声学建模与信号处理问题一样多,因为它是一个建模,其中需要从组合波形中滤除原始语音信号。

一个给定的单词或音素的波形在个体中也不是统一的。每个人都有自己独特的说话方式,他们的声音有不同的音高和音色,他们发出声音的方式略有不同,他们有自己独特的口音,他们说话的方式也有所变化,从俚语的使用到省略的词语。

即使是单个个体产生的波形也会根据他们说话的音调(愤怒、悲伤、高兴、兴奋)、音量以及无数其他因素而不断变化。因此,一个好的声学模型需要有足够的灵敏度来检测不同音素的发音,但也不能太过敏感,不能概括跨个体的更广泛的语音模式。这是机器学习中的一个经典问题——模型不能被训练成过度适应一种特定的声音或讲话风格。

声学建模中的数据特征

使用声学模型时,我们需要以某种方式featurize原始音频波形,即将它们转换为模型可以处理的矢量值数量。这样做的关键是使用经典信号处理的技术。

这些技术还允许我们有效处理前一节中描述的许多挑战,例如在不同扬声器上移除言语中的环境噪声和不一致。通常,使用25ms滑动窗框捕获信号处理特征,该滑动窗框分开间隔10ms。这允许功能化过程捕获音频的有用功能,同时确保这些功能不会变得过于细粒。

Mel-Frequency Cepstral系数

一种常见的音频特征方法叫做熔融频率抗痉挛系数(MFCC)。有很多预处理工作进入创建MFCC。例如,预重点阶段用于提高信号内的较高频率的强度。接下来,创建滑动窗口。这些通常使用窗口功能,有时被称为汉明和汉宁窗户,它更温和地逐渐减少每个窗口的信号边界,允许更高的下游处理质量。

此后,应用离散的傅里叶变换(DFT)来将信号从时域转换为频域。然后,DFT的输出被平方,在每个频率下给出语音的力量。最后,通过使用MEL规模将三角滤波器应用于这些功率频率来计算滤波器。MEL规模基本上以与人类自然感知的方式更符合的方式地图地图。我们的耳朵对低于更高的频率更敏感,因此MEL级别相应地调整信号。此步骤的输出称为过滤银行,它们本身通常被用作声学模型的功能。

但是,假设MFCC是所需的特性类型,我们还需要一些额外的步骤。使用原始过滤器组的问题是,它们有时可能是相互关联的,因此用于计算mfcc的进一步处理可以帮助消除部分关联。为了去除一些相关性,我们对Mel滤波器组的输出取对数,然后对结果应用离散余弦变换(DCT)。

DCT是一个正交变换,这意味着,用数学术语来说,它产生不相关的输出。这个DCT的输出被称为抗痉挛系数,通常情况下,除了12,我们把它们都抛弃了,系数是2-13。其余系数表示滤波器组的细微变化,这对于声学建模来说通常是没有区别的。因此,丢弃它们通常是安全的。

mfc vs. Filter Banks

虽然mfc在隐马尔可夫模型和高斯混合模型等经典模型类型中非常流行,但神经网络和深度学习的最新进展表明,通常可以在原始滤波器组上进行训练。这是因为深度神经网络是一种表达能力更强的模型类型,对输入的相关性不太敏感。

知觉线性预测

第三种功能方法称为感知线性预测(PLP)。该方法以与MFCC到MEL滤波器步骤相同的方式进行。此时,使用等于响度曲线加权原始滤波器组系数,然后通过取加权输出的立方根来压缩。然后,线性回归用于计算该响度频谱的系数,最后使用诸如DCT的逆DFT以前来计算谱系数。PLP方法在MFCC上的优势在于,在许多情况下,它对噪声略高且略微更好地进行了更好的整体精度。

在前几年,声学建模的主要模型是隐马尔可夫模型(hmm)和高斯混合模型(GMMs)。他们在一个统计框架上进行操作,该框架基于最大限度地提高给定原始音频波形输入的最佳单词序列的概率。如今,诸如神经网络和受限玻尔兹曼机器(Restricted Boltzmann Machines)之类的深度学习模型是围绕声学建模创新的核心驱动力,而且在未来一段时间内还将继续保持这一地位。

HMM-GMM模型

在古典声学建模中,我们被赋予输入X,例如从原始音频波形导出的MFCC功能,我们希望预测w ^ * ,由见过x的模型得到的单词的概率最优序列。我们可以将其建模为

\ [w ^ * = \ argmax_w p(w | x)\]

通过运用贝叶斯规则,我们得到

\ [W ^ * = \ argmax_W P (W | X) = P (X | W) * P (W) / P (X) = argmax_W P (X | W) * (W) \]

在那最后一步中,我们能够删除p(x) 从分母开始,因为这个概率是独立的W. 也就是我们求最大值的变量。

现在,在这个场景中,我们通常建模P (X | W) 利用声学模型和P (W) 给定语言模型。这是因为W的概率与声学特征无关X 而是必须在与所呈现的音频无关的语言自然使用中的概率。

隐藏的马尔可夫模型表示为一组状态,相应的转换矩阵给出了在任何一对状态之间移动的概率,一组观察和一组排放概率从给定状态生成的观察。在语音识别的HMMS中,状态是音素,即在铰接词中使用的声音单元,并且观察是由MFCCS或类似的声学特征向量。

用于语音的HMM模型通常是从左到右的,即它们对转移概率有很强的先验性,因此某些音素只能在其他音素之后出现,HMM不能回溯到以前的状态。这种受约束的HMM被称为巴基斯网络(Bakis network),由于人类语言构造的严格程度而受到约束。这样的网络也允许自我循环,允许音素在发音持续时间大于25ms窗口宽度时重复。

构建HMM模型的下一步需要我们估计观察概率o_t 观测到的一个声学MFCC矢量。由于我们无法获得这些概率,我们通常假设它们遵循多元高斯分布

\[\压裂{1}{2 \π}^ {D / 2} | \σ| ^ {5}\ exp \离开(- \压裂{1}{2}(o_t \ mu_j) ^ T \σ^ {1}_j (o_t \ mu_j) \) \]

在哪里o_t 是时候观察载体T. \ mu_j 是观察和D的平均载体是观察的维度。\σ 是对角线协方差矩阵,每个条目沿着对角线对应于单个观察矢量维度的协方差。说明如何\ mu_j \σ 都是很容易从观测数据中计算出来的。

GMM模拟了从上述多变量高斯分布的混合物中汲取的观察可能性。该混合物模型和HMM使用称为BAUM-Welch算法的预期最大化(EM)算法的特殊情况进行培训。

替代神经网络

在过去十年左右的时间里,各种深度神经网络(DNN)模型已经取代了HMM-GMM声学模型中的GMM。由于dnn非常擅长鉴别学习,特别是在足够大的数据集上训练时,它们在对观察概率建模时,比GMM模型的准确性提高了很多o_t

在2010年代早期,受限玻尔兹曼机器(Restricted Boltzmann Machines)和深度信念网络(Deep Belief Networks)等模型是DNN的热门选择。然而,这些天,基于序列的模型,如lstm、双向lstm或gru是最常用的。此外,这些模型通常直接在Mel滤波器组特征上训练,而不是在mfcc上训练,具有减少预处理时间和更丰富的特征表示的优点。

使用双向层提供了接近当前的艺术状态。双向性是有用的,因为它允许模型考虑任何给定观测的左右上下文,并提高整体建模精度。DNN模型当前最先进的配置如下所示:

  • LSTM具有4-6个双向层,1024个单元格/层(每个方向512个)
  • 256单元线性瓶颈层
  • 32k上下文相关的状态输出
  • 输入功能:
    • 40维度线性变换的MFCCS(加vector)
    • 64维log MEL滤波器组特征(加上一阶和二阶导数)
    • MFCC和滤波器银行功能的串联
  • 训练:14遍帧级交叉熵训练,1遍序列训练(在K80 GPU上2周)

LSTMs +特性融合目前接近最先进的水平。

Rev AI的声学建模

虽然一个未经训练的声学模型可能能够在非常清晰的音轨中检测出发音清晰的单词,但它可能在更具有挑战性的环境中失败。这就是为什么对声学模型来说,访问一个巨大的(音频文件,文本)训练对库是如此重要。

这是Rev自动语音识别excels的一个原因。它可以从50多年的母语英语语言转录员和相应的音频文件获得培训数据。这是最大的公司没有,它允许转速在语音识别精度上击败谷歌、微软、亚马逊和更多科技巨头

Rev Beats Google Microsoft Amazon