Class56 束搜索
Class56 束搜索
束搜索(Beam Search) 在解码过程中保留前k个最优候选序列,这里的k就叫beam size(束宽度)。
贪心搜索
贪心:0.5 x 0.4 x 0.4 x 0.6 = 0.048
更好的结果: 0.5 x 0.3 x 0.6 x 0.6 = 0.054
从上面两个图中可以看出来,即使每次都选择最大的值,最后得出来的结果也未必是最大的。
穷举搜索
对所有可能的序列,计算他的概率,然后选取最好的那个
如果输出字典大小为n,序列最长为T,那么我们考察的序列:
很显然不可行
束搜索
例如:在词表 = {A, B, C, D}中,每一步概率A: 0.6,B: 0.4,C: 0.3,D: 0.2
Step 1
只保留前 2:候选 = A, B
Step 2
扩展 [A] 和 [B]:
排序取前 2:[A, A] = 0.36,[A, B] = 0.24
Step 3
扩展 [A,A] 和 [A,B]:
排序取前 2:[A,A,A] = 0.216 [A,A,B] = 0.144
最终结果
[A, A, A],概率 0.216
[A, A, B],概率 0.144