逐层阅读 research paper:Dmitry Berenson 的方法论
本博客翻译了 这篇文章,包含很实用的 读论文的方法论。
读论文的四个 layers
在读论文之前,要首先搞清楚,自己读论文的目的是什么,或者 希望读到什么程度。
下表列出了常见的读论文目的,以及相应的理解程度 layers(1 最浅 4 最深):
| 目的 | layer | 目的 | layer |
|---|---|---|---|
| 了解领域背景 | 1 | 评估是否引用论文(相同主题,方法非常不同) | 1 |
| 评估自己对该领域是否感兴趣 | 1 | 评估是否引用论文(相同主题,方法有些不同) | 2 |
| 关键词搜寻 | 1 | 思考自己如何引用该论文(相同主题,方法有些相似) | 3 |
| 课堂演示(5~10 min) | 2 | 思考自己如何引用该论文(相同主题,方法非常相似) | 4 |
| 课堂演示(>10 min) | 3 | 复现 | 4 |
| review | 3 |
然后,分别介绍各个 layer 所需的理解程度 + 阅读论文方法。
layer 1:知道 main idea
如果只想 对该领域产生一些感性了解、看看自己是否感兴趣,或者 看看是否引用这篇论文(方法非常不同),读到 layer 1 就足够了。
- 需要回答以下问题:
- 【问题定义】作者试图解决 / 研究什么类型的问题 / 现象?
- 【问题重要性】读者为什么要关心这个问题 / 现象?
- 【novelty】proposed method 与 previous works 有什么不同?
- 【为何胜出】比 previous works 好在哪里?(比如 性能更好 / 更 general / 更快)
- 【论文在文献树上的位置】这是什么类型的方法?(通常有几种方法可以解决相同的问题)
- 【实际应用】这项工作有哪些应用?
- 需要阅读:
- abstract + intro + conclusion,获得全文概览。
- 图、表,有助于快速获取感性认知。
- related work,有助于理解 这篇论文在整个文献树上的位置。
- 如果搞 engineering,还需要看实验结果(小心 demoware)。
layer 2:知道 proposed method 的 structure
(首先确保已经做完 layer 1)
如果需要做个 5~10min 的 pre,或者 看看是否引用这篇论文(方法还是有些不同的),需要读到 layer 2。
- 需要做到以下内容:
- 【画出整个 method 的框图】,每一模块的 目的功能 + 输入输出。
- 通常,大多数模块我们都不关心(和论文主旨无关 / 自己不感兴趣),仅关心个别模块。
- 需要阅读:
- 图、表,原文直接给出 structure 图最好。
- method(以及 abstract intro 等),标注不清楚的地方(layer 3 再去 check),注意不要陷到细节里。
layer 3:比较重要的细节
(首先确保已经做完 layer 1 2)
如果需要做个超过 10min 的 pre,或者 决定如何引用这篇论文(方法有些类似),需要读到 layer 3。
▷▷▷ 是时候深入研究细节了!
- 需要做到以下内容:
- 密切关注作者的 main contribution,并确保理解 他们所谈论的每一步。
- 一个有用的实践,是想象一个给定的输入,模拟 proposed method 如何处理它。
- 例如,对于 A* 算法,想象一个有起点和目标的迷宫环境,并画出 A* 算法在搜索时会扩展的单元格(不需要全部画出,足以获得直觉)。甚至可以想象该方法的一个困难案例(例如 A* 的死胡同),并考虑 A* 如何应对它。
- 如果在做 engineering,也请仔细 check 实验结果:
- 【result & conclusion 匹配吗】结果是否证明了 该方法的合理性?
- 【有无遗漏的实验】是否有 应该测试但没测试的 案例 / 场景?
- 【performance & complexity 的权衡】(对于某些可量化的指标),proposed method 相比于其他方法的优势,能否使人接受 它新引入的 complexity?
- 【不 work 的场景】方法在哪些情况下失败?
- 密切关注作者的 main contribution,并确保理解 他们所谈论的每一步。
- 需要阅读:
- 追踪 有关 main method 的、自己不熟悉的引文。
- 我们应该遍历关键的引文,并至少通读一层的深度;但如果真的很重要,那么可能读两层。
- 如果在做 engineering,实验结果部分。
- 追踪 有关 main method 的、自己不熟悉的引文。
layer 4:其他细节
(首先确保已经做完 layer 1 2 3)
如果需要 决定如何引用这篇论文(方法非常相似,正在寻找它与我们的细微差别 ),或者 打算复现论文,或许需要读到 layer 4。
作者并不推荐读的那么细。
- 需要做到以下内容:
- 查看 structure 框图中,不是 main contribution 的所有其他模块,并研究如何实现它们。
- 或许我们还在寻找 实现过程的细微细节,这些 tricks 或许能改进 performance。
- 需要阅读:
- 不幸的是,在这一点上,原文作者能给出的一般性建议很少,除了 ① 理解要彻底,② 如果想实现这个方法,我们可能会在一开始就出错。(别担心,出错是自然的,因为论文在描述 implementation 时,不可避免会遗漏一些东西。)
往后退一步
如果想在它的基础上 继续前进一步,则在视野上 需要往后退一步,更加宏观 更加整体。
- 询问以下关键问题:
- 论文的优点是什么,即 它在哪些方面做得很好。
- 【论文合理性】实验结果真的能证明 他们 claim 的结论吗?
- 论文做了哪些假设?
- 【论文合理性】假设可能会限制 该方法对某些重要场景的适用性,甚至不适用于实际情况。
- 【论文完备性】有时候假设很清楚,但通常也有一些隐藏的假设。发现隐性假设的一个好方法是,试着想一个 “打破” 该方法的例子。
- 【进一步改进】可以通过 考虑拿掉某些假设的情况,来做下一步的改进。
- 如何改进这项工作?(可能是一些冒出来的想法)
- 某些 “未来展望” 章节的内容,很可能是事后诸葛亮,并不值得做。
- 论文的优点是什么,即 它在哪些方面做得很好。
逐层阅读 research paper:Dmitry Berenson 的方法论的更多相关文章
- 如何写出优秀的研究论文 Chapter 1. How to Write an A+ Research Paper
This Chapter outlines the logical steps to writing a good research paper. To achieve supreme excelle ...
- How to Read an Engineering Research Paper
How to Read an Engineering Research Paper William G. Griswold Department of Computer Science & E ...
- 写essay和research paper必用的17个网站
1.http://scholar.google.com/ 虽然还是Beta版,但个人已觉得现在已经是很好很强大了,Google学术搜索滤掉了普通搜索结果中大量的垃圾信息,排列出文章的不同版本以及被其它 ...
- ### Paper about Event Detection
Paper about Event Detection. #@author: gr #@date: 2014-03-15 #@email: forgerui@gmail.com 看一些相关的论文. 1 ...
- 译文 - Recommender Systems: Issues, Challenges, and Research Opportunities
REF: 原文 Recommender Systems: Issues, Challenges, and Research Opportunities Shah Khusro, Zafar Ali a ...
- 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
Densely Connected Convolutional Networks,CVPR-2017-best paper之一(共两篇,另外一篇是apple关于GAN的paper),早在去年八月 De ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- Awesome Deep Vision
Awesome Deep Vision A curated list of deep learning resources for computer vision, inspired by awes ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
随机推荐
- ExtJS 布局-Accordion布局(Accordion layout)
更新记录: 2022年6月2日 开始. 2022年6月3日 发布. 1.说明 accordion(手风琴)布局一次仅显示一个子组件,内置支持 折叠 和 展开.当需要堆叠多个子组件,并每次只显示一次时, ...
- 24.Haproxy搭建Web群集
Haproxy搭建Web群集 目录 Haproxy搭建Web群集 Haproxy简介 常见的Web集群调度器 软件类 硬件类 Haproxy应用分析 HAProxy的主要特性 HAProxy常见的8种 ...
- 全新升级的AOP框架Dora.Interception[2]: 基于“约定”的拦截器定义方式
Dora.Interception有别于其他AOP框架的最大的一个特点就是采用针对"约定"的拦截器定义方式.如果我们为拦截器定义了一个接口或者基类,那么拦截方法将失去任意注册依赖服 ...
- VisionPro · C# · 卸载相机
在项目程序关闭前,需要将之前链接上的相机全部卸载,否则,关闭程序将出现弹窗报错. 解决报错,卸载相机代码如下: using System; using System.Windows.Forms; us ...
- python采集一下美团外卖数据~~
所需知识点(https://jq.qq.com/?_wv=1027&k=Ap5XvyNN) 1.动态数据抓包演示2.json数据解析3.requests模块的使用4.保存csv 安装命令:re ...
- UML之顺序图(时序图)
1 顺序图 1.1 顺序图的概念 顺序图(sequence diagram): 用来描述为了完成确定事务,对象之间按照时间消息交互的顺序关系. 1.2 顺序图样式和元素 (1) 对象及命名 (2) 生 ...
- 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗
拉取外网 Kubernetes 镜像 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗? 传送门 https://github.com/liamhao/pu ...
- 【微服务专题之】.Net6下集成消息队列上-RabbitMQ
微信公众号:趣编程ACE关注可了解更多的.NET日常实战开发技巧,如需源码 请公众号后台留言 源码;[如果觉得本公众号对您有帮助,欢迎关注] .Net中RabbitMQ的使用 [微服务专题之].N ...
- NC14683 储物点的距离
NC14683 储物点的距离 题目 题目描述 一个数轴,每一个储物点会有一些东西,同时它们之间存在距离. 每次给个区间 \([l,r]\) ,查询把这个区间内所有储物点的东西运到另外一个储物点的代价是 ...
- 《ASP.NET Core 6框架揭秘》样章发布[200页/5章]
作为<ASP.NET Core 3 框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>不仅针对ASP.NET Core 6的新特性进行了修订,并添加了若干原来没有的内 ...