在 Papers 「Without」 Code 网站上,复现不了的论文可是要被公开处刑的,作者也可能面临「社会性死亡」。
「无法复现的论文都是耍流氓。」
二十几天前,Reddit 用户「ContributionSecure14」在机器学习社区疯狂吐槽:「我花了一个星期尝试复现一篇论文,结果失败了。上网搜了一下才发现,也有其他人说这篇论文的结果无法复现。」
「有没有那种专门列出无法复现论文的清单?这样可以让研究者们节省大量时间和精力。」
有人回复道:有一说一,从实际出发的话,列出「可复现论文清单」会更容易一些……
另一位 Reddit 用户写道:「所有论文中可能有 50%-75%是不可复现的,可悲啊,但这却是事实。」
现在,越来越多的机器学习研究者选择在论文发表时同步公开自己的代码,像 arXiv 这样的论文预印本平台也选择与机器学习资源网站 Papers with Code 合作,支持研究者在 arXiv 页面上添加代码链接。还有一些顶会(ICML、ICLR、NeurIPS)要求投稿人在提交论文的时候附上代码,以供审稿人测试,确保其研究结果的可复现性。
但这一切仍然不代表论文复现变得容易了。
一气之下,ContributionSecure14 创建了一个名为「Papers Without Code」的机器学习研究反馈平台,专门挂出那些大家都无法复现的论文研究。
网站地址:https://www.paperswithoutcode.com/
Papers 「Without」 Code
机器学习领域研究者大多熟悉 PapersWithCode,这个资源网站上托管着 4 万多个研究的实现代码,但它没有进一步解决「有代码也复现不了」的问题。这个问题或许可以在「Papers Without Code」上找到答案。
简单来说,在 Papers Without Code 上,研究者可以提交无法复现的机器学习论文以及他们的工作细节,例如他们花费了多少时间来复现结果。
如果提交内容有效,则 Papers Without Code 方面将与该论文原作者联系,并要求其澄清或公布实现细节。论文成功复现后,可以在 PapersWithCode 或 GitHub 上发布,供其他研究人员参考。如果作者未及时答复,该论文将被添加到「不可复现的机器学习论文列表」中,公开处刑。
ContributionSecure14 表示:「Papers Without Code 的目标与 PapersWithCode 及整个 ML 社区是一致的。」目前已有几篇论文上榜。
反馈者需要提交包括论文标题、论文链接、提交原因等基本信息。地址:https://papers.paperswithoutcode.com/
「这样做的目的是为了节省研究人员的时间和精力,以免花费成本去复现一篇无法复现的论文结果,而无法复现的原因可能是论文没有足够的细节或方法根本不 work。」
如果某篇论文「光荣上榜」,论文作者会被第一时间告知,并有机会作出回应。这一机制的建立也是希望能够促进机器学习社区之间的有效交流,并培养健康的研究生态。
复现一篇论文,有多难?
事实上,迄今为止行业内仍有相当数量的优质研究未能复现。从研究角度来说,这为后来研究者基于先驱工作尝试新的探索带来了一定阻碍。也有一部分研究无法复现是因为研究本身不合格,而不是因为复现者的技术太差。
网站创建者 ContributionSecure14 表示:「如果其他人不能以该论文为基础或 baseline,那么公开发表的有实证结果的论文毫无意义。」
但他同时也承认,有时候出于某些正当理由,机器学习研究者不会公开代码,比如一些作者可能是在内部基础架构上训练他们的模型,或者使用大型内部数据集进行预训练。在这种情况下,受到企业政策的限制,研究人员无权随论文发布代码或数据。
在某些情况下,即使作者将源代码和数据都发布在论文中,其他机器学习研究人员仍然很难复现结果。
造成这种情况的原因也有很多,比如论文作者可能会从多个实验中挑选出最好的结果,以达到 SOTA 水平;或者使用一些技巧,针对数据集来调整机器学习模型的参数,以提升实验结果。在这两种情形下,即使结果最终可复现,但因为机器学习模型针对特定条件过拟合,所以在新的数据上效果往往并不好。
可复现问题并不局限于少数的小规模机器学习研究团队,即使是那些挥金如土的大公司也常常无法验证其论文的结果。去年,图灵奖得主 Yann LeCun 就公开质疑过谷歌大脑的论文无法复现,很多 NLP 领域顶级研究人员无法复现谷歌大脑的语言模型Transformer-XL所得到的结果,一度引发社区热议。
如果你的研究是在其他论文的基础之上,尝试复现其他研究的机器学习代码肯定是常规操作。「不要简单地根据论文主张就预设『见解』, 」ContributionSecure14 表示,「即使是那些大组的论文,抑或是被顶会接收的论文。」
NeurIPS 组委会从 2019 年起就鼓励论文作者提交代码(非强制),目前成效显著。在 NeurIPS 2019 的最后提交阶段,有 75% 的被接收论文附带了代码。随后,NeuIPS 将代码提交从「鼓励」变成了「强烈建议」(仍不强制),还提供了提交代码的准则和模板。这些措施都有利于复现工作
但代码公开问题也不能「一刀切」,毕竟可复现性并不是评价论文的唯一标准。
除了 Papers Without Code,你也可以参考 Pineau 教授的「机器学习可复现性调查表」(https://www.cs.mcgill.ca/~jpineau/ReproducibilityChecklist.pdf),这个清单为如何使其他研究人员清楚并重现机器学习论文的描述、代码和数据提供了明确的指导原则。
人们一直抱怨 AI 论文难复现,但机器学习社区在促进可复现方面可以发挥更加重要的作用。「很多时候论文作者都会在发表研究时面临压力,因此牺牲了学术深度和可复现性,并没有太多制衡的方法来阻止这种行为,」ContributionSecure14 说道。
「唯一能够改变这种趋势的可能性在于,引导机器学习研究者们在进行研究时更加注重质量而非数量。」