2020-11-17

Beam Search

beam search 束搜索是基于穷举搜索和贪心搜索的折中搜索方案

穷举搜索

假设我有 A B C 三个词需要解码
我们可以穷尽所有排列组合,一共是27种,因为3个时间步,每个时间步都有3个选择,组合有:

AAA AAB AAC ABA ACA 。。。。

这种搜索带来的问题在于时间复杂度过大

贪心搜索

贪心搜索仅考虑当前状态下最优的组合
在这里插入图片描述
我们先看T1时间步,发现是A概率最高。
于是我们以A为基础继续看T2时间步,组合有: AA, AB, AC,然后发现是与B组合概率高,因此以AB作为基础
我们最后看第三时间步,组合有:ABA, ABB, ABC,可以观察到 ABB的概率是最高的,因此我们对应的结果就是 ABB

注意这个并不意味着ABB是全局最优的组合。

束搜索

穷举搜索过于复杂,贪心搜索只考虑当前情况,而做不到全局最优。因此我们提出了束搜索。
首先我们定义一个概念,束宽:beam_size
束宽代表每个时间步下,我们束搜索关注概率为前beam_size个最大的词

因此贪心搜索是束搜索的一个特例,即beam_size = 1

下面我们还是以ABC的示例,看看beam_size = 2的情形
时间步T1,我们选出概率最大的两个词,即A和B
在这里插入图片描述
时间步T2,我们就需要考虑两种情况:

  1. 时间步T1为 A
  2. 时间步T2为 B

每个时间步有3个组合,因此2x3就是6种组合
在这里插入图片描述
可以看到这里我们有六种组合,我们选择前2个最大的,即AC和BA,进入到下一轮的束搜索

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值