ACL 2019杰出论文奖: We need to talk about atandard splits
自然语言处理领域的标准做法是对数据集按照训练集,验证集和测试集切割,依据在分离出的测试集上的性能来对系统进行排名。然而很少有研究人员用统计的方法来测试性能之间的差异是否是由偶然原因造成的,且很少有人检查同一个数据集中分割出不同的训练-测试集时的系统排名的稳定性。我们使用了2000年至2018年间发布的九个词性标注器进行复现实验,这些标注器每个都声称在广泛使用的标准的分割方式上获得了最佳性能。然而当我们使用随机生成的训练-测试集分割时,根本无法可靠地重现某些排名。我们在此建议使用随机生成的分割来进行系统比较。
假设G是一个标准集, G t r a i n G_{train} Gtrain是训练集, G v a l G_{val} Gval是验证集 , G t e s t G_{test} Gtest是测试集。 S S S是一个具有任意参数和超参数的模型。 M M M是一个度量函数。 M ( G , S ) M(G,S) M(G,S)的值越大,则表明模型的性能越好。 通过最大化 M ( G t r a i n , S ) M(G_{train},S) M(Gtrain,S)和 M ( G v a l , S ) M(G_{val},S) M(Gval,S)对 S S S中的参数和超参数进行调整。通常情况下, M ( G t e s t , S 1 ) M(G_{test},S_1) M(Gtest,S1)和 M ( G t e s t , S 2 ) M(G_{test},S_2) M(Gtest,S2)被认为是一种数值关系,但实际上它们应该被视作一种随机变量。因此,可以对这两个随机变量进行假设检验。
δ = M ( G t e s t , S 1 ) − M ( G t e s t , S 2 ) \delta=M(G_{test},S_1)-M(G_{test},S_2) δ=M(Gtest,S1)−M(Gtest,S2)
δ \delta δ是一个表示两个模型间差异的随机变量。如果 δ = 0 \delta = 0 δ=0,则两个模型的性能无差异。
通过分析2017年ACL所有的相关工作后发现,绝大部分工作都没有进行合适的统计检验。缺乏假设检验有可能导致第一类错误的发生,也就是明明两个模型间没有显著的差异性,却拒绝了 δ = 0 \delta = 0 δ=0这个假设。
作者在英文词性标注任务上重现了2000-2018年间所有的当时最先进的模型。
这个实验就是将两个模型的性能进行比较,理论上右边的模型都比左边的模型好,但是作者做了实验后发现并不是如此。
在20次切割中,进行假设检验后,第二个模型的性能显著地超过了第一个模型性能的次数。(假设前提是第二个模型比第一个模型更先进)
- 更多地使用随机切割的方法来验证模型的性能。
- 在随机切割的基础上,建议使用统计检验的方法来评估模型和目前最先进的模型的性能差异。
验证模型的性能。
- 在随机切割的基础上,建议使用统计检验的方法来评估模型和目前最先进的模型的性能差异。