转眼一年过去了,研究生学习的生活也过去了三分之一还要多一些。论学习,的确学习到不少东西,但是论科研,似乎还是差的很远。因为我选择了年轻的导师,他没有任何的带人的经验,我有些时候还是觉得自己力所不及,力不从心的。
从一开始对科研充满信心,到现在似乎已经倦怠,各种滋味其实只能自己体会。有时候我也会问自己,导师是很厉害的导师,我也并不是真的完全放弃去学习,甚至一开始,导师都不找我开组会,还是我一次次的去找导师。然而最后还是没能够有个具体的体系出来。我想到这些,心中还是有许多的郁闷之感。这篇文章,是我自己关于开始科研生活的一些想法,其中种种事情都是我自己对于自己所经历的思考,如果有异见,还请多多海涵。
题目是《研究生科研与吃饭》,却唠叨了这么多,下面进入正文。
大陆的研究生,除了个别的几所高校里的NB大神团队外,大部分的学生应该都是0科研基础。选择了考研这条路,也只是为了弥补第一学历的差距,希望有更好的机会提升自己。而我,作为一个大学四年都忙于学生工作或者忙着做点校园小生意的学术渣,在经历了STITP项目之后对学术生活萌生的向往,以及希望能够去更高层次的地方看一看的愿景,选择了考研。当初毅然放弃工作机会而做的选择,现在却然我有些迷茫。
我认为科研与其他学习不同,不同在于科研积累的过程和普通的学习不一样。
普通的本科课程学习过程,一般是在老师的带领下,首先对一个事物有一个总体的概念和感觉,然后按部就班,一章节一章节的去学习。最后应对一个测验,老师和自己都得到这段学习过程中的反馈。但是,这种学习最大的作用力是自己,无论老师怎么教,在这种学习中,自己都可以弥补上老师的一些缺陷。如学习C++,老师上完了《面向对象语言》,但是自己去找写代码,跑代码,看代码,总结特性,才能够真的学习好。指望老师是完全不够的。当然,应付考试背背书是绰绰有余了。这样的学习其实效率是不高。当然也是一般情况,学完C++就可以提搞出个自己的编译器的大牛不在此列。
而科研积累的学习,对于像我一样的0基础的学生来说,几乎是必须由导师来带着你,入这个门。科研的水很深,而门类也非常细,你没有对他有一个整体上的了解和某几个细分方向的专研,是可能找不到自己的方向的。这时候,导师去帮你找到自己的方向就十分关键。或许一开始,你对自己的方向也只是想去,做游戏和搞CG的区别那时候对你来说也只有天知道了。而导师可能用过推荐你看几篇领域内的综述论文,就能够让你把握到这个方向是做什么,一般怎么做,我可以利用这个处理什么样的一类的技术。
研究生的科研,是由现实需求驱动的。没有一个对应用的感觉,是无法做好研究生科研的。(如果直接做理论的话,我觉得也是需要一定的现实的认识的)。而自己去找基础论文看,书籍看,是没有必要的。我的导师也和我说,看书学习的太慢了。而快速学习的重要一个点就是,你需要有一个目的性。如果你不知道矩阵变换是可以解决你的一个什么需求,你学起来虽然不费力,但也没什么感觉。而一旦知道矩阵变换和应用的关系,你似乎每一步都能在大脑里编译运行每一步。学起来也更加的扎实。我本科数学学的不好,考试也没能上90分。但是开始研究生活后,针对某个问题看数学,就感觉像是学习中一个划船一个开飞机的感觉。一眼就能明白那个公式实在说一个什么事情。然后也能抓住这个公式的许多变换形式的应用。以前面对山一样的公式,是没这个概念的。
而导师在这里里面起到的作用就是不断的为你明确你的目的是什么。前几天 ,我在一篇文章中看到,做科研,导师要不断的让学生读文章,然后汇报,然后评价,就是在做这个事情。让新的研究者不断的深化对领域的理解,并且不断的给新的研究生以反馈避免误入歧途,才能在有限的两年半时间里做出合格的学术成果。对于新研究生来说,其实这个才是最关键的部分。很多导师遇到新研究生,觉得不会编程,对领域没有了解,就让研究生去写基础的代码,去看入门的书籍和介绍,而不愿意给研究生看领域内最新的综述类别的文章,这其实是浪费了双方的时间。学生写代码,了解基础,都是在吃白米饭,而看领域内最新的成功综述,看我们研究的东西能做出什么样的应用和拓展,才是一顿饭里的硬菜。而大部分导师的确是让学生不断的吃白米饭,吃了一碗又一碗。导师觉得痛苦,学生也更是苦不堪言。
我的导师总是说,基础不知道写不好,看论文没有什么意义。但是我一点点看基础,就像当初学高数。我能算出来,但并不能说明我真的理解了。等到我看到后面比较新的知识,事实上我还是需要回来看这个基础,原来明白当初自己没能够记住的那些小特性是可以做出如此的多的事情。当然,我不是说基础不重要,但就像盖房子挖地基,你不把房子的设计图给我看,我又怎么知道地基是怎么挖的,这样挖是会面临一个什么问题。不然的话,你让我挖地基,我就挖,一会圆一会方,你觉得愤怒,我也觉得委屈。
现在我就处在这个阶段,Nurbs的许多算法我都重现了,写了几千行的代码。但是我还是不知道,我该用它做点什么。导师让我去自己找论文看,而我却也不知道自己看什么论文是合适的,更不知道,我理解的东西是不是正确的。
写在这里也算是发泄发泄吧,也很难让导师理解我的想法了。现在我专注C++,看开源代码,争取早日实习。科研就放一放,到时候争取一份EI会议混个毕业吧。