集束搜索(beam search)和贪心搜索(greedy search)

最近读论文的时候看到文中经常用到集束搜索(beam search),可能很多人不懂这到底是个什么算法,其实很简单,顺便把贪心搜索(greedy search)也介绍一下。

贪心搜索(greedy search)

贪心搜索最为简单,直接选择每个输出的最大概率,直到出现终结符或最大句子长度。

在这里插入图片描述

集束搜索(beam search)

集束搜索是一种启发式图搜索算法,在图的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。

具体过程为:使用广度优先策略在树的每一层建立搜索树,按照启发代价对节点进行排序,然后仅留下预先确定的个数(Beam Width-集束宽度)的节点,仅这些节点在下一层次继续扩展,其他节点就被剪掉了。(注意:如果集束宽度无穷大,那该搜索就是宽度优先搜索)

好处:减少了空间消耗,并提高了时间效率。

概念可能不好理解,下完下面的例子你就会发觉真的很简单。

假设字典为[a,b,c],beam size选择2,则如下图有:

  1. 在生成第1个词的时候,选择概率最大的2个词,那么当前序列就是a或b。
  2. 生成第2个词的时候,我们将当前序列a或b,分别与字典中的所有词进行组合,得到新的6个序列aa ab ac ba bb bc,然后从其中选择2个概率最高的,作为当前序列,即ab或bb。
  3. 不断重复这个过程,直到遇到结束符为止。最终输出2个概率最高的序列。

在这里插入图片描述

是不是很简单啊?

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
贪心搜索greedy search)是一种生成语言句子的方法。在贪心搜索中,我们根据当前模型的预测结果选择最有可能的下一个词或字符作为生成句子的一部分。这个方法简单直接,每次只考虑当前最有可能的选择。然而,贪心搜索可能会导致生成的句子不够准确或不连贯,因为它没有考虑到全局最优解,而只关注了局部最优解。贪心搜索在自然语言生成中常被用于生成语句的开头或者简单的短句,但对于生成长句或复杂句子可能效果不佳。因此,在一些大型系统中,如机器翻译系统和语音识别系统,常常使用更高级的搜索算法,如集束搜索Beam Search)来取得更好的结果。贪心算法的特点是每一步都选择当前状态下的最优解,但这种贪婪的选择可能导致整体上的结果并不是最优解。因此,在生成句子时,需要根据具体的应用场景和需求选择合适的搜索算法来获得最佳的生成结果。123 #### 引用[.reference_title] - *1* [贪心搜索greedy search)、集束搜索beam search)、随机采样(random sample)](https://blog.csdn.net/jiangchao98/article/details/124934656)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [贪心算法、贪心搜索/采样(greedy search/sampling)、集束搜索beam search)、随机采样(random sample...](https://blog.csdn.net/weixin_43135178/article/details/131654609)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值