1. 学习别人的方法
论文导读:如何快速掌握一个新的科研方向?一个新手应该怎么读论文? - 知乎
论文导读:如何高效读论文? (zhihu.com)
吴恩达:关于机器学习职业生涯以及阅读论文的一些建议https://www.youtube.com/watch?v=733m6qBH-jI期待大家能给我一个三连,至少能够点个赞吧~关注公众号:AI算法与图像处理,回复“b站”,可以阅读翻译原文~https://www.bilibili.com/video/BV18E411h7sG?from=search&seid=599132922446187868Andrew Ng(吴恩达)关于机器学习职业生涯以及阅读论文的一些建议一篇干货满满的文章https://mp.weixin.qq.com/s/83V--4IdtOJ4pP-muEiUVw
网上的教程远不止于此,可以多多搜集阅读、尝试、实践,集众家之所长,并以此为基础总结出自己的一套方法。
2. 总结先人之道:
记录:笔记的形式,把收获永久保存下来(比如论文的idea)。PPT汇报的形式,给大家分享自己的收获,通过对话和讲述带来思想上的交流,能够更好的缕清思路。
精读与粗读:读不同类型的论文有不同的方法,有些论文(比如综述)适合泛泛而读,大致了解其中讲述的知识和概念;有些论文适合精读(自己小方向),详细弄懂其中的方法设计、实验结果、实现代码。
中文与英文:当新接触到一个领域时,其实读中文论文更容易上手,能够迅速的掌握新概念。然而再继续深入学习时,大家普遍会把行业最新工作发表在英文论文中。所以还是以英文论文为主,能够帮助了解最新方法,找到工作思路。
公式:基本上,论文的方法都是在前人的基础上做改进,它们的公式也是在某篇论文的base上做的修改,会比原来的公式更复杂一些,所以看公式其实可以通过:① 明白论文的基础方法(比如通过KGE的方法做图谱补全,我们能看懂transE的论文公式就能明白以此为基础做的论文的公式含义;比如通过Reinforcement learning做自动化控制,我们如果了解强化学习就能搞懂以此方法为基础的大部分论文)② 前置学习,了解论文所用方法(可以看网课、书籍来学习机器学习、深度学习方法)③ 他人总结,其他人的博客也会对读懂论文有很大帮助
3. 实战——我个人推荐的精读论文全家桶
输入:一篇论文;
工具:zotero+插件、搜索引擎、www.connectedpapers.com、谷歌学术、chatGPT;
中间变量:很多related work论文、他人博客总结、相关知识博客;
输出:一篇笔记、(可选:PPT)、后续想读的论文。
3.1 评估论文是否需要精读
拿到一篇论文后,首先判断它对你的价值重要性。主要指标有:论文的引用量、发布在的平台、发布的年份、论文本身讲的内容是否符合你的研究大方向。
比较推荐读最新的、引用量高的、发布在CCF-B以及以上期刊会议的论文。还可以看论文的Abstract部分,大致对论文的内容有个数。
谷歌学术:https://scholar.google.com/
论文分级:中国计算机学会推荐国际学术会议和期刊目录(第五版)
会议中 workshop,findings 和 short paper 是什么? - 知乎 (zhihu.com)
3.2 大致浏览
可以借助翻译软件,把论文的Abstract、Introduction和论文的图表Figure先过一下,对论文总体讲什么,用了什么方法大致有个把握。
然后看自己需求,读论文的对应部分,我喜欢把除了Experiment部分以外的再全部通读一遍。按照以下顺序,一边读一边记录自己觉得重要的信息:
题目、摘要、简介、相关工作、方法
zotero:论文管理工具:Zotero使用心得_SofiaT的博客-CSDN博客
markdown编辑器:新手必看 | Typora 入门使用教程(2022年) - 知乎
推荐使用Markdown记录管理个人笔记。
3.3 收集理解相关工作
这个步骤其实和3.2一般是并行进行的。
从论文中找论文:
根据论文Related work提到的引用论文,以及如Method章节、Experiment章节提到的论文,从中找到这篇论文的base(在别的什么论文基础上做出来的),如果本篇论文看不懂,那就要对这些base进行深入了解。
从博客中学论文:
搜索方法:必应
从网课中学论文提到方法:
网课地址:https://www.youtube.com/@HungyiLeeNTU/playlists 或者B站搜索李宏毅老师合辑
深度学习入门:Deep Learning Specialization (DeepLearning.AI) | Coursera
3.4 复现
针对论文提供的git仓库地址(或者别人针对论文做的代码复现也可以),找到代码实现,把代码跑起来。并对照论文本身叙述,把具体的代码块对应上。
当然这一部分我说的很少,其实前置条件很多,比如学习python、pytorch等。
协助找论文代码的Edge扩展插件:AI/ML Papers with Code Everywhere - CatalyzeX
The Methods Corpus | Papers With Code
3.5 论文总结
现在读完一篇论文了。可以来回答下面这些问题:
1. 论文所涉及相关问题的描述及解决方法
2. 哪些是论文中遗留或未解决的问题及受启发而产生的新问题
3. 针对产生的新问题是否有初步的解决方案
4. 论文的创新点或者说Insight是什么
5. 所看其他材料和知识的总结
当然,这些只是我本人的浅薄经验,有诸多不足和可改进的地方,只是总结一下作为一些可供参考的资料,欢迎指正。