MIT实验室是怎样做学问的(z)(下)(1 / 2)
完美主义可能会导致对本来已经足够好的论文还在不停地打磨。这是浪费时间。(这也是一种有意无意之间逃避做研究的表现)。将论文看作你与本领域其他人交谈
时的一句话。在交谈中,并不是每一句话都是完美的。很少有人会期待自己的某次谈话就是全部的故事,是与对方的最后一次交流。
?写信是一种很好的练习。很多技术论文,如果其风格更类似于给朋友的信,那么会有很大的提高。坚持记日记也是练习写作的方法(也会使你试验更多的文体,不仅仅是技术论文)。这两种方法还有其它的实质作用。
?一个常见的陷阱是花很多时间去追求修辞而不是内容。要避免这样。LaTeX并非完美,但是它有很多你所需的修饰语。如果这还不够,还可从其他从事这一研究的人那里借用一些词语用法。很多站点(例如MIT)维护了一个写作修辞的库。
?清楚自己要表达什么。这是清楚的写作中最难最重要的因素。如果你写了拙劣的东西,且不知道如何修改,这很有可能是因为你不知道自己要说什么。一旦搞清楚了自己要说什么,说就行了。
?
论文的写作要有利于读者查找到你所做的工作。无论是段落的组织还是通篇的组织,都要将最核心的部分放在前面。要精心写作摘要。确保摘要已经反映出你的好思
路是什么。确保自己明白自己的创新点是什么,然后用几句话表达出来。太多的论文摘要只是一般性地介绍论文,说是有一个好思路,却不说是什么。
?不要用大话来贩卖你的工作。你的读者都是很优秀的人,正直且自尊。与之相反,也不要为自己的工作道歉或者进行消减。
?有时候你意识到某个子句、句子或者段落不够好,却不知道如何修改。这是因为你钻到死胡同里出不来了。你需要返回重写这一部分。现实中这种情况很少发生。
?确保自己的论文中有中心思想。如果你的程序在10毫秒内解决了问题X,告诉读者你是如何办到的。不要只是解释呢的系统是如何构建的,是做什么的,还要解释其工作原理和价值所在。
?
写作是给人看的,而不是机器。因此光观点正确是不行的,还要易懂。不要靠读者自己去推理,除非是最明显的推论。如果你在第七页的脚注上解释了某个小玩意的
工作原理,接着在第二十三页没有进一步解释就引用了它,此时如果读者感到困惑一点都不值得奇怪。正式的论文要写清楚是很难的。不要模仿数学领域的文献,它
们的标准是尽可能少的解释,使读者感到越困难越好。这并不适用于AI。
?写完一篇论文后,删掉第一段或者头几句话。你会发现那是与内容无关的一般性话语,更好的介绍语句在第一段最后或者第二段的开头。
如
果你等做完所有的工作后才开始写作,会失去很多。一旦开始了某个科研项目,要养成这样的习惯:写作解释当前工作进展或者每几个月学习所得的非正式论文。从
你的研究笔记中的记载开始。花两天的时间写下来——如果你花的时间更长,说明你是一个完美主义者。将论文与你的朋友分享。写的是草稿——不是为了被引用的
那种。将论文复制数十份,送给那些感兴趣的人(包括你的导师)。与写正式论文相比,这样做具有很多相同的好处(评论,理清思路,写作练习等等),而且从某
种意义上讲,付出无需那么多。经常地,如果你做得不错,这些非正式论文以后可以作为正式论文的骨干内容,也就是从AI实验室的Working
Paper成为一篇期刊文章。
一旦你成为SecretPaperPassing
Network的成员,会有很多人给你寄论文拷贝要求评论。获得他人对自己的论文的评论是很有价值的。因此你评论的论文越多,你获得支持就越多,也会收到
更多人对你论文的评论。不仅如此,学习评价别人的论文也有助你的选择。
为论文写有用的评论是一门艺术。
?要写出有用的评论,需要读两遍论文。第一遍了解其思想,第二遍开始作评论。
?如果某人在论文中屡次犯同一错误,不要每次都标记出来。而是要弄清楚模式是什么,他为什么这样做,对此还可以做什么,然后在第一页清晰地指出或者私下交流。
?论文的作者在合并你的评论时,将会遵循最小修改的原则。如果可以,就只修改一个词,不行再修改一个词组,再不行才修改整个句子。如果他的论文中某些拙劣之处使得他必须修改整个段落,整个小节甚至整篇论文的组织,要用大字体的字母指出来,这样他才不会忽视。
?不要在论文写毁灭性的批评如“垃圾”。这对于作者毫无帮助。花时间提出建设性的建议。要设身处地地为作者着想。
评
论有很多种。有对表达的评论,有对内容的评论。对表达的评论也可以很不同,可以是校对打字稿,标点,拼写错误,字词丢失等。应该学一些标准的编辑符号。还
可以是校正语法,修辞,以及混乱不清楚的段落。通常人们会持续地犯同一语法错误,因此需要花时间明确地指出。接下来是对组织结构的评论:不同程度(子句,
句子,段落,小节乃至一章)的次序混乱,冗余,无关的内容,以及丢失论点。
很难描述对内容进行评论的特征。你可能建议作者扩展自己的想法,考虑某个问题,错误,潜在的问题,表达赞美等。“因为Y,你应该读X”是一种总是有用的评论。
当被要求对论文作评论时,你首先想弄清楚哪种评论更有用。对于早期的论文草稿,需要你主要对内容和论文的组织结构作评论;对于最终的草稿,需要你主要评论表达的细节。注意,作为一种礼貌,在要求别人评论之前,应首先用拼写检查器对自己的论文进行检查。
你无须接受所有的意见,但是必须都认真对待。将论文的部分内容裁掉是挺令人痛心的,但往往也提高了论文的水平。你经常会发现某个意见确实指出了问题,但是解决方法你觉得不可接受,那么就去寻找第三条道路。
要
多发表论文,这其实比想象中的容易。基本上,AI出版物评审者评审论文的标准是:(a)有新意;(b)在某些方面,符合标准。看看IJCAI的会议录,你
会发现论文录取的标准相当低。这种情况由于评审过程本身固有的随机性而变得更糟糕了。所以一个发表论文的诀窍是不停地试。
?确保论文可读性比较好。论文被拒绝的原因,除了没有意义之外,就是无法理解或者组织糟糕。
?论文在投往期刊之前,应该交流一段时间,并根据反馈的评论进行适当的修订。要抵制那种急匆匆地把结果投往期刊的做法。在AI领域,没有竞赛,而且不管怎么说,出版周期的延迟要大大超过对草稿进行评论的时间。
?读一读你想投稿的期刊或者会议的过刊,确保自己论文的风格和内容是适合的。
?很多出版物都有一页左右的“作者投稿须知”,仔细看看。
?主要的会议都会在被接收的论文中评出内容和表达俱佳的获奖论文,仔细研究研究。
?通常是向会议投交一篇篇幅比较短的有关部分工作内容的早期报告,然后再往期刊投交一份篇幅长的最终的正式论文。
?论文被决绝了——千万不要沮丧灰心。
?期刊和会议的论文评审过程存在很大的不同。为了节省时间,会议论文的评审必须迅速,没有时间细究或者交流。如果你被拒绝了,你就失败了。但期刊论文则不同,你可以经常地与编辑争辩,通过编辑与评审人争辩。
?
评审人一般都会对你有帮助的。如果你收到了令人生厌的评审报告,应该向大会的程序主席或者编辑投诉。不能期望可以从会议论文评审人的报告那里得到多少反
馈。但对于期刊论文,往往可以得到非常棒的建议。你不必完全按照评审报告的建议去做,但是,如果你不按照报告去做,那么就必须解释原因,并且要意识到这可
能会导致进一步的**。不管怎么样,无论是哪种的评审,作为评审者都要有礼貌。因为在余下的职业生涯中,你将会与被评审者在一个学术圈子里。
?
MITAILabMemos大体上是或者接近发表的水平。实际上,Technical
Reports基本上都是这些Memos的修订版本。Working
Papers则更不正式,这是很好的将自己的论文分发给同事们的方法。要出版这些内部文件,只需到Publications
Office(在活动楼八层)领一份表格,并有两位教员签字即可。
就像其它的科研活动一样,论文写作所花的时间总是比期望的要高。论文的发表在耗
费时间这个问题上则更严重。当你完成了一篇论文,投出去,等待发表。数月后,论文以及评论被返回来。你不得不对论文进行修改。然后又是几个月,才返回对你
的修改的确认。如果你同时发表了该论文的不同形式,如有一篇短的投会议,一篇长的投期刊,这样的过程将反复数个回合。结果有可能是当你已经厌倦了,研究主
题也已经令人生厌后数年,你仍然在修改那篇论文。这启示我们:不要去做那些需要热情投入但是很难发表论文的研究——苦不堪言。
7.讲演
与同行交流的另外一种方式就是讲演,上面提到的有关论文写作的问题,同样适用于讲演。站在听众面前从容讲演而不会使听众恹恹欲睡的能力,对于你成功地获得别人的承认、尊敬乃至最终的求职都是很关键的。讲演的能力不是天生的,下面是一些学习和练习讲演的方法:
?PatrickWinston有一篇很好的有关如何作讲演的小论文。每年的一月,他都会就此作讲演,演示和描述它的演讲技巧。
?如果你觉得自己是一个糟糕的演讲者,或者想成为一名优秀的演讲者,选一门公共演讲课。初级的表演课也很有用。
?如果你的导师有定期的研究讨论会,自愿去作演讲。
?MITAI实验室有一系列的半正式座谈会,叫做RevolvingSeminar。如果你觉自己的某些观点值得写进AIMemo或者会议论文中,自告奋勇去作一场报告。
?深入了解实验室的不同机器人项目,当你外地的亲朋好友来的时候,你可以领着他们逛一圈,并就机器人做60分钟的报告。
?由于修改演讲远比修改论文容易,有些人会觉得这是很好的寻找如何表达思想的方式。(NikeBrady有一次曾说,他所有最好的论文都来自于演讲)。
?在一间空屋子里练习,最好就是你马上要做的报告。这有助于调整报告的技巧:每一张幻灯讲些什么;转换的延迟以及保持平滑;保持解释和幻灯的同步;估计报告的时间长度。你花在调整设备上的时间越少,留下来的与人交流的时间就越长。
?用镜子,录音机或者录像机练习是另外一种方法。实验室有这三种设备。这也有助于调整自己的发音和肢体语言。
?对于比较正式的报告——特别是你的答辩——应该在几个朋友面前练习一遍,请他们批评指正。
?观察别人是如何做报告的。有很多访问MIT的人会做报告。参加这样的报告会能够感受自己不熟悉的领域,并且如果报告令人提不起兴趣,你可以暗中分析报告者错在哪里。
?找一位朋友,将你最近的想法说给他听。这既可以提高的交际技巧,又能调试自己的思路。
8.程序设计
并
不是所有的AI论文都包含代码,而且本领域的很多重量级人物从来没有写过一个重要的程序。但是为了初步的近似AI工作原理,你必须会程序设计。不仅仅是很
多AI研究工作需要编写代码,而且学会程序设计能给你什么是可计算的什么是不可计算的直觉,这是AI对认知科学贡献的主要来源。
在MIT,本质上
所有的AI程序设计都使用Common
Lisp。如果还不知道,赶快学吧。当然,学习一门语言并不能等同于学习程序设计;AI程序设计包含的一些技术与那些在系统程序设计或者应用程序设计中用
到的大不相同。开始学的时候,可以先看看Abelson和Sussman的《StructureandInterpretationof
Computer
Programs》,并做一些练习。这本书与AI程序设计本质上并不相干,但是包含了一些相同的技术。然后读Winston和Horn写的Lisp书第三
版,书里有很多优雅的AI程序。最后,进行实际的程序设计,而不是阅读,才是最好的学习程序的方法。
学习Lisp程序设计有很多传统。有些人习惯
一起写代码,这取决于个性。还有的人寻找机会直接向有经验的程序员学习,或者请他对你的代码进行评价。阅读别人的代码也是很有效的方法。如果可以向高年级
同学要他们的源代码。他们可能会有些抱怨,说自己的编程风格差极了,程序实际上并不能工作云云。不管怎么样,最后你获得了源代码。然后你要仔细地通篇阅
读,这很费时间。通常阅读并完全理解别人代码所花的时间与你自己编程完成的时间是一样多的,因此要计划好在你的头一个或者头两个学期用数周的时间去阅读别
人的代码。你将从中学到很多以前不曾想到在课本中也没有的技巧。如果你读到了大段大段不可理解没有注释的程序,你就会明白不应该如何写代码了。
在软件工程课里学习到的那些知识在AI程序设计中依然有用。要给代码加注释。使用正确的数据抽象。将图和你的代码隔离开,由于你使用的语言基本上是CommonLisp,因此可移植性很好。诸如此类。
经过头几年的学习后,应该写一些自己的标准AI模块,如:
?真值维护系统
?规划器
?规则系统
?不同风格的解释器
?具有流程分析的优化编译器
?具有继承特性的框架系统
?几种搜索方法
?基于解释的学习器
任何你感兴趣的东西都可以尝试用程序实现。你可以抓住问题的实质,在几天之内完成一个功能版本。修改已有的程序是另外一种有效的方法,前提是你已经写过这样的东西,并且确实了解其工作原理,优缺点以及效率等问题。
不
象其他通常的程序员,AI程序员之间很少相互借阅代码。(演示代码例外)。这部分由于AI程序很少有真正起作用的。(很多著名的AI程序只在作者论文所提
到的那三个例子上起作用,虽然最近这种情况已经有所改善)。另外一个原因是AI程序通常是匆忙凑成,并没有考虑一般化的问题。使用Foobar的“标准”
规则解释器,开始时很有效,不久就会发现缺少一些你需要的功能,或者不够有效率。虽然可以对代码进行修改满足自己的需要,但记住理解别人的代码是很耗时
的,有时候还不如自己写一个。有时候构建一个标准包的工作本身就可以成为一篇论文。
像论文一样,程序也有可能过于追求完美了。不停重写代码以求完美,最大化的抽象所有的东西,编写宏和库,与操作系统内核打交道,这都使得很多人偏离了自己的论文,偏离了自己的领域。(从另外一方面,或许这正是你需要将来谋生的手段)。
9.导师
在MIT,有两种类型的导师,教学导师和论文导师。
教
学导师的工作比较简单。每一位研究生都被分配了系里的一位老师作为教学导师。教学导师的作用是作为系方代表,告诉你对你的正式要求是什么,如果你的进度慢
了敦促你,批准你的课程计划等。如果一切顺利的话,你每年只需要见教学导师两次,在注册日那天。从另一方面讲,如果你遇到了困难,教学导师替你向系里反映
或者提供指导。
论文导师是监督你研究的人。选择论文导师是你读研期间最重要的选择,比选题都重要得多。从更广的意义上讲,AI是通过师傅带徒弟的方式学习的。有很多领域的技术方面或者研究过程方面的非正式知识,只能从导师那里学到,在任何教科书上都找不到。
很多AI教员都是行为古怪的人,毕业生也如此。导师与研究生的关系是非常个性化的,你的个人特点必须与导师的配合得很好,这样你们才能合作成功。
不同的导师具有不同的风格。下面是一些需要值得考虑的因素:
?
你需要多大程度的指导?有些导师会给你一个定义良好的适合做论文的问题,对解决方法进行解释,并告诉你如何开展工作。如果你陷在某个地方了,他们会告诉你
如何开展下去。其他的导师属于甩手型,他们可能对你的选题毫无帮助,但是一旦你选好题目,他们对于引导你的思路具有非常大的作用。
你需要考虑清楚自己适合独立工作还是需要指导。
?你需要多大程度的联系?有的导师要求每周与你见面,听取你工作进展的汇报。他们会告诉你应该读的论文,并给你实际的练习和项目做。其他的导师每学期与你的谈话不会超过两次。
?你能承受的压力有多大?有些导师施加的压力是很大的。
?需要多少情感支持?
?
听取导师意见的认真程度如何?大多数导师会相当正式的建议你的论文题目。有些导师是值得信赖的,他们给出的建议,如果按照执行,几乎肯定会做出一篇可接受
程度的论文,如果不是令人兴奋的论文的话。其他的则一下子抛出很多思路,大部分是不切实际的,但是有一些,或许会导致重大突破。如果选了这样的一位导师,
你首先得把自己当作一个过滤器。
?导师提供了什么类型的研究组?有些教授会创造环境,把所有的学生聚集在一起,即使他们做的不是同一个项目。很多教授每周或者每两周与自己的学生们会面。这对你有用么?你能与教授的学生和睦相处么?有些学生发现他们更能与其他教研组的学生建立良好的工作关系。
?你想参与大的项目么?有些教授将大系统分解,每个学生负责一部分。这给了你与一组人讨论问题的机会。
?你想被共同监督么?有些论文项目包含了多个AI领域,需要你与两个以上的教授建立密切的工作关系。虽然你正式的论文导师只有一位,但是有时候这并不反映实际情况。
?
导师愿意指导其研究领域之外的论文题目么?你是否能与导师一起工作,比你做什么本身更重要。MIT的机器人系就曾指导过量子物理学和认知建模方面的论文;
推理方面的教员指导过视觉方面的论文。但是有些教员只愿意指导自己研究兴趣领域内的论文。这对于那些欲获得终身职位的年轻教员来说尤其如此。
?导师会为了你跟体制作斗争吗?有些导师会为了你跟系里或者某些有敌意的实体作斗争。有时候体制对某些类型的学生不利(特别是对于女学生和怪癖的学生),因此这一点很重要。
?导师愿意并且能够在会议上推荐你的工作吗?这是导师工作的一部分,对你将来工作意义重大。
上述这些因素,不同学校的情况很不相同。与大部分学校相比,MIT提供了多得多的自由。
找论文导师是你研究生一年级最主要的任务。研一结束时,或者研二学年开始阶段,你必须有一个论文导师。下面是一些诀窍:
?查阅实验室的研究总结。其中有一页左右的篇幅描述了每个教师以及很多研究生目前在做什么。
?如果你对某些教师的研究工作感兴趣,查阅其最近的论文。
?在第一学期,与尽可能多的教师交谈。去感受他们喜欢做什么,他们的研究和指导风格是什么。
↑返回顶部↑