1.学习资源
papers with code
https://paperswithcode.com/
论文精读公众号:老徐书房
论文精读知乎:臭皮匠
2.一般论文结构
(1)摘要
论文简介,阐述工作内容、难点在哪、创新点、解决什么问题、效果怎么样
(2)引言(摘要前半部分展开)
介绍研究背景、研究意义(motivation)、发展历程、提出问题,提出解决方法(We propose a novel “task name” framework,xxx,which…)、贡献点(一般三条为宜)
(3)相关工作
相关研究算法简介,分析之前方法存在的缺点(明确改进方向)
(4)本文工作
论文主要方法及实现细节
先给出整体的网络结构,然后按照数据流顺序逐部分拆解,然后从实验角度讨论损失函数的选择和设计(以及超参数的讨论、对比情况)
(5)实验部分
介绍算法实现步骤及结果分析
①implementation details
-
数据集、训练集、测试集划分(一般会沿用SOTA的划分方式)
-
training procedure的设定:显卡、框架等
-
使用的优化器和具体的设置参数
-
batch size、超参数的选择等
-
其他数据处理方式
②Results
-
定量分析:相比较SOTA方法有什么改进
-
定性分析:结合具体实例进行分析,在某些方面突出表现比SOTA好的地方
③Ablation Study 消融实验
如果去掉这块处理,实验效果明显变差,说明这个处理是很有必要的
消融实验一般是会先找一个baseline,有时也会称其为vanilla(这算是个梗吗,就是外国人觉得「香草」这个味道跟原味没太大差别,所以就代指「朴素」了),然后逐渐对其添加模块,以彰显出某一模块的作用。比如一个方法是由vanilla+A+B+C组成的,那么ablation study可以是用vanilla,vanilla+A,vanilla+A+B,vanilla+A+B+C组成的,以表现出A、B、C三个模块分别对于任务贡献了多少。也可以是vanilla+B+C,只要输入输出是允许的。
(6)探讨部分:论文结论及未来可研究方向
如何证明数据指标上更高不是因为过拟合?
常见的操作有,对中间层的feature map做抽离,做一些可视化,比如损失函数中说这部分是为了让训练出的A有着xx的效果,那么就需要对A进行一下可视化,看看到底有没有这样的效果。也可以做一些泛化性能上的比较测试等,总之这一部分算是锦上添花的一部分,所以说比较弹性——毕竟「锦」就已经足够让论文投中了。
(7)结论
这块内容主要就是对abstract的rewrite了,做一个全文收束的作用。
3. 论文阅读方法
(1)泛读
①标题:方法、任务
②摘要:这篇论文用什么方法解决哪些问题,达到什么效果
③引言:发展历程(历届SOTA)、提出问题、动机、贡献点(方法或创新点)
④所有小标题:分析每个小标题的设置,了解解决问题的思路和过程
⑤所有的图片、表格浏览
⑥结论
回答问题:
论文要解决什么问题?
论文采用了什么方法?
论文达到什么效果?
(2)精读
面面俱到,仔细品读
(3)总结+验证
总结是对论文创新点、关键点、启发点进行摘抄记录,总结和写论文、发论文有关的信息句子。
验证就是明确这篇论文有哪些可以借鉴的点,能帮助我们解决哪些实际项目问题。
4.读完论文总结
阅读时间
论文题目
第一作者
主题分类
关键技术
总结
motivation
理解程度