如何读论文
讲在前面
仅供参考,如有不足,不吝赐教。
如何找论文、读论文的工具
connectedpaper 输出一篇论文名字以后,会展示与之相关的论文。可以迭代的搜索。
Paperwithcode 顾名思义,此外有 SOTA 的 list 。
明确读论文的目的
读一篇论文需要明确目的,目的不同也决定了读论文的方式不同。读论文的目的无外乎一下几点:
- 纯小白,第一次读论文,导师让我读一读这一篇论文。
- 了解这个领域。
- 了解这篇 paper 的方法。
- 要复现这篇论文。
- 寻找一些灵感。
第一种通常的目的通常会包含在其他情况下。
论文的结构
- Abstract 一个简单的对于论文的介绍,以及概括性的描述。
- Introduction 大致介绍论文的背景知识,以及论文的贡献点。
- Related work 介绍一些之前的相关工作。
- Method 分模块详细介绍论文的方法。
- Result and evaluation (experiment) 实验部分。
- Conclusion 结论,通常会写一些优缺点,以及未来的展望。
- Supplement 补充材料。一些细节的实现已经更多的实验结果。(不是每一篇论文都有)
如何读论文
在读论文之前需要先看一看有没有对应的 video,code,project page,talk 等等。
读论文需要迭代,一篇论文是其他团队耗时数月的结果,不要想着花极短的时间就能看懂 100% 。
通常看懂剩下的 10%-20% 是最花时间的,但不是每一篇论文都需要看懂剩下的 10%-20% 。
第一遍 —— 快速了解论文
看论文先看 Abstract,然后再看论文的第一张图片以及对应的描述。然后看实验部分的结果。最后看论文的结论。
这一遍看论文的目的在于明确知道论文在研究什么问题。这个问题输入是什么输出是什么。论文的方法达到了一个怎样的结果。看着过程中要根据自己的目的判断一下是否需要继续读这篇论文,如果需要的话,那么在读 Conclusion 的时候要关注一下论文分为了哪几个模块。
第二遍 —— 了解这个领域 / 了解这篇 paper 的方法
这一遍读论文,目的不同关注的文章的部分就要有所区分。
再重新读第二遍之前,不妨先想想如果是自己的话,自己会如何考虑论文要解决的问题。
- 了解这个领域
如果是要通过这篇文章了解这个领域,那么论文的 Introduction 以及 Related work 部分就要仔细的阅读。
同时记录提到的论文,结合 connectedpaper 。把相关论文的 Related work 都读一读。然后把高引用的,多篇论文都提到的论文拿出来要精读。
- 了解这篇 paper 本身提到的方法
如果是了解 paper 本身提到的方法,那么 Introduction 以及 Related work 可以非常快的过一下。甚至 Related work 也可以完全不看。
剩下的重点要关注 Method 部分。这一部分通常是论文最不太容易看懂的部分,通常会涉及到很多公式以及方法的描述。个人建议仍然采用迭代的方法,按模块划分。Method 结束以后通常要看一下实验部分,效果如何,以及实验是如何设计的,是否公平等等。
第三遍 —— 总结
第三遍通常要针对论文,自己看不太懂的地方去查阅一些资料,整理。其次可以开始思考论文的 Contribution 究竟是否有效,是否合理。哪里导致了论文性能的提升,哪里又存在缺陷。
至此论文基本算是看完了。如果要复现论文,那么就需要迭代更多次,去阅读论文了。