怎样做研究(一)
几年前,我写了一套胶片,题目是《怎样做研究》,多次在实验室内部给学生们做报告,也曾对外讲过一次,听众反应良好。也有网友读过这套胶片,给我来信称有所收获。然而,胶片中的文字毕竟只是提纲携领,无法充分阐述我的想法,为此,借周末一点闲暇,把《怎样做研究》写成一篇文章,与师友切磋。
什么是科学
科学是分科的学问,客观地说,是起源于西方的。中国只有经验科学,典型的如中医。我的母亲是学中医的,我从小就对中医耳濡目染,生了病,妈妈就会请他的老师来,一贴小药下去,我的病就好了。因此,我对中医一直是很信服的。然而,近些年来,中医多受批评,发展也越来越缓慢,究其原因,中医不是科学,或者说只是经验科学,而非实证科学。中药的成分以及生化功效不曾用实验进行深入的分析,望闻问切的诊断方法完全凭经验而无法量化,阴阳五行的理论似是而非,祖传秘方的传承方式与知识共享的现代思维背道而驰。因此,尽管中医有诊治的整体观和方剂的个性化两大优点,但其停留于经验层面,而迟迟不能进入科学的殿堂,因此在现代社会中的发展必然步履维艰。
中医不是科学,那到底什么是科学呢?科学(自然科学)是人们用来认识和改造自然世界的思维武器,科学研究可以分为基础研究(理论研究)和应用研究(技术研发)。
基础研究
万事万物皆有其规律,掌握并且利用这些规律就能够为人类造福,这些规律是隐蔽在纷繁复杂的现象背后的,要识破大自然的奥秘,读懂上帝的天书,非要下一番深入观察和探究的功夫不可。以揭示规律为目的的研究活动属于基础研究,从事这些活动的学者是科学家。规律不是被创造出来的,而是早已存在的,人们只有认识规律的权利,而没有创造规律的可能。
从根本上讲,推动基础研究的也是人们在生产生活中的一些实际需要,但是随着基础研究的深入,理论已经成为一个庞大的体系,理论研究早已开始按照它自有的逻辑独立发展,而不必时时刻刻联系实际需要,比如著名的歌德巴赫猜想,可能在百年之后,发现其有重大的应用价值,但是目前到底有什么用,谁也说不清楚。理论的价值在今天这个非常讲求短期功利的社会中常常被忽视,现在有一种倾向认为只有产生实际经济效益的科研工作才有价值,这种极端化的观点显然是错误的,我们必须承认并高度尊重理论研究者的成就。
理论研究的直接动力是科学家的好奇心,以及他们对科学荣誉的渴望。越是单纯的科学家越有希望发现真理,他们的科学探索有点像迷宫探宝或者海边拾贝,伟大的科学家都是没有丧失童趣的人,他们在实验室里是宁静而愉快的,他们是乐此不疲的,很多在常人看来难以忍受的寂寞在他们看来却是一种幸福。越是找不到答案,越是激发探索的热情,在一次次的失败中积累着烦闷与紧张,在终于取得突破后兴奋异常。与此同时,也必须承认科学荣誉也是激励科学家们前进的重要动力,只要别把荣誉看得高于真理,货真价实的荣誉仍然是值得追求的。
理论上的突破对应用研究产生持续不断的推动力,在模式识别领域,神经网络、支持向量机、条件随机域等等机器学习技术不断出现,每当一项理论出现,应用研究者们争相将其应用于自己的研究课题中,于是基于神经网络、基于支持向量机、基于条件随机域的某某研究就成为一个标准的论文题目。首先把某项理论应用于某个实际课题的研究工作应该说还是具有一定的创新性的,毕竟用一个新的思路、新的模型去观察了一个旧的课题,HMM在语音识别上的成功应用就是一例。有人比喻说,理论工具仿佛是锤子,实际课题好比是钉子,一个新的锤子被打造出来,大家都借用过来砸一砸自己手头的钉子,确属常理。不过,需要注意的事,如果拿一个硕大无比的汽锤去砸一个纤细的大头针就荒诞可笑了,不注意思考问题与理论的适配关系而盲目跟风的事情在学术界也是司空见惯,比如我们就曾用HMM试图解决词义消歧的问题,而每个多义词的词义跟它前后一两个词并没有紧密的关系,因此词义消歧貌似和词性标注一样属于线性序列标注问题,其实是有根本差别的。
应用研究
我们是搞计算机的,计算机是一门应用科学,应用科学是由应用驱动的。时至今日,数学定理和物理学定律似乎已经被先哲们发现的差不多了,因此整个科学界中纯粹搞理论研究的人越来越少,很多大学教授都和工业界有着密切的联系,很多大企业也开办企业研究院,这些导致应用科学的研究如火如荼。最近,国家863设立了一个"中文为核心的多语言信息处理"重点项目,总经费7000万,这在多年前的大陆语言处理界完全是不可想象的。
应用驱动,也可以说是市场驱动。市场是一个精灵古怪的家伙,搞应用研究的人如果对市场的未来没有一个基本准确地判断,往往会导致选题上的偏差。二十年前,国内一些研究者开始研究汉字手写输入技术,开始人们觉得从键盘输入汉字很困难,手写输入一定有前途,但是很快,拼音输入法大面积普及,而且拼音输入的速度远比在手写板上输入汉字快得多,于是汉字手写输入套件根本卖不动,前景黯淡。有人开始犹豫,有人开始转向搞印刷体汉字识别等,但忽然有一天,集成了手写功能的商务通大量热销,人们忽然发现原来在手持设备上由于键盘太小,输入不便,给手写功能留下了很大的应用空间。一直专注于手写识别的汉王公司也借着商务通的热销而把多年的科研成果成功地产业化了。再举一个例子:5年前,我认为以图像为输入的图像检索没有什么应用价值,问这些技术的倡导者,他们也只说能够在数码相册中可以找到一些应用,但近来听了微软一些学者们的演讲,他们提到可以用手机拍下一个植物的图片,传回服务器,在大量植物图片库中检索,找到最相似的植物,并给出植物的名称,特点等。哈哈,这对于我这个五谷不分的人来说实在是太有帮助了,可见对于一项技术是否有用实在要仔细思考,不要早下断言。
技术和市场是一个互动的关系,有人认为技术严格地从用户的现实需求出发,这个观点总的来说没有错,但是忽视了技术创造需求的一面。大多数用户往往并不了解技术发展到了什么程度,他们提不出需求来,这时技术专家们需要把技术和产品做出来给人们看,刺激、引领用户的需求,比如数码相机,5年前我想大多数用户和我一样并没有淘汰胶卷相机的强烈要求,但当数码相机进入市场后,人人都意识到:原来我需要这个东东。
在市场与技术的互动中,总的来说,还是市场在引导和拉动技术的发展。市场需要的是产品,产品往往集成了多项技术,因此一项被市场接受的产品能够推动多项技术的进步。比如搜索引擎,它拉动了自然语言处理、并行计算、海量存储设备、数据挖掘等等多项技术的发展。最近中国计算机学会设立了王选奖,在中国真正有市场眼光,能够发明一项技术,拉动一个行业的计算机专家,王选是第一人。怎样根据市场选择研究方向,设计产品,调整技术形态,我在后面还有详细阐述。
科学技术的力量
科学技术的力量是巨大的,爱因斯坦给出的公式E=M*C2,C是光速啊,质量乘以光速的平方,这是多么巨大的能量啊,爱因斯坦的理论直接导致了原子能的利用与开发。基因图谱的发现以及后基因组时代对基因图谱的深入分析必将为人类征服疾病提供一条崭新的解决道路,通过对损坏的基因进行修复,将使无数患者得以康复,无数家庭重拾幸福。互联网的发明,把全世界连为一体,过不了多久,石头里也会嵌入芯片,在这个世界上有生命的、无生命的各种物质之间都可能进行通讯,人们的生活面貌已经彻底改变了。
当然,科学也是双刃剑:原子弹爆炸了,核战争始终威胁着人类;在对基因组这套上帝给出生命密码没有全面理解以前,任何盲动都可能导致基因污染,以至于玩火自焚;互联网上的虚拟生存让人们感到更加孤独。
怎样做研究(二)
研究的层次
研究是分层次的,很多大科学家在晚年登上了最高层,比如钱学森在80年代倡导思维科学,他对整个科学技术体系进行了重新分类。在中国的大学里,分为一级学科,二级学科等,我就处在计算机科学技术一级学科下面的计算机应用技术二级学科下。二级学科的带头人称为学科带头人,二级学科下面一个研究方向的带头人称为学术带头人,我就被指定为学术带头人。
我的研究方向是信息检索,信息检索下面又有子方向,比如文本检索、文本挖掘、跨语言检索、跨媒体检索等,子方向下面设立具体的科研课题,比如文本挖掘中的多文档自动文摘课题,针对一项课题又有不同的解决办法,基于事件抽取与集成的多文档文摘就是利用一种具体的解决问题的方法。
总结来说,就是6个层级:
A. 一级学科
B. 二级学科
C. 研究方向
D. 子方向
E. 课题
F. 基于某种方法对课题进行的具体研究
君子思不出其位,我是学术带头人,因此主要在思考C类的问题,也就是和信息检索相关的问题。一个学院的院长通常会思考A类的课题,学科带头人或者说是一个博士点的点长是要考虑B类问题的。一个人对相关的方向或学科有所了解,对自己的研究工作是很有好处的,只有看清了整体的学科面貌,才能知道自己处在那个位置上,自己未来的方向在哪里。我在读博士以及在微软做副研究员的时候,只看到E类问题,想到最多的是F类问题,因此你让我提一个新方向,让我对一项技术进行预测,我茫然无知。后来担任院长助理,负责学院的成果转化,需要了解学院里各个方向的发展状态,使我的视野开阔了一些。尽管我凡事不求甚解,但是喜欢总结归纳,因此对信息检索与其它学科的关系有了更多地认识,这对后来的选题很有帮助,特别是在应用研究方面,心里比较有底。
学科好比一棵大树的树根,研究方向如同树干,具体的课题就是枝叶了。和学科中各个方向都相关的研究课题是最基础的研究课题,比如在人工智能中,各类机器学习算法是图像识别、语音识别和语言理解等各个方向都离不开的,机器学习技术提高一步,好比树根抬高了一寸,各项应用技术也都跟着进步,因此越是基础的研究,越会对业界产生较大较深远的影响力。不过,基础研究的突破比较难,而在某个应用课题上不考虑一般情况,只考虑具体需要,成功的可能性大。枝叶上的课题做多了,经过合并同类项,就会发现比较共性的基础课题,比如我们在做问答系统、多文档文摘、例句检索等课题时发现复述(paraphrasing)是一个共性的问题,于是把复述单拿出来展开专门的研究,如此,可以越做越深。
学者的层次
研究有层次,学者也有层次,大致可以分为:
A. 大家(剑客):提出问题
B. 专家(侠客):解决问题
C. 学徒:修修补补
D. 抄袭者:抄来抄去
E. 搞伪科学的人:弄虚作假
A类是大家,站得高,看得远,他们往往能够前瞻性地提出某个学科领域中的若干重大问题,最著名的是希尔伯特的23个问题,对数学界影响深远。提出问题其实也是解决问题的一种方式,只不过他们是在很高的层面解决问题,类似一个软件系统分析员,他把一个复杂的工程问题分解为若干个有机联系的子问题,然后宣布只要这几个子问题解决了,整个大问题也就解决了。至于这几个子问题到底怎样解决,或者说相应的子系统到底怎样开发,他就不管了。胡乱地提问题并不难,小孩子也会向大人提出各种各样有趣的问题,有的大人也答不出来,问题的关键在于在适当的时候提出适合当前学术发展阶段的关键性课题,这绝对不是一般人能够做到的,这是需要具有对整个领域全面深入的理解才行的。
B类是专家,是在某个研究方向上有专长的人,他们沿着大家指出的方向探索前进,提出全新的方法体系来解决问题。比如在机器翻译领域中,日本长尾真教授提出了基于实例的机器翻译方法,从一个全新的视角看待机器翻译问题。专家经验丰富,能够自由地驾驭课题,稳步地推动课题的进展。
C类是学徒,就是我们这些普通的研究人员了,这部分人的注意力在具体的课题上。学徒们还没有宏大的视野,没有捕捉全局战略要点的本事,也还没有在一个研究方向上提出原创性的解决之道,他们跟在拓荒者后面捡拾麦穗,他们负责对科学大厦修修补补。他们一会儿听说了一个新的机器学习方法,赶紧在自己的课题上试一下;一会儿发现了一个以前忽略了的新的特征,立即想方设法把这个特征提取出来;一会儿为了参加一个技术评测,耐心地调一调系统参数;一会儿为了发表一篇论文构造出一个试验来。我们每天的研究活动差不多都是在这样进行的,很多时候在原地打转转。
我这样描述学徒们的工作情景丝毫没有贬低的意味,在达到专家的水平,证悟研究真谛以前,跌跌撞撞、浑浑沌沌是在所难免的。只要遵守诚信之道,不抄袭,不造假,点点滴滴的贡献对科学界也是有帮助的。从更高的要求看,学徒的目标应该是成为专家,应该时常静下心来想一想,自己的工作是否有价值,是否有新意,揣摩一下大家们、专家们到底是怎样思考问题的,在不断地反思与实践中向上迈进。
D类学者根本算不上学者,他们为了评职称等目的,对别人的论文进行抄袭拼凑,他们是思想的窃贼,对学术界毫无贡献可言。
E类学者不仅仅是做贼了,他编造伪科学,毁坏科学界在公众中的形象,他们是科学界的公敌。
以上的分类也只是为了讨论的方便,在各类之间并没有明确的界限,我只是依次谈出我心中做学问的境界而已。
在人类已知的世界和未知的世界之间有一条动态边界,科学家就站在这条边界上,他们是挑战未知世界的勇士,他们每向前迈出一步,就意味着整个人类的已知世界向前拓展了一步,由此足见科学工作的艰难和科学家的伟大。
研究又好比爬山,一座座山峰如同一个个研究领域,大家已登峰造极,一览众山小,把东南西北各条山路上的沟沟坎坎,把此山与他山之间的距离关系看得清清楚楚。隔行如隔山,隔行不隔道,在一个领域做到顶尖的学者已入化境,一通百通,你把另一个领域的问题讲给他听,他往往也能够很快地抓到要害。专家已到半山腰,看不到山的全貌,但是他找到了一条通往山顶的道路,并一步一步地向上攀登着。学徒还没有进入山门,他们一会儿仰望山顶,一会儿看看山腰,在山脚下绕来绕去找不到门径,费力不少,却并没有缩短与山顶的距离。
怎样做研究(三)
怎样选题
前文曾提到科学研究的层次,并分了6个层级。此处所说的选题指的是从C到E三个层次上的选择问题,即:C. 研究方向、D. 子方向、E. 课题。选择研究方向是实验室(Lab)主任们需要重点思考的事情,选择子方向是研究小组(Group)的组长们需要重点思考的事情,选择课题是研究生们需要重点思考的事情。
选择太多,很容易让人困惑,要想理出一个头绪来,需要一些基本的原则。微软的许峰雄来访时谈到了他选择课题的三个标准:有足够的兴趣,能成为世界第一,能赚钱。(!)兴趣,这个原则是非常重要的,我赞同,获得国家最高科技奖的"黄土之父"刘东生院士是搞地球环境科学的,经常在野外作业,按常人推断,这该是多么枯燥艰苦的工作啊,但他说:"枯燥?不!因为经常有新发现,其中的乐趣难以形容"。我坚信任何一个成功的科学家的直接工作动源都是兴趣,而不是意志。(2)成为世界第一,不容易,但是应该作为一种判断标准,如果某个领域已经非常成熟,很难有什么创新了,或者大牛云集,已经打破头了,则应该有所回避。(3)赚钱,许峰雄是在工业研究院中工作,比较注重实用,因此他强调了"赚钱",我是在工科大学里工作,也比较偏重应用,因此是赞同"能赚钱"这个标准的。不过,"能赚钱"不等于立即赚钱,5年、10年,20年后能够赚钱的研究课题都是值得关注的。
谈谈我选择课题的一些体会:
1、 要有实际需求
一个课题必须有实际需求,可能是现实的需求,也可能是潜在的需求;可能是直接的需求,也可能是间接的需求,总之是的的确确被人们所需要的。据个反例,比如自动文摘,自动文摘是我的博士论文课题,但是实际应用需求始终不清楚,自动文摘的结果用于编辑出版,质量肯定无法保证,用于帮助人们快速浏览资料吧, Google提供的包含查询词的简单的Snippet就起到了这个作用,因此,至今基于全文分析的单文档自动文摘到底用到哪里,仍然不清楚,这方面的研究已经有50多年的历史了,仍然是不死不活,总是找不到应用就无法得到政府和企业界的持续性支持,以往的付出成为鸡肋。我觉得单自动文摘不是一个好课题,目前阶段多文档文摘,或者说对某个题目的自动综述分析是非常好的题目。
2、 有较大的未知空间
以手写体汉字识别为例,市场上已经大面积应用了,在研究上就不宜再展开。
3、 与自己以往的工作有关联
如果你觉得自己的研究领域太窄,或者竞争对手太多,或者自己缺乏兴趣,则可以适当扩展研究方向,但最好是相关性地扩展,比如从自然语言处理(NLP)扩展到信息检索(IR),IR要用到NLP的技术,这种扩展是从底层技术到应用系统的扩展,很自然。再比如从图片检索扩展到视频检索,只是处理对象有变化,很多原有的技术优势仍然能够发挥。如果跳跃性太大,比如搞NLP,忽然发现做数据挖掘有前途,于是单纯地转向数据库中数据挖掘,和文本处理完全脱节,这种做法一方面无法发挥既有的技术积累,另一方面也让同行感觉你不够专注,不容易得到认可。最要命的是有的人根本就没有自己的方向,什么课题都敢接,这样的人可以一时间让人觉得风风火火,经费也很充足,但过不了多久就会摔落下去,因为缺乏积累,学术形象不清,公鸡下蛋,干了自己不擅长的事情,在学术圈还怎么混?
4、 有可能得到国家的支持
对于资深学者,他选定一个课题后,可以写出立项建议,去说服政府或军方支持他的工作,从而填补国家空白,成为国内这个方向的先驱。哈工大的杨孝宗老师借鉴 CMU在wearable computing方面的研究成果,在国内率先提出穿戴计算机的概念,坚持多年,就获得了军方的认可。对于刚出道的年轻人,无力直接影响政府,那只有自己预先判定一个几年后可能成为热点的方向,先走一步,做出一些成绩来,等到大气候适宜的时候,由于他已经取得了一定的成果,也有可能被认可为这个领域的先行者,得到国家的支持。
课题的类型
对一个课题的类型要有一个判断,是研究型的还是开发型的,如果是研究型的,要组织博士生们来攻关,鼓励大家大胆尝试,提出创见;如果是开发型的,要更多地召集硕士生们来做,强调利用一切现有的技术手段把技术或系统做到实用可靠。这两者要分的比较清楚,既不能通过各种打补丁的方法,或者说一大堆小技巧来对付研究型的课题,因为那样是做不出突破性进展的,也不能在开发类课题上总是异想天开,尝试还很不成熟的技术。
如果是研究型课题,还要区别是基础研究还是应用研究,基础研究的结果不能直接被用户使用,类似重工业,应用研究的结果最终用户直接就能够用上,类似轻工业。对于基础研究,可以抛开具体应用的约束,专注于一些科学原理技术原理的突破。对于应用研究,则需要考虑用户的需求。
课题还有长期(long term)和短期(short term)之分,长期研究的课题往往难度大,研究结果难以预料,短期项目则比较好预测,可以速战速决。
怎样做研究(四)
在一个具体的题目上作研究,应该遵从怎样的程序呢?我觉得可以概括为"螺旋式深入",也就是在"阅读","思考","实验","写作",再阅读。。。这四个阶段的时间分配可以根据实际情况灵活调整,刚进入课题的研究生阅读调研花费的时间要多一些,而在一个课题上已经开展了一两年工作的人则可能增量式地阅读资料,阅读时间自然比起步时少一些。专门用于思考、设计、推演的时间可能并不多,但思考是渗透在其它三个阶段中不断进行的,因此总的思考时间并不少。实验中编程的时间应该尽可能短,用更多的时间进行实验数据的分析。写作是常常被中国的研究生忽略的环节,写作的时间要足够长。收集资料,了解别人的工作,找出问题所在,针对性地提出自己的创意,用实验验证自己创意的正确性,总结归纳,撰写论文,发现新的问题,再收集资料,如此反复,这是研究活动的大致流程。
怎样阅读资料
收集资料、阅读资料是从事研究工作的第一步,但是如何收集、阅读资料却很有学问,初学者如果没有得到足够的指导,常常走很多弯路。
1、 阅读重要的论文
目前互联网上的信息量太大了,对每一条信息的重要性、可靠性的判断是一个人采集信息的关键环节。如果判断一篇论文是否重要呢?GoogleScholar给出的引用数是一个有效指标,很多学者都引用的文章往往就是有价值的论文。有的同学觉得看中文论文容易,于是把自己能够查到的中文论文一网打尽,反复阅读,但是很多发表在三流刊物上为了评职晋级而炮制的论文完全没有阅读的价值,白白耽误了时间。即使是英文论文,国外一样有滥竽充数的文章,这样的论文引用数肯定低,用引用数可能很容易地把这样的论文淘汰掉。
计算机领域的顶级会议论文非常重要,在NLP领域有ACL,在IR领域有SIGIR,在机器翻译领域有MT Summit,这些顶级会议的论文质量很高,内容很新,应该高度关注。期刊上的论文是一个作者或机构一个阶段的研究成果的总结,通常质量较高,但由于审稿及编辑出版的周期很长,因此内容不够新,适当关注即可。NLP领域的CL,机器翻译中的MT,信息检索领域的IP&M和JASIST等都是很好的期刊。进入一个领域,必须立即了解该领域有哪些顶级的国际会议和国际期刊。
2、以作者为线索理清脉络
阅读论文一定要注意论文的作者是谁,研究机构是哪里,以作者为线索理一理就会发现全世界搞你这个方向的也就那么几个、十几个研究机构、研究者,以后就跟踪这些人的研究工作即可,还能够发现该作者的研究工作的演进脉络。如果拿到一篇文章就读,读完了也不知道作者是谁,时间长了,就会感到晕头晕脑,不知道从哪个期刊或会议上就会冒出一篇相关文章来,让你防不胜防。
3、 阅读最新的论文
学术发展很快,要集中尽力阅读近5年,特别是近3年的论文,对于5年前的论文,只看引用率最高的经典文章即可。
4、 抓住论文的要害
读完一篇论文必须了解哪些关键内容呢?我觉得应该包括以下方面:作者为什么要做这项工作?要解决的是一个什么问题?作者在解决问题时遇到了怎样的困难?为了解决他的困难他提出了什么样的解决办法?试验结果是否可能真的证明他的方法好,数据是否充分,有没有和别人的工作,别的方法进行对比?你认为他的方法是否新颖,你从中学到了什么?该方法有哪些不足,你是否立即有了新的改进方案?如果有立即记录下来。带着上述问题,抓住要点,做好记录,一篇长文就会像庖丁解牛一样轰然倒下。
5、 批判式阅读
真理越辩越明,我们读的是一篇学术论文,不是《圣经》,不能带着崇敬的心理去阅读,要像一个审稿人那样带着批判挑剔的心理阅读论文,在阅读中不断地找出论文中的问题,选题上的,方法上的,实验上的,表述上的,并不断地通过积极独立的思考给出自己认为见解。只有这样,资料才能够为你所用,而不会成为你的包袱。有的同学读资料,越读越丧失信心,发现别人做得太好了,自己的想法都被别人做完了,资料全读完了,自己也准备换课题了,这是失败的读法。
中国的研究生要有信心,不要被国外所谓的名家吓住。中国的科研水平在快速提高,科研人员的素质也在快速提高。一位美籍华裔企业家在一篇文章中写道:"可不幸的是,除了很少顶尖学校的博士外,大部分博士所做的研究课题都是陈旧或者没有意义的。"不知道顶尖高校的含义是什么,但是我觉得我们的研究生要对自己的国家有信心,对自己的学校有信心,对自己的倒是有信心,对自己有信心。只要我们掌握正确的研究方法,广泛阅读国外最新的研究成果,大胆尝试自己人为正确的方法,充分释放我们的聪明才智,我们就丝毫不用对国外的研究工作顶礼膜拜。在科学研究上,欧美人从内心里是瞧不起我们亚洲人,我们中国人的,以至于欧美归来的学者们也以欧美为样板来评估我们教育科研体制,只要和美国不一样就是大错特错了,中国高校的教师们都是在误人子弟。我奉劝每一位研究生建立不崇拜权威,不崇拜欧美,只服从真理的独立思维模式,大胆质疑大胆批判,只有这样才能不死于他人之言下,才能有活脱脱的自己。