如何阅读 Paper
前言
论文(Paper)通常是新技术、算法、编程方法或软件工具的首次公布。通过阅读论文,我们可以了解最新的技术进展,保持自己的技能和知识是最新的。
同时,论文提供了对特定主题深入理解的机会。它们通常包含详细的理论分析和实验结果,这有助于深入理解某个概念或技术。但是,如何高效地阅读论文是一项关键但很少有人谈论的技能。刚开始大部分人自己通过试错来学习,但常常被挫败感所劝退。本文介绍一种阅读论文的方法——三遍阅读法。
三遍阅读法
关键思想是你应该最多阅读三遍论文,而不是从开头一直读到结尾。每一遍都完成特定的目标,并在前一遍的基础上构建:
第一遍
快速浏览,获得论文的大致概念。你还可以决定是否需要进行更多的阅读。这一遍一般需要大约 5 到 10 分钟,并包括以下步骤:
- 仔细阅读标题、摘要和引言
- 阅读章节和小节标题,但忽略其他所有内容
- 阅读结论
- 浏览参考文献,心中记下你已经阅读过的
在第一遍结束时,你应该能够回答这五个 C(Category、Context、Correctness、Contributions、Clarity):
- 类别:这是哪种类型的论文?是测量论文吗?是对现有系统分析吗?是研究原型的描述吗?
- 上下文:它与哪些其他论文相关?使用哪些理论基础来分析问题?
- 正确性:假设看起来有效吗?
- 贡献:论文的主要贡献是什么?
- 清晰度:论文写得好吗?
利用这些信息,你可能会决定不再继续阅读。这可能是因为论文不引起你的兴趣,或者你对该领域不够了解,无法理解论文,或者作者做出了无效的假设。第一遍对于不在你感兴趣的领域内,但将来可能相关的论文来说是足够的。如果读者在五分钟后不能理解论文的亮点,论文很可能永远不会被阅读。
第二遍
在第二遍中,更仔细地阅读论文,但忽略细节,如证明。在阅读时记下关键点或在边缘做注释会很有帮助。
仔细查看论文中的图表、图表和其他插图。特别注意图形。轴是否正确标记?结果是否显示了误差条,以便结论具有统计意义?这些常见的错误将区分匆忙、粗制滥造的工作和真正优秀的工作。
记得标记相关未读的参考文献以供进一步阅读(这是了解论文背景的好方法)。 第二遍应该需要最多一个小时。在这一遍之后,你应该能够把握论文的内容。你应该能够向别人总结论文的主要论点,并提供支持证据。
这种细节水平适合你感兴趣的论文,但不属于你的研究专业。有时即使你在第二遍结束时也不理解论文。这可能是因为主题对你来说是新的,有不熟悉的术语和缩写词。或者作者使用了一个你不理解的证明或实验技术,以至于论文的大部分内容对你来说是无法理解的。
论文可能写得很糟糕,有未经证实的断言和许多前向引用。或者,可能只是因为现在是深夜,你很累。你现在可以选择:
(a) 把论文放在一边,希望你不需要理解这些材料就能在你的职业生涯中取得成功
(b) 稍后再回到论文,也许在阅读背景材料之后
(c) 坚持下去,进行第三遍阅读。
第三遍
要完全理解一篇论文。第三遍的关键是尝试虚拟地重新实现论文:也就是说,做出与作者相同的假设,重新创建工作。通过将这个重新创建与实际论文进行比较,你可以很容易地识别出论文的创新之处,以及它的隐藏缺陷和假设。
这一遍需要极大的注意力。你应该识别并挑战每一条陈述中的每一个假设。此外,你应该思考你自己会如何表达一个特定的想法。实际与虚拟的比较可以非常深入地洞察论文中的证明和展示技巧,并且你很可能可以将这些技巧添加到你的工具箱中。在这一遍期间,你还应该记下未来工作的想法。
对于初学者来说,这一遍可能需要大约四到五个小时,对于有经验的读者来说,大约需要一个小时。在这一遍结束时,你应该能够从记忆中重建整篇论文的结构,并且能够识别出它的优点和缺点。特别是,你应该能够指出隐含的假设、遗漏的相关工作的引用,以及实验或分析技术可能存在的问题。
最后,要进行文献综述
在进行文献综述时,会考验你的论文阅读技能。这将要求你阅读数十篇论文,可能在一个不熟悉的领域。你应该阅读哪些论文?以下是如何使用三遍阅读方法来帮助: 首先,使用学术搜索引擎,如 Google Scholar ,以及一些精心选择的关键词,找到该领域最近的三到五篇论文。
对每篇论文进行一遍阅读,以了解工作,然后阅读它们的相关工作部分。你将找到最近工作的缩略图摘要,也许你很幸运,会找到一个最近的综述论文。如果你能找到这样的综述,你就完成了。
阅读综述,为自己感到幸运。否则,在第二步中,在参考文献中找到共享的引用和重复的作者名字。这些是该领域的关键论文和研究人员。下载关键论文并将它们放在一边。然后,访问关键研究人员的网站,看看他们最近在哪里发表了文章。 这将帮助你确定该领域的顶级会议,因为最好的研究人员通常在顶级会议上发表文章。
第三步是访问这些顶级会议的网站,并浏览他们最近的会议记录。快速浏览通常可以识别出最近的高质量相关工作。这些论文,以及你之前放在一边的论文,构成了你的调查的第一版。对这些论文进行两遍阅读。如果它们都引用了一个你之前没有找到的关键论文,那么获取并阅读它,根据需要进行迭代。
如何阅读 Paper的更多相关文章
- 学习Data Science/Deep Learning的一些材料
原文发布于我的微信公众号: GeekArtT. 从CFA到如今的Data Science/Deep Learning的学习已经有一年的时间了.期间经历了自我的兴趣.擅长事务的探索和试验,有放弃了的项目 ...
- 边框回归(Bounding Box Regression)详解
原文地址:http://blog.csdn.net/zijin0802034/article/details/77685438 Bounding-Box regression 最近一直看检测有关的Pa ...
- [转]边框回归(Bounding Box Regression)详解
https://blog.csdn.net/zijin0802034/article/details/77685438 Bounding-Box regression 最近一直看检测有关的Paper, ...
- 【边框回归】边框回归(Bounding Box Regression)详解(转)
转自:打开链接 Bounding-Box regression 最近一直看检测有关的Paper, 从rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到今年 ...
- ASE——热身作业自我介绍
自我介绍 大家好我是王皓,由于之前忙于保研的机试和面试导致第一次作业就拖到第二次写blog的时候才交(非常抱歉..)我喜欢玩CTF,觉得学习安全方向的知识,寻找软件或者硬件的漏洞是一件非常有意义且有趣 ...
- 车道线检测LaneNet
LaneNet LanNet Segmentation branch 完成语义分割,即判断出像素属于车道or背景 Embedding branch 完成像素的向量表示,用于后续聚类,以完成实例分割 H ...
- 【深度强化学习】Curriculum-guided Hindsight Experience Replay读后感
目录 导读 目录 正文 Abstract[摘要] Introduction[介绍] 导读 看任何一个领域的文章,一定要看第一手资料.学习他们的思考方式,论述逻辑,得出一点自己的感悟.因此,通过阅读pa ...
- ASE课程总结 by 林建平
设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的辅助用户在阅读英文文献时记忆生词,提高用户的生词量,减少用户的阅读障碍.定义非常清晰,要有查 ...
- Paper阅读总结Day1
Paper阅读总结Day1 1.Convolutional Neural Networks For Facial Expression Recognition 文章思想 简单的一篇关于表情识别的文章, ...
- How to Read a Paper丨如何阅读一篇论文
这是我在看论文时无意刷到的博客推荐的一篇文章"How to Read a Paper",教你怎么样看论文.对于研究生来说,看论文基本是日常,一篇论文十多二十页,如何高效地读论文确实 ...
随机推荐
- KingbaseESV8R6手工vacuum带有全局分区索引的分区表的影响
背景 客户现场有这样一个案例,有张500个分区的大表,每个分区有20万条记录.有update 非常频繁,经常会触发autovacuum.由于表很大,autovacuum 耗时很长.据现场同事反馈,手工 ...
- Android NDK之使用 arm-v7a 汇编实现两数之和
Android NDK之使用 arm-v7a 汇编实现两数之和 关键词: NDK armv7a WebRTC arm汇编 CMake 最近适配对讲程序,在webrtc的库编译的过程中,发现其为arm的 ...
- Python 布尔类型
布尔值表示两个值之一:True(真)或False(假). 布尔值 在编程中,您经常需要知道一个表达式是否为True或False. 您可以在Python中评估任何表达式,并获得两个答案之一:True或F ...
- 51nod 1268
51nod 1268 基础dfs 题目如下: 给出 N 个正整数组成的数组 A,求能否从中选出若干个,使他们的和 为 K.如果可以,输出:"Yes",否则输出"No&qu ...
- Python 爬虫进阶五之多线程的用法
Python 爬虫进阶五之多线程的用法 作者 崔庆才 发表于 2016-11-03 分类于 Python 阅读次数: 60553 本文字数: 7.5k 阅读时长 ≈ 7 分钟 前言 ...
- c# semaphoreSlim限制线程数
前言 我们在使用线程的时候,如果多个线程数去访问一个资源的时候,那么是非常影响程序的运行的,因为如果有写的操作,那么需要写锁,那么线程都会堵在同一个地方,那么我们可以限制一下访问一个资源的线程数. 正 ...
- 从LLaMA-Factory项目认识微调
概述 什么是LLaMA-Factory? LLaMA-Factory是一个在github上开源的,专为大模型训练设计的平台.项目提供中文说明,可以参考官方文档:https://github.com/h ...
- Typescript 的数据类型有哪些?
一.是什么 typescript 和 javascript几乎一样,拥有相同的数据类型,另外在javascript基础上提供了更加实用的类型供开发使用 在开发阶段,可以为明确的变量定义为某种类型,这样 ...
- 体验下,大厂在使用功能的API网关!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 大家好,我是技术UP主小傅哥. 还是在22年的时候,小傅哥做了一套基于 Netty 协议转换和 ...
- vue-manage-system 版本更新,让开发更加简单
vue-manage-system 近期进行了一次版本升级,主要是支持了更多功能.升级依赖版本和优化样式,并且上线了官方文档网站,大部分功能都有文档或者使用示例,更加适合新手上手开发,只需要根据实际业 ...