刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进行合作,论文作者在 arXiv 上上传论文时可以同步上传官方和社区代码,这或许有助于解决论文可复现性问题。
机器学习资源网站 Papers with Code 自创立以来,凭借丰富的开放资源和卓越的社区服务,成为机器学习研究者最常用的资源网站之一。2019 年底,Papers with Code 正式并入 Facebook AI。我也一直在使用这个平台查找论文,因为很多论文都有具体实现源代码,这给学习带来了很大便利。同时,他还有“topic”功能,为各个研究领域分类整理好了论文,这简直不要太好。爱了爱了!
最近,它又有了新举措:与论文预印本平台 arXiv 展开合作,支持在 arXiv 页面上添加代码链接。
现在,arXiv 上机器学习论文摘要页面的下方出现了一个 Code 按钮,它可以链接论文相关的官方和社区代码实现:
arXiv 论文页面新增的 Code 部分(Papers with Code 提供支持)。
可提供官方代码和社区代码。
如何使用?
论文作者登录 arXiv 网站,点击 Papers with Code 图标即可添加官方代码(参见下图箭头)。然后,页面转向 Papers with Code 网站,作者可以在那里添加代码。官方代码实现添加完成后,arXiv 论文摘要页面将出现官方代码(official code)部分。
Papers With Code 联合创始人 Robert Stojnic 表示:
Papers With Code 的宗旨是通过使用户更轻松地获取、使用和扩展各项研究,来促进科技进步。与 arXiv 的此次合作可以帮助研究人员和从业者更轻松地基于最新机器学习研究进行复用和扩展。Papers With Code 希望这一举措可以对机器学习以外更广泛的计算科学带来连锁反应。科学是逐渐累积的。开放科学,包括公布源代码,有助于加速科学的进步。
全球最大的预印本系统 + 机器学习研究者最常用的资源网站 = ?
当越来越多的人在上传论文到 arXiv 时顺手附上代码实现,提交代码是否会演变成为社区规范?这将带来什么影响?
不管最终如何,arXiv 和 Papers With Code 的合作首先有助于解决研究的可复现性问题。
有网友表示:「当这成为规范,提交代码将成为在计算机科学期刊上发表文章的软要求,如果期刊还存在的话……」
无独有偶,还有人设想,要是再加些新的功能(比如 Q&A 论坛、读者评论),说不定期刊的时代真的可以结束了:
可复现性是科学领域长期关注的话题,近期人工智能和机器学习社区也对此投入了更多关注。例如 ICML、ICLR 和 NeurIPS 这些顶级学术会议都在努力推进将实验代码和数据作为评审材料的一部分提交,并鼓励作者在评审或出版过程中提交代码以帮助结果可复现。
在此背景下,Papers with Code 与 arXiv 的合作将对可复现性研究带来有益的影响。当提交代码成为规范,当可复现性难题得到解决,开放科学还会远吗?
计算机类论文复现,将会迎来新的契机!这还不是最主要的,科研的开放性、成果的开源,会一定程度上降低重复造轮子、造繁重的轮子的不良影响。
期待“人类智力共同体”的建立,开源社区逐渐成为一种风尚,将科学开放成为一种规范。最近,南开大学程明明教授也提出了科研开源的行动倡议:DOCX。
引用王源博士讲的几个情况,
情况A:自己提出了一个新的算法,必然是要和已有的算法进行对比。于是拿出了算法A,算法B,算法C作为自己算法的背景板,而苦于这些论文的代码并没有开源,我只能是按照论文里边的描述自己把他们的算法复现一遍然后再来和自己提的算法进行对比。无形之中增加了很多工作量不说,有时候你会扪心自问这么对比公平吗?
情况B:新加入到一个课题组,导师多半会给你几篇曾经课题组里师兄师姐发表过的论文让你看,然后基于课题组之前的研究工作展开你的课题。这个时候你问导师这个论文里的代码和数据有没有?答案多半就是没有,即使有一些零碎的文档,也因为缺乏代码管理和文档注释,导致很难利用上这些残破的资料。所以最终你不得不把曾经课题组师兄师姐做过的事再做一遍,这当中可能还有很多未知的坑,他们踩过的坑,你还要再踩一遍,简直不要太爽啊。
情况C:某天的一个下午你突然灵机一动有了一个Idea,这个Idea和你2年前发的论文互有借鉴的地方,你就想看看自己以前那篇论文的代码。这时候多半很难找到这些代码,即使找到了也因为没有完整的注释和文档,包括环境配置等等,很难高效的复用这些代码。所以你不得不又花费很多时间把以前踩过的坑又踩一遍。
好的科研是站在巨人肩膀上的,人类能建立知识的宏伟大厦也源于继承。情况A对应的是和不认识的同行之间的知识共享和开源,情况B对应的是课题组内的知识共享和开源,情况C对应的是自己对自己的知识共享和开源。如果说情况A做不到,那就先从B开始,B做不到就先从C开始。做一些直观的Demo和科普工作首先是给自己看的,其次才是给你熟悉的师弟师妹师兄师姐看的,最后才是和你素不相识的爱好者和同行们看的。
开源精神是我从计算机学科学到的最有价值的精神。虽然我不是计算机学科出身,但我经常思考为什么计算机是当下的显学,原因可能有很多,但是我个人感觉计算机学科是开源精神做的最好的一个学科。缺乏开源精神使得其它学科总是不停的做一些无意义的重复造轮子工作,而缺乏科普精神使得行业外的人想要入门门槛极高。我把这种模式称之为小作坊式的科研模式。都2020年了,国际形势风云变幻,中国也即将进入内循环的模式,此时时刻我们更需要的是一起把蛋糕做大,而不是互相恶性竞争,变内循环为内卷。
非常感谢程老师 @程明明, 身体力行的给我们树立了一个好榜样。真的是Talk is cheap, show me the code,程老师网站上的demo做的真是非常棒
在此,顺便带一下,我在Github上开源的项目,大学阶段的大设计、科研项目、竞赛作品等均已开源,有全面的设计报告、符有良好注释的源程序,这是花了大半年精心整理的项目,大家可以来看看,希望得到更多人的交流。
- Github:https://github.com/Charmve