科学研究基本过程——致准备开始做研究的学生步骤1:通过科学的需求分析确定研究课题科学研究的需求来源非常广,常见的有:1)国家重大需求;2)产业共性需求;3)社会发展需求以及人民生活改善需求等等。4)一类需求来源于更纯粹、更抽象的学科发展内在的推动力(比如学科理论基础的完整性和统一性),也可能来源于技术本身发展的惯性趋势(比如一些会引导甚至创造需求的新技术)。5)研究人员的好奇心和个人兴趣也会成为一种内在的科研动力。步骤2:调研领域最前沿的方法与技术这一阶段的任务是:对给定的研究课题,通过调查研究,回答下述问题:1)在该课题上国内外有哪些研究者?2)已经做了哪些工作?3)这些工作如何分类?4)如何量化和评价这些工作?5)它们各有什么优缺点?6)当前最好的方法已经做到了什么程度?7)还有什么开放问题没有解决?8)目前的技术趋势是什么?对这些问题的准确回答是科学研究过程中最重要的任务。很多研究工作最终之所以成为同行不屑一顾的“垃圾”,往往是因为调研上出了问题,结果导致重复了别人的工作,或者解决了别人早已解决了的问题,或者做了远不及当前最好方法的工作。步骤3:提出问题1)调研的最终结果是提炼出真正有价值的学术问题。让我们再次重温爱因斯坦的至理名言吧:“提出(发现)一个问题往往比解决一个问题更为重要,因为解决一个问题也许只是数学上或实验上的一个技巧而已。而提出新的问题、新的可能性,从新的角度看旧问题,却需要创造性的想象力,而且标志着科学的真正进步”。2)问题重要,但找到“好问题”并非易事。一个研究工作能否得到国内外同行的认可,关键在于提出的问题是否有价值、是否得到了同行的认可。例如,很多论文评审人都表示,他们经常在看完论文的“序言”(introduction)部分就基本确定了是录用此文还是拒稿,因为序言的最后几句通常就是对问题的描述以及对解决思路的概述。那么,好问题从何而来?步骤4:独立思考并提出解决思路1)之所以强调独立思考,是因为在互联网时代,很多研究者特别是研究生的独立思考能力被“腐蚀”了,非常容易受到前人工作甚至是“网络学术噪声”的影响,因而容易陷入已有研究思路的洪流中不能自拔。2)特别是一些不成熟的研究者(比如新进入一个领域的研究生)对所谓热门方法的推崇和灌水式跟踪,导致一些并不重要的工作被过多引用,进而吸引更多的研究人员关注和引用,形成恶性循环,最终损毁了“引用数”这一本来最为重要的学术评价指标的真实意义。因此,对于“热门”话题,导师尤其要保持清醒的头脑,从全局、历史的角度来引导研究生冷静思考、正确对待。3)高年级的研究生尤其要养成独立思考的“习惯”(独立思考更多的是一种习惯,而不是能力),甚至要养成质疑导师的习惯。我甚至认为,一个博士生在某专业方向上是否超越了自己的导师可以作为其是否可以毕业的参考标准之一。步骤5:对解决思路形式化1)第4步提出的解决思路最初是通过自然语言描述的,语言描述的缺点是不够严谨因而可能存在歧义。2)形式化不仅可以更精确地描述问题或思路(比如界定清楚目标函数、约束条件和前提假设等),还有利于提前发现其中存在的问题。3)因此应尽量把对思路的描述从自然语言抽象成形式化的符号语言,这是一个有趣且重要的步骤,非常有利于锤炼研究生的逻辑思维和数学建模能力。4)以符号系统将思路形式化和抽象化是科学研究的重要特征也是一种习惯,是严谨和缜密科学精神的具体体现。步骤6:设计、实现并优化求解算法此步骤是指根据形式化后的研究思路具体设计:1)体系结构;2)算法;3)软件或硬件实现的过程。此工作更多的是研究生的职责,导师在该阶段的作用是对设计的算法进行评价或纠偏。当然,如果是低年级研究生,导师可能需要参与到算法设计中。需要注意的是,一个研究思路可能存在多种可能的实现算法,研究生对算法设计能力的强弱在这里可以得到很好的体现:两个研究生同时去实现相同的研究思路,可能会得出不同的结果甚至相反的结论。其原因在于他们设计的算法是否真实反映了当初提出的解决思路。坦率地讲,在这一点上,能力强的学生和能力弱的学生差别很明显:前者可以把一个平凡的思路研究得有声有色,而后者可能会把一个很好的思路做得黯然失色。算法设计完成后一般应进行编码实现和验证。这主要也是研究生的职责。步骤7:设计实验、评估算法计算机应用专业属于工程性学科。因此,除了一些可以通过理论分析证明思路正确性的工作外,多数情况下,设计实验、评估算法是验证解决思路可行性、算法设计合理性和算法实现正确性的必需手段。评估实验要注意以下4点:(1)度量算法好坏的标准应该采用领域内同行公认的指标体系,除非你能证明它们存在问题,并能提出被证明更合理的指标体系;(2)评估实验一定要有量化的结果。即使是主观评测,也应该有足够评价,从而给出量化的统计结果;(3)实验采用的数据应该是国际同行公认的、中等以上难度的数据库,并且是多个,最好是目前领域内最先进的技术方法所采用的测试数据集。如果所研究的问题是新问题,则应该自己收集足够规模的测试数据;(4)评估实验必须是无偏向性的,绝对不能只挑选对自己的算法“友好”的数据,也不能只测试对自己有利的评价指标。掩耳盗铃危害巨大。步骤8:与最前沿的技术与方法进行量化对比分析1)得到评估实验结果并进行对比分析是科学研究过程中最值得期待和令人兴奋的步骤,同时也是考验研究人员洞察力和逻辑推理能力的过程。2)实验结果是解决思路、算法设计、算法实现和实验评估等多种因素共同作用的结果。在实验结果不好或者感觉结果有异常的时候,我们必须反向推理,去追溯结果不好或异常的根源何在:是研究思路本身有问题?算法设计不合理?算法实现有错误?还是实验设计不合适(比如数据不满足算法假设)?特别值得关注的是应该与什么方法、在哪些数据集上进行对比分析。步骤9:推导结论并尝试提出新问题1)实验结果如果足够充分而且对比丰富,则为科研提供了宝贵的第一手资料,足以支撑一些基本的结论。2)更重要的是,“实践出真知”,这些结果和对比分析为我们提供了更为宝贵的科研经验,使我们更深刻地认识到相关课题领域存在的真实问题和有效的解决思路,从而进一步提出新问题或者新的解决思路,这样可以再次回到科研流程的第4个步骤上。3)在此环节,导师和研究生的深入讨论是发现新问题、诞生新思路的法宝。需要特别注意的是:结论一定要实事求是、有一说一!低年级研究生往往因为害怕自己的工作贡献小而想方设法地放大自己工作的价值,殊不知这是论文评阅人最不喜欢看到的——他们宁愿接收一篇贡献小的论文,也不接收一篇会误导读者的论文。4)所以,一定不要在结论中夸大自己的贡献(比如以偏概全),更要避免过分泛化结论(比如故意忽略前提假设)。步骤10:论文或专利撰写论文是科研工作被科学共同体中的其他成员了解、继承和推广的主要媒介。这里,我想强调个人最看重的几个关键点:(1)对研究动机(motivation)的描述至关重要,即步骤3的内容;(2)对国内研究者来说,语言不是撰写英文文章的最大障碍,逻辑缺失才是最大问题;(3)全文撰写逻辑尽量遵循“自顶向下、先广再深”的原则,局部细节一定要在全局介绍清楚后再展开。换句话说,一定要避免读者必须读完全文才了解全局,而应该是让读者尽早把握住文章的全局;(4)从具体行文上看,逻辑主要体现在连词、连接性短语或连接性(即承上启下)句子等“关节”上。一个简单的查验标准是:任意两个相邻的句子、段落是否有“关节”相连,如果没有,一定要加上,否则就可能导致逻辑的断流;(5)逻辑上尽量遵循从旧知识水到渠成地流到新知识的写法,代表性的经典著作参见文献[2];(6)结论不同于摘要,应明确区分。摘要应更全面、更抽象地概括全文,而结论则主要强调论文的科研工作对该领域的贡献,例如如何做是好的,如何做可能是有问题的,但不宜过分扩大。