beam search 算法

beam search主要用来进行加速解空间的搜索,假设集束宽度为2,词典大小为3(a,b,c),那么其解码过程如下所示:

  • 生成第1个词的时候,选择概率最大的2个词,假设为a,c,那么当前序列就是a,c;
  • 生成第2个词的时候,我们将当前序列a和c,分别与词表中的所有词进行组合,得到新的6个序列aa ab ac ca cb cc,然后从其中选择2个得分最高的,作为当前序列,加入aa cb
  • 后面不断重复这个过程,直到遇到结束符为止。最终输出2个得分最高的序列。

你可能感兴趣的:(beam search 算法)