读论文的原因
读论文是学好AI的必备之路。读论文有两个原因,第一,AI是比较新的学科,模型更新的周期很快,大学教科书里的东西很快就会过时,只有阅读论文,我们才能获取最前沿的知识。第二,会读论文才会写论文。读论文能让我们了解前人工作的动机,优点,和缺点,从而启发我们自己的论文写作。
读论文的原则
读AI论文有以下几大原则。
第一是先读综述。综述论文就像浓缩版的教材,读综述论文能让我们以客观的角度,和最快的速度,遍历特定领域中有影响力的工作,以及这些工作遇到的问题。有了综述论文的基础,我们就能更快地读懂算法论文。
第二是只看好文。AI科研的时间很紧张,论文数量又多,想读完领域内所有的文章是不可能的,因此,我们要把有限的时间花在读最好的文章上。如何寻找好的论文下一章节会讲。
第三是不求甚解。这里的不求甚解,不是让你走马观花地看一遍论文,然后什么印象都没有,而是让你第一次读论文的时候,跳过技术细节和数学证明等看不懂的地方,关注论文的核心内容(动机+贡献)
第四是巧用解析。这里的巧用解析,不是让你每句话看不懂都上网去查,而是让你在不理解论文核心内容的情况下,运用知乎或博客上的论文解析来帮助自己理解论文。
第五是树状思维。优秀论文的思路,一定是像大树的树枝一样环环紧扣的。在读论文的时候,我们千万不能像看小说一样从头看到尾,而是应该先挑文章重点,构建基本脉络,再往基本脉络上添砖加瓦。
如何寻找论文
寻找AI论文,主要有以下几种方法。
-
综述论文。综述论文的state-of-the-art模型的论文,大都值得一读。
2. Google Scholar。Google Scholar上直接搜关键词,根据发表时间和引用量筛选自己想要的论文。Google Scholar好的一点是,可以通过”cited by”和”relevant article”找到相似文章。
3. Paperswithcode。这个网站是个宝藏网站。首先,它几乎涉及了AI的每个小领域,其次,他会推荐最新的有影响力的工作给你,最后,他提供了不同模型在不同数据上的关于不同指标的横向对比。
4. 会议的公开网站。比如CVF Open Access,和ICLR OpenReview,同Google Scholar一样,搜关键词即可搜到论文。
5. 询问教授同学。科研新手建议不要盲目找论文,而是先问下研究相同领域的同学,或者教授。有了他们的指点,你找论文的效率会高很多。
是否读一篇论文
找到一篇论文后,我们可以根据以下几点,来判定一篇论文值不值得我们去读。
1. 标题。标题超过10个英文单词的,或者标题没有讲清楚研究领域的,跳过。
2. 会议/期刊名称。以我做科研的CV领域来说,最好的会议是CVPR/ICCV/ECCV,较好的会议的是WACV/BMVC,最好的期刊是TIP/PAMI。不在这些范围内的,可以跳过。
3. 引用量。一般来说,在AI里,年均引用量1000+的,是优秀论文,一般必读。年均引用量100+的,是优秀论文,推荐阅读。年均引用量<10的,可以跳过。
4. 摘要和关键词。关键词可以帮助我们判别这篇论文的研究领域是不是我们想要的,而略读摘要可以让我们判别这篇文章的质量如何。如果关键词不符合,或者摘要写作混乱的,跳过。
5. 效果。论文首页一般会有效果图比较。如果论文模型的效果比起其他模型没有显著提升的话,跳过。
6. 数学。粗略扫读文章,如果你的数学功底不好,他的数学推导又很多,跳过。
7. 计算资源。有些文章会写自己用了多少个GPU,计算了多久才训练完模型。如果你的算力远远不够这个标准,跳过。
如何精读一篇摘要
在确定了一篇论文有价值之后,我们开始精读这篇论文的摘要。记住,因为时间和记忆的限制,对于绝大部分论文,我们是不需要通读全文的–只需要读摘要即可。精度摘要的时候,为了提升效率,我们要以解决以下问题为目标。
-
这个问题属于什么领域?
-
为什么研究这个问题很重要?
3. 以往的方法是如何尝试解决这个问题的?
4. 以往的方法有哪些不足?
5. 这篇论文如何弥补以往方法的不足?
6. 这篇论文使用了什么设计/架构?
7. 这篇论文的创新点在哪?
8. 这篇论文的实验效果有多好?
如何精读一篇论文
在精读一篇论文的摘要之后,如果你觉得这篇论文非常棒,那你可以精读全文。精读全文,不是让你从头到尾每个单词都看一遍,而是让你挑文章的重点部分,去仔细分析。接下来讲下如何精读一篇论文。
首先我们读实验对应的图表。读的时候想以下问题:
1. 这个图表对应的数据集是什么?
2. 这个图表对应的模型是什么?
3. 这个图表对应的指标是什么?
4. 文章里有无消融实验的图表?
接着我们读引言。读的时候想以下问题:
1. 经典的方法有哪些?
2. 常见的派别有哪些?
3. 各个派别的优缺点是什么?
4. 本文的方法是什么?
5. 本文的贡献是什么?
然后我们读模型。读的时候想以下问题:
-
模型的运作流程是怎么样的?
2. 模型的整体架构是什么样的?
3. 模型的局部架构什么样的?
4. 模型的损失函数有哪些?
5. 模型的训练技巧和超参数有哪些?
最后我们读结论。读的时候想以下问题:
-
本文做了哪些工作?
-
本文的不足之处在哪里?
-
本文的未来工作有哪些?
如何保持高效阅读
为了保持高效,我们在阅读一篇文章的时候,一定要带着以下几个问题去主动阅读和思考。读完一篇文章之后,一定要对这些问题了如指掌。
1. 文章的动机是什么?
2. 文章的创新点是什么?
3. 文章的缺点是什么?
4. 你如何改进这篇文章?
还有一些小技巧,原理大同小异,都是化被动学习为主动学习。
1. 尝试运行文章的源代码!
2. 尝试写审稿意见(概括+优点+缺点)!
3. 和教授同学讨论!
4. 写博文分析!