假设你可以获得并运行原始代码,它仍然可能无法达到你的预期。在机器学习领域,计算机从经验中获取专业知识,算法的训练数据可以影响其性能。 Ke 推测,不知道那个语音识别基准的训练数据是什么阻碍了她的团队的进展。“每跑一次的结果都充满了随机性,” 她补充说,你可能 “真的非常幸运,跑出一个非常好的数字。”“研究报告中通常写的就是这个。”
击败幽灵:从论文中自动生成代码
在 AAAI 会议上,加拿大麦吉尔大学的计算机科学家 Peter Henderson 表示,通过反复试验学习设计的 AI 的性能不仅对所使用的确切代码高度敏感,还对产生的随机数 “超参数” 也非常敏感——这些设置不是算法的核心,但会影响其学习速度。
Peter Henderson 说,研究人员应该记录更多这些关键细节。 “我们正试图推动这个领域有更好的实验程序,更好的评估方法。”
Peter Henderson 的实验是在 OpenAI Gym 强化学习算法测试平台上进行的,OpenAI 的计算机科学家 John Schulman 帮助创建了 Gym。John Schulman 说,Gym 有助于标准化实验。 “Gym 之前,很多人都在进行强化学习,但每个人都为自己的实验做好了自己的环境,这使得大家很难比较各种论文的结果。”
IBM Research 在 AAAI 会议上提出了另一种工具来帮助复现:一种自动重新创建未发布源代码的系统,它为研究人员节省了数天或数周的时间。这个系统是一种由小型计算单元层组成的机器学习算法,类似于神经元,用于重新创建其他神经网络。系统通过扫描一份 AI 研究论文,寻找描述神经网络的图表或图示,然后将这些数据解析为图层和连接,并以新代码生成网络。该工具现在已经复现了数百个已经发布的神经网络,IBM 计划把它们放置在一个开放的在线存储库中。
荷兰埃因霍芬理工大学(Eindhoven University of Technology in the Netherlands)的计算机科学家 Joaquin Vanschoren 为创建了另一个存储库:OpenML。它不仅提供算法,还提供数据集和超过 800 万个实验运行及其所有相关详细信息。 “你运行实验的确切方式充满了无证的假设和决定,很多这些细节从来没有成为论文。”Vanschoren 说。
此外,许多人也不愿意报告失败的复现。例如,在 ReScience,所有公布的复现项目迄今为止都是正面的。Rougier 说,他也尝试过发表一些失败的项目,但年轻的研究人员往往不希望批评别人,失败的项目也就无人问津了。这就是为什么 Nan Rosemary Ke 拒绝透露她想用作基准的语音识别算法背后的研究人员的原因之一。
Gundersen 说这种文化需要改变。 “这样做不是羞愧” 他说, “这只是说实话。”
如果我们想要信任 AI,必须能够复现它
Gundersen 说,随着人工智能领域的发展,打破不可复现性将是必要的。
复现对于证明实验产生的信息能够在现实世界中一致地使用,并且得到非随机的结果是必不可少的。一个仅由其创建者测试过的 AI 在另一台计算机上运行时或者如果输入不同的数据时,可能不会产生相同的结果。