算法是不是灵魂?举办算法大奖赛有用吗?


这是前Netflix 研究/工程总监对十年前Netflix推荐算法奖的再次声明,原因来自于“开放式算法竞赛有用且有价值吗”的思考与讨论
反对设立这种外部大奖赛的观点认为:公司组织还会认为他们的 ML创新将来自大奖赛?让外部团队为争夺现金,在测试数据集上能构建最准确的模型?使用无偿劳动来制作无法生产的模型肯定是不好的,这个教训应该吸取。
很多企业(包括Netflix这样企业)会认为 ML 创新是用来吸引注意力和$$$金钱 的最佳用途,这让人感到惊讶。必须意识到高质量的数据比复杂模型更有价值!
而Netflix总监认为:
2006 年,Netflix 发起了一项 100 万美元的竞赛,以改进他们的推荐算法。十年前,我在 Netflix 领导算法,对于世界各地的数千名参与者来说,规则非常简单:如果您能够击败 Netflix 基线(称为 Cinematch),您将赢得 100 万美元。毫不奇怪,世界各地的许多研究人员、学生、业余数学家和计算机科学家都抓住了这个机会。
比赛的机制也很简单:有一个由大约 1 亿个数据点组成的训练集,包括用户、电影、日期和 1 到 5 星的评级。有一个较小的公共验证数据集称为“探针”,由大约 150 万个没有评级的数据点组成。最后,非常重要的是,有两个测试集隐藏了参与者的评级。为了测试您的算法,您需要将您的预测提交给所谓的测验测试,您将获得以 RMSE(均方根误差)衡量的准确度。年度进步奖,尤其是大奖,将根据不同的测试集进行衡量。
有数百篇论坛和博客文章以及研究出版物详细介绍了 Netflix 奖的不同方法。第一年进步奖由 Korbell 团队(来自 AT&T 实验室的 Yehuda Koren、Robert Bell 和 Chris Volinsky)使用 SVD(奇异值分解,尽管这种变化实际上更像是矩阵分解而不是传统的SVD)和 RBM(受限玻尔兹曼机,一种 ANN)。SVD 的 RMSE 为 0.8914,RBM ​​为 0.8990,两者的线性混合得到的 RMSE 为 0.88。
又花了 3 年时间,成千上万的团队试图从那里达到赢得大奖所需的测试集上的 0.8572 RMSE。获奖作品 是由多个团队开发的 104 个单独预测器的集合,并由单层神经网络集成。
 
Netflix 大奖解决方案
结合SVD+RBM的2007 Progress Prize解决方案已经明显优于现有的Cinematch算法。因此,Netflix 派了一些工程师来生产算法。这包括重写代码并使其具有可扩展性,以及能够随着新评级的出现而逐步重新训练。当我加入 Netflix 时,我接管了一个小团队,该团队负责工作和维护评级预测算法,其中包括第一年的 Progress Prize 解决方案。
但是,有没有采用104种算法的大奖解决方案呢?正如我在博客文章中提到的当时,我们认为它甚至不值得生产。需要大量的工程努力才能获得精度的小幅提升。
 
让我们谈谈投资回报率
我经常感到惊讶的是,在阅读上述故事后,许多人会得出结论Netflix 的 100 万美元投资不值得。这绝对是一个非常短视的阅读。你知道 Netflix 可以花 100 万美元雇佣多少硅谷工程师 3 年吗?可能还不到一个。
Netflix 从投资的 100 万美元奖金中得到了什么?

  • 全球数以千计的研究人员和工程师正在思考一个对 Netflix 很重要的问题
  • 可以投入生产并获得可衡量收益的解决方案(第一年进步奖)
  • 作为一家在该领域进行创新的公司,成为知名品牌

我绝对确定的一件事是,如果没有 Netflix 奖,我和许多像我一样的人就不会在 Netflix 工作。如果不是因为获奖吸引了人才,我怀疑 Netflix 是否能够以他们在那些年里所做的速度进行创新。这本身的价值远远超过 100 万美元。
 
结论:开放式算法竞赛有用且有价值吗?
当然,你可以争辩说我对这个话题有很大的偏见。然而,即使到今天,我也会说它们具有巨大的价值。让大型社区考虑数据集和特定问题通常会产生大量见解和有价值的结果,其中一些适用于实践。它们还为世界各地的人们提供了一个独特的机会来学习、接触,在许多情况下甚至可以找到他们原本不会找到的理想工作。
话虽如此,我确实同意算法竞赛不是解决贵公司算法需求的灵丹妙药。它们不应被视为将问题外包给廉价国家的一种方式。