解码策略(搜索)

本文概述了三种关键搜索算法:beamsearch(集束搜索)、exhaustive search(暴力搜索)和greedy search(贪心搜索),讨论了它们的优缺点及适用场景,强调了在实际问题中如何平衡效率与全局最优。

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


beam search(集束搜索)

而beam search是对贪心策略一个改进。思路也很简单,就是稍微放宽一些考察的范围。在每一个时间步,不再只保留当前分数最高的1个输出,而是保留num_beams个。当num_beams=1时集束搜索就退化成了贪心搜索。
在这里插入图片描述

优点:综合了Greedy search和Exhausitive Search,在他们中间取取平衡,beam size为1即为greddy search,beam size为N(词库大小)即为Exhausitive Search。 缺点:无。

Exhausitive Search(暴力搜索)

暴力搜索考虑的是全局最优解,需要把每一种可能输出结果都算出来,然后找出概率最大的输出。这种搜索空间是非常巨大的,假设我们的词表大小为N,句子长度为T个单词,整个搜索时间复杂度为O(NNT),一般N取值在几万到几十万级别,T在为几百个单词,实际计算比较慢。

优点:全局最优解, 缺点:计算速度慢。

greedy search(贪心搜索)

greedy search比较简单,就是贪婪式的搜索,每一步都选择概率最大的单词输出,最后组成整个句子输出。这种方法给出的结果一般情况结果比较差,因为只考虑了每一步的最优解,往往里全局最优解差距很大。假设我们的词表大小为N,句子长度为T个单词,整个搜索时间复杂度为O(1NT)。
例如下图,每一个时间步都取出了条件概率最大一个结果,生成了序列[A,B,C]。

在这里插入图片描述

很明显,这样做将原来指数级别的求解空间直接压缩到了与长度线性相关的大小。由于丢弃了绝大多数的可能解,这种关注当下的策略无法保证最终得到的序列概率是最优的。

总结

工作随笔,希望可以帮助到大家!
如有不足之处,请多多指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趋吉避凶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值