2018年8月,实验室西北分舵开山女硕士的第一篇习作在CCF C会议KSEM 2018上全文录用,并获得了最佳学术论文。这对西北分舵的硕士生是一个非常好的激励,至少树立了一个标杆,让大家看到:通过规范化的科研训练,硕士二年级在入门级国际学术会议上发表论文并不是一个高不可攀的目标。平心而论,实验室对于研究生训练方面颇有心得:自2006年招收研究生到现在,一共有8篇论文荣获最佳论文奖,包括2次年度最佳期刊论文。

对于从本科刚刚准备进入研究生阶段、或者从本科进入Honours阶段的同学来讲,在学业上最关心的是GPA、托福/雅思成绩、甚至申报材料的多元化、套辞是否吸引人等等;但是从导师角度看,最关心的则是学生是否合适做科研,细分一下大体上会考察性格如何、相关基础知识和技能如何、抗打击能力如何等等。因为这两个方面的不一致,师生双方的接触通常都伴随着痛苦:学生总是觉得老师不欣赏自己,也找不到自己喜欢的研究组;而老师总是难以评估眼前学生的科研潜力。有鉴如此,我觉得有必要是让学生了解科研是什么、知道自己是喜欢科研这个事情还是喜欢这个学位所以不得已而为之?了解这些,可以避免后面双方合作期的大多数苦痛。

产学研?

前些年国内大学很流行产学研相结合这个说法,尽管我并不推崇这个思路,但有必要让大家了解这三者之间的不同。

  • [学习] 是掌握现有知识和技能。
  • [科研] 是基于现有知识和技能,来探索未知世界的过程。
  • [生产] 是基于现有知识和技能,来生产出能变现(Monetizable)的东西。

科研和生产之间最大的区别是:科研通常不直接在意新发现是否可以、或者如何才能用到具体产品上,而生产大多数时候并不在乎对未知世界是不是有新的发现。而大多数情况,科研给生产提供了更加有效的思路和技术方案,这个区别实际上也导致了学术界和工业界的鸿沟。一个有创意的产品,往往来源于许多科研上的进展。上周看到的一个例子是南大图客,该产品的背后依托于RFID、机器视觉、机器人等多个方向的科研进展。许多科研成果不能直接产业化,或者不能单独产业化,然而这并不说明这些科研是没有价值的。

学习是掌握现有专业知识和技能的过程。掌握专业知识这一点清晰明了,关键在于技能:学习的技能大体可以细分为实践技能研究技能:本科阶段注重于实践技能的训练,而研究生阶段则着重研究技能的训练。许多研究生会抱怨他们所学的东西没有用,其实这是混淆了实践技能(鱼)和研究技能(渔)的区别。实践技能通常和具体专业联系紧密,比如:程序设计、系统分析、系统集成、文档维护等等;而研究技能则通用许多:文献分析能力、批判性思维、理论分析、模拟实验技能、论文写作和报告能力等。中国人都知道授人以鱼不如授人以渔的道理。没有用只是指研究技能不能立竿见影吃下肚变现,但并不说明这些技能没有价值。大多数本科阶段很少涉及研究技能训练,所以许多成绩很好的本科生进入研究生阶段并不一定比其他同学有更加好的研究成果。

学习科研的区别在于:学习通常有正确答案,而科研则没有,所以我们经常听说新的科研成果推翻了以前的认知等现象。其实,大多数同学感到痛苦的就是这个点:因为没有答案,所以没有标准可以对科研成果来验证自己是否正确。科学研究必须要有理论证明和实验依据,来说服同行你的思路、方法和结果是可信的。对许多TULIP成员而言,科研的乐趣可能还在于能够选择喜欢做的事情,并且能够显示自己的眼界、品味和智商比别人高。

研究训练

研究训练和武侠小说中功夫修炼非常类似,尽管有许多人幻想捡到武功秘籍一蹴而就登上巅峰,但是最靠谱的还是扎扎实实训练,有朝一日打通任督二脉,进入大牛的行列。 和任何专业技能一样,科研是需要专业导师指导的。尽管我们都鄙视国家足球队,但是真正踢球的话,野球队无论多么刻苦,技术、配合等各个方面都没法和专业球队比拟。科学研究同样如此,一定需要专业导师的指导。绝大多数自学成才的研究者,最终沦为民科。我以前有一篇给本科生的研究入门文章:{% post_link Advices-to-Trainee %} 仍然具有参考价值。从找到导师进入研究组开始,研究生的修炼都有如下阶段:

  • [基础知识] 是掌握本研究方向的已有知识实践技能,在这个阶段,如果能够熟练运用已有的知识和技能,实现一个对已有问题的解决方案,就差不多过关了。比如我这个研究方向的FLIP (Foundations of Learning and Intelligent Processing)大纲,以及Kaggle竞赛项目的闯关都属于这个阶段。一般学习这些知识大概需要至少一年的时间,花大量的时间看经典课本。要不然,这一关不过,等你开始看研究论文的时候,会发现根本分不清主次,也看不懂文章的新意所在,因为在你眼中什么都是不懂的新东西,这样反而是浪费时间。这个阶段我称为:收集兵器,只有当你的兵器库达到一定规模以后,我才建议大家进入研究阶段。
  • [研究技能] 是掌握研究技能,包括文献收集、整理、分析能力,批判性思维、理论分析、模拟实验技能、论文写作和报告能力等。这个阶段通常贯穿硕士生到博士生阶段,利用各种不同的机会来锻炼、提高这方面的技能。
    • [专业积累] 就是看文章,看大量的高水平文章。担心看不懂?没事,有了基础知识,文章写来写去绕不开几本经典课本,看个几遍就熟悉套路了。那么这个大量到底是多少?一般看完100(硕士生)-300(博士生)篇后,相应层次的idea会有如泉涌。因为人的时间是有限的,所以这些花时间阅读的文章需要精挑细选,最好都是CCF B类以上。需要搞清楚每篇提出的问题、解决方案、实验方案、结论。刚开始一周读一篇就很不错,然后争取三天读一篇,到最后可以做到每天读一篇。然后,精选10(硕士生)-20(博士生)篇文章来实现。这个实现的意思是你用自己熟悉的平台工具把这篇文章里的算法实现一遍、benchmark数据跑个对比。在这个过程里你会发现不同算法的弱点,甚至能提出改进,这才叫知行合一,要不然就是眼高手低。有同学问我把所有都实现一遍行不行? 当然行,只要你有时间,多多益善。最后,做一个文献综述(SurveyLiterature Review)。就是把你看过的这些文章综合分析一遍,经过横向和纵向的比较,梳理这个领域里已经解决的问题和尚未解决的问题。做完这两步,大致6-12个月的时间花出去了。没事,磨刀不误砍柴工,欲速而不达。
      • [硕士研究] 是利用已有知识和技能,解决一个新提出的小问题。一般来说,在这个阶段同学自己提出问题是相对困难的,需要导师的帮助了,甚至解决思路都由导师指定,你利用这个问题来锻炼不同的研究技能。大多数导师对这类问题的思路可行性都有比较大的把握,这一点你需要对导师抱有信心。
      • [博士研究] 是提出并解决一个新的研究问题,或者提出新的方法来解决已有问题,并且证明你的方法比现有方法好。通常问题的提出和解决思路都会由你自己提出,在写综述的过程中你应该已经非常了解这个领域了。那么到底啥问题没有解决好? 或者在实现20篇文章的时候有什么新想法? 这些都可以成为提出的问题。通常,在提出问题(挖坑)方面,导师更有经验,站的更高,看的更远,所以提出的问题更有前瞻性也更有意义。当拿到一个好问题的时候,检验你功力深厚的时间到了,对于非常前沿的题目,导师也不确定有把握解决,但是他的经验和直觉通常可以帮你避免各种不同的坑,少走弯路。
    • [研究过程] 在对你的问题有了解决思路后,你需要用PPT写成文档,找机会和导师或者合作者做个报告并讨论,看是不是能够说服他们你的问题是有价值的、你的思路是可行的,以及打算如何理论证明哪些结论,试验实现哪些以支持哪些方面的性能分析。这个过程可以帮你理清楚思路,避免理论错误或者方法重复。当然如果你文献综述做得比较好的话,不大会出现方法重复。如果你在这个过程中,能够说服导师或者合作者这个idea有潜在价值、而且他们找不到明显漏洞时,你就可以着手具体研究工作和实现了。
    • [研究写作] 科技论文的写作是有套路和模版的。一般每个专业都有一些自己的风格,研究组更是有不同的手法。我通常会建议研究生在写作的时候:1) 完成全文,从各个方面把论文写清晰;2) 写作的时候,利用PPT来组织自己的思路,这样文章完成的时候,PPT也已经完成了。TULIP-Lab研究方法和科技论文写作建议参见:TULIP Approach to Academic Writing

对于研究生而言,基础知识和技能是需要在本科阶段牢固掌握并且熟练运用的,而导师则是结合硕士或者博士论文研究,提供研究思路建议并给出批判性反馈和建设性意见(不强求),来训练学生的各方面研究技能。合格的博士毕业生,应该可以独立进行科学研究,并且作为导师训练新一代的研究生。

水平评价

本科学习带来的一个误区是,许多研究生会对课程考试成绩特别关注,觉得学业成绩是评价研究生的标准。这是不对的!

当你的科学研究有了新的发现或者提出了更好方法的时候,你需要把你的研究问题、思路、方法都清晰地写成研究论文,并且利用理论分析、模拟试验、对比试验来说服同行这个发现是有价值的。你必须要以学术界熟悉的方式去表现这篇研究论文,而不是以你自己喜欢的方式,比如说唱、诗歌、散文、博客等。

往什么地方投稿呢?专业的导师会告诉你本领域都有哪些重要会议和刊物。CCF把入流的计算机类会议和期刊划分为A、B、C三档,目前这个排名是公认比较靠谱的。学术界公认原则是:你的研究工作越好,文章写的越具有说服力,发表的会议或者期刊档次也就越高。这些都是靠同行评价来实现的,各个会议的Programme Committee,期刊的Editorial Board主要是做这个事的。

对于不熟悉的研究方向,我们很难判断一个会议或者期刊是不是高端。但是对于工程类和计算机类专业来说,有几条非常好用的规则可以套用:

  • IEEE TransactionsACM Transactions都可以认为是好的刊物,一般都会在B类以上。
  • ACM会议大多数都是高端会议,至少在B类以上。
  • IEEE会议鱼龙混杂,有非常高端的,也有非常一般的,但是不会差得太离谱。
  • SpringerElsevierIEEEACM这些出版社的期刊一般都不差,但是Open Access类的则差一档。

不同研究方向正如不同的体育项目,通常不可比的。但是,学术界有两个通用量化指标:

  • citations:你的文章收到了多少次引用;
  • h-index:你有n篇文章至少收到了n次引用。

以前比较标准的是SCI/SSCI版本的量化指标,现在流行Google Scholar版本的。主要原因是对每个研究者而言,Google Scholar的两个数字都比SCI/SSCI要大一些。另外,在学术交流的场合,收到名片后许多人会顺手看看对方的Google Scholar,以便衡量一个研究者的高度。大体上,citations超过2000就是合格的研究导师,h-index达到40就可以算是大牛级别。

不同国家也会有一些期刊和会议推荐列表,比如中国计算机学会的CCF列表、澳洲计算机学会的CORE List等。大体上,CORE A*/A/B对应与CCF的CCF A/B/C