You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

语音识别嵌入式训练:3状态单音素HMM拼接复合模型的疑问

3状态单音素HMM拼接为词/语句级复合模型的实操方案

嘿,这个问题我当初入门嵌入式语音识别时也卡过好一阵,咱们从单音素HMM的结构本质入手,一步步捋清楚拼接逻辑:

先明确单音素HMM的核心结构

每个3状态单音素HMM的标准结构是:

  • 起始状态(Start):仅作为音素的入口,只能转移到第一个核心状态(S1)
  • 3个核心状态(S1、S2、S3):承载音素的声学特征建模,内部转移规则通常是 S1→S1/S2、S2→S2/S3、S3→S3/End
  • 结束状态(End):仅作为音素的出口,只能由最后一个核心状态(S3)转移而来

拼接的核心思路就是去掉相邻音素之间的冗余起始/结束状态,让核心状态链直接衔接。

具体拼接步骤

1. 处理第一个音素

  • 保留它的起始状态(Start)和全部3个核心状态
  • 移除它的结束状态(End),并给它的最后一个核心状态(S3)新增一条转移规则:S3 → 下一个音素的S1
  • 转移概率初期可以复用原S3→End的概率值,后续训练会自动优化

2. 处理中间音素(非第一个/最后一个)

  • 直接移除它的起始状态(Start)和结束状态(End)
  • 给前一个音素的S3新增转移到当前音素S1的规则
  • 给当前音素的S3新增转移到下一个音素S1的规则
  • 内部核心状态的转移规则和概率完全保留原单音素的设置

3. 处理最后一个音素

  • 保留它的全部3个核心状态和结束状态(End)
  • 移除它的起始状态(Start),让前一个音素的S3直接转移到它的S1
  • 它的S3→End的转移规则和概率保留原单音素的设置

举个直观例子

假设要拼接音素“a”和“b”:

  • 原“a”HMM:Start_a → S1_a → S2_a → S3_a → End_a
  • 原“b”HMM:Start_b → S1_b → S2_b → S3_b → End_b
  • 拼接后复合HMM:Start_a → S1_a → S2_a → S3_a → S1_b → S2_b → S3_b → End_b
  • 补充转移:S3_a除了自环,新增S3_a→S1_b;去掉原S3_a→End_a和Start_b→S1_b

嵌入式训练的补充说明

因为是嵌入式训练,拼接后的复合HMM所有参数(包括跨音素的转移概率、核心状态的观测概率)都会用语句级的标注数据进行迭代更新,所以初期的转移概率设置不用过于精细,只要符合“前音素收尾状态衔接后音素起始核心状态”的逻辑即可,训练过程会自动调整到最优值。

内容的提问来源于stack exchange,提问作者YonF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 11:01:21