Beam search is the default decoding strategy for many sequence generation tasks in NLP. The set of approximate K-best items returned by the algorithm is a useful summary of the distribution for many applications; however, the candidates typically exhibit high overlap and may give a highly biased estimate for expectations under our model. These problems can be addressed by instead using stochastic decoding strategies. In this work, we propose a new method for turning beam search into a stochastic process: Conditional Poisson stochastic beam search. Rather than taking the maximizing set at each iteration, we sample K candidates without replacement according to the conditional Poisson sampling design. We view this as a more natural alternative to Kool et. al. 2019's stochastic beam search (SBS). Furthermore, we show how samples generated under the CPSBS design can be used to build consistent estimators and sample diverse sets from sequence models. In our experiments, we observe CPSBS produces lower variance and more efficient estimators than SBS, even showing improvements in high entropy settings.
翻译:波束搜索是自然语言处理中许多序列生成任务的默认解码策略。该算法返回的近似K-最佳候选集是许多应用中有效的分布摘要;然而,这些候选通常高度重叠,并可能对模型期望产生高度有偏的估计。这些问题可以通过使用随机解码策略来解决。本文提出了一种将波束搜索转化为随机过程的新方法:条件泊松随机束搜索。我们在每次迭代中不取最大化集合,而是根据条件泊松采样设计无放回地抽取K个候选。我们认为这是比Kool等人(2019)的随机束搜索(SBS)更自然的选择。此外,我们展示了在CPSBS设计下生成的样本可用于构建一致估计量,并从序列模型中采样多样化集合。在实验中,我们观察到CPSBS相比SBS产生方差更低、效率更高的估计量,即使在高熵设置下也表现出改进。