
在今天的机器学习网课中,老师专门提到了“对于课上疑点的解惑方式”,除了课上提问,在课下有比如 查看老师推荐书籍(相关理论)、回看上课视频、查看相关论文(paper)、搜索引擎搜索疑惑点等不同解疑方式。其中,老师特地说明了一下要学会自己看paper的方式。正好前段时间在007社群中也看到了有群友提到了Paul N. Edwards的《How to Read a Book》这本书,就结合起来简单总结下。
怎样从一本书或文章中学到更多?
从头读到尾的读一本书会很有满足感,比如情节引人入胜的小说。但是有许多书、文章和文档,它们不是小说:它们没有虚构。教科书,手册,期刊论文,历史文献,学术研究,诸如此类都属于非虚构类知识。
阅读这些非虚构类知识的目的,是为了获取并记住其中的信息。找出讲什么(而且是尽可能快速和容易地),这是阅读这些内容的首要目标。所以一个好的建议是:永远不要从头到尾的读非虚构类书籍。
阅读一篇机器学习Paper的方式
从零开始,指的是我们要从零了解这篇文章做了什么事情、使用了什么方法、得到什么结果,这样的方法和结果对我有没有什么借鉴。而不是说,接触到一个全新的领域,从读论文开始入手。对于没有过接触的陌生领域。我的方法是,先看中文综述,中文博士论文,而后是英文综述。通过中文综述,可以首先了解这个领域的基本名词、实验常用方法。
否则直接从论文入手的话,作者站的高度和我们的水平不一致,很容易想当然的理解或者根本看不下去。因此,在阅读这篇文章之前,对于这篇文章中涉及到的基础知识,对应中文基础都理解透彻。这时,回归到从零开始理解这篇文章的状态。这里有3个递增的层次:
读懂这篇文章的概要信息(5-10分钟)
- 认真读懂标题、摘要、简介(title, abstract, and introduction)。
- 只读各个部分和子部分(section and sub-section)的标题,跳过具体内容。
- 读懂结论和讨论(作者通常会在这里论述本研究的不足和缺失,为未来的研究提供建议,指明方向)。
- 浏览参考文献,记下哪些文献是你已经读过的。
抓住文章的内容,忽略文章细节(1个小时)
- 对图、表的含义以及他们支持的结论弄懂。
- 记下参考文献中你认为重要的未读文献,它能让你对这篇文章的背景有深刻理解。
在这个层次中,如果遇到读不懂(原因有很多:公式太多、对术语不理解、对实验手段不熟悉、参考文献的文献过多)。说明我们还没有和作者在一个基础上,建议先从几篇重要的参考文献入手,补充背景知识。
深入细节理解文章(2-3小时)
如果这个文章是你想应用到目前工程中的,则需要这个层次,目标是能够在相同的假设条件下,重现(re-implement)论文。同时,要注重论文在GitHub上的对应代码,跳到程序中能加速理解。比较你重现的结果和原论文,就能真正理解一篇文章的创新点,以及它的隐含前提或假设。并且你能从重现过程中得到一些你未来工作的方向。
做这三个层次的好处就是,能够让你对读一篇文章的时间有合理的估计,甚至可以根据时间和你的工作需要调整掌握一篇文章的深度。
参考:
* 《怎样读一本书V5.0 》(http://liujinkai.com/2017/02/08/how-to-read-a-book/)