导航菜单
首页 >  硕士论文要提交代码吗  > 超 90% 论文算法不可复现,你为何不愿公开代码?

超 90% 论文算法不可复现,你为何不愿公开代码?

过去几年发表的 AI 顶会论文提出的 400 种算法中,公开算法代码的只占 6%,只有三分之一分享了测试数据,只有一半分享 “伪代码”。这是今年 AAAI 会议上一个严峻的报告。科学家们正在通过“可复现性挑战” 鼓励复现新算法,或研究依据论文自动生成代码的工具。AI 将在未来扮演越来越重要的角色,我们需要信任这些 AI,那么我们必须能够复现它。

一个幽灵正在 AI 领域上空徘徊:复现的幽灵。

科研方法认为,科学研究应该可以让其他研究人员在相同的条件下重现其结果。然而,由于大多数人工智能研究人员不公布他们用来创建算法的源代码,其他研究人员很难做到复现和验证。

同一个算法训练 AI 走路,结果可能千奇百态

顶会论文提出的 400 种算法,只有 6% 分享代码

去年,加拿大蒙特利尔大学的计算机科学家们希望展示一种新的语音识别算法,他们希望将其与一名著名科学家的算法进行比较。唯一的问题:该 benchmark 的源代码没有发布。研究人员不得不从已公开发表的描述中重现这一算法。但是他们重现的版本无法与 benchmark 声称的性能相符。蒙特利尔大学实验室博士生 Nan Rosemary Ke 说:“我们尝试了 2 个月,但都无法接近基准的性能。”

人工智能(AI)这个蓬勃发展的领域正面临着实验重现的危机,就像实验重现问题过去十年来一直困扰着心理学、医学以及其他领域一样。AI 研究者发现他们很难重现许多关键的结果,这导致了对研究方法和出版协议的新认识。法国国家信息与自动化研究所的计算神经科学家 Nicolas Rougier 说:“这个领域以外的人可能会认为,因为我们有代码,所以重现性是有保证的。但完全不是这样。” 上周,在新奥尔良召开的 AAAI 会议上,重现性(reproducibility)问题被提上议程,一些团队对这个问题进行了分析,也有团队提出了减轻这个问题的工具。

最根本的问题是研究人员通常不共享他们的源代码。在 AAAI 会议上,挪威科技大学计算机科学家 Odd Erik Gundersen 报告了一项调查的结果,调查针对过去几年在两个 AI 顶会上发表的论文中提出的 400 种算法。他发现只有 6%的研究者分享了算法的代码。只有三分之一的人分享了他们测试算法的数据,而只有一半分享了 “伪代码”。(许多情况下,包括 Science 和 Nature 在内的期刊上发表的 AI 论文中也没有代码。)

针对主要会议上发表的 400 篇 AI 论文的调查显示,只有 6%的论文包含算法的代码,约 30%包含测试数据,54%包含伪代码。

研究人员说,这些缺失的细节的原因有很多:代码可能是一项正在进行中的工作,所有权归某一家公司,或被一名渴望在竞争中保持领先地位的研究人员紧紧掌握。代码可能依赖于其他代码,而其他代码本身未发布。或者代码可能只是丢失了,在丢失的磁盘上或被盗的笔记本电脑上——Rougier 称之为 “我的狗吃了我的程序” 问题。

假设你可以获得并运行原始代码,它仍然可能无法达到你的预期。在机器学习领域,计算机从经验中获取专业知识,算法的训练数据可以影响其性能。 Ke 推测,不知道那个语音识别基准的训练数据是什么阻碍了她的团队的进展。“每跑一次的结果都充满了随机性,” 她补充说,你可能 “真的非常幸运,跑出一个非常好的数字。”“研究报告中通常写的就是这个。”

击败幽灵:从论文中自动生成代码

在 AAAI 会议上,加拿大麦吉尔大学的计算机科学家 Peter Henderson 表示,通过反复试验学习设计的 AI 的性能不仅对所使用的确切代码高度敏感,还对产生的随机数 “超参数” 也非常敏感——这些设置不是算法的核心,但会影响其学习速度。

他在不同的条件下运行了这些 “强化学习” 算法中的几个,发现了截然不同的结果。例如,运动算法中使用的一个简笔画虚拟“半猎豹”,它可以学习在一次测试中奔跑,但只会在另一次测试中在地板上徘徊。

Peter Henderson 说,研究人员应该记录

相关推荐: