吴恩达的论文阅读方法和职业选择之道
吴恩达(Andrew Ng)是斯坦福大学教授,在谷歌学术上有超过13万的引用量(截止现在,这相当于10位以上的清华计算机的教授了),他曾在 CMU 读本科,MIT 读硕士,UC Berkeley 读博士;而这四所学校正是千万学子所向往的计算机四大名校。
Youtube 链接,这是 Andrew Ng 在斯坦福上的某一节课,我把他的要点总结如下:
免责声明
Andrew Ng 的阅读方法主要针对人工智能与计算机科学的论文。我作为一个计算机专业的学生,也没有能力去判断这些方法是否适合别的领域。
我只是转述 Prof. Andrew Ng 的观点,以下内容不代表我的观点。
读论文
在进入一个领域之前,可以先列一个论文的表,这些文章包括 arXiv 上的论文,也包括一些博客网站上的文章。先略读这些文章(大概读 10%),决定哪些文章值得读,哪些不值得读。
当读了 5-20 篇论文的时候,可以说对这个领域有所了解了;当读了 50-100 篇论文的时候,就差不多是这个领域的专家了。
在读一篇论文读时候,万万不可以从头开始一字一句读到尾(视频中是老师满脸的微笑),可以按照这样的方法,分多次阅读: 1. 标题 + 摘要 + 图片(很多论文的主旨都可以用一张图片来描述,这既方便理解,也利于记忆) 2. 简介(Introduction)+ 结论(Conclusion)+ 图片/表格 + 快速浏览(skim)剩下的。(前三个是会议论文审稿人决定是否接受一篇论文的关键。)相关文献(Related Works)需要快速跳读甚至不读(skim or skip),有的文章的 Related Works 对于初学者来说是最难懂的(impossible to understand),也可能是为了专门去引用审稿人的文章的 3. 读,但是跳过数学推导 4. 读但是可以略过哪些不怎么有用的部分(例如 LeNet 论文的非卷积神经网络部分) 而作为这个领域的博士或者研究人员,需要更多的深入(这个后面会提到)。
Andrew Ng 认为,在读完一篇文章后,读者需要能够回答这些问题(其中前两个是可以很快回答的): 1. 作者想要做什么 2. 文中方法的关键是什么 3. 自己能够从中受到什么启发(What can you use yourself?) 4. 想要去继续阅读哪些参考文献 (在另外一篇由 University of Waterloo 的教授写的 How to Read a paper 介绍的三遍阅读法与之类似,不过对于 Andrew 的前两遍略读,那个教授强调了要思考作者的假设是否成立,以及,文章的先导内容自己是否掌握,如果没有,需要先去读先导内容,不然就读不懂。文章链接)
Andrew 也列出了他所使用的论文来源渠道(Sources of Papers): 1. twitter 关注那些做研究的教授 2. ML sub reddit (这是 Reddit 论坛的一个板块) 3. NIPS / ICML / ICLR (机器学习三大顶会) 4. friends
对于深入的研究者,Andrew 认为,他们应该把论文放在一边,能够从头开始独立推导论文里的公式。
对于代码,Andrew 认为,如果只是一般的使用,从开源网站上下载下来跑一下就好了;但有时可以去从头开始重新实现。
另外 Andrew 强调了要每周规律性地读论文,例如每周六读两篇,而不是一天读 50 篇,然后再也不读了。Andrew 自己多次表示,自己会在包里放几篇论文,这样走到哪里都可以读。在课堂上,他让学生用了 7 min 读 DenseNet,并回答前两个问题;另外他表示,一篇机器学习会议论文(8-10页)大概需要一小时到一个半小时到阅读时间。(这是他的情况,当然,也有一些比较难的论文需要读很久)
职业发展与选择工作
Andrew 反复强调了要做有意义的工作。(Do Important works.)
对于技能培养,Andrew 表示,人的技能点应该是一个“T”的形状,即有着广泛的基础,但是又在一个方面非常地精通。 1. 上课、读书 可以让人具有广泛的基础 2. 做项目可以让人在某一方面变得精通 对于只有广泛基础的人,Andrew 的评价是 OK but not good,且难以找到好的工作;对于只有一个方向精通、而没有广泛的基础的人,他的评价是 bad。
公司在招人的时候,相比于理论,显然更倾向于有更强实践能力的人,但这不意味着只用学习写代码而不用知道其原理。
对于选择工作,Andrew 强调了以下几点: 1. 关注那个你需要加入的组 2. 这个组的带头人 3. 不要在乎这个公司是否有名
如果公司没有告诉你你会加入哪个组,那个显然是因为如果告诉你了,这份工作就没有什么吸引力,这一般都是坑。(例如轮岗 Rotation。)
他认为,选择工作的时候,要选择: 1. 有更多学习机会的工作(Learn the most) 2. 做有意义的工作(Do important work)
最后,他认为 AI 未来的一个方向是和传统行业结合。(所以传统行业的公司里也可能有很强的 AI 团队。)