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

简介: 过去几年发表的AI顶会论文提出的400种算法中,公开算法代码的只占6%,只有三分之一分享了测试数据,只有一半分享“伪代码”。这是今年AAAI会议上一个严峻的报告。科学家们正在通过“可复现性挑战”鼓励复现新算法,或研究依据论文自动生成代码的工具。

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

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

0d1a38186337789be7e3fd06a30e082fd440fe11

图:同一个算法训练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%包含伪代码。

f0f6bbb47c4b0a725b19ee7532ff8d17a13758d8

CREDITS: (GRAPHIC) E. HAND/SCIENCE; (DATA) GUNDERSEN AND KJENSMO, ASSOCIATION FOR THE ADVANCEMENT OF ARTIFICIAL INTELLIGENCE 2018

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

假设你可以获得并运行原始代码,它仍然可能无法达到你的预期。在机器学习领域,计算机从经验中获取专业知识,算法的训练数据可以影响其性能。 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说。

心理学通过创造一种有利于复现的文化来处理它的再现性危机,AI也开始这样做。 2015年,Rougier帮助启动了一个致力于复现的计算机科学杂志ReScience,NIPS已经开始从其网站链接到论文的源代码(如果有的话)。

Nan Rosemary Ke正在邀请研究人员尝试复现提交给即将举行会议的论文,以实现“可复现性挑战”。Nan Rosemary Ke说,近100个复现项目正在进行中,大多数是由学生完成的,他们可能因此获得学分。

然而,人工智能研究人员表示,目前的激励措施仍然不符合可复现性。他们没有足够时间在每种条件下都测试算法,或者在文章中记录他们尝试过的每个超参数。因为他们面临发论文的压力——许多论文每天都在网上发布到arXiv上,而且也没有同行评审。

此外,许多人也不愿意报告失败的复现。例如,在ReScience,所有公布的复现项目迄今为止都是正面的。Rougier说,他也尝试过发表一些失败的项目,但年轻的研究人员往往不希望批评别人,失败的项目也就无人问津了。这就是为什么Nan Rosemary Ke拒绝透露她想用作基准的语音识别算法背后的研究人员的原因之一。

Gundersen说这种文化需要改变。 “这样做不是羞愧”他说, “这只是说实话。”

如果我们想要信任AI,必须能够复现它

Gundersen说,随着人工智能领域的发展,打破不可复现性将是必要的。

复现对于证明实验产生的信息能够在现实世界中一致地使用,并且得到非随机的结果是必不可少的。一个仅由其创建者测试过的AI在另一台计算机上运行时或者如果输入不同的数据时,可能不会产生相同的结果。

当涉及到机器学习算法时,可复现性问题会变得尤其突出。有很多原因导致人们不会共享源代码或数据:代码可能正在完成中,或属于公司的专有信息,再加上研究人员担心竞争,因此机器学习算法的可复现性较差。在某些情况下,代码甚至可能完全丢失:电脑破损或被盗、硬盘丢了,或者被狗吃掉(可以找这种借口)。

这种情况对行业的未来不是好消息。人工智能一直在产生令人难以置信的繁荣,并且很可能我们会在未来几年拥有超智能的AI,它将在社会中扮演越来越重要的角色。如果我们想让这种美好的未来持续繁荣,我们必须信任我们实施的每一个AI,如果我们想要信任它,就必须能复现它



原文发布时间为:2018-02-17

本文作者:克雷格、Marvin

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:【AI幽灵】超90%论文算法不可复现,你为何不愿公开代码?

相关文章
|
4天前
|
人工智能 自然语言处理 机器人
今日AI论文推荐:ReCamMaster、PLADIS、SmolDocling、FlowTok
由浙江大学、快手科技等机构提出的ReCamMaster是一个相机控制的生成式视频重渲染框架,可以使用新的相机轨迹重现输入视频的动态场景。该工作的核心创新在于利用预训练的文本到视频模型的生成能力,通过一种简单但强大的视频条件机制。为克服高质量训练数据的稀缺问题,研究者使用虚幻引擎5构建了一个全面的多相机同步视频数据集,涵盖多样化的场景和相机运动。
103 2
今日AI论文推荐:ReCamMaster、PLADIS、SmolDocling、FlowTok
|
6天前
|
人工智能 安全 测试技术
本周 AI Benchmark 方向论文推荐
由北京大学和微软亚洲研究院的魏李等人提出的 FEA-Bench,是一个专为评估大型语言模型(LLMs)在代码库级别进行增量开发能力的基准测试。它从 83 个 GitHub 仓库中收集了 1,401 个任务实例,专注于新功能的实现。研究表明,即使是先进的 LLMs 在此任务中的表现仍远低于预期,揭示了仓库级代码开发的重大挑战。
46 0
|
1月前
|
人工智能 编解码 算法
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
本文介绍了通义灵码2.0 AI程序员在嵌入式开发中的实战应用。通过安装VS Code插件并登录阿里云账号,用户可切换至DeepSeek V3模型,利用其强大的代码生成能力。实战案例中,AI程序员根据自然语言描述快速生成了C语言的base64编解码算法,包括源代码、头文件、测试代码和CMake编译脚本。即使在编译错误和需求迭代的情况下,AI程序员也能迅速分析问题并修复代码,最终成功实现功能。作者认为,通义灵码2.0显著提升了开发效率,打破了编程语言限制,是AI编程从辅助工具向工程级协同开发转变的重要标志,值得开发者广泛使用。
7972 69
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
|
6天前
|
数据采集 存储 机器学习/深度学习
最新AI大模型数据集解决方案:分享两种AI高质量代码数据集生产方案
本文分享了两种构建高质量AI代码数据集的解决方案。第一种是传统方式,结合动态住宅代理与手动处理,通过分页读取和数据清洗生成结构化数据;第二种是利用Web Scraper API工具,实现自定义配置、自动化抓取及云端存储。两种方法各具优势,适合不同需求和技术水平的团队。同时,文章还提供了专属优惠福利,助力提升数据采集效率,为AI大模型训练提供支持。
40 5
最新AI大模型数据集解决方案:分享两种AI高质量代码数据集生产方案
|
10天前
|
人工智能 自然语言处理 算法
AI-Researcher:告别熬夜肝论文!港大开源AI科研神器,从选题到发表全自动
AI-Researcher 是香港大学数据科学实验室推出的开源自动化科研工具,基于大型语言模型(LLM)代理,支持从研究想法到论文发表的全流程自动化,涵盖文献综述、算法设计、实验验证和论文撰写等功能。
142 8
AI-Researcher:告别熬夜肝论文!港大开源AI科研神器,从选题到发表全自动
|
17天前
|
人工智能 数据库 决策智能
Archon – 开源 AI 智能体框架,自主生成代码构建 AI 智能体
Archon 是一个开源的 AI 智能体框架,能够自主生成代码并优化智能体性能,支持多智能体协作、领域知识集成和文档爬取等功能,适用于企业、教育、智能家居等多个领域。
132 10
Archon – 开源 AI 智能体框架,自主生成代码构建 AI 智能体
|
10天前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
24天前
|
数据采集 人工智能 编解码
算法系统协同优化,vivo与港中文推出BlueLM-V-3B,手机秒变多模态AI专家
BlueLM-V-3B是由vivo与香港中文大学共同研发的多模态大型语言模型,专为移动设备优化。它通过算法和系统协同优化,实现了高效部署和快速生成速度(24.4 token/s),并在OpenCompass基准测试中取得优异成绩(66.1分)。模型小巧,语言部分含27亿参数,视觉编码器含4000万参数,适合移动设备使用。尽管如此,低端设备可能仍面临资源压力,实际应用效果需进一步验证。论文链接:https://arxiv.org/abs/2411.10640。
41 9
|
25天前
|
人工智能 安全 API
容器化AI模型的安全防护实战:代码示例与最佳实践
本文基于前文探讨的容器化AI模型安全威胁,通过代码示例展示如何在实际项目中实现多层次的安全防护措施。以一个基于TensorFlow的图像分类模型为例,介绍了输入验证、模型加密、API认证和日志记录的具体实现方法,并结合最佳实践,如使用安全容器镜像、限制权限、网络隔离等,帮助构建更安全的AI服务。
|
23天前
|
机器学习/深度学习 人工智能 内存技术
AI界重磅炸弹:“50美元”复现DeepSeek R1?
AI界重磅炸弹:“50美元”复现DeepSeek R1?

热门文章

最新文章