李宏毅NLP-6-seq2seq&HMM

比较seq2seq和HMM

Hidden Markov Model(HMM)

隐马尔可夫模型(HMM)在语音识别中的应用,具体内容如下:

  • 整体流程

    • 左侧为语音信号(标记为 "speech"),其特征表示为 X X X。
    • 中间蓝色模块 "Speech Recognition" 表示语音识别系统。
    • 右侧为目标文本(标记为 "text"),其序列表示为 Y Y Y。
  • 公式推导

    • 语音识别的目标是找到使 P ( Y ∣ X ) P(Y|X) P(Y∣X) 最大的文本序列 Y ∗ Y^* Y∗,即 Y ∗ = arg ⁡ max ⁡ Y P ( Y ∣ X ) Y^* = \arg\max_Y P(Y|X) Y∗=argmaxYP(Y∣X),这一过程称为解码(Decode)。
    • 根据贝叶斯公式, P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)} P(Y∣X)=P(X)P(X∣Y)P(Y)。由于 P ( X ) P(X) P(X)对所有 Y Y Y 是常数,可简化为 Y ∗ = arg ⁡ max ⁡ Y P ( X ∣ Y ) P ( Y ) Y^* = \arg\max_Y P(X|Y)P(Y) Y∗=argmaxYP(X∣Y)P(Y)。
    • 其中, P ( X ∣ Y ) P(X|Y) P(X∣Y)由声学模型(Acoustic Model)建模,采用 HMM(图中橙色标注);P(Y) 由语言模型(Language Model)建模,反映文本序列的概率。

隐马尔可夫模型(HMM)在语音识别中对声学模型 P ( X ∣ Y ) P(X|Y) P(X∣Y) 的建模思路,通过引入状态序列 S S S简化建模过程,具体内容如下:

  • 公式转换 :将 P ( X ∣ Y ) P(X|Y) P(X∣Y)(基于文本序列 Y Y Y 的声学概率)转换为 P ( X ∣ S ) P(X|S) P(X∣S)(基于状态序列 S S S 的声学概率),并说明一个文本序列 Y Y Y 对应一个状态序列 S S S。

  • 语音分解示例

    • 音素(Phoneme) :句子 "what do you think" 被分解为音素序列: hh w aa t \text{hh w aa t} hh w aa t、 d uw \text{d uw} d uw、 y uw \text{y uw} y uw、 th ih ng k \text{th ih ng k} th ih ng k。
    • 三音素(Tri - phone) :考虑音素的上下文关系,进一步形成三音素,如 t - d + uw \text{t - d + uw} t - d + uw、 d - uw + y \text{d - uw + y} d - uw + y、 uw - y + uw \text{uw - y + uw} uw - y + uw、 y - uw + th \text{y - uw + th} y - uw + th 等。
    • 状态(State) :每个三音素再细分为不同的状态(如 t - d + uw1 \text{t - d + uw1} t - d + uw1、 t - d + uw2 \text{t - d + uw2} t - d + uw2、 d - uw + y1 \text{d - uw + y1} d - uw + y1 等),通过这些状态序列 S S S建模声学概率 P ( X ∣ S ) P(X|S) P(X∣S),更细致地描述语音特征与变化。

通过这种分层分解(文本 → 音素 → 三音素 → 状态),HMM 将复杂的语音信号 X X X与文本 Y Y Y的关系,转化为基于状态序列 S S S 的概率建模,从而有效解决语音识别中的声学建模问题。


隐马尔可夫模型(HMM)中的两个关键概率:

  1. 转移概率(Transition Probability)

    • 定义为从一个状态转移到另一个状态的概率,图中以 a → b a \to b a→b 为例,标记为 p ( b ∣ a ) p(b|a) p(b∣a),体现了状态间的动态转移关系。
  2. 发射概率(Emission Probability)

    • 表示某个状态生成特定观测值的概率。图中以状态 " t - d + u w 1 t\text{-}d\text{+}uw1 t-d+uw1" 和 " d - u w + y 3 d\text{-}uw\text{+}y3 d-uw+y3" 为例,右侧的蓝色竖条代表观测值,不同颜色的圈(如蓝色圈对应 " t - d + u w 1 t\text{-}d\text{+}uw1 t-d+uw1",红色圈对应 " d - u w + y 3 d\text{-}uw\text{+}y3 d-uw+y3")表示各状态下观测值的概率分布,标注 P ( x ∣ " t - d + u w 1 " ) P(x| "t\text{-}d\text{+}uw1") P(x∣"t-d+uw1")、 P ( x ∣ " d - u w + y 3 " ) P(x| "d\text{-}uw\text{+}y3") P(x∣"d-uw+y3"),体现了每个状态生成观测值的概率特性。 假设每个声音都有一个固定的发音。

隐马尔可夫模型(HMM)中发射概率(Emission Probability)的相关内容,针对状态过多的问题提出了解决方案:

  • 状态过多的挑战HMM 中状态数量可能极为庞大,直接计算每个状态的发射概率会导致参数过多、计算复杂。
  • 状态绑定(Tied - state) :引入 "Tied - state" 概念,通过让不同状态共享相同的发射概率分布(图中显示不同指针指向 "Same Address"),减少参数数量,简化计算。例如,状态 " d - u w + y 3 d\text{-}uw\text{+}y3 d-uw+y3" 和 " t - d + u w 3 t\text{-}d\text{+}uw3 t-d+uw3" 共享同一发射概率分布。
  • 子空间高斯混合模型(Subspace GMM):Subspace GMM [Povey, et al., ICASSP'10]",表明最终采用子空间 GMM 建模发射概率。高斯混合模型(GMM)通过混合多个高斯分布拟合观测数据分布,子空间 GMM 在此基础上利用子空间方法优化,进一步减少参数,提升模型效率与可管理性。

隐马尔可夫模型(HMM)中计算 P θ ( X ∣ S ) P_{\theta}(X|S) Pθ(X∣S)(给定状态序列 S S S 时观测序列 X X X的概率)的过程,核心是对所有有效对齐路径 h h h 求和,具体内容如下:

  • 公式与对齐
    • 公式 P θ ( X ∣ S ) = ∑ h ∈ a l i g n ( S ) P ( X ∣ h ) P_{\theta}(X|S) = \sum_{h \in align(S)} P(X|h) Pθ(X∣S)=∑h∈align(S)P(X∣h) 表示通过对状态序列 S S S 的所有有效对齐路径 h h h 求和来计算 P θ ( X ∣ S ) P_{\theta}(X|S) Pθ(X∣S)。图中 h = a b c c b c h = abccbc h=abccbc和 h = a b b b b b h = abbbbb h=abbbbb被叉除,表明这些对齐路径不符合要求。
    • "alignment" 指状态与观测向量的对应关系,即 "which state generates which vector"(哪个状态生成哪个向量)。
  • 发射与转移概率
    • Emission (GMM) :发射概率使用高斯混合模型(GMM)建模,如 P ( x 1 ∣ a ) P(x^1|a) P(x1∣a) 表示状态 a a a 生成观测 x 1 x^1 x1 的概率。
    • Transition :状态转移概率 p ( b ∣ a ) p(b|a) p(b∣a) 表示从状态 a a a 转移到状态 b b b的概率。
  • 示例计算
    • h 1 = a a b b c c h^1 = aabbcc h1=aabbcc:状态序列为 a → a → b → b → c → c a \to a \to b \to b \to c \to c a→a→b→b→c→c,计算 P ( X ∣ h 1 ) P(X|h^1) P(X∣h1) 时,需依次乘以各状态的发射概率 P ( x i ∣ 对应状态 ) P(x^i| \text{对应状态}) P(xi∣对应状态) 和状态转移概率 P ( 下一状态 ∣ 当前状态 ) P(\text{下一状态} | \text{当前状态}) P(下一状态∣当前状态),如 P ( a ∣ a ) × P ( x 1 ∣ a ) × P ( b ∣ a ) × P ( x 2 ∣ a ) × ⋯ P(a|a) \times P(x^1|a) \times P(b|a) \times P(x^2|a) \times \cdots P(a∣a)×P(x1∣a)×P(b∣a)×P(x2∣a)×⋯。
    • h 2 = a b b b b b c h^2 = abbbbbc h2=abbbbbc:展示另一种对齐路径的概率计算方式,同样结合发射与转移概率。

DeepLearning方法

Tandem

Tandem 方法,其核心是利用深度神经网络(DNN)为隐马尔可夫模型(HMM)生成新的声学特征,具体内容如下:

  • DNN 作为状态分类器
    • 输入特征 x i x^i xi被输入到 DNN 中。
    • DNN 的输出层大小等于 HMM 中的状态数("Size of output layer = No. of states"),每个输出节点对应一个状态的后验概率(如 p ( a ∣ x i ) p(a|x^i) p(a∣xi)、 p ( b ∣ x i ) p(b|x^i) p(b∣xi)、 p ( c ∣ x i ) p(c|x^i) p(c∣xi)等),因此 DNN 充当 "State classifier"(状态分类器)。
  • 生成新声学特征
    • DNN 输出的状态后验概率被作为 "New acoustic feature for HMM"(HMM 的新声学特征),用于改进 HMM 的声学建模。
  • 灵活的特征提取层
    • 除了输出层,DNN 的最后隐藏层或瓶颈层的输出也可作为声学特征,增加了方法的灵活性。

DNN-HMM Hybrid

DNN - HMM Hybrid(深度神经网络 - 隐马尔可夫模型混合) 方法,核心是利用深度神经网络(DNN)改进隐马尔可夫模型(HMM)的发射概率 P ( x ∣ a ) P(x|a) P(x∣a),具体内容如下:

  • 传统 HMM 的发射概率 :左侧用高斯混合模型(GMM)表示 P ( x ∣ a ) P(x|a) P(x∣a)(状态 a a a生成观测 x x x 的概率),通过多个高斯分布拟合数据。
  • DNN 的作用 :右侧DNN 输入语音特征 x x x,输出状态后验概率 P ( a ∣ x ) P(a|x) P(a∣x)。
  • 公式推导
    • 根据概率公式 P ( x ∣ a ) = P ( x , a ) P ( a ) = P ( a ∣ x ) P ( x ) P ( a ) P(x|a) = \frac{P(x, a)}{P(a)} = \frac{P(a|x)P(x)}{P(a)} P(x∣a)=P(a)P(x,a)=P(a)P(a∣x)P(x)。由于 P ( x ) P(x) P(x)在比较不同状态 a a a 时是常数,可忽略,因此 P ( x ∣ a ) P(x|a) P(x∣a) 可通过 P ( a ∣ x ) P ( a ) \frac{P(a|x)}{P(a)} P(a)P(a∣x) 近似,其中 P ( a ) P(a) P(a)从训练数据中统计得到。
    • 这种方法利用 DNN 直接预测 P ( a ∣ x ) P(a|x) P(a∣x),替代传统 GMM 对 P ( x ∣ a ) P(x|a) P(x∣a) 的建模,简化计算并提升声学建模能力。

训练状态分类器的前期准备流程,具体如下:

  1. 输入未对齐数据:最上方的橙色圆柱表示输入 "Utterance + Label (without alignment)"(未对齐的话语和标签),即仅有语音特征(声学特征)和文本标签,但语音与标签未精确对齐。
  2. 训练 HMM - GMM 模型:通过蓝色模块 "Train HMM - GMM model" 训练隐马尔可夫 - 高斯混合模型。该模型利用无对齐的语音和标签数据,学习状态转移概率和发射概率(如通过 EM 算法),进而对语音进行对齐。
  3. 输出对齐数据 :下方橙色圆柱表示输出 "Utterance + Label (aligned)"(对齐后的话语和标签)。经过 HMM - GMM 模型处理后,每个声学特征都与具体状态(如 a , b , c a, b, c a,b,c)精确对齐(例如声学特征序列对应 a , a , a , b , b , c , c a, a, a, b, b, c, c a,a,a,b,b,c,c 的状态序列)。

该流程通过 HMM - GMM 模型将无对齐的语音和标签转化为对齐数据,为后续训练状态分类器(如 DNN)提供了带精确标注(状态标签)的训练数据,使分类器能根据声学特征准确预测对应状态。


训练状态分类器的迭代优化流程,具体如下:

  1. 初始对齐阶段

    • 最上方的 "Utterance + Label (without alignment)" 表示输入未对齐的语音话语和标签。
    • 通过 "Train HMM - GMM model" 模块训练隐马尔可夫 - 高斯混合模型(HMM - GMM),该模型对未对齐数据进行处理,输出 "Utterance + Label (aligned)",即语音与标签精确对齐的数据。
  2. DNN 初步训练与重新对齐

    • 对齐后的数据输入到 DNN1 中,用于初步训练状态分类器。
    • 利用 DNN1 的输出对数据进行 "realignment"(重新对齐),得到更优化的对齐数据。
  3. DNN 迭代优化训练

    • 重新对齐后的数据输入到 DNN2 中,进一步训练状态分类器。这种迭代过程通过 HMM - GMM 与 DNN 的交互,逐步优化语音 - 标签对齐效果和状态分类器的性能,提升模型对声学特征与状态对应关系的学习能力。

该流程体现了利用传统 HMM - GMM 与深度神经网络(DNN)结合,通过迭代对齐和训练,优化状态分类器的过程,是语音识别中常见的模型训练策略。

通过上述方法达到人类水平!

微软用了49层神经网络

相关推荐
新智元1 分钟前
Meta没做的,英伟达做了!全新架构吞吐量狂飙6倍,20万亿Token训练
人工智能·openai
新智元1 分钟前
Hinton 预言成真!AI 接管美国一半白领,牛津哈佛扎堆转行做技工
人工智能·openai
aneasystone本尊13 分钟前
学习 Coze Studio 的知识库入库逻辑
人工智能
然我14 分钟前
从 “只会聊天” 到 “能办实事”:OpenAI Function Call 彻底重构 AI 交互逻辑(附完整接入指南)
前端·javascript·人工智能
岁月宁静21 分钟前
软件开发核心流程全景解析 —— 基于 AI 多模态项目实践
前端·人工智能·后端
wangjiaocheng22 分钟前
软件功能分解输入处理输出递归嵌套模型
人工智能
G等你下课23 分钟前
Function call
前端·人工智能
岁月宁静23 分钟前
MCP 协议应用场景 —— Cursor 连接 Master Go AI
前端·vue.js·人工智能
柠檬味拥抱26 分钟前
融合NLU与NLG的AI Agent语言交互机制研究
人工智能
wydaicls29 分钟前
用函数实现方程函数解题
人工智能·算法·机器学习