程序锅

  • 首页
  • 分类
  • 标签
  • 归档
  • 关于

  • 搜索
基础知识 Etcd LeetCode 计算机体系结构 Kubernetes Containerd Docker 容器 云原生 Serverless 项目开发维护 ELF 深入理解程序 Tmux Vim Linux Kernel Linux numpy matplotlib 机器学习 MQTT 网络基础 Thrift RPC OS 操作系统 Clang 研途 数据结构和算法 Java 编程语言 Golang Python 个人网站搭建 Nginx 计算机通用技术 Git

研途 | how to read a paper

发表于 2020-11-14 | 分类于 研途 | 0 | 阅读次数 3971

简介

研究者需要花很多时间在读论文上,他们读论文往往是因为想要跟进当前领域的最新研究或者是对一个新的领域做一个文献调查。但是,有效的读论文方式却很少有人教你,研究者往往花费了很多努力在读论文上面。下面将先阐述一种可行并且高效的 three-pass 方法来阅读论文。之后再阐述如何将这种方法用于文献调查。

The Three-Pass Approach

这种方式最关键的点是你应该分三个阶段去阅读论文,而不是一次性从头读到尾。每一阶段都要完成特定的目标,并且是建立在前一阶段的基础之上:第一阶段,对这篇论文有一个大致的了解。第二阶段,掌握论文的内容,但不是细节上的。第三阶段,以一种很深层次的角度去理解论文。

The first pass

第一阶段是快速扫描,对这篇论文有一个大致的印象。这样可以决定你是否需要继续读第二阶段、第三阶段。这一阶段,你需要花费 5-10 分钟的时间,包括以下这些步骤:

  • 仔细阅读 title、abstrat 和 introduction
  • 仅仅阅读 section 和 sub-section 的标题,但是忽略其他事
  • 阅读 conclusion
  • 看一下 references,将那些已经读过的文献打勾

第一次读完之后,你应该可以回答以下这五点:

  • 论文类别(category):论文的类型是什么?测试论文?已存在系统的分析?研究原型的描述?
  • 论文上下文(context):跟这个相关的其他论文(related word)?使用了哪种理论基础来分析这个问题的?
  • 论文正确性(correctness):论文的假设有效嘛?
  • 论文贡献(contributions):这篇论文主要的贡献有哪些?
  • 论文表述清楚程度(clarity):这篇论文写得好嘛?

使用这些信息,你可能选择不再阅读这篇论文。原因有以下几点:一是因为这篇论文不吸引你,二是你对这块领域的背景知识等了解不够以至于无法理解这篇论文,三是论文的作者做了不合理的假设。但是,第一次阅读之后对你判断这篇论文跟你的研究领域研究是否相关就已经足够了。

所以,反过来,当你在写论文的时候,假如你不想读你论文的人在第一次读完之后就放弃你这篇论文,请你一定要选择好 section 和 sub-section 的标题名字,并且写出简明和全面的摘要。

The second pass

第二阶段阅读的时候,要更仔细阅读论文,但是忽略细节的东西,比如证明的部分。在阅读过程中,记录关键点或者做在论文边上做评论,这将会很有用。第二阶段的阅读还需要额外注意以下几点:

  • **仔细阅读文中的图表和其他插图。**需要特别注意图,比如坐标轴是否正确的标记?是否用了错误的 bars 来展示结果,所以才导致结果在统计上是显著?这些常见的错误将会区分哪些是粗制滥造、仓促的作品,哪些是真正优秀的作品。
  • **记得标注出相关的但是未读的参考文献,以便进一步阅读。**这一步有利于去学习这篇论文的背景。

第二阶段需要花费大概 1 小时的时间(作者所需的时间,而不是我们的时间)。在第二阶段阅读过后,你需要完成以下这几点:

  • 你应该能理解论文的内容。
  • 你应该能够总结出论文的主旨和一些支持性的证据。

需要注意的是这种程度的阅读适合你感兴趣的一篇论文,但是不应该是你研究领域的论文程度。也就是说,你研究领域的论文仅仅完成第二步是不够的。

假如你在第二阶段的阅读之后,你也无法理解这篇论文。这可能是因为

  • 论文相关的课题对你来说是相对新颖的,有不熟悉的术语和缩写。
  • 作者使用了你不理解的证明或者实验技术,所以论文的大部分是不能理解的。
  • 这篇论文写得很差,有很多东西未经过证实,还有很多 forward reference(前向声明的意思是在声明之前就使用了某个标识符,那么在论文中的意思是没有阐述过一个概念而直接使用了这个概念)
  • 可能也是你比较累了;

所以针对以上几点,你可以

  • 将论文搁置在一边,然后期望不需要理解这些材料就可以让你的事业获得成功;
  • 在阅读一些背景资料之后,重新阅读这篇论文;
  • 坚持到第三阶段(个人理解:这个主要看这篇论文是不是你领域相关的)

个人理解:作者潜在的意思是假如这篇论文仅仅是你感兴趣的话,那么你最好也去了解这些背景资料读懂它;而这篇论文是你领域相关的话,那么除了需要了解背景知识、重新阅读和理解之外,还需要坚持到第三步。

The third pass

当你需要完全理解一篇文章的时候,你需要第三阶段(比如你是审稿人的话)。第三阶段的关键是尝试去虚拟重现一篇论文,主要分为以下几步:

  • 在跟作者相同的假设下,重新做这个工作。
  • 然后比较重做之后的工作和实际的论文,那么你不仅可以很容易发现这篇论文的创新点,还会很容易发现它隐藏的失败和假设。

同时还需要对细节还特别关注,你还应该:

  • 你应该识别并抱着质疑去看每句话中的每一个假设。
  • 再者,你应该考虑你自己将会怎么去陈述一个 idea。

这种虚拟和现实地比较,

  • 将会让你对这篇论文的证明和展示方法有一个深刻的见解,说不定你之后还会把这种方式加入到自己的工具列表中,用于今后的科研工作。
  • 你也应该记下来未来工作的想法。

**个人理解是,深刻理解这篇论文用到的方法并让它为自己所用,同时通过比较发现这篇论文中存在的问题,然后针对这个问题构思出自己的一个想法。**这一阶段对新手来说将会花费 4-5 小时的,对一个有经验的读者来说大概一小时就够了(这个只是作者估计的,实际上的话那就不清楚了)

另外,在这一阶段的最后,你应该达到这些标准:

  • 你会你应该根据记忆重构这篇论文完整的结构,同时你也会认识到这篇论文出色的地方和缺陷的地方。
  • 再者,你还应该可以找出隐含的假设,发现这篇论文对相关工作缺失的引用,实验或者分析技术存在的潜在问题。

Doing a literature survey

上述的 three-pass 方法可以应用于文献调查,文献调查可以要求阅读数十篇论文,而且这个领域可能是你不熟悉的领域。那么,文献调查中你需要阅读哪些论文呢?

  • 第一步,使用一个学术搜索引擎,比如 Google Scholar 或者 CiteSeer,加上一些精心挑选 keywords 找到 3-5 篇这个领域最近的论文。对每一篇论文执行第一阶段的阅读,找到对这块工作的感觉,之后阅读他们相关的 related work 部分。这样,你会发现最近工作的缩略图,并且有可能会发现最近的一篇 survey paper。如果找到这样一篇 survey,那么就相当于完成文献调查的工作,只要阅读这篇 survey 就好了。

  • 假如没找到的话,第二步,在 bibliography 中找到共同的 citations 和 重复的作者名字。这些都是该领域的 key paper 和 researchers。之后把这些 key paper 下载下来放在一边,再去那些 researchers 的 websites 看看他们最近出版的东西。这将会帮助你识别出该领域中哪些是顶级的会议,因为这些最好的 researchers 经常在顶会中发表论文。(个人感觉也可以看看这些 key paper 发表在哪里,这些 key paper 所发表的论文也一般都是顶会)

  • 第三步是去这些顶会的网站,看看这些会议的最近进展。快速的扫描这些顶会网站,你通常会发现最近高质量的相关工作。这些 papers 和你之前找到的论文,组成了你自己第一版本的 survey。之后对这些 paper 进行接下去两阶段的阅读。

    此时你可能会发现它们都引用了一篇你之前没有注意到的 key paper,那么阅读这篇论文,必要的时候还需要阅读这篇论文。

可参考

  1. Timothy Roscoe’s, “Writing Reviews for Systems Conferences,” http://people.inf.ethz.ch/troscoe/pubs/review-writing.pdf
  2. H. Schulzrinne, “Writing Technical Articles,” http://www.cs.columbia.edu/hgs/etc/writing-style.html
  3. G.M. Whitesides, “Whitesides’ Group: Writing a Paper,” http://www.che.iitm.ac.in/misc/dd/writepaper.pdf.
  4. 持续更新的链接: ACM SIGCOMM Computer Communication Review Online, http://www.sigcomm.org/ccr/drupal/.
卷死我
dawnguo 微信支付

微信支付

dawnguo 支付宝

支付宝

  • 本文作者: dawnguo
  • 本文链接: /archives/34
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 研途
Linux Cheat Sheet - 系统、进程、磁盘、网络、安装等
Serverless | 重新认识下 Serverless
  • 文章目录
  • 站点概览
dawnguo

dawnguo

215 日志
24 分类
37 标签
RSS
Creative Commons
© 2018 — 2025 程序锅
0%