这篇文章不建议读,2018年写的,不知所云。
beam search 是一个近似搜索策略,用于在候选可能中选择最好的结果。原文链接
一个常用例子,BS(beam search) 用于获得与机器翻译等价的结果。对于那些不了解机器翻译的人,也肯定知道 Google Translate。
这就是为啥要讲这个。这些系统都用 BS 技术来找到与结果最等价的翻译。阅读这个 Wiki 来了解相同文件的定义。
让我们讨论一下这个使用机器翻译案例的策略。如果你是一个喜欢研究现象背后原理的人,一定要读一下 google encoder-decoder 网络架构。这个东西我就不讲了,有很多人讲。例如,如果你不知道这个架构,看看这个 quora 上的回答。
一个视角
机器翻译模型可以被认为是一种 “条件语言模型”,对于…
让我们看一下…
BS B(beam 宽度) 是唯一一个调整翻译结果的超参。 B 在一般情况决定了,在每一步,要记忆的单词的个数,来变换概率。
不翻译了。。这里有更直接的结果
beam search 时在每一个时间点选择 beam_width 个最大的可能类别,然后在每个时间点 beam_width 个类别组成的空间里寻找整体概率最大的一条路径,得到最后得识别输出。而 greedy search 则直接在每个时间点寻找概率最大的类别,然后依次组成这个路径。也就是说,greedy search 是 beam_width=1 版本的 beam search。上图是 CTC 论文里 greedy search 示意图。