3.5 集束搜索的误差分析(Error analysis in beam search)

束搜索算法是一种近似搜索算法an approximate search algorithm),也被称作启发式搜索算法a heuristic search algorithm),它不总是输出可能性最大的句子,它仅记录着B为前3或者10或是100种可能

模型有两个主要部分,一个是神经网络模型,或说是序列到序列模型(sequence to sequence model),称作是RNN模型,另一部分是束搜索算法,以某个集束宽度B运行

以上都忽略了长度归一化(length normalizations)的细节,如果用了某种长度归一化,那么要比较长度归一化后的最优化目标函数值

误差分析过程:

  1. 先遍历开发集,找出算法产生的错误

  2. 接着继续遍历第二个错误,若对于第二个例子是RNN模型出现了问题,用缩写R来代表RNN

  3. 接着遍历更多的例子,有时是束搜索算法出现了问题,有时是模型出现了问题,等等

  4. 执行误差分析,得出束搜索算法和RNN模型出错的比例是多少。对开发集中每一个错误例子,即算法输出了比人工翻译更差的结果的情况,尝试确定是搜索算法出了问题,还是生成目标函数(束搜索算法使之最大化)的RNN模型出了问题。找到这两个部分中哪个是产生更多错误的原因

  5. 只有当发现是束搜索算法造成了大部分错误时,才值得花费努力增大集束宽度B;如果发现是RNN模型出了更多错,那么可以进行更深层次的分析,来决定是需要增加正则化还是获取更多的训练数据,抑或是尝试一个不同的网络结构

Last updated