1.概念

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

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

启发式搜索是利用问题拥有的启发信息来引导搜索,达到减少搜索范围、降低问题复杂度的目的


2.过程

Beam Search(集束搜索):使用广度优先策略建立搜索树在树的每一层,按照启发代价对节点进行排序,然后仅留下预先确定的m个数(Beam Width-集束宽度)的节点,仅这些节点在下一层次继续扩展,其他节点就被剪掉了。

(注意:如果集束宽度无穷大,那该搜索就是宽度优先搜索)

步骤如下:

1.将初始节点插入到list中

2.将给节点出堆,如果该节点是目标节点,则算法结束;

3.否则扩展该节点,然后按照启发代价对扩展出来的节点排序,取前m个节点入堆。然后到第二步继续循环。

4.算法结束的条件是找到最优解或者堆为空。


3.图解

得到第一个输出的概率分布[0.1,0.1,0.3,0.4,0.1][0.1,0.1,0.3,0.4,0.1],选择概率最大的前两个,0.3和0.4,即Je和moi。 然后Je和moi分别作为Decoder的输入,得到两个概率分布,然后再选择概率和最大的前两个序列,0.3+0.8和0.4+0.6,即Je suis和moi suis。 以此类推,最终可以得到两个序列,即Je suis étudiant和moi suis étudiant,很明显前者的概率和最大,为2.2,所以这个序列是最终得到的结果。

集束搜索本质上也是贪心的思想,只不过它考虑了更多的候选搜索空间,因此可以得到更多的翻译结果。

(贪心思想:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解)

Beam Search(集束搜索)算法相关推荐

  1. Beam Search集束搜索

    在Seq2Seq解码部分中,常用到Beam Search.每个时刻它会保存b(beam size)个概率最大的选择作为当前的最佳选择,然后解码下一时刻时,继续选择和之前保存的b个选择组合起来后的概率最 ...

  2. Selective Search(选择性搜索)算法学习

    Selective Search(选择性搜索)算法 在目标检测中,这个算法,可以启发式地搜索出可能包含物体的区域,而不用随机盲目地找很多个方框. 最简单的目标检测 我们的思路是先搞出一些小的方框(不一 ...

  3. Greedy Search VS Beam Search 贪心搜索 vs 集束搜索

    在做NLP领域的NMT或者chatbot等方面的工作时,在进行inference(推理)的时候,经常会用到两种搜索方式,即Greedy Search和Beam Search. 1. Greedy Se ...

  4. 贪心搜索(greedy search)、集束搜索(beam search)、随机采样(random sample)

    当我们训练完成一个自然语言生成模型后,需要使用这个模型生成新的语言(句子),如何生成这些句子,使用如下的方法:贪心搜索,集束搜索,随机搜索. 贪心搜索(greedy search)/采样(Sampli ...

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

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

  6. java实现beamsearch_Beam Search(集束搜索/束搜索)

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

  7. 【NLP】选择目标序列:贪心搜索和Beam search

    构建seq2seq模型,并训练完成后,我们只要将源句子输入进训练好的模型,执行一次前向传播就能得到目标句子,但是值得注意的是: seq2seq模型的decoder部分实际上相当于一个语言模型,相比于R ...

  8. Beam Search 及5种优化方法

    文章目录 Beam Search 及优化 1. Review Beam Search 2. Beam Search Refinement 2.1 Hypothesis filtering 2.2 No ...

  9. 集束搜索(Beam Search)

    来源:Coursera吴恩达深度学习课程 我们来看看集束搜索(beam search)算法,上篇文章选择最可能的句子讲了对于机器翻译来说,给定输入(法语句子),我们并不想要一个随机的英语翻译结果,而是 ...

最新文章

  1. 学界 | 终结吧!机器学习的数学焦虑
  2. python代码大全表解释-python操作列表的函数使用代码详解
  3. LVS DR模型配置示例
  4. 方法数超了65535 无法安装的解决方案
  5. 上传图片截图预览控件不显示cropper.js 跨域问题
  6. PHP和MySQL Web开发从新手到高手,第7天-创建author管理页面
  7. JQuery全选反选 随其他checkbox自动勾选全选反选
  8. php用哪个稳定版本linux系统,PHP的版本选择
  9. 路由器截获微信消息_猫(Modem)和路由器有什么区别?
  10. Spark深入解析(三):Spark基础解析之Spark环境搭建(不同模式)
  11. 1990 Count the Number of Experiments
  12. c语言tan函数源码,tan - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  13. 解决MacOS12.6自带的屏幕录制闪退的问题
  14. 近百本精品图书全部免费赠送——仅面向学生
  15. 软考知识点——Gant图与Pert图、McCabe复杂度计算
  16. C#控件之DataGridView
  17. harvest(10)
  18. Spring生命周期Bean初始化过程详解
  19. 是否有每10分钟发出一次提醒的便签APP?
  20. 14寸macbook pro真机评测

热门文章

  1. Django 搜索结果分页的实现 以及点击下一页搜索条件丢失可能的原因分析
  2. 浏览器:免费小说的“下一站”
  3. 一个面试我的后端妹子问的405错误
  4. jq使用请求报405错误
  5. 计算机教室英语手抄报,我的教室英语手抄报
  6. Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理
  7. 【给小白玩的脚本】自动发歌词、发弹幕
  8. ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动
  9. 如何用远丰DrpBuilder打造企业社会化分销体系
  10. 为什么今天不写技术文章