走进语音识别中的WFST(四)

本文探讨了WFST(有限状态转换器)中的权重推移和最小化操作,这两种优化方法在语音识别中用于降低搜索时间和减少状态数量。权重推移通过将权重向前传播以排除无效路径,而最小化算法如Hopcroft和Revuz,能进一步减少状态数,提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前一章说了WFST的determinzation这个算法,本章继续说说WFST中的优化操作,包括权重推移(weight pushing)和最小化操作(minimization)。

权重推移我们可以这么理解,我们有一双硕大的双手,然后对着WFST的尾巴一用力一推,然后权重就像波浪一样沿着各个路径被推向了前方,自行脑补~

效果图如下所示:
这里写图片描述
(注意tropical半环和log半环不太一样)

在很多序列识别的问题中我们都是通过找到最小的cost来解决问题的,那么在WFST中我们同样就是通过找到最大或者最小的权重路径来解决问题的。
而pushing后权重都集中在前面可以降低整体的搜索时间因为我们会一步步的把我们不需要的路径排除掉,这样一开始就可以排除掉了很多种可能路径。

一般的权重推移算法包括两个步骤:
1 给每个状态计算一个potential,计算方式如下:
这里写图片描述
2 很据上面计算的potential和实际权重差值来修改转移路径上的权重值。

两步的伪代码如下所示(比较简单就不详细说了):
这里写图片描述
这里写图片描述

而minimization算法是在weight pushing之后再采用一个经典的最小化算法(比较著名的是Hopcroft算法,Revuz算法等,计算复杂度不同)就可以了伪代码如下所示:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值