去年,大学的计算机科学家们急于展示一种新的语音识别算法,他们想将其与一个著名科学家开发的基准算法进行比较。唯一的问题是基准算法的源代码没有发布。研究人员不得不从已发表的描述中重建该算法。但是,他们无法让自己的版本与基准算法的要求相匹配。该校博士生Nan Rosemary Ke说:“我们试了2个月,但都没办法成功。”
人工智能(AI)这个蓬勃发展的领域正面临着实验重现的危机,就像实验重现问题过去10年来一直困扰着心理学、医学以及其他领域一样。AI研究者发现他们很难重现许多关键结果,这导致了对研究方法和出版协议的新职责。
法国国家信息与自动化研究所计算神经科学家Nicolas Rougier说:“这个领域以外的人可能会认为,因为我们有代码,所以重现是有的。但完全不是这样。”近日,在美国召开的人工智能协会(AAAI)会议上,重现性问题被提上议程,一些团队对这个问题进行了分析,也有团队提出了减轻这个问题的工具。
最根本的问题是研究人员通常不共享他们的源代码。在AAAI会议上,挪威科技大学计算机科学家Odd Erik Gundersen报告了一项调查的结果,该调查针对过去几年在两个AI会议上发表的论文中提出的400种算法。他发现只有6%的研究者分享了算法的代码。只有1/3的人分享了他们测试算法的数据,而只有一半分享了“伪代码”。(许多情况下,包括《科学》和《自然》在内的期刊上发表的AI论文中也没有代码。)
研究人员表示,缺失的原因有很多:代码可能是一项正在进行中的工作,所有权归某一家公司,或被一名渴望在竞争中保持领先地位的研究人员紧紧掌握。代码也可能依赖于其他代码,而其他代码本身未发布。或者代码可能只是丢失了,在丢失的磁盘上或被盗的笔记本电脑上Rougier称之为“我的狗吃了我的程序”。
另一方面,假设你可以获得并运行原始代码,它仍然可能无法达到预期。在机器学习领域,计算机从经验中获取专业知识,算法的训练数据可以影响其性能。 Ke指出,“每跑一次的结果都充满了随机性,你可能真的非常幸运,跑出一个非常好的数字。研究报告通常就是这个。
在AAAI会议上,麦吉尔大学计算机科学家Peter Henderson表示,通过反复实验学习设计的AI的性能不仅对所使用的确切代码高度,还对产生的随机数“超参数”也非常。他在不同的条件下运行了这些“强化学习”算法中的几个,发现了截然不同的结果。Henderson说,研究人员应该记录更多的关键细节。“我们正试图推动这个领域有更好的实验程序和评估方法。”
研究人员还在AAAI会议上提出了另一种工具帮助复现:一种自动重新创建未发布源代码的系统,它能节省数天或数周的时间。这个系统是一种由小型计算单元层组成的机器学习算法,通过扫描一份AI研究论文,寻找描述神经网络的图表或图示,然后将这些数据解析为图层和连接,并以新代码生成网络。
荷兰埃因霍芬理工大学计算机科学家Joaquin Vanschoren创建了另一个存储库:OpenML。它不仅提供算法,还提供数据集和超过800万个实验运行及其所有相关详细信息。“你运行实验的确切方式充满了无证的假设和决定,这些细节大多不在论文里。”Vanschoren说。
目前,心理学通过创造一种有利于复现的文化处理它的再现性危机,AI也开始这样做。2015年,Rougier帮助启动了一个致力于复现的计算机科学ReScience。大型神经信息处理系统会议也已经开始从其网站链接到论文的源代码。
而且,Ke正在邀请研究人员尝试复现已发表实验,并提交给即将举行的会议,以实现“可复现性挑战”。Ke说,近100个复现项目正在进行中,大多数是由学生完成的,他们可能因此获得学分。
然而,AI研究人员表示,目前的激励措施仍然不能与可复现性相匹配。他们没有足够时间在每种条件下都测试算法,或者在文章中记录他们尝试过的每个超参数。因为他们面临文的压力每天都有许多未经同行评议的论文发布到arXiv上。
此外,许多人也不愿意报告失败的复现。例如,在ReScience,所有公布的复现项目迄今为止都是正面的。Rougier说,他也尝试过发表一些失败项目,但年轻研究人员往往不希望高级研究员,失败项目也就无人提起了。这就是为什么Ke透露她想用作基准的语音识别算法背后的研究人员的原因之一。
Gundersen认为这种文化需要改变。“这样做并不羞愧。”他说,“这只是说实话。”(张章编译)陈廷敬后人
网友评论 ()条 查看