我为何反对AI论文必须公开源代码

发表时间: 2020-04-13 13:03

晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

AI论文,到底该不该强制开源代码

NeurIPS 2020官方近日发布了一份开源指南。从2019开始,NeurIPS就“强烈建议”提交论文代码,不过仍非强制。

但无论如何,官方传达出了一种信号:AI学术顶会开源代码已是行业趋势。

NeurIPS此举也引发了一场“年经”式的讨论:如果将来学术会议要求必须开源,投稿人应该拒绝吗?

而让人始料未及的是,不少网友认为:不开源,我有理。

反对一:代码并没有那么重要

首先,开源代码的目的是什么?是为了让其他研究者可以复现结果。

如果一篇论文包含足够多的细节,那么别人就可以根据其中的公式自己写出代码,对于这类论文,可以不公开代码。不过前提必须是提供足够多的细节。

比如谷歌的AlphaGo就没有开源代码,但是没有人怀疑它的正确性,事实上也有很多人根据谷歌论文复现了AlphaGo。

而且作者本人的代码可能会出现错误,不开源的一个好处就是让其他研究者独立复现。

万一作者在代码里挖了个不明显的“坑”,其他人也可以规避,防止被带到沟里。

另外,也不要高估代码的价值,经典论文可以几十年长盛不衰,但是代码很可能十年后就难以运行了。

当然,还有一种观点就是,对于AI来说,数据集更重要。没有数据的代码是没有价值的,而很多数据集没法开放,这意味着你即使拿到代码,也无法复现SOTA结果。

反对二:要为作者考虑

不开源同时也是为了照顾作者的种种特殊情况。

比如一些研究者是从事纯理论的研究。有一个网友就说,他甚至都不知道怎么构建Docker容器,虽然发表了多篇论文都在GitHub上开源了代码,但它从来不维护。

所以,论文是否开源应该根据代码对于文章的重要性而定,不该一刀切。

还有一些商业公司的研究者,他们在写论文的时候用到了公司内部专有软件库,如果强制开源,他们必须从头再写一遍代码,费时费力,对这些人也是不公平的。

还有一些作者,本身并不是不想开源,而是希望能够将成果保护一段时间,在论文发布几个月后再开源代码,这对于从事医疗、法律领域的学者很重要。

综上所述,反方网友认为,强制开源过于极端,应该对论文开源持鼓励态度,而不是强制。

支持开源:不开源怎能让人信服

首先是一名从事石油行业的网友说,他们行业的数据都是商业机密,所以不会发布任何数据和代码,甚至会在文章中丢掉一些公式来隐藏成果,还声称98%的正确率。结果怎能让人信服。

他认为不公开数据和代码,就像把一篇论文中所有的关键要素都删了,这样的研究即使发表出来也毫无价值。

还有一些人认为,强制开源会改变其他行业对机器学习的偏见。

很多其他学科的人都把机器学习看成伪科学,这是为什么?因为AI领域的论文发布过程非常不成熟。

科学方法的关键是一致性和可重复性。追逐单一的指标,每个人都对SOTA着迷,这是一个巨大的问题。

而开源是解决此问题的一种方法。

去年,AI知名女学者Anima Anandkumar曾在个人博客里公开喊话,强烈反对发论文却不给代码的行为,呼吁学术会议强制要求投稿同时必须公开代码。

她认为不开源代码不利于评审论文,不利于对论文造假的追责,更不利于行业开放竞争。

你觉得公开的学术论文也应该公开代码么?

参考链接:

https://www.reddit.com/r/MachineLearning/comments/fzss9t/d_if_a_paper_or_project_doesnt_publicly_release/

https://www.reddit.com/r/MachineLearning/comments/fzp8bu/d_official_neurips_2020_guidelines_for_making/

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态