“代码拖更”的经历,不知你遇到过没?
就是你看上了一篇论文或者项目,作者声称代码会开源或者已开源,但你左等右等,每天查查 GitHub,代码就是一直没发布……
reddit 上一位网友就遭遇了这种经历,还是在他三番五次联系原作者的情况下。
一怒之下,他就把作者和论文挂网上了。
结果这一现象引起了网友们热烈的讨论,还把“涉事”作者给“炸”出来了!
声称代码开源却迟迟不更新
据发帖网友陈述,“涉事”论文是 NeurIPS 2020 的一篇有关自动驾驶的论文。
当时他觉得很有意思,顺着文中给出的代码地址点进去,发现仓库居然是个“空壳子”。
“好吧,应该是还没来得及更新”,他心想:那就 fork 一下,过几天再来看。
然而他等啊等啊,代码一直都没有发布。
他看到有其他人也在评论区“催更”,他自己也尝试电邮联系作者们(包括学生和 PI),但都没收到回复。
终于,去年 11 月份就提交到 arXiv 的论文,在今年 4 月更新代码仓库了!
—— 但,更新的只是自述文件,只说代码即将发布。
然后几个月过去了,那已成了该仓库最后一次更新。
而这位网友也终于联系上了作者,却得到了这样的回应:
论文实际上是基于经验的改进,没有有效代码来复现结果。
这下这位网友可是真的炸了:“我等了你们这么久,付出了巨大的努力联系你们。不发布就不发布,一开始就别承诺啊,也更不该‘玩失踪’啊。”
他表示,他知道这种“声称开源却实际并未发布代码”的事情在机器学习论文中越来越多。
当他实验室的本科生问他“为什么我应该如此费力地整理代码并发布,而别的人早已开展下一个有趣的项目去了”时,他也没法儿解释。
但事情不应该是这样:
我强烈地认为这种事情必须被改变,而且只有我们说出来,这种现象才能被改变。
于是,也就有了前文我们看到的这篇论文被挂在网上“社死”的事情。
谁之过?应该怎么办?
看到这个帖子,许多网友的第一反应确实是:这不新鲜啊。
“CVPR 2019 都还有篇论文的代码现在还没发布。原作者还亲口告诉我有代码且已上线呢……”
不过,这不排除有人是在论文被接收后又偷偷删除链接的……
毕竟,有网友指出,有人不发就是因为担心自己“透露”的太多,被别人反超成果……
emmmm……
当然,更普遍的也可能是自己的代码遇到问题了,不过:
Paper + Bad Code >>>> Paper + No Code
许多人表示,论文能公开代码还是要公开,即使有错误、别人跑不起来,但也尽量发出来,大家还可以做逆向工程 —— 毕竟总比啥都没有强。
而关于不发布代码的原因,这里面还出现了“对于你来说开源代码可能就是 30 分钟的事儿,但有人真的很忙需要耗费数周才能完成,所以你不该责怪他们”的论调,但显然他没有抓住本次事件真正的问题所在:
不能开源代码的情况会有,可以原谅,但你不应该把“代码已在 X 发布”写在论文中。不诚实才是最大的问题。
而另一边,网友也把矛头指向了评审。
“我已经说过很多次了,会议/期刊/审稿人应该确保论文中提到的代码是真正发布了的。”
许多人一致认为先不提有没有验证代码是否能复现,没有复现代码能过审就让人费解,所以给复现代码挂了个空仓库的论文一开始就应该被拒稿,审稿人应该好好把关。
不过说是这么说,有人算了算:
ICLR 今年收到了大约 3400 篇提交,每篇论文应该有 4 条评论,所以总共需要 13000 + 条评论。而一个好的评审总共需要 4-5 个小时在一篇论文上。
这需要耗费的时间不敢想象,但审稿又是“义务劳动”,你“审的好”不会给你带来什么附加收益,对你找工作、升职加薪什么的也不会有帮助,所以……
那你可能会说,付费评审吧。
且不提每小时约 100 美元的市场价格带来高得离谱的成本,有的人给钱他都不一定有那么多时间呢。
再扯远点,最不缺的是审稿人,而是真正有水平的审稿人。
所以也就发生了太多空代码论文“钻空子”的情况。
“涉事”论文作者被“炸”出来了
令人没想到的是,原帖网友私下三番五次联系不上“涉事”论文作者,发了这个帖子后,倒是一下子把他“炸”出来了。
他首先道歉,表示自己刚刚进入一家公司工作很忙,没有及时跟踪到这篇论文的邮件。
并承诺在最近的 NeurIPS 之前会发布代码,到时大家有啥问题就可以问他了。
还给出了代码用到的数据集来自哪篇论文以及根代码库的链接。
以上,你怎么看?