Beam Search

news/2025/1/17 14:38:33/

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


http://www.ppmy.cn/news/607502.html

相关文章

牛客网里刷题:JS获取输入的数组

有的时候我们刷题会遇到下面这种输入格式,那么用js怎么把它变成数组呢? [1,2,3,4,5]难道用readline()之后在踢掉首尾的字符吗?这样也太麻烦了! 我发现了一个好用的方法: let line read_line() let a JSON.parse(li…

ajax ie7没有权限,jquery ajax 在ie7不能正常使用

Laterality issue on fMRI imageThe laterality issue: different software will interpret fMRI images in different way (mainly refer t ...创建URL为空的解决办法在使用URLWithString:或-initWithString:创建一个URL对象时,提供的参数字符串必须符合RFC 2396标准(O网页链接…

大数据必学Java基础(二十八):Arrays工具类和数组的复制操作

文章目录 Arrays工具类和数组的复制操作 一、Arrays工具类 二、数组的复制操作 Arrays工具类和数组的复制操作 一、Array

Clang:LLVM 的 C 语言家族前端

Clang:LLVM 的 C 语言家族前端 Clang 项目为LLVM 项目的 C 语言家族(C、C、Objective C/C、OpenCL、CUDA 和 RenderScript)中,提供了语言前端和工具基础结构。提供了 GCC 兼容的编译器驱动程序 ( clang ) 和 MSVC 兼容的编译器驱动…

深度生成模型系统的实现原理有哪些?未来的挑战是什么?

由于计算机性能的快速提升, 学习可观测样本的概率密度并随机生成新样本的生成模型成为热点。相比于需要学习条件概率分布的判别模型生成模型的训练难度大、模型结构复杂, 但除了能够生成新样本外, 生成模型在图像重构、缺失数据填充、密度估计、风格迁移和半监督学习等应用领域…

[C] 神奇的堆——最小堆,最大堆,堆排序

堆——神奇的优先队列 堆是一种特殊的完全二叉树,所有父节点都比子节点药效,符合这样的二叉树称之为堆。反之,如果所有父节点都比子节点要大,这样的完全二叉树称为最大堆。 代码展示 此处展示的是向上调整法建立最大堆。 #incl…

基于短语的统计机器翻(PBMT) 开源工具 :Moses

如何运行Moses 1. Moses的历史 Moses是Pharaoh的升级版本,增加了许多功能。它是一个基于短语的统计机器翻译系统,整个系统用C语言写成,从训练到解码完全开放源代码,可以运行在Linux平台和Windows平台。它有两大特点: 1…

自己做网站服务器需要买吗,自己做网站要买服务器

自己做网站要买服务器 内容精选换一换接入CDN做加速的域名必须满足如表1的要求。域名是否需要备案与域名提供商地域、网站服务器所处地域无关,与您加速域名的CDN加速服务范围有关。只要您的加速服务范围为中国大陆或全球,该域名就必须在工信部备案才能接…