应该如何做科研?

作者:陈北

一、科研心态

  • 大家往往喜欢高估短期的收益,低估长期的收益。长期的科研习惯比短时间的肝科研对我们的发展更有作用。
  • 保持一个开放的心态,多与同学和老师交流。在科研初期,要尽可能采纳老师/科研成熟的同学的建议,因为此时的你可能视角和经验有限,沿着过来的经验可能保证你不走弯路。

二、科研基础

假设你在这一步之前已经和老师讨论好了科研方向。

2.1 了解领域的方法和整理重要方法脉络,20% 的时间完成 80% 的工作

确定方向后,通读近两年发表的相关顶会顶刊文章。通过阅读 abstract 和 introduction 了解每篇文章作者的 motivation 是什么,而他们是如何做到的,则不用深究。

通过 related work 更进一步地找到领域内的相关文章,加入论文阅读池内。

2.2 深入理解和掌握领域内的重要论文, 80% 的时间完成 20% 的工作

要成为一个方向的专家,仅仅了解一个方向肯定是不够的。应该能事无巨细的理解和掌握当前方向的所有重要方法。通过第一步你已经可以知道当前方向的主要方法有哪些,此时你应该要回去重读这些文章及复现/阅读他们的代码,掌握他们的方法。

三、 常态化科研:阅读,实验,写作

对我们研究生而言,科研的目的是提出对领域有用的方法,并最终发表论文。我们可以通过阅读论文来提出猜想,通过实验来验证猜想,如果实验验证有用,那么可以进入论文写作。如果实验无效,则存在两种可能,一是猜想错误,那么就加深了我们对任务的理解。二是猜想假设的条件当前无法满足。对于二,如果你的创新比较大,则可以等待哪天条件满足时再来解决。

3.1 阅读论文:从做了什么,怎么做的,再到为什么这么做?

首先你通过会议论文集/arXiv标题看到了一些你感兴趣的文章。

1) 做了什么?(Abstract)

通过 abstract 我们就可以明确的知道,这篇文章在某个领域解决了某个的问题。能够应用的方向越多/解决的问题越大/方向越相关,那么这篇文章也就对我们当前的价值越大。通过这一步我们可以滤除大部分对我们价值很小的文章,并很快地在大脑建立一个由问题到参考文章的联系。这样以后在遇到类似的问题,就可以找到潜在的参考方法,尽管这个方法我们目前还不理解。如果不是很迫切地需要理解这篇文章,那我们可以对这篇文章做一个简要的类别标注以后放入等待阅读的文件夹中。

2) 怎么做的?(Introduction + 图表 + ablation study)

1. 按照待读论文池评分由高到低/当前自己的假设更近一步阅读论文,通过这一步,我们会大致了解解决问题的主要方案是什么,该解决方案带来了多少增益。对于你觉得不太理解做法又很重要的文章你需要更近一步精读。

2. 精读。仔细抠 introduction/methods. 思考具体做法是什么,丰富自己的 skill set。在下一次实验或科研中遇到类似的问题,你就可以顺手从你的 skill set 中找到针对性地解决方案。看完论文后要自己的总结这些解决方案以强化印象,加深理解。

3) 为什么这么做?

这一步是我们阅读论文最关键的总结部分。这篇文章为什么要采用这个方法,现在的方法有没有更好的改进手段,或者当前的方法可不可以用到我们的领域,分析问题的方法(比如看问题的视角,使用模型,建模的方法),行文的逻辑(这一点常常容易被我们忽略),我们可不可以借鉴。

3.2 实验:验证假设

通过上一步我们一般会开始提出一些假设了,所以我们需要实验来证实假设的正确性。

1)写下假设的motivation

写作的这个过程可以促使我们进一步的思考 motivation 为什么会work。

2)实验与预期不一致

分析实验的关键指标,与老师同学们讨论

3.3 写作:分享想法

目前我还没有写作过文章,但做过几个论文阅读的分享。我认为在分享时你的主线逻辑必须清晰,思考观众主要想了解什么,针对性地做ppt。明确你做ppt的目的是给大家带来启发, 同时在制作 ppt 的过程中一般你也会更加深入地思考文章。

四、总结

每天通过阅读论文来掌握领域新的想法,加深对现有方法的理解,掌握新的分析问题的方式,思考现有方法不足,提出新的想法。通过阅读/撰写代码加快自己实现想法的速度。通过撰写ppt 提升自己的表达能力。久而久之我相信大家/自己一定会在领域内作出一点工作。