引子
最近投出了一篇论文,中了ACL会,算是一个非常优秀的起点了。最近也在着手写自己作为一作的一篇paper。想起自己进组也有一年多了,姑且总结一下科研与普通上学生活的不同吧。
我的工作侧重变化
进组之前
在进实验室工作之前,我的工作基本上都是工业界导向的。这表明:
- 我会关注于如何去解决细小的问题,实现一个较大的系统,使之robust。我并不会主动地去想idea,更多的是去想完美地实现已有的idea。
- 我会关注于结果,而不关注我得出结果的过程。是完全唯目的论的。
- 我会关注于编码,而不关注给别人讲我所做的东西是什么。
对于第一点来说,实现已有的idea,是本科生常做的东西——课程设计、考试、作业。这些东西都是已有的,并不需要学生去创新,哪怕有,也是一种极其受限的创新。比如,老师会要求你做一个图书管理系统,你能做的创新无非是UI上的,至于核心的算法等等,都是已有的东西。
第二点稍后再说。
对于第三点来说,我倾向于给别人演示我所做的东西,而不会去讲其中的原理——在工业界,这些东西是需要对用户隐藏、封装起来的。
进组之后
进组之后,我发现科研工作适合工业界的工作不那么一样的。
实验室的工作通常要求——和上面有一些区别:
- 你需要去想idea,并且给出一个runnable的demo即可。不需要做得特别robust,特别精巧。
- 很多时候,idea的创新集中在过程上,对于同一个目标,我需要设计出全新的过程,还要想出来,我设计的过程有什么优秀之处。
- 我需要将自己的idea变为论文,这需要我能够给别人讲出来我所做的东西。很大程度上,我所做的是讲故事的工作。
对于第二点来说,很多时候,所做的东西都是一样的——比如一个机器翻译系统、一个图片生成器、……对于结果来说,我们完全只是在几个metrics上提升了一点而已。但是,设计出来的方法可能解决了一些领域的痛点——可能设计出来的方法可以让模型摆脱对高数据量的依赖、引入了一些有趣的mechanism等等。
论文产出的流程
这部分完全是我师兄所教我的东西,当然我并没有太学会。这个流程称作“搜聚分验合”。
首先是“搜”,意为搜索、查阅。在工作开始之前,需要大量查阅论文做调研。这一阶段需要查阅大约100~300篇论文,然后挑选一些有趣的论文阅读,其它只是粗读。这一部分的目的是为了了解这个领域的发展情况,获得一个基本的认知。
其次是“聚”,意为聚合。将论文聚合起来,进行分类。同一主题的论文放在一起。
之后是“分”,意为分析。对于每一类论文都进行分析——它们解决了什么问题?还有什么问题亟待解决?这一步要确定,工作要解决的问题是什么?用什么方法?
随后是“验”,意为验证。通过一些比较trivial的实验验证方法的有效性。如果有效,就接着做下去;若无效,就重新回到之前的某一步骤。
最后是“合”。这一步要将所有的实验结果做出来,形成一篇论文。
最开始我并不关注于这些东西,我阅读论文时会关注文章解决的问题具体是什么,然后思考是否有更好的方法去解决同样的问题。然而,我实际应当关注的是——我该如何分析出来没有被解决的问题?因为——“方法好想,而问题不好想”。
一些需要关注的能力
相比于技术能力,我觉得还有一些能力很重要:
- 英语写作能力。
- 与人沟通的能力。这一点尤其重要,因为一篇论文完全不是单打独斗就能产出的。此外,还需要经常做presentation……
- 摸鱼的能力。这一点也是很重要的,如果不会摸鱼,不会放松自己,很快就会burnout的。