文档章节

【转】田渊栋教你读paper的正确姿势

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:25
字数 1311
阅读 1
收藏 0

作为入行数年的专业科研从业者,你每周看几篇论文?

这是一个知乎上的问题。作为卡耐基梅隆大学机器人系的毕业生、Facebook人工智能研究室(FAIR)的研究人员,田渊栋给出了下面这个回答。
盲目追求论文数量无意义,知道怎么读更重要。



背景:人工智能,强化学习
追求数目没有意义。读文章一般两个目的:

  1. 看大家在做什么,找方向。

这时候一般读读Abstract和Introduction,对领域有初步了解,知道它主要关于什么,搞清一些概念的含义和联系。这时候不懂没关系,多看几篇文章就懂了。一般聪明的人这一步可以做得很快。

  1. 搞清细节

找一个自己感兴趣的方向精读,把里面的课题思路和推理细节搞明白,并且还要顺藤摸瓜找到其它大量的相关文献继续读下去。标准是在脑里能有对这个领域有清楚的脉络,能做到独立完成大部分推导和证明。
一个靠谱的检查方法是给同组的人或者导师做个讲座,看他们能听懂不。很多时候自己以为懂了,其实和别人一说马上就露出马脚。同时讨论也可以激发新思路,说不定就能找到下一篇文章的出发点。这一步往往会花费一个科研人员大量时间,也是业余和职业科研的关键区别所在。
总之分配给每篇文章的时间天差地别。烂文几秒钟就可以放弃,而经典文章还需要每过一阵子回头再去看一看想一想。至于如何评判文章质量,那就得要靠长年科研积累出来的品味了。
接下来的两个阶段就不是光看论文可以看出来的。

  1. 写代码实现别人的工作,并且改进

每篇文章都会有意或者无意抬高自己贬低别人,都存在一些有意或者无意隐藏的细节,这些不亲手做是看不到的。所以得要动手花时间去实现别人的方法,想方设法达到别人的效果,然后反过来再看看文章。
时间长了马上就会学到故意隐藏的蛛丝马迹,理解别人留白的道理。光看文章的话,这类经验的积累要慢很多。一般说的“纸上谈兵”就是指这一步没做。
我在15年1月刚去Facebook AI Research的时候,在深度学习上还没有实际操作经验。交给我的第一件事情是复现VGG在ImageNet上的性能,那时还没有BatchNorm,跑5个有2个能开始收敛的就不错了,最后花了几周搞定了。整个过程让我学到不少经验。

  1. 总结经验,融会贯通,找到并且遵循自己的方法论

重复3很多次之后,可能会觉得自己比较有经验了。别人问起的时候也能侃侃而谈,但说的往往是一些分散且孤立的经验。并且你会发现自己很容易遗忘这些经验,这个并不是因为记忆力不好,而是因为思路不系统。
这个就需要反复思考反复提炼,从而形成自己的方法论。有了方法论之后,心里就有大方向而不会随便乱试乱撞,效率就会高很多,并且能在一个科研方向上挖很深坚持很久,而不是哪个课题热做哪个。在指导别人的时候也可以做到有的放矢。

在这个基础上再看文献,往往就会读懂很多一开始读不懂的东西。比如说为什么作者要强调A而否认B,那是因为他相信A后面的哲学和方法论。
如果你发现自己提炼不了,或者本来知识就是凌乱的,那么要么就是(1)境界未到,要么就是(2)领域还没有成熟,目前的知识点只是零碎的拼凑。(1)要靠自己练,(2)则预示着大机遇,一个研究者牛不牛就看他是不是可以在别人都放弃的地方找到新的规律。

一般完成1是新闻及科普的水平,2到3是博士生低年级至高年级的水平,精通3到初入4是博后的水平,精通4则是研究员和教授的水准。
另外,从1到4并没有特别固定的顺序,可能你在某个领域是4,另一个领域还只是1或2的程度;或者你在4中获得的经验能反过来帮助1和2(这个很常见);或者一上来就可以跳过2做3,然后等3有了结果之后再去补2,等等。当然,一步跳到4那是民科的水平。


来源:量子位

本文转载自:http://www.jianshu.com/p/a8010a706b09

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2634
码字总数 82983
作品 0
程序员
报名 | 汇集海外知名AI博士生,上海纽约大学下周有场研讨会

  东方科技论坛青年学者论坛:人工智能海外博士生研讨会,汇集了世界顶级高校的高年级博士生,专业覆盖当前人工智能的多个热点领域。   会议委员会由顶尖青年学者组成,与会者经委员会精...

机器之心
2017/12/17
0
0
Facebook 开源 AI 围棋源代码,击败职业棋手只需一块GPU

雷锋网(公众号:雷锋网) AI 科技评论消息:5 月 2 日,Facebook AI Research(FAIR)官网博客中宣布开源其 AI 围棋机器人 ELF OpenGo(包括源代码和一个训练好的模型),该机器人是基于 ELF ...

camel
05/04
0
0
读《周易》·乾卦第一有感——凡事过犹不及

           一、正文、结构及释义   乾为天   伟大的天乾卦上卦 为君的道乾卦下卦   乾:元,亨,利,贞。(《乾》卦象征天:元始,亨通,和谐有利,贞正坚固。此为乾卦卦辞)...

人工智能AI产品经理
06/06
0
0
一场顶级学术会议一票难求背后,是AI产业热浪下学界的矛盾与茫然

  一张黑白纸,上面印着 logo NIPS、参会者的信息和一些简单图案。在 12 月 4 日,由于开放注册后的短短十天已经卖完入场票,这张极简证件成为不少机器学习领域关注者们炫耀的「奢侈品」。...

深度学习
2017/12/19
0
0
专栏 | 田渊栋:第一届FLAIR感想

  机器之心专栏   作者:田渊栋   作为这次东方科技论坛,人工智能海外博士生研讨会(Future Leaders of AI Retreat, FLAIR)的组织者之一(感谢上海纽约大学张峥教授牵头),我觉得这...

机器之心
2017/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
39分钟前
3
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
47分钟前
1
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
57分钟前
19
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
1
0
区块链技术中的那些能商用的企业级应用

WEPOWER是一家立陶宛初创企业,旨在改变可再生电力项目的付费方式。WePower公司创始人Nick Martyniuk表示,政府统一收购价的存在推动了全球风能与太阳能市场的发展。因此,他的公司希望帮助那...

问题终结者
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部