Beam Search集束搜索
在Seq2Seq解码部分中,常用到Beam Search。每个时刻它会保存b(beam size)个概率最大的选择作为当前的最佳选择,然后解码下一时刻时,继续选择和之前保存的b个选择组合起来后的概率最大的b个选择,依次循环迭代下去,直到编码结束。
下面直接上图:
在机器翻译中:
法语输入:Jane visite l’Afrique en septembre.
人工翻译:Jane visits Africa in September.
这里 beam size 为3。
在时刻1时,模型选择了概率最大的三个选择为:in ,jane,september。
在时刻2时,模型分别对时刻1的三个单词组合每个组合做贪心搜索,然后输出条件概率最大的三个选择为:in september,jane is,jane visits.
在时刻3,模型继续对前面的三个组合每个组合做贪心搜索,然后输出条件概率最大的三个选择为:
in september Jane,jane is visit , jane visits africa.
依次循环直到最后输出<EOS>符. 假设最后输出为这三个答案:
1)Jane is visit Africa in September.<EOS>
2)Jane visits africa in september. <EOS>
3)In September Jane will visit Africa.<EOS>
每个时刻都遍历次(这里为词汇量大小),然后算出概率最大的b个选择,共T个时刻,所以集束算法时间复杂度为:.
毫无疑问当b=1时,集束算法就退化为贪心算法,每个时刻遍历次,选出概率最大的那个词,共T个时刻,时间复杂度为:.
随着b越大,遍历搜索的空间也越大,计算量也越大.在实际的应用中,一般去b=10左右为佳.
Beam Search集束搜索相关推荐
- Greedy Search VS Beam Search 贪心搜索 vs 集束搜索
在做NLP领域的NMT或者chatbot等方面的工作时,在进行inference(推理)的时候,经常会用到两种搜索方式,即Greedy Search和Beam Search. 1. Greedy Se ...
- 贪心搜索(greedy search)、集束搜索(beam search)、随机采样(random sample)
当我们训练完成一个自然语言生成模型后,需要使用这个模型生成新的语言(句子),如何生成这些句子,使用如下的方法:贪心搜索,集束搜索,随机搜索. 贪心搜索(greedy search)/采样(Sampli ...
- 集束搜索(beam search)和贪心搜索(greedy search)
最近读论文的时候看到文中经常用到集束搜索(beam search),可能很多人不懂这到底是个什么算法,其实很简单,顺便把贪心搜索(greedy search)也介绍一下. 贪心搜索(greedy se ...
- java实现beamsearch_Beam Search(集束搜索/束搜索)
1.简介 Beam Search(集束搜索)是一种启发式图搜索算法,通常用在图的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较 ...
- 【NLP】选择目标序列:贪心搜索和Beam search
构建seq2seq模型,并训练完成后,我们只要将源句子输入进训练好的模型,执行一次前向传播就能得到目标句子,但是值得注意的是: seq2seq模型的decoder部分实际上相当于一个语言模型,相比于R ...
- Beam Search 及5种优化方法
文章目录 Beam Search 及优化 1. Review Beam Search 2. Beam Search Refinement 2.1 Hypothesis filtering 2.2 No ...
- 集束搜索(Beam Search)
来源:Coursera吴恩达深度学习课程 我们来看看集束搜索(beam search)算法,上篇文章选择最可能的句子讲了对于机器翻译来说,给定输入(法语句子),我们并不想要一个随机的英语翻译结果,而是 ...
- Beam Search(集束搜索)算法
1.概念 Beam Search(集束搜索):是一种启发式图搜索算法,在图的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的 ...
- NLP自然语言处理 集束搜索(beam search)和贪心搜索(greedy search)
https://blog.csdn.net/qq_16234613/article/details/83012046 https://blog.csdn.net/weixin_38937984/art ...
最新文章
- 好分数a1a5_好分数怎么查看班级排名 七年级学生成绩查询
- c语言编写atm取款功能_21行C语言代码编写一个具备加密功能的聊天程序!网友:666...
- boost::yap::make_expression_function相关的测试程序
- B端产品经理如何更好的了解需求?
- 分布式幂等性如何保证
- mysql 多表联合查询怎么一行显示_使用 explain 优化你的 mysql 性能
- 惠斯通电桥信号调理芯片_基于精密分流电阻器的惠斯通电桥校准
- HCIE-Security Day37:理论学习:信息安全防范与趋势
- Avro, Protocol Buffers 、Thrift的联系与区别
- Selenium官网教程
- 【Java】基本类型之short(四)
- 干货,分享!AdminEx - 响应式设计后台管理模版!!!
- MySQL超市会员管理系统_springboot+mysql超市会员管理系统
- PVS更新Vdisk大型环境中提升为测试版
- 像外行一样思考 像专家一样实践
- 离散数学:用python解决逻辑推理问题
- 【latex】总结使用到的画图、表格及公式操作(新增IEEE会议参考文献)
- 如何让多行文本出现省略号?
- 为战疫助力,半导体功不可没
- win7 64rundll32.exe下载_重装系统是选择ghostwin7还是原版win7
热门文章
- tableau 字段去重_tableau prep学习
- 2022第十五届全国大学生信息安全竞赛(ciscn)西南赛区部分WP
- 网上商城系统mysql_网上商城系统jsp+servlet+mysql130909
- python模拟微信发红包,并验证随机性
- Linux的入门学习
- ROS键盘控制机器人
- STO不会火,比特大陆不会死,币安会去非洲:区块链行业的63个预测
- SpringBoot发送QQ邮件图片显示不出来
- CAN笔记(17) 预定义报文ID
- 扩展坞可以把手机投到显示器吗_连接手机与屏幕的桥梁,ORICO多功能扩展坞体验...