/ competition

有效的竞争

(节选自《Feature Extraction, Foundations and Applications》,2006)

竞争带来进步,50年前,100米蝶泳世界纪录比今天慢22%,36年前的马拉松冠军比现今的冠军跑的慢26%. 试想如果图灵在1950年开设了一项机器学习的比赛,也许我们今天所用的机器学习算法不会这么糟糕!
但是,有效的竞赛的要素是什么?美国国标研究所NIST在1988年起就开办了关于语音识别的竞赛,错误率今天已经比当年下降了三倍,但比赛带来的进步远远没有人们希望的高。
信息检索领域知名的TREC竞赛,自1992年开展起稳步前进,其中的参与者早已在各个百亿美元级的搜索产业中大显身手;然而在机器人界,DARPA仅仅开展了两年Cyber Grand Challenge,就已经看到结果从彻底的失败转为了令人瞩目的成功(题外话:第二年的比赛比第一年容易许多)。
我认为有效的技术竞赛需要达到以下四个标准:

  1. 比赛的任务需要平民化。这样非专家也能参与到比赛里来,看到自身的水平并向那些水平更高的对手学习。
  2. 打分需要是渐进的。一个设为不是过就是没过的比赛加上极低的通过率,会使得参赛者感到极为枯燥并且放弃之后的比赛(例如图灵测试)。在这一点上Loebner Prize做的很好,除了它的VIII Foreword faults。虽然在某种意义上来说因为没有人完成了DARPA CGC第一届的赛道,所有人都没有通过考验,但是从另一种角度来看,这里是存在阶梯型的评分的,比如每只机器人前进的距离和平均速度。
  3. 结果需要公开透明。参赛选手和观众都需要从所有比赛选手最好的发挥中汲取养分。所有选手应当将他们的做法记录下来,与代码、数据和运行结果一起公开。
  4. 比赛题目需要和现实世界中的任务挂钩。早期的语音识别比赛存在的一个问题就是它们太过强调减少单词的识别错误率,而这并不一定使得识别出的整段对话更像真人。反过来,有很多错别词的对话可能仍可以良好的传达出原本的语义。

令人欣慰的是新近的比赛似乎已经看到了这一点并且开始向真正有用的比赛题目转移。