可视化资源

束搜索与贪心解码

模型给出每个词的概率后,怎么把一整句话挑出来?最简单的贪心:每一步都选当前概率最高的词。但这样很短视——这一步最优,未必整句最优。束搜索则在每一步保留概率最高的 k 条候选路径,往后多探几步,更可能找到整体得分更高的句子。看下面这棵解码树,贪心怎样掉进“局部最优”的坑,而束搜索绕开了它。

每条边上的数字是“接这个词”的概率,一条路径的总分是沿途概率相乘。红=贪心每步只挑最高的;绿=束搜索保留 k 条候选。看两者最终选出的句子和总分。

2
贪心:每步最优

简单快,但只看眼前——第一步选了高分词,后面却接不下去好词,整句反而差。

束搜索:留 k 条

每步保留最有希望的 k 条路径,给“先抑后扬”的句子留机会,整体更优。

权衡

k 越大越可能找到好句,但算得越慢;k=1 就退化成贪心。