Beam Search理解"/>
Beam Search理解
beam search:在test的过程中生成几段序列的方式,通常用于机器翻译或看图说话中。
beam search 中有一个重要的参数:beam size = k,表示最后生成的得分最高的前k个序列
在看图说话或机器翻译中,最后生成的句子中的每个单词肯定是训练集所产生语料库中的单词,采用全局搜索,空间太大,效果提升并不明显。
beam search的原理(下面用一个例子简单描述)
在test的时候,假设词表大小为n,beam size = k.
对图片或语句先进行encoder,decoder 解码的时候
1:生成第一个词的时候,选择词表中经过RNN计算出的概率(P1)最大的k个词,就是k个序列中的第一个词
2:生成第二个词的时候,在已知第一个词的基础上,分别与词表中的所有词进行组合,得到新的序列,选择k个概率(P2)最高的,作为k个序列的前两个词
3:重复上述过程,直到遇到结束符为止。最终输出k个得分最高的序列,为机器翻译或看图说话的k个可能结果。
更多推荐
Beam Search理解
发布评论