5. 笔记
很多科学家都有做科研笔记的习惯,你也应该这样。可能你曾被告知从五年级开始,对于每一门科学
课都应该记笔记,确实如此。不同的记笔记方式适用于不同的人,可以做在线笔记,记在笔记本或者便笺
簿上。可能需要在实验室有一个,家里还有一个。
在笔记本上记录下自己的想法。只有你自己才会去读它,因此可以记得比较随意。记录下自己的思索,
当前工作中遇到的问题,可能的解决方案。对将来可能用到的参考文献作小结。
定期翻阅你自己的笔记本。有些人会做月度总结,方便将来的引用。
笔记中记录中的东西经常可以作为一篇论文的骨干。这会使生活变得轻松些。相反,你会发现写粗略
的论文——标题,摘要,分标题,以及正文的片段——是一种记录自己当前工作的有效方式,即使你并不
准备把它变成一篇真正的论文。(过一段时间你或许会改变想法)。
你或许会发现Vera Johnson-Steiner的书《Notebooks of the Mind》很有用,该书并不是描写如何做笔记
的文献,它描述了随着思想片断的积累,创新思想是如何出现的。
6. 写作
写作的理由有很多。
.. 在整个读研的过程中,你需要写一到两篇(这取决于你所在系的规定)毕业论文,以获得PhD或者
MS。
.. 勤于写作不仅仅给你练习的机会。
.. 学术的规则就是要么发表,要么腐烂。在很多领域和学校,这通常开始于你成为一名教授时,但是我
们实验室的很多研究生毕业之前就已经开始发表论文了。鼓励发表和分发论文是很好的政策。
.. 写下自己的想法是很好的调整思路的方式。你会经常地发现自以为很完美的想法一旦写下来就显得语
无伦次。
.. 如果你工作的目的是不仅为自己还要为他人服务,就必须把它发表。这也是研究的基本责任。如果你
写得精彩,会有更多的人来了解你的工作。
.. AI但凭单打独斗是很难做的,你需要经常地从他人那里获得反馈。对你的论文作评论就是最重要的一
种形式。任何事情,要做就要做到最好。
.. 阅读有关如何写作的书籍。Strunk和White的《Elements of Style》对基本的应该如何不应该如何做了
介绍。Claire的《The MLA's Line By Line》(Houghton Mifflin)是有关在句子级别如何编辑的书籍。
Jacques Barzun的《Simple and Direct: A Rhetoric for Writers》(Harper and Row, 1985)是有关如何作文
的。
.. 写论文时,读读那些写作高超的书,并思考作者的句法运用。你会发现不知不觉地,你已经吸收了作
者的风格。
.. 要成为写作高手,需要付出颇多,历经数年,期间还要忍受和认真对待他人的批评。除此之外,并无
捷径可走。
.. 写作有时候是很痛苦的,看起来好像是从“实际的”工作中分心了。但如果你已经掌握了写作技巧,
写起来会很快。而且如果你把写作当作一门艺术的话,你能从中得到很多乐趣。
.. 你肯定会遇到思路阻塞的情况,这有很多的可能原因,没有一定可以避免的方法。追求完美可能导致
思路阻塞:无论开始写什么,总觉得不够好。要理解写作是一个调试的过程。先写一个草稿,然后返
回修订。写草稿有助于理顺思路,如果写不出来正文,那就写个大纲。逐步对之细化,直到已经很容
易写出子部分的内容。如果连草稿也写不出来,隐藏掉正在写作的所有窗口,然后随便输入自己脑袋
里想到的东西,即使看起来好像是垃圾。当你已经写出了很多文本后,重新打开窗口,将刚才写的东
西编辑进去。
另外一个错误是以为可以将所有的内容依次写出。通常你应该将论文的核心内容写出来,最后才是介
绍部分。引起作者思路阻塞的另一个原因是不切实际的以为写作是很容易的事情。写作是耗时耗力的,
如果发现自己每天只能写一页,也不要放弃。
.. 完美主义可能会导致对本来已经足够好的论文还在不停地打磨。这是浪费时间。(这也是一种有意无
意之间逃避做研究的表现)。将论文看作你与本领域其他人交谈时的一句话。在交谈中,并不是每一
句话都是完美的。很少有人会期待自己的某次谈话就是全部的故事,是与对方的最后一次交流。
.. 写信是一种很好的练习。很多技术论文,如果其风格更类似于给朋友的信,那么会有很大的提高。坚
持记日记也是练习写作的方法(也会使你试验更多的文体,不仅仅是技术论文)。这两种方法还有其
它的实质作用。
.. 一个常见的陷阱是花很多时间去追求修辞而不是内容。要避免这样。LaTeX并非完美,但是它有很多
你所需的修饰语。如果这还不够,还可从其他从事这一研究的人那里借用一些词语用法。很多站点(例
如MIT)维护了一个写作修辞的库。
.. 清楚自己要表达什么。这是清楚的写作中最难最重要的因素。如果你写了拙劣的东西,且不知道如何
修改,这很有可能是因为你不知道自己要说什么。一旦搞清楚了自己要说什么,说就行了。
.. 论文的写作要有利于读者查找到你所做的工作。无论是段落的组织还是通篇的组织,都要将最核心的
部分放在前面。要精心写作摘要。确保摘要已经反映出你的好思路是什么。确保自己明白自己的创新
点是什么,然后用几句话表达出来。太多的论文摘要只是一般性地介绍论文,说是有一个好思路,却
不说是什么。
.. 不要用大话来贩卖你的工作。你的读者都是很优秀的人,正直且自尊。与之相反,也不要为自己的工
作道歉或者进行消减。
.. 有时候你意识到某个子句、句子或者段落不够好,却不知道如何修改。这是因为你钻到死胡同里出不
来了。你需要返回重写这一部分。现实中这种情况很少发生。
.. 确保自己的论文中有中心思想。如果你的程序在10毫秒内解决了问题X,告诉读者你是如何办到的。
不要只是解释呢的系统是如何构建的,是做什么的,还要解释其工作原理和价值所在。
.. 写作是给人看的,而不是机器。因此光观点正确是不行的,还要易懂。不要靠读者自己去推理,除非
是最明显的推论。如果你在第七页的脚注上解释了某个小玩意的工作原理,接着在第二十三页没有进
一步解释就引用了它,此时如果读者感到困惑一点都不值得奇怪。正式的论文要写清楚是很难的。不
要模仿数学领域的文献,它们的标准是尽可能少的解释,使读者感到越困难越好。这并不适用于AI。
.. 写完一篇论文后,删掉第一段或者头几句话。你会发现那是与内容无关的一般性话语,更好的介绍语
句在第一段最后或者第二段的开头。
如果你等做完所有的工作后才开始写作,会失去很多。一旦开始了某个科研项目,要养成这样的习惯:
写作解释当前工作进展或者每几个月学习所得的非正式论文。从你的研究笔记中的记载开始。花两天的时
间写下来——如果你花的时间更长,说明你是一个完美主义者。将论文与你的朋友分享。写的是草稿——
不是为了被引用的那种。将论文复制数十份,送给那些感兴趣的人(包括你的导师)。与写正式论文相比,
这样做具有很多相同的好处(评论,理清思路,写作练习等等),而且从某种意义上讲,付出无需那么多。
经常地,如果你做得不错,这些非正式论文以后可以作为正式论文的骨干内容,也就是从AI实验室的
Working Paper成为一篇期刊文章。
一旦你成为Secret Paper Passing Network的成员,会有很多人给你寄论文拷贝要求评论。获得他人对
自己的论文的评论是很有价值的。因此你评论的论文越多,你获得支持就越多,也会收到更多人对你论文
的评论。不仅如此,学习评价别人的论文也有助你的选择。
为论文写有用的评论是一门艺术。
.. 要写出有用的评论,需要读两遍论文。第一遍了解其思想,第二遍开始作评论。
.. 如果某人在论文中屡次犯同一错误,不要每次都标记出来。而是要弄清楚模式是什么,他为什么这样
做,对此还可以做什么,然后在第一页清晰地指出或者私下交流。
.. 论文的作者在合并你的评论时,将会遵循最小修改的原则。如果可以,就只修改一个词,不行再修改
一个词组,再不行才修改整个句子。如果他的论文中某些拙劣之处使得他必须修改整个段落,整个小
节甚至整篇论文的组织,要用大字体的字母指出来,这样他才不会忽视。
.. 不要在论文写毁灭性的批评如“垃圾”。这对于作者毫无帮助。花时间提出建设性的建议。要设身处
地地为作者着想。
评论有很多种。有对表达的评论,有对内容的评论。对表达的评论也可以很不同,可以是校对打字稿,
标点,拼写错误,字词丢失等。应该学一些标准的编辑符号。还可以是校正语法,修辞,以及混乱不清楚
的段落。通常人们会持续地犯同一语法错误,因此需要花时间明确地指出。接下来是对组织结构的评论:
不同程度(子句,句子,段落,小节乃至一章)的次序混乱,冗余,无关的内容,以及丢失论点。
很难描述对内容进行评论的特征。你可能建议作者扩展自己的想法,考虑某个问题,错误,潜在的问
题,表达赞美等。“因为Y,你应该读X”是一种总是有用的评论。
当被要求对论文作评论时,你首先想弄清楚哪种评论更有用。对于早期的论文草稿,需要你主要对内
容和论文的组织结构作评论;对于最终的草稿,需要你主要评论表达的细节。注意,作为一种礼貌,在要
求别人评论之前,应首先用拼写检查器对自己的论文进行检查。
你无须接受所有的意见,但是必须都认真对待。将论文的部分内容裁掉是挺令人痛心的,但往往也提
高了论文的水平。你经常会发现某个意见确实指出了问题,但是解决方法你觉得不可接受,那么就去寻找
第三条道路。
要多发表论文,这其实比想象中的容易。基本上,AI出版物评审者评审论文的标准是: 有新意;
在某些方面,符合标准。看看IJCAI的会议录,你会发现论文录取的标准相当低。这种情况由于评审过程
本身固有的随机性而变得更糟糕了。所以一个发表论文的诀窍是不停地试。
.. 确保论文可读性比较好。论文被拒绝的原因,除了没有意义之外,就是无法理解或者组织糟糕。
.. 论文在投往期刊之前,应该交流一段时间,并根据反馈的评论进行适当的修订。要抵制那种急匆匆地
把结果投往期刊的做法。在AI领域,没有竞赛,而且不管怎么说,出版周期的延迟要大大超过对草
稿进行评论的时间。
.. 读一读你想投稿的期刊或者会议的过刊,确保自己论文的风格和内容是适合的。
.. 很多出版物都有一页左右的“作者投稿须知”,仔细看看。
.. 主要的会议都会在被接收的论文中评出内容和表达俱佳的获奖论文,仔细研究研究。
.. 通常是向会议投交一篇篇幅比较短的有关部分工作内容的早期报告,然后再往期刊投交一份篇幅长的
最终的正式论文。
.. 论文被决绝了——千万不要沮丧灰心。
.. 期刊和会议的论文评审过程存在很大的不同。为了节省时间,会议论文的评审必须迅速,没有时间细
究或者交流。如果你被拒绝了,你就失败了。但期刊论文则不同,你可以经常地与编辑争辩,通过编
辑与评审人争辩。
.. 评审人一般都会对你有帮助的。如果你收到了令人生厌的评审报告,应该向大会的程序主席或者编辑
投诉。不能期望可以从会议论文评审人的报告那里得到多少反馈。但对于期刊论文,往往可以得到非
常棒的建议。你不必完全按照评审报告的建议去做,但是,如果你不按照报告去做,那么就必须解释
原因,并且要意识到这可能会导致进一步的负面评价。不管怎么样,无论是哪种的评审,作为评审者
都要有礼貌。因为在余下的职业生涯中,你将会与被评审者在一个学术圈子里。
.. MIT AI Lab Memos大体上是或者接近发表的水平。实际上,Technical Reports基本上都是这些Memos
的修订版本。Working Papers则更不正式,这是很好的将自己的论文分发给同事们的方法。要出版这
些内部文件,只需到Publications Office(在活动楼八层)领一份表格,并有两位教员签字即可。
就像其它的科研活动一样,论文写作所花的时间总是比期望的要高。论文的发表在耗费时间这个问题
上则更严重。当你完成了一篇论文,投出去,等待发表。数月后,论文以及评论被返回来。你不得不对论
文进行修改。然后又是几个月,才返回对你的修改的确认。如果你同时发表了该论文的不同形式,如有一
篇短的投会议,一篇长的投期刊,这样的过程将反复数个回合。结果有可能是当你已经厌倦了,研究主题
也已经令人生厌后数年,你仍然在修改那篇论文。这启示我们:不要去做那些需要热情投入但是很难发表
论文的研究——苦不堪言。
acsee
Admin Group
管理员
注册时间: 2006-04-27
在线状态: 离线
帖子: 301
7. 讲演
与同行交流的另外一种方式就是讲演,上面提到的有关论文写作的问题,同样适用于讲演。站在听众
面前从容讲演而不会使听众恹恹欲睡的能力,对于你成功地获得别人的承认、尊敬乃至最终的求职都是很
关键的。讲演的能力不是天生的,下面是一些学习和练习讲演的方法:
.. Patrick Winston有一篇很好的有关如何作讲演的小论文。每年的一月,他都会就此作讲演,演示和描
述它的演讲技巧。
.. 如果你觉得自己是一个糟糕的演讲者,或者想成为一名优秀的演讲者,选一门公共演讲课。初级的表
演课也很有用。
.. 如果你的导师有定期的研究讨论会,自愿去作演讲。
.. MIT AI实验室有一系列的半正式座谈会,叫做Revolving Seminar。如果你觉自己的某些观点值得写进
AI Memo或者会议论文中,自告奋勇去作一场报告。
.. 深入了解实验室的不同机器人项目,当你外地的亲朋糜牙吹氖焙颍憧梢粤熳潘枪湟蝗Γ⒕突?br>器人做60分钟的报告。
.. 由于修改演讲远比修改论文容易,有些人会觉得这是很好的寻找如何表达思想的方式。(Nike Brady
有一次曾说,他所有最好的论文都来自于演讲)。
.. 在一间空屋子里练习,最好就是你马上要做的报告。这有助于调整报告的技巧:每一张幻灯讲些什么;
转换的延迟以及保持平滑;保持解释和幻灯的同步;估计报告的时间长度。你花在调整设备上的时间
越少,留下来的与人交流的时间就越长。
.. 用镜子,录音机或者录像机练习是另外一种方法。实验室有这三种设备。这也有助于调整自己的发音
和肢体语言。
.. 对于比较正式的报告——特别是你的答辩——应该在几个朋友面前练习一遍,请他们批评指正。
.. 观察别人是如何做报告的。有很多访问MIT的人会做报告。参加这样的报告会能够感受自己不熟悉的
领域,并且如果报告令人提不起兴趣,你可以暗中分析报告者错在哪里。
.. 找一位朋友,将你最近的想法说给他听。这既可以提高的交际技巧,又能调试自己的思路。
8. 程序设计
并不是所有的AI论文都包含代码,而且本领域的很多重量级人物从来没有写过一个重要的程序。但
是为了初步的近似AI工作原理,你必须会程序设计。不仅仅是很多AI研究工作需要编写代码,而且学会
程序设计能给你什么是可计算的什么是不可计算的直觉,这是AI对认知科学贡献的主要来源。
在MIT,本质上所有的AI程序设计都使用Common Lisp。如果还不知道,赶快学吧。当然,学习一
门语言并不能等同于学习程序设计;AI程序设计包含的一些技术与那些在系统程序设计或者应用程序设计
中用到的大不相同。开始学的时候,可以先看看Abelson和Sussman的《Structure and Interpretation of
Computer Programs》,并做一些练习。这本书与AI程序设计本质上并不相干,但是包含了一些相同的技术。
然后读Winston和Horn写的Lisp书第三版,书里有很多优雅的AI程序。最后,进行实际的程序设计,而
不是阅读,才是最好的学习程序的方法。
学习Lisp程序设计有很多传统。有些人习惯一起写代码,这取决于个性。还有的人寻找机会直接向有
经验的程序员学习,或者请他对你的代码进行评价。阅读别人的代码也是很有效的方法。如果可以向高年
级同学要他们的源代码。他们可能会有些抱怨,说自己的编程风格差极了,程序实际上并不能工作云云。
不管怎么样,最后你获得了源代码。然后你要仔细地通篇阅读,这很费时间。通常阅读并完全理解别人代
码所花的时间与你自己编程完成的时间是一样多的,因此要计划好在你的头一个或者头两个学期用数周的
时间去阅读别人的代码。你将从中学到很多以前不曾想到在课本中也没有的技巧。如果你读到了大段大段
不可理解没有注释的程序,你就会明白不应该如何写代码了。
在软件工程课里学习到的那些知识在AI程序设计中依然有用。要给代码加注释。使用正确的数据抽
象。将图和你的代码隔离开,由于你使用的语言基本上是Common Lisp,因此可移植性很好。诸如此类。
经过头几年的学习后,应该写一些自己的标准AI模块,如:
.. 真值维护系统
.. 规划器
.. 规则系统
.. 不同风格的解释器
.. 具有流程分析的优化编译器
.. 具有继承特性的框架系统
.. 几种搜索方法
.. 基于解释的学习器
任何你感兴趣的东西都可以尝试用程序实现。你可以抓住问题的实质,在几天之内完成一个功能版本。
修改已有的程序是另外一种有效的方法,前提是你已经写过这样的东西,并且确实了解其工作原理,优缺
点以及效率等问题。
不象其他通常的程序员,AI程序员之间很少相互借阅代码。(演示代码例外)。这部分由于AI程序很
少有真正起作用的。(很多著名的AI程序只在作者论文所提到的那三个例子上起作用,虽然最近这种情况
已经有所改善)。另外一个原因是AI程序通常是匆忙凑成,并没有考虑一般化的问题。使用Foobar的“标
准”规则解释器,开始时很有效,不久就会发现缺少一些你需要的功能,或者不够有效率。虽然可以对代
码进行修改满足自己的需要,但记住理解别人的代码是很耗时的,有时候还不如自己写一个。有时候构建
一个标准包的工作本身就可以成为一篇论文。
像论文一样,程序也有可能过于追求完美了。不停重写代码以求完美,最大化的抽象所有的东西,编
写宏和库,与操作系统内核打交道,这都使得很多人偏离了自己的论文,偏离了自己的领域。(从另外一方
面,或许这正是你需要将来谋生的手段)。