2021-02-24 22:00:34

编者按:在微软亚洲研究院为实习生们打造的科研训练“沈老师带你肝论文”中,沈向洋博士曾分享了自己发现已发表的工作中出现错误,之后及时勘误的故事,以此告诉年轻的研究者,在科研中,犯错是正常的,纠错是必须的。科研就是一个不断发现错误与不断纠正错误的探索过程。“It’s honorable to admit your mistake”。对于科研,我们应有“深揭猛批”的态度,这样才能做出了不起的工作。

针对科研容错与纠错这个议题,我们与沈向洋博士进行了更多探讨,以下是Harry的分享。

Q1:您如何看待在科学研究中出现错误?

沈向洋:在科学研究中,犯错误是经常会出现的事情。因此,容错和纠错也是必不可少的一部分。科研的目的是发现知识。重复实验是验证知识的过程。然而实现“可重复性”的确不容易。不同的领域比如生命科学、量子物理、计算机科学重现实验的难度和代价也可能会有很大差距。

在我熟悉的计算机视觉领域,如果有优秀的论文发表出来,很快就会有人努力去尝试重现。如果不能被重现和验证,大家就会抱有一个“健康的怀疑态度”。2014年我还在Redmond必应搜索产品部门工作的时候,深度神经网络的研究已经在兴起。我回北京MSRA时和孙剑讨论了这个问题,他说他们团队深入研究了Hinton的AlexNet文章,但是因为有一些技巧和细节,包括网络初始化方式、数据增广、参数调节、GPU Kernel的编写等,在实现中并不能精确复现。但过了几个月再碰到孙剑,他说应该可以重现了。一年后ResNet就做出来了。

最近这些年,很多计算机和人工智能论文在发表的时候,会把代码和数据开源出来,这样对大家重复实验非常有帮助。

Q2:如果发现自己已发表的工作中存在错误,您会如何处理?

沈向洋:It’s honorable to admit your mistake,承认与改正错误是我们应该做的。

我可以与大家分享一个20年前的故事。2000年,我在IJCV上发表了一篇全景图Panoramic Image Mosaics的文章。2001年,欧洲的一位教授寄了一封Email给我,说在教计算机视觉课讲这个算法时,觉得公式中存在错误。

我开始觉得不可能,因为论文已经发表了一段时间了,我的程序更是跑了好几年了,结果都没问题。我后来花了周末一个下午的时间,仔细读了教授写的邮件,重读了自己的论文,再看程序里如何实现公式的,再次认真重读了论文,终于发现果然有个左乘换右乘的错误。因为它是一个迭代算法,所以程序最后还是收敛了!

虽然程序跑下来最后结果是没问题的,但里面的数学公式确实错了。所以我跟我的合作者Szeliski写了一篇勘误(见本文结尾),2002年发表在IJCV这本杂志上。

在计算机科学领域,像我这样刊登勘误是很常见的。论文里面有错误,领域内的共识是鼓励大家指出来,也鼓励作者再去改,甚至有人专门投稿去指出其他文章中的错误,有时可以写好几页纸。

Q3:在科学研究中,容错与纠错的价值与意义是什么?

沈向洋:科学研究是一个追求真理、追求新知的探索过程,也是一个去伪存真的过程。那么,容错与纠错必然是其中的重要一环。

丘成桐教授证明卡拉比猜想的故事是一个好的例证。意大利几何学家卡拉比在1954年提出了卡拉比猜想,即在封闭的空间中,有无可能存在没有物质分布的引力场。但是,包括卡拉比自己在内,没有人能证实这个猜想,甚至几乎所有数学家都认为,卡拉比是错的。

丘教授花了相当多的时间思考如何证明卡拉比猜想是错的,而且他也认为自己已经做出了证伪的证明。1973年,在一个会议上,丘成桐把自己的想法告诉了卡拉比,卡拉比专门组织了讨论会让丘成桐陈述。卡拉比很兴奋,在场者的人认为问题已经解决。

一个多月之后,卡拉比致信丘成桐,说他在重建丘的思想中碰到了困难。丘成桐又开始进行证明,几乎两个星期没有睡觉,但证明总会在最后一分钟崩溃。丘教授说,这时,他感觉卡拉比应该是正确的,于是他开始发明新工具来理解卡拉比猜想。1975年,丘成桐终于证明了卡拉比猜想。而卡拉比猜想的证明,也标志着微分几何新时代的到来。

在科学研究追求真理的过程中,犯错误不奇怪。其实,通过犯错、纠错来不断努力去接近真理,也正是科研的魅力之一。

Q4:在“沈老师带你肝论文”的科研训练中,您与同学们分享了自己发现错误与改正错误的故事,您希望借此对年轻的学生和科研工作者有什么启示与建议?

沈向洋:在MSRA的时候,我和郭百宁老师、徐迎庆老师喜欢和同学们讲的一句话叫做“深揭猛批”。这是我非常推崇的一个概念:读别人的论文,要同时带着学习、怀疑和批判的态度去读;对自己的工作则要更加怀疑,更加批判。做科研的时候有这样的精神,才能做出了不起的学问。

“这个结论正确吗?我的假设成立吗?工作创新点在哪里?要不要再做个实验?还有哪里不清楚?换个方法重画框图?人家为什么应该来读我的论文?这篇论文投出去是不是浪费审稿人的时间?” 这些是我们应该不断问自己的问题。

世界上本来是没有什么学问的。学的时间长了,问的问题多了,就好像有学问了。

沈向洋博士在2002年发表的勘误

沈向洋谈科研纠错:做好学问要“深揭猛批”相关推荐

  1. 沈向洋谈做研究的那些事儿

    编者按:微软公司今日正式任命沈向洋博士为微软全球执行副总裁,负责技术和研究.在此之前,沈向洋博士曾为微软亚洲研究院院长,也是最早参与筹建微软亚洲研究院的元老之一.沈向洋博士曾于2009年在清华,浙大等 ...

  2. 沈向洋谈文献阅读(转载)

    1. 很多研究者话费一半以上的时间用来阅读.在研究生开始两年,除了应付功课,其余的时间阅读有关于你topic的课本和journal articles. 2. 了解自己相关topic最为核心的杂志.每年 ...

  3. 2022 IDEA大会引领科技创新趋势 沈向洋团队重磅发布低空经济白皮书

    11月22日,2022 IDEA大会在深圳顺利开幕.大会由深圳市科技创新委员会.深圳市人才工作局和深圳市福田区人民政府指导,粤港澳大湾区数字经济研究院(International Digital Ec ...

  4. 微软亚洲研究院20周年庆典:纳德拉致敬、沈向洋展望

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 微软亚洲研究院(MSRA),今日举行20周年庆典. 如今, 这所根植中国,历经李开复.张亚勤.沈向洋, 和洪小文等4任院长,培养了无数顶级 ...

  5. 沈向洋博士:三十年科研路,我踩过的七个坑

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:沈向洋,编辑:机器之心 在近日举办的 X-Talk 上,美国工程院 ...

  6. 沈向洋博士:三十年科研路,我踩过的那些坑

    转自 | 机器之心 在近日举办的 X-Talk 上,美国工程院外籍院士.小冰公司董事长沈向洋博士分享了自己过去三十多年做科研的体会. 日前,首届 X-Talk 于 2020 年腾讯科学周期间在腾讯北京 ...

  7. 沈向洋:浅谈人工智能创造

    来源:AI科技评论 本文约7000字,建议阅读10分钟 本文为你介绍沈向洋的<浅谈人工智能创造>,分享过去六年其在微软小冰身上得到的一些实践想法. 2020年9月21日上午9点,由北京大学 ...

  8. 思考 | 沈向洋博士:三十年科研路,我踩过的那些坑

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  9. 微软副总裁沈向洋:三十年科研路,我踩过的那些坑

    来源:机器之心 机器之心编辑部 在近日举办的 X-Talk 上,美国工程院外籍院士.小冰公司董事长沈向洋博士分享了自己过去三十多年做科研的体会. 日前,首届 X-Talk 于 2020 年腾讯科学周期 ...

最新文章

  1. BaaS, IaaS, PaaS, SaaS介绍
  2. TensorFlow固化模型+打包程序+web API
  3. SPOJ problem 42: Adding Reversed Numbers
  4. Python 入门篇-最新版python3.7.2的安装。
  5. python递归算法经典实例-Python递归算法详解
  6. bean包、entity包、mode包、domain包的区别
  7. C# HttpServer 框架
  8. 双击word文档提示向程序发送命令出现问题(There was a problem sending the command to the program)(二)
  9. linux下迅雷的替代
  10. 怎么选型企业客户管理软件?看看别人是怎么做的
  11. 电脑进不了系统的情况下如何重装win7,电脑无法开机如何重装win7
  12. 模型泛化能力是什么意思
  13. ADS-WK11-Review of Programming Contest Rules-回溯剪枝
  14. 默小伟网站开发帮助文档UI模板
  15. 正则表达式匹配字符串中的任何空格
  16. 论文写作--参考文献标注
  17. ZZULIOJ.1158: 又是排序(指针专题)
  18. FDB Flash Debugger 远程调试页面FLASH
  19. libmodbus官方手册中文翻译
  20. atm取款机java_Java分享|ATM取款机

热门文章

  1. py-06-JAVAAPI2
  2. ardino 不用舵机控制板直接控制六自由度机械臂
  3. Python爬虫成长之路:抓取证券之星的股票数据(转)
  4. html页面中图片滚动,Html网页图片滚动代码
  5. 弱电计算机网络安装注意点,弱电机房施工规范.doc
  6. blinker控制步进电机起保停,正反转,加减速(Arduino uno+esp8266+TB6600驱动器)
  7. 校园无线ac服务器,TP-Link无线AP+AC接入核心校园网
  8. Android 使用OpenCV 进行书法字体重影比对
  9. python 创建软连接_Python搭建环境
  10. 青岛abb焊接机器人编程招聘_ABB焊接机器人程序编制技巧