Q: 什么是Beam Search? 它在NLP中的什么场景里会⽤到?

传统的广度优先策略能够找到最优的路径,但是在搜索空间非常大的情况下,内存占用是指数级增长,很容易造成内存溢出,因此提出了beam search的算法。

beam search尝试在广度优先基础上进行进行搜索空间的优化(类似于剪枝)达到减少内存消耗的目的。

在sequence2sequence模型中,beam search的方法只用在测试的情况,因为在训练过程中,每一个decoder的输出是有正确答案的,也就不需要beam search去加大输出的准确率。test的时候,假设词表大小为3,内容为a,b,c。beam size是decoder解码的时候:1: 生成第1个词的时候,选择概率最大的2个词,假设为a,c,那么当前序列就是a,c2:生成第2个词的时候,我们将当前序列a和c,分别与词表中的所有词进行组合,得到新的6个序列aa ab ac ca cb cc,然后从其中选择2个得分最高的,作为当前序列,假如为aa cb3:后面会不断重复这个过程,直到遇到结束符为止。最终输出2个得分最高的序列。

转自:https://www.jianshu.com/p/bc3beb101885

最新文章

  1. Git版本控制与工作流
  2. 关于 CommonJS AMD CMD UMD 规范的差异总结
  3. SharePoint 网站登录不上,3次输入用户名/密码白页
  4. 30天,APP创业从0到1【7.11郑州站】
  5. 如何在 Linux 上用 SQL 语句来查询 Apache 日志
  6. ubuntu 命令
  7. How to Use the UTL_MAIL Package
  8. MSSQL - 根据时间倒序删除第一行数据
  9. 基于 Android 的 3D 视频示例代码
  10. iOS10 相册权限
  11. Yii2中把路由地址中的%2F改为/
  12. 面试之路(29)-TCP流量控制和拥塞控制-滑动窗口协议详解
  13. C#中,三种强制类型转换的对比
  14. 基于LBS的六边形热力图算法
  15. C#递归拷贝文件删除文件
  16. id生成器,分布式ID自增算法(Snowflake 算法)
  17. undo空间满的处理方法(含undo的学习与相关解释)
  18. VisualVM、JConsole
  19. 尝试利用slmail的漏洞来getshell
  20. SHELL函数处理

热门文章

  1. gdb core调试
  2. Linux共享内存(二)
  3. python中coding:utf-8和setdefaultencoding区别
  4. 关于XAMPP Apache无法启动问题解决方案
  5. Silverlight 后台利用代码触发 Button 的Click事件
  6. SpringMVC Model,ModelMap ModelAndView
  7. 实验 - cut的应用
  8. 区间DP UVA 10453 Make Palindrome
  9. Suricata是什么?
  10. Oracle中的表空间