麻省理工学院
人工智能实验室
AI工作论文316 1988年10月
麻省理工学院人工智能实验室
如何做研究
MIT AI实验室在读、毕业及名誉研究生共同编写
David Chapman 编辑
1988年9月 第1.3版
张 陈 李明明 译 许 强 项汉忠
徐六通
审
摘 要
本文的主旨在于想说明如何做研究。我们给出一些启发式方法,可能有助于获得做研究所必须的技能(阅读,写作,编程)和理解并享受研究过程本身所需的技能(方法论,选择课题和导师,心理调整)。
版权归作者所有 1987,1988
AI实验室的工作论文只在内部流通,它们可能包含了一些很粗浅或很琐碎的信息,不适合正式出版。同时这些论文也不能在文献中被当作参考资料引用。 译注:由于时间仓促,加之才疏学浅,错误在所难免。欢迎来函指正:。2004.9.6 – 北京
目 录
1. 引言..................................................................................................1
2. 阅读.................................................................................................2
3. 入围.................................................................................................5
4. 博览................................................................................................8
5. 笔记.................................................................................................11
6. 写作...............................................................................................12
7. 演讲................................................................................................18
8. 编程..............................................................................................20
9. 导师...............................................................................................22
10. 论文................................................................................................26
11. 方法学............................................................................................29
12. 心理...............................................................................................30
1. 引言
本文论述什么?我们至今还没有发现能确保研究成功的秘诀。这篇文章收集了许多非正式的行之有效的建议,它们可能会对你有帮助。
本文为谁而作?这篇论文是为MIT的AI实验室研究生新生而作的。但它可能对其他学院做AI研究的人也有用,甚至其他领域的人也会发现其中有价值的东西。
怎样阅读本文?如果一口气将它读完,你会觉得它太长了。所以最好采用浏览的方式。大多数人会发现先看一下大概,然后再回过头来查阅一下与你当前的研究问题有关的部分是一种非常好的方法。
本文在内容上大致分为两部分。前面几节讨论在做研究时所需的一些具体的技能:如阅读、写作、编程等等。接下来讨论研究的过程:研究过程是怎样的,如何来做研究,怎样选择导师和课题,如何调整好心理来处理研究过程中碰到的问题。大多数读者发现从长远来看后面的章节比前面的更有用、更吸引人。
y 第二节是关于怎样通过阅读来对AI有所了解。介绍一些非常重要的期刊和一些怎
样阅读的小窍门。
y 第三节告诉你怎样成为AI团体中的一员:试着去结识一些AI领域的人,他们可
能会让你了解领域的最新进展,告诉你哪些文章是值得你阅读的。
y 第四节指导你如何学习AI相关的其他领域的知识。你需要对这些领域有基本的了
解,并且可能要对其中的一两个做更为深入的理解。
y
y 第五节关于坚持做研究笔记。 第六节关于怎样写论文和学位论文,包括怎样写作和怎样在草稿中用注释,以及怎
样发表论文。
y
y 第七节介绍了怎样做演讲。 第八节是有关编程方面的。AI编程可能与以前你接触过的其他编程有所不同。
y 第九节是关于你在研究生生涯中面临的最重要的选择:选择你的导师。不同的导师
有不同的风格,这一节告诉你如何找到适合自己的导师。导师是你必须知道如何去利用的资源,这一节将会告诉你如何去利用。
y 第十节是关于学位论文。你的学位论文将会占用你研究生生涯的大部分时间。这一
节将给你一些如何选择课题以及如何避免浪费时间的忠告。
y
y 第十一节介绍研究方法学。这一节的大部分还没有完成。 第十二节可能是整篇文章中极其核心的一部分,它是关于研究过程中的心理调整。
它教你在研究过程中如何面对失败,如何设定目标,如何摆脱困境,如何避免不安全感,如何保持自尊,以及如何寻找乐趣。
本文还有待进一步完善,我们欢迎您的贡献和评论。有些章节很不完整(括号中的注解和楷体字标明了部分主要的不完整性)。我们感谢你的贡献,请将你的想法和评论发送至[email protected]。
2. 阅读
许多研究人员有一多半的时间都花在阅读上。与从自己的工作中学习相比,从别人的工作中学习要更快一些。这一节讨论怎样阅读AI相关的资料。第四节说明怎样阅读其他方面的资料。
开始阅读的时间就是现在。一旦你开始认真准备自己的学位论文,你将不会有太多的时间,并且你的阅读将更加集中在一些与课题有关的资料上。在最初的两年里,你通常做一些课堂上的作业,并开始加快接触AI方面的知识。在这段时间,阅读教科书和杂志期刊上的文章已经足够了。(以后你会阅读一些论文草稿,见第三节)
为了在AI领域打下坚实的基础,你必须要阅读的资料数量是多得惊人的,但因为AI还是一个很小的领域,所以你能够花一两年的时间来阅读已经出版的大部分重要论文。找出哪些资料是值得阅读的是有一些技巧的。有些参考文献是非常有用的,比如AI研究生
课程的教学大纲就很有用。其他大学——特别是斯坦福大学——的AI资格考试的阅读清单也是非常有价值的,它可以开阔你的视野。如果你对其中某个领域感兴趣,你可以求助于这个领域高年级的同学,向他打听这个领域里有哪些重要的论文,并且问问他是否愿意将这些论文借给你复印一下。最近发表了大量的AI子领域编辑得很出色的论文集,特别是由Morgan-Kauffman出版的。
AI实验室有三个内部出版物系列,按其正式程度递增为:工作论文,备忘录和技术报告。你可以在八层活动室的书架上找到它们。翻翻过去几年里出版的论文,剔除那些看起来不太有趣的。你会发现这些论文除了很重要外,对你了解你们实验室其他人正在做的事情也是非常有意义的。
我们有大量与AI有关的期刊,要阅读全部这些可能要花费你毕生的时间。值得庆幸的是其中只有少数是值得一看的。有关系统构造为中心的主要期刊是《人工智能》(Artificial Intelligence),也称为《人工智能期刊》或是《AIJ》(Journal of Artificial Intelligence)。AI领域中大多数真正重要的论文最终会出现在《AIJ》这本期刊中,所以大约每年翻一下以前几期期刊是很有必要的,当然这本期刊中有些文章确实也很乏味。《计算智能》(Computational Intelligence)是《AIJ》新的竞争者,值得一读。《认知科学》(Cognitive Science)也出版大量重要的AI相关论文。《机器学习》(Machine Learning)是机器学习的主要来源。《IEEE PAMI》可能是目前已出版的最好的一本视觉期刊,每期会发表两三篇很有意思的文章。《国际计算视觉期刊》(The International Journal of
《机器人学研究》Computer Vision,IJCV)是一本新出版的迄今为止很引人注意的期刊。
(Robotics Research)中的论文大多是关于动力学方面的,有时候也会发表一些里程碑式的人工智能机器人方面的论文。IEEE的《机器人学与自动化》(Robotics and Automation)偶尔也会出版几篇不错的文章。
每年都值得去一趟计算机科学阅览室(MIT的阅览室是在科技广场的一层),看一下去年其他大学的一些有价值的AI方面的技术报告,并阅读其中感兴趣的文章。 阅读论文是一种需要练习的技能。你不可能去读完你所看到的所有论文的全文。阅读一篇论文可分为三个步骤。首先看看论文中是否有令你感兴趣的部分。AI论文有摘要,它
课程的教学大纲就很有用。其他大学——特别是斯坦福大学——的AI资格考试的阅读清单也是非常有价值的,它可以开阔你的视野。如果你对其中某个领域感兴趣,你可以求助于这个领域高年级的同学,向他打听这个领域里有哪些重要的论文,并且问问他是否愿意将这些论文借给你复印一下。最近发表了大量的AI子领域编辑得很出色的论文集,特别是由Morgan-Kauffman出版的。
AI实验室有三个内部出版物系列,按其正式程度递增为:工作论文,备忘录和技术报告。你可以在八层活动室的书架上找到它们。翻翻过去几年里出版的论文,剔除那些看起来不太有趣的。你会发现这些论文除了很重要外,对你了解你们实验室其他人正在做的事情也是非常有意义的。
我们有大量与AI有关的期刊,要阅读全部这些可能要花费你毕生的时间。值得庆幸的是其中只有少数是值得一看的。有关系统构造为中心的主要期刊是《人工智能》(Artificial Intelligence),也称为《人工智能期刊》或是《AIJ》(Journal of Artificial Intelligence)。AI领域中大多数真正重要的论文最终会出现在《AIJ》这本期刊中,所以大约每年翻一下以前几期期刊是很有必要的,当然这本期刊中有些文章确实也很乏味。《计算智能》(Computational Intelligence)是《AIJ》新的竞争者,值得一读。《认知科学》(Cognitive Science)也出版大量重要的AI相关论文。《机器学习》(Machine Learning)是机器学习的主要来源。《IEEE PAMI》可能是目前已出版的最好的一本视觉期刊,每期会发表两三篇很有意思的文章。《国际计算视觉期刊》(The International Journal of
《机器人学研究》Computer Vision,IJCV)是一本新出版的迄今为止很引人注意的期刊。
(Robotics Research)中的论文大多是关于动力学方面的,有时候也会发表一些里程碑式的人工智能机器人方面的论文。IEEE的《机器人学与自动化》(Robotics and Automation)偶尔也会出版几篇不错的文章。
每年都值得去一趟计算机科学阅览室(MIT的阅览室是在科技广场的一层),看一下去年其他大学的一些有价值的AI方面的技术报告,并阅读其中感兴趣的文章。 阅读论文是一种需要练习的技能。你不可能去读完你所看到的所有论文的全文。阅读一篇论文可分为三个步骤。首先看看论文中是否有令你感兴趣的部分。AI论文有摘要,它
会告诉你论文的内容。但是有时候也不一定,所以你得随便翻翻,把论文的各处都读一下,明白作者实际上做了什么。论文的目录,结论和引言部分也是可以发现文章是否吸引人的好地方。如果所有这些方法都失败了,你可能就得在整篇论文中找了。
当你确定了论文论述的内容和论文的贡献是什么之后,你可以决定是否要进行第二个阶段阅读,即找出论文中有好东西的那部分。大多数论文可以由15页改写成1页,你需要找出那有用的一页。这通常会隐藏在一些看起来不太可能的地方。作者在文中认为有意义的东西你可能不感兴趣,反之亦然。最后,如果你觉得这篇论文确实值得一读,就可以从头阅读整篇论文。 一定要带着问题来阅读论文。“我怎么使用这篇论文?”“它真的像作者所说的那样?”“如果...会如何?”。了解论文陈述的结论和读懂一篇论文是不同的。我们在理解论文时会考虑:论文的写作动机是什么?作者的选择(很多都是隐含的)是什么?论文中的假设和形式化是否现实?论文建议了哪些指导性内容?能够洞察到的问题有哪些?作者的研究计划中持续出现的难题有什么特征?论文主旨是什么等等。
把阅读和编程结合起来是一个很好的方法。如果你对某个方面感兴趣并且阅读了一些这方面的论文,试着去编一些论文中描述的小程序,这将有助于你对它有更具体的了解。
不幸的是,大多数AI实验室都相对独立且近亲繁殖,人们一般只阅读和引用各自院校的研究成果。其他学院的人们有着不同的思考问题方式,即使你认为他们所做的研究是有些错误的,试着去阅读、重视、并引用他们的成果也是很值得的。
经常会有人递给你一本书或者一篇文章,认为你应该读一下,因为(1)它是现有最有价值的好东西,并且(2)对你正在进行的研究也正好适用。但通常当你真正读它的时候,你将会发现它并没有像所说的那样出色,并且适用性也成了问题。这可能会让人觉得迷惑。“是我出了问题还是我没有留意到一些有价值的东西?”事实上大多数的情况是:当你的朋友阅读一本相关的书或者文章的时候,他脑海中固有的想法或多或少地会使他觉得某些东西会有助于你的课题研究。
3. 入围
最初的一两年后,你会对将要从事的那个子领域有一定的想法。这时或者更早的时候,你需要加入到非公开论文传递网(Secret Paper Passing Network)中。这个非正式的组织涉及了AI研究领域的所有部分。前瞻性的工作最终将形成公开发表的论文,但那是在那些睿智的人们已经了解了至少一年之后的事情了。这就意味着那些睿智的人将要领先一年的时间开始研究新的想法。睿智的人怎样发现一个新的想法呢?他们可能是在一次会议中听到,但是更可能是从非公开论文传递网中得到的。下面是一个例子。Jo Cool发现了一个好的想法。她拼凑出一些不太成熟的方法,在做了一定的研究后完成了论文的草稿。她想知道她的想法是否有价值,于是她将论文分发给十来个朋友,请他们提意见。她的朋友觉得这想法不错,同时也会告诉Jo Cool其中有哪些错误,并将这篇文章再分发给他们的朋友。他们的朋友又会继续分发送给自己的朋友......。Jo花费好几个月时间来修改这篇文章,并将它投到AAAI会议。六个月以后,它第一次被发表成铅字,但这是只有5页的压缩版本(这是AAAI会议录所允许的)。最后Jo开始整理程序,在AAAI版及反馈意见的基础上完成了更长的修订版本,并将它投到《AIJ》。《AIJ》在论文的评审、修订和发表的延迟大约会有两年的周期,所以当Jo的想法最终在期刊上发表已经是三年后的事了——这已经远远落在睿智的人首次发现这个想法以后了。所以睿智的人很少有从公开发表的期刊文章中学到与他们领域相关的内容,因为这些文章出现得太晚了。
你也可以成为一个睿智的人。下面的方法会给你一些启示,帮你踏入AI圈子:
y 有许多讨论AI子领域(如连通论和视觉)的电子邮件列表。你可以从中选择并加
入你所感兴趣的邮件列表。
y 当你和某领域的行家交流你的一个想法时,他们可能不会对你的想法直接做出评
价,而会说“你读过某某文章吗?”这不是在考你,而是建议你读一下这篇文章,因为它可能跟你的想法相关。如果你没有读过这篇文章,一定要从对方那里了解一下那篇文章的内容,或者干脆向他索借这篇文章来复印一份。
y 当你读到一篇令人振奋的文章时,拷贝5份并将它送给你觉得可能会感兴趣的人。
他们将会有回报给你。 y 实验室有许多正在进行的各领域的非正式的论文讨论小组。这些小组的成员每隔一两周会对一篇大家都读过的论文进行讨论。
y 有些人不会介意你翻阅他们桌子上的论文。也就是说,可以去看一看他们正打算阅
读而堆放在桌上的论文,并经常地去翻阅一下。可以粗略地翻翻看是否有你感兴趣的东西。因为有些人可能会介意,所以在做之前最好问一下。你可以试着去找那些看起来比较友善或比较容易接触的人。
y 同样的,有些人也不会介意你看他们的书柜。实验室中有很多有学识的人,他们的
书柜中的收藏也特别的丰富。与学校图书馆比起来,这里通常能更快更可靠地发现所需的论文。
y 当你自己在写些东西的时候,将它分发给可能会感兴趣的人。(这样会出现一个潜
在的问题:抄袭很少在AI界发生,但是它确实发生过。你可以在论文的封面写上“请不要影印和引用”之类的字眼。)多数的人都不会读完分发给他的大部分论文,所以当只有一部分你所分发的论文有反馈意见回来时,你不必太介意。对于准备在期刊上发表的论文,你会几易其稿,但很少有人会读完其中的一稿以上。你的导师应该是个例外。
y 当你完成一篇论文的时候,将它发送给你认为可能对它感兴趣的所有人。不要认为
他们自然会在期刊或会议录中看到。内部发行的丛书(备忘录和技术报告)更不大可能被别人读到。
y 多结识些不同类型的人对你会有帮助。试着去和不同的研究小组、不同的AI实验
室、不同的学术领域的人去交换论文。对相关问题感兴趣的某两个小组的人可能没有机会相互交谈,但你可以使自己成为他们的桥梁,那样你会突然发现大量有趣的论文在你手中流动。
y 当你发现一篇论文引用了有趣的文献时,一定要记下来。把感兴趣的参考文献记录
下来。经常去图书馆查阅一下。当你热衷于追踪一个有趣的课题时,你能够反向构
造出一个论文引用关系的参考文献图谱。一个参考文献图谱就像是带有超链接的网页:论文A引用了论文B和C,B引用了C和D,C引用了D.......。注意经常被引用的论文往往都是值得一读的。这个参考文献图谱会有一些奇特的属性。首先经常会发现两个互相不认识的小组在研究同一课题。你发现自己在搜索资料时进入是一个循环,或者你会突然发现又跳到了另一个领域。在不同的学校或者使用不同方法研究时,通常会出现这样的情况。因此,尽可能了解更多的研究方法是极具价值的——通常这比比深入理解一种方法更为重要。
y 走出去与人们交流。告诉他们你正在研究什么并询问他们正在干什么。(如果你羞于与别的同学讨论你自己的想法,或是因为你还没有自己的想法,你可以与他们讨论你所读到的不错的——或者很糟糕的——东西。这样将会很自然地进入你所期望的下一个主题。)在七层的活动室每天中午都有一个非正式的午餐聚会。我们实验室的人都习惯于晚上工作,所以大家都在午餐时间一起轻松交流。邀请你自己一起去吧!
y y 如果你经常外出演示或参加会议,就准备一张名片。这将会让大家记住你的名字。 从某个时候开始,你会开始参加一些科技会议。当你参加这些会议的时候,你会发
现事实上几乎各种会议上所有的论文都是很乏味并且无聊的。(对于这个现象有一些有趣的理由,但与我们的主题无关。)那你为什么还要参加这些会议呢?原因是可以接触一些你们实验室以外的人。这些人可以帮你传播有关你的研究工作的消息,邀请你作演讲,告诉你某个地方的氛围和人文环境,把你介绍给别人,帮你找到一个暑假打工的机会,等等。那么怎样去结识这些人呢?走到你感兴趣的论文作者面前对他说:“我非常欣赏你的论文”,并且向他提些问题。
y 到其他实验室做暑假兼职。这会让你认识许多新的同学,他们可能与你有着不同的
看待问题的方式。你可以向高年级同学打听怎样得到暑假兼职。他们那儿可能会有你想要的位子,或者也可能会帮你联系一下。
4. 博览
我们的AI研究人员通常对AI以外的知识一无所知,却依旧进行研究。但是你会逐渐发现想要做好研究必须通晓许多相关领域的知识。计算可行性本身并不能充分给出智能的约束条件。而其它相关领域的知识,比如从心理学中获取的实验数据,却能够提供其它形式的约束条件。更重要的是,其它领域的知识能提供给你新的工具和新的方法来思考和观察智能所涉及的内容。我们之所以需要学习其他领域知识,也是因为AI并没有衡量自身研究价值的标准,其目前的标准也是从其他领域借鉴过来的。数学的进展体现在一系列新的定理,工程学关注一个物体能否可靠地运行,心理学要求试验的可重复性,哲学追求极为严谨的思辨,等等。所有这些标准有时在AI研究中也非常适用,如果你能够精通这些标准,对于评价他人的工作成果和深化及维护自己的研究成果也是颇有价值的。
在MIT通过六年左右时间的努力学习是能够顺利取得博士学位的,与此同时你还能在一两个非AI领域打下扎实的基础,通过广泛阅读其他领域的书籍,至少能理解其中的某些部分。下列方法有助于了解你所知甚少的领域:
y
y
y 选修研究生课程。这种方法最可靠,但不是最有效的途径。 阅读教材。这样做也不赖,只是教材大多过时了,而且通常废话太多。 你可以从和他人交流中了解该领域内最棒的期刊杂志。然后略读最近几年的论文,
并追踪参考文献的引用树。这通常是了解这个领域发展动向的最快途径,但同时也有可能会左右你的观点。
y
y
y
y 阅读该领域最著名学者的著作。 和该领域以毕业校友保持联系。 去听听讲座。学院的布告栏会公布这些学术交流活动。 查看其他高校学院的课程安排,不要仅局限于MIT。例如在语言学和心理学方面,
MIT的课程设置会使你的知识过于局限。可以对比一下哈佛大学的课程目录。拜访一下哈佛大学的研究生办公室,阅读他们的布告版,获取一些免费的资料。
下面提及的学科都是和AI相关的,同时也是我们很有必要了解的。
y 计算机科学是我们研究需要用到的技术。研究生必修的入门课程未必能让你充分了
解这一学科,因此你有必要做大量的阅读,以便学到这门学科更多的知识。计算机科学的所有分支——理论、体系结构、系统、语言、等等——都是必须学的。
y 接下来最重要的学科大概就是数学了。学习数学对于研究图像和机器人学的人们来
说是必不可少的;对于以做系统为中心的工作虽然并无直接联系,但是你能从中学到有用的思维方式。你首先要能够读懂定理,而具备证明数学定理的能力会给人留下深刻影响。很少有人主动学习数学,通常都是以课程的形式强制学习的,而且只做听众也是不够的,还需要做大量习题。因此应该在有精力的时候,尽早重视数学的学习,以后学习其它领域的知识就会容易很多。
计算机科学的基础是离散数学,包括:代数、图论等。如果你要研究推理,逻辑学对你来说就非常重要的。逻辑学在MIT用得不是很多,但在斯坦福大学及其他的地方却是主导的思维方法,所以你需要深入学习逻辑学,从而能够提出自己的观点并为之辩护。修一两门MIT数学系的研究生课程也许就足够了。若你要研究感知和机器人学,则不仅需要连续数学,还要离散数学。数学分析,微分几何和拓扑学方面的扎实基础能够提供常用的必要技巧。另外,还会经常用到一些统计和概率方面的知识。
y 认知心理学看问题的方式和AI大致相同,但是研究人员的目标却不尽相同,他们
做实验而非写程序。每个人都必须对这个学科有所了解。Molly Potter在MIT开设了一门很好的研究生入门课程。
y 发展心理学对做有关学习的研究工作是至关重要的。这门学科也是非常有用的,你
能从中了解到就人类智力而言,做哪些事情是困难的或是容易的。运用发展心理学的知识,能够针对认知的体系结构建模。例如,有关幼儿如何获取语言方面的研究会对语言处理理论产生很大影响。Susan Carcey在MIT讲授一门研究生入门课程。 y 心理学中“软性的”一类诸如心理分析和社会心理学对AI的影响较小,但潜在的
影响是很大的。你能学会从完全不同的角度去思考人类到底是什么样的。诸如社会学和人类学的社会科学也起着同样的作用,了解许多不同观点是非常有用。这类学科完全可以自学。不幸的是,没有资深专业人士的帮助,在这些领域很难判别你的想法正确与否。上哈佛大学去看看:MIT的学生跨校选修哈佛大学课程还是很方便的。
y 神经系统科学主要是关于人类计算硬件的。伴随着近年来计算神经系统科学和连接
学的兴起,他们对AI的影响颇多。MIT的大脑和行为科学系在视觉(由Hildreth,Poggio,Richards,Ullman讲授)、动力控制(由Hollerbach,Bizzi讲授)、和普通神经系统学(9.015,由多名专家讲授)方面开设了许多不错的课程。
y 语言学对自然语言的研究是至关重要的。除此之外,语言学还在认知方面有着深刻
影响。Chomsky学派在MIT的语言学研究中占据统治地位。这可能对也可能不对你的胃口。去看看George Lakoff的新作《女人,火和危险品》(Women,Fire,and Dangerous Things),可以作为另类研究计划的一个实例。
y 工程学,尤其是电气工程,一直在AI研究中占据着重要地位,在MIT表现尤为明
显。我们实验室特别注重拟订计划,这些计划通常详细到类似分析一个电路这样的具体安排。当你在搭建一块普通芯片或者调试Lisp机器的电源时,会察觉到了解电气工程是非常有用的。
y
y 那些对感知和机器人学感兴趣的人来说,物理学有着极其有力的影响。 AI所有的研究都是在隐式的哲学框架下开展的。AI领域内的绝大部分研究都有其
隐含的哲学含义,可能你并不知晓。当然最好能明确自己研究的意义所在。学习哲学有助于你提出并理解某类论证,而这些论证被广泛运用在AI的论文中。哲学可沿着至少两个正交轴上进行分解。哲学通常是有关某种事物的哲学;而有关思维和语言的哲学通常和AI相关。哲学有不同的学派。从广义上讲,有两大不同的学派:分析哲学和大陆哲学。分析哲学派在思维方面和AI领域内的研究者有大致相同的观点。大陆哲学派以一种完全不同的眼光看待一些我们习以为常的一些东西。Dreyfus从大陆哲学的角度论证AI是不现实的。最近,一些研究者已认同大陆哲
学和AI是相容的,并认为它提出了另一种解决问题的方法。MIT的哲学属于分析学派,而且深受Chomsky语言学研究的影响。
这样看来每门学科都有许多知识应当掌握,事实如此。通常有一个误区,就是认为对于任意X,“仅当对X有更多认识,问题就会更加容易求解。”事实上总会有更多更大量学不完的相关知识。但最终你还是要坐下来解决问题。
5. 笔记
多数科学家都保持着做研究笔记的习惯。你也应当坚持做笔记。可能从五年级开始你就一直被告知要养成这种习惯,确实也应该养成这个习惯。不同的方法适用于不同的人,自己试试。可以作在线记录,也可以记录在活页本或便签上。最好在实验室和家中各备一个。
每当有个想法时就把它记在笔记本上。只有你才会去翻阅笔记,所以可以随意地写写东西。记录一些思路、当前的问题和可能的解决方法。总结你读到的有趣的东西,供今后参考。
周期性的回顾自己的笔记。有些研究者每月进行一次总结以方便参考。
笔记的内容通常会成为你论文的主线。这样的研究进展起来比较轻松。反之,你可能会发现论文写作的框架——标题,摘要,小标题,段落片断——也是组织内容的有效方法,即使你还没有打算将它扩展为一篇真正的论文。(你随时可以改变主意)
你会发现Vera Johnson-Steiner的《思维笔记》(Notebooks of the Mind)一书非常有用,尽管表面看来书中大量篇幅并未谈及笔记,但是书中描述了一些如何从思维碎片中提炼出创造性观点的方法。
6. 写作
写作的原因有许多:
y 在你的研究生生涯,无论是博士或是硕士,都需要完成一或两篇论文,这取决于你
所在学院的要求。
y
y 练习写作,多多益善。 学术研究的结果要么以论文的形式发表,要么就丢进垃圾桶里。在大多数学校,许
多人成为教授后才开始专注于发表学术论文,而我们实验室的研究生在毕业之前就这么做了。发表并分发学术论文是个露脸的好机会。
y 想要完善某些想法的最好办法就是先把这些想法写下来。你经常会发现在头脑中近
乎完美清晰的论点,一旦动手写作就会混乱不堪。
y 如果你的研究是要让大家受益,一定要和大家交流。这是研究工作最基本的职责。
你写出的论文越好,就会有就更多人去阅读它。
y AI的研究单靠个人的力量是很难完成的。所以经常获取他人反馈意见是十分必要
的。让他人评论你的论文就是最重要的途径之一。
值得做的事情一定要做好。
y 阅读一些有关写作的书籍。Strunk和White的《风格的要素》(Elements of Style)讲述了写作中的基本要点和写作中避免的地方。Claire Cook在《MLA详解》(The
中介绍了修改句子的方法。Jacques MLA’s Line By Line,Houghton Mifflin出版)
Barzun的《简单与直截了当:一种写作修辞方法》(Simple and Direct: A Rhetoric for Writers,Harper and Row出版,1985)一书是关于文章组织的。
y 写作过程中阅读一些优秀的著作,理解特定背景下的句式结构,你会发觉自己可以
吸纳作者的风格。
y 具备良好的写作能力需要花费许多精力、时间,索取并认真对待他人对自己文章的
批评。想要快速提高写作水平是没有捷径可寻的。
y 写作有时是苦恼的,同时也觉得是对“实际”工作的一种分心。但随着你慢慢擅于
写作,进展就会迅速许多,如果你一开始就把写作当成一门手艺,就能从写作的过程中感受到快乐。
y 在某些时候碰到写作的障碍是必然的。起因有很多,而且这也无法避免。完美主义
就会给写作带来障碍:无论你怎么去写,似乎都是不够完美的。应该意识到写作时一个逐渐完善的过程。先写一些片言只语,然后再回过头去修改。以片言只语的方式记录下自己的观点,继而就有思绪源源不断的涌现。如果你“无法”写出完整的
写片言只语也很困难,那就关掉你显示器上的亮度和对比度,使你根本无法看到自己输入的东西。记录下脑海中的每一个想法,即使看起来像垃圾。在积累了许多想法后,重新调整亮度和对比度,修改以前写的内容使其更加合理。
另一个误区就是认为写作是从头至尾一气呵成的。在明确了整篇论文的要点后,通常都是从撰写论文的内容着手,最后写引言。不切实的把写作想象成一件容易的事情也是一个障碍。写作是一件艰苦的工作,需要花费很长时间,即使你每天只能写一页,也绝不要气馁和放弃。
y 完美主义通常会导致无休止的修改一篇近乎完美的论文。这便是浪费时间了。(这
也可以被看作是一种有意无意地逃避做研究的一种方式。)只需要把你写的论文当作与同行对话的一种表述。对话中的表述无需句句完美;不要指望一篇论文能涵盖某个研究领域的方方面面,或作为交流中的总结性发言。
y 写信就是很好的实践。如果科技论文的论述方式更像写给朋友的一封信,大部分的
科技论文都能有所提高。记日记也是锻炼写作的有效途径(并且在文体上能比科技论文得到更多实践)。两种方式还有其他方面的切实益处。
y 写作常见的一个误区就是把大量时间花费在烦冗的格式上,从而忽略了内容的重要
性。应该避免这种做法。LaTeX尽管不尽完美,但是它包括了写作所需的大多数
格式。如果这还不够,可以从其他人那里借用一些代码。大多数的高校(包括MIT)网站都保留有撰写论文所需的扩展格式库。
y 明确你要阐述的观点。这往往是最难的事,也是写作中最重要的因素。如果你写起
来比较吃力而且不知如何去修改,那可能是你还不清楚自己真正要阐述的观点。一旦明确自己的观点,直截了当地阐述出来。
y 论文的结构安排要使得读者能从中很容易发现你的研究成果。无论是段落还是整篇
论文的组织,尽量把亮点放在最明显的地方。认真去撰写摘要。确保摘要阐明了论文的精髓。首先你自己要明确所要描述的内容!然后用少量的句子阐述清楚。太多的论文摘要只是对论文作一般性描述,并说是有一个好的想法,但却没有说明这个想法到底是什么。
y 不要“夸耀”自己的成果。论文的读者都是有见地的人,真诚而自重。反之,也不
要去贬低或者削减自己成果。
y 你经常会发现,某一句或某一段不够好,但是却找不到修改方法。这是因为你已经
进入了一个死胡同里出不来了。这时的你应该重新撰写整个段落。随着不断实践,这种情况会慢慢减少的。
y 确保论文有一个主要论点。如果你的程序能在10毫秒内解决了X问题,那就告诉
读者为什么如此之快。在论文中不要仅局限于讲述系统是如何构建和做什么,更要阐述清楚系统正常运行的原因及其有趣之处。
y 论文是写给人看的,而非机器。一篇论文仅有正确的论点是远不够的,还应当让读
者容易理解。除了最简单的推理以外,不要期待读者做任何逻辑演绎。即便你在论文第7页的脚注中阐述了一样小玩意儿的工作原理,当23页中再次提及时还需要进一步解释,不然读者的思维会随着你论述的展开而逐渐迷惑。正式的论文要写清楚也是很困难的。不要去效仿数学论文,它们评判优秀的标准是叙述尽可能的少,这会使得读者阅读起来很吃力。这样的标准并不适合AI。
y 完成整篇论文后,删除第一段或者开始的几句话。你会察觉到这大多都是和论文内
容无关的话语,同时还会发现在第一段末尾或者第二段开始处有更好的介绍性语句。
如果你把论文写作放到在所有研究完成之后再开始,所获就会甚少。从课题的研究开始,就养成这样的习惯:做笔记记录下你参与的工作和在几个月内的收获。学会从记录研究内容的笔记开始写作。用两天的时间去写一篇草稿,若需要花费更长时间,那你可能是一个完美主义者。这些草稿并不是用来评判你的优劣,而是用来和朋友一起分享的。记得在封面上注明“草稿——请勿引用”的字样。把论文拷贝几份,分发给感兴趣的人(当然包括你的导师!)只需要少量投入,但对你写正式文章(评论、理清思路、写作实践等)都很有好处。如果你的研究进展顺利,通常这些非正式论文以后均能作为正式论文——从AI实验室的工作论文到杂志上的文章——的主线。
如果成为非公开论文传递网的会员,便有作者邀请你批阅他们的初稿。论文上的批注是颇有价值的。你可以和他人互相批阅对方的论文。你评阅别人的论文越多,当你自己写论文时,别人也会给你更多的评阅意见,这就是礼尚往来。再者,学会批阅他人的论文会有助于你的写作。
写出有意义的批注也是一门艺术。
y 要想提出有用的建议,必须把论文读上两遍,第一遍理解论文的要点,第二遍给出
批注。
y 如果作者重复犯同样的错误,不必去反复指出。试着去找出这种错误的模式、作者
为什么会如此,及可行的改进方法。然后在论文的首页上做出详细叙述或直接告知作者本人。
y 作者在考虑你的建议通常会偷懒,即只修改其中的一个词语,一个短语或者一个句子。如果论文中某些错误意味着作者必须修改整个段落,或重新思考整个部分的中心论点,或整篇论文的组织结构有问题,请做出明显标注以防作者忽略掉。
y 切忌在论文上批注“垃圾”这一类非建设性的词语。这样做于事无补。尽量给笔者
一些建设性的意见。在给别人写评语时,不妨站在作者的立场考虑一下你面对别人
对你论文的评注会有什么反应是有好处的。
注释的种类繁多。有针对文字表达的注释,也有针对论文内容的注释。针对文字表达的注释范围也很广。校对笔误、标点符号错误、拼写错误、漏字等等。学习使用标准的编辑符号。你还可以去纠正语法、措词错误,修改冗余和模糊的语句。通常同一语法错误会在论文中出现多次,比如用逗号连接两个语句,在注释中需要清楚地指出这类错误。其次,在论文结构组织上的不足也需要批注出来:譬如,从短语到句子到段落到章节不同范围内的观点无序组织、冗余、不相关的内容、缺失的论证等等。
对内容的注释很难归纳出一些特征来。你可以建议作者扩充论点,提出一些值得思考的方面,标注出明显的错误,指明论文中潜在的问题,还可以其赞扬表达得当。“由于Y的原因,你应该读一下X”不失为一条中肯的注释。
在请求别人对论文评注时,你首先想弄清楚哪种评论更有用。对于论文草稿,作者大多期望得到针对内容和论文组织方面的注释;对于终稿,则渴望得到表达方面的注释。在请求别人给予批注前,确信你已经检查了整篇论文没有拼写错误,这是最基本的礼貌。
没有必要采纳所有的建议,但是应当认真去对待。作者总是舍不得删掉论文的某些部分,但这往往会对论文有所改进。经常你会发觉自己排斥某个建议,这是因为虽然它指出了论文中真正的问题所在,但所提的解决方案并不吸引人。再寻找一个更好的方法。
发表你的论文是很重要的事情。这比看起来要容易些。AI出版物评阅人期望的是那些(a)具有某些新观点,同时(b)在某些方面不是支离破碎的论文。如果你浏览一下诸如IJCAI的会议论文集,你会发现其水准之低令人吃惊。这种现象正因评阅过程固有的随意性而恶化。因此,发表论文的一个诀窍就是一种不断地尝试。这里还有一些其他建议:
y 确保论文的易读性。投稿的论文通常因为很难理解或组织无序或者不知所云而被退
回。
y 在论文投递给期刊之前反复修改草稿。听取并采纳他人的建议。不要急于为发表结
果而仓促地投稿;在AI领域的竞争没有那么激烈,而且论文发表的时延比获取论文评阅意见的时延要长得多。
y
y y 大多数的出版物都有一页“作者须知”来概述对论文的要求。应当去仔细阅读。 绝大多数会议都会在录用的稿件中选取内容和文采上的佼佼者作为获奖论文。这些论文都值得一读。 y 通常是把篇幅较短的关于部分研究结果的早期报告投递到学术会议,而将篇幅较长
的针对整个课题研究的最终文章投给期刊杂志。
y
y 论文被拒时不要气馁。 期刊杂志和学术会议评阅论文的过程差别很大。为了缩短反馈的时间,会议组织必
须快速评阅论文。没有足够时间进行充分思考或交流。若论文被退回了,意味着没有机会发表了。但是如果给期刊投稿,你有机会与编辑或者通过编辑与评阅人进行辩论。
y 评阅人一般都会对你有帮助的。如果收到一个不负责任的评阅报告,你应当向该程
序委员会主席或者编辑投诉。不要指望会议的评阅报告中会有很多反馈意见。但你通常能从期刊杂志获取极好的建议。对于这些建议,你大可不必全盘接受,但若不愿采纳,有必要阐述清楚你的理由,同时应该意识到可能需要进一步的商讨。无论你处在论文评阅过程的哪一方,都应当讲礼貌。作为你今后的职业生涯中的一部分,你将会与你评阅论文的作者们一起共事。
y MIT的AI实验室里的备忘录基本上都是可发表的或者接近可发表要求的。技术报
告事实上几乎都是这些文章的修订版。工作论文通常都是非正式的。这些都是将一篇文章给其他同事传阅并经修改后得到的不同版本。你从出版室(就在八层活动室隔壁)领取一张表格并得到两位教员签字同意后就可以将某篇内部论文公开发表。 和研究中其他工作一样,论文写作的时间通常要比你预期的更长。预计用来投稿发表的论文花费的时间尤其长。论文完成后即可给刊物投稿。几个月后就会收到对论文的评阅意见,你必须对论文进行修改。再有一段时间后会收到校样以便作最后的校对。如果你发
表不同形式的论文,类似于短篇的会议论文和长篇的期刊论文,这些可能要经历几个来回。结局是在很长一段时间里,你以为已经完成了论文并且整个题目已经令你极其厌烦后,你却始终在修改同一篇文章。这给我们启示:不要因为某个领域容易发表论文而去做一些需要大量热情投入的研究工作,你无法想象将会遇到什么样的困难。
7. 演讲
演讲是另一种和你的同行们交流的方式,并且我们刚才关于写作所讨论的大部分内容同样适合于演讲。那种站在讲台上演讲并且不至于使听众昏昏欲睡的能力,对获得承认、尊敬、以及最终的求职都是至关重要的。演讲的能力并不是天生的——你可能在刚开始研究生生涯的时候是一个糟糕的演讲者,但是只要通过不断的实践,给人们去做实际的演讲,最终你将会成为一名引人注目的、才华横溢的演讲者。
下面介绍一些学习和练习演讲才能的方法:
y Patrick Winston写了一篇关于如何演讲的小文章。每年一月他都会以此做一个讲座,描述并展示它的演讲技巧。
y 如果你觉得自己是一名糟糕的演讲者、或者希望成为一名优秀的演讲者,可以去选修一门公共演讲课程。选一门表演入门课也是有帮助的。
y
y 如果你导师的学生有定期的学术讨论会,你可以自愿的在讨论会上讲述你的工作。 MIT的AI实验室有一种叫做旋转研讨会的半正式演讲会。如果你觉得自己的研究成果可以成为AI备忘录或者会议论文,可以自告奋勇到会上去演讲。
y 充分了解实验室各个机器人项目,这样当你的亲戚朋友从远方来的时候,你可以带领他们参观并就每一个机器人向他们做一个短短60秒钟的介绍。(你的亲戚和非AI朋友通常会喜欢这样的介绍,因为通常他们不会对TMS复杂的技术细节留下太深刻的印象。)
y 因为修改一个演讲稿通常比修改一篇论文要简单的多,所以有些人发现这是一个寻
找如何正确表达自己想法的好办法。(Mike Brady曾经宣称他所有的最好的论文都来自演讲。)
y 在空房间里面练习演讲,最好是在你将要演讲的地方。有关环境影响记忆的研究结
果表明如果在将要演讲的地方练习将有助你更好地记住你所要讲的内容。练习的过程中可以让你调整演讲的结构:每张幻灯片应该说些什么,如何平滑衔接,保持言语和幻灯片同步,估计整个演讲的时间。你在调整投影设备上所花的时间越少,你用于交流的时间就越多。
y 使用镜子,摄像机,录音磁带帮助练习也是很好的选择。实验室里有这三种设备。
这有助于改善语态和肢体语言的运用。
y 对于比较正规的演讲——比如口语考试——你可以在一些朋友面前做练习,并请他
们提出意见。
y 观察其他人士如何做演讲的。很多访问MIT的人会来学院做了演讲。去听这些演
讲可以让你感受一下你不熟悉的领域,如果演讲者的演讲令人厌烦,你可以以分析演讲者的失误为乐。(参加研讨会也是治愈你午后喜欢吃零食习惯的好办法…。) y 找个安静的地方向你的一个朋友解释你最近的许多想法,这对提高你的沟通能力和
调整你的思路都会大有帮助。
一些需要在准备演讲和演讲时牢记的关键事情:
y 在一次演讲中你只能提出一个“观点”或者“主题”。在20分钟或者更短的演讲
中,必须十分清楚的阐述你的观点,不要牵扯一些复杂的其他东西。在30或45分钟的演讲中可以阐述一些必要的相关资料或者背景。在一个小时的演讲中,可以陈述观点的来龙去脉,甚至揭示一些反面例子。演讲不应该超过一个小时(虽然也经常发生)。
y 听众坐在报告厅里是想了解你要说的东西。他们不是为了等待可以攻击你的一个借
口,如果你很放松,听众也会感到舒服。
y 对每一个幻灯片至少要花费一分钟的时间。不同的人快慢可能不同,但是有一个共
同的毛病就是总认为自己可以在保持思路清晰的同时讲的更快。实际上你不能。 y
y 不要试图用你知道的一切填满一个演讲。你只需抓住你的中心观点,放弃细节。 AI的演讲经常使用胶片投影,也即幻灯片。幻灯片应该保持简洁。用少量的词语
和大号字体。如果你把幻灯片放在地上,而你站着低头看幻灯片上的文字觉得费力,说明字体就太小了。在能用图示的时候尽量使用图片。不要站在屏幕的前面。如果能够直接到屏幕上去指点就不要在投影仪上指点。如果你一定要在投影仪上指点,也一定不要直接碰到胶片而导致其抖动。
8. 编程
虽然不是所有AI论文都需要编码,也有一些AI领域非常有成就的人从来没有写过重要的代码,但是作为一个刚接触AI的人你必须要会编码。这不仅仅是因为大部分AI工作涉及编码的工作,更因为学习编程可以给你直觉了解哪些是否是可计算的——这是AI对认知科学所贡献的最重要的约束条件。
在MIT,特别是所有AI的程序都是用Common Lisp语言编写的。如果你不懂Lisp,那就应该学习它。然而学习一门语言并不等于学习编程,并且AI的编程包含很多与其他系统编程或者应用编程十分不同的技巧。首先你可以读Abelson和Sussman编写的《计算机程序的结构和诠释》(Structure and Interpretation of Computer Programs),并作些练习。这本书并不是专为AI编成写的,但是里面阐述了一些相同的技术。然后可以去读Winston and Horn的《LISP》第三版,那里面有很多很优雅的AI程序。最后,学习编程的最好办法就是实际编程,而不单单是读程序。
许多Lisp编程的文化类似于学徒制度。有些人在一起编程时互相配合的很好,这个和人的个性有很大的关系。最好能有机会直接和经验丰富的程序员一起工作。或看看能否得到他们对你的代码的批评意见。读他人的代码也是非常有用的。向你的师兄师姐要一些他
们的源代码来看。他们可能会有一些抱怨,诉说他们的编程风格有多么可怕,或者他们的程序根本无法运行之类的,但最后还是会把程序交给你。然后仔细阅读这些程序。这是一个很费时的工作,阅读并理解他人的代码可能和你自己去写代码会花费同样多的时间。所以应该计划在第一个或第二个学期里花费几个星期的时间去做这件事。通过做这些你可以学习到大量漂亮的技巧,这些技巧往往是你想象不到的并且在任何书上都没有讲述过的。当你在读大量的无法理解并且没有任何注释的杂乱无章的代码时,也就懂得了自己编码的时候该怎样去做。
所有在软件工程课程里面告诉你的那些令人头痛的事情同样会发生在AI的编程里。为代码写注释。使用适当的数据抽取,除非有什么特别的理由。分离图像和其他代码,使大多数代码都是Common Lisp语言,从而具有很好的可移植性。等等。
在你研究生头两年里面,你应该自己编写一组标准的AI模块,比如:
y
y
y
y
y
y
y
y 一个真值维护系统, 一个中等规模的规划器, 一个规约规则系统, 几个不同风格的解析器, 一个采用流分析的优化编译器, 一个带有继承的架构系统, 几种搜索方法, 一个基于解释的学习器,
无论从哪个开始都可以。你可以用几天时间编写一些功能简洁的程序。扩展一个现有的实际版本同样是很好的方法。只有当你真正去写一些代码的时候你才能真正的理解它们,能洞察到这些代码是否有用、效率问题到底是指什么,等等。
与其他程序员不同的是,AI程序员几乎很少直接拷贝别人的代码(视觉代码例外)。一部分原因是AI程序几乎没有真实运行过。(很多著名的AI程序也只是运行在作者论文
里两三个例子上,虽然现在比以前要求更严谨些。)另一个原因是AI程序往往被匆匆地拼在一起而没有充分考虑通用性。刚开始用Foobar “标准的”规则解释器觉得很好,如果程序不具备你需要的功能或者程序功能太多导致效率低下,它会告诉你问题出在哪里。你可以去修改这个程序,但请记住理解别人的程序代码是十分耗时的。很多时候你还不如自己重写。这也是上一段中提到的半数以上的编程项目实际开发过程,并最终变成应手的工具。在你掌握了方法和工具之后,你可以用一个下午的时间来设计并实现一个(比如)客户TMS算法。(然而你会发现在之后的6周时间里,你会反复调试这些代码,事实往往就是这样。)有些时候构建一个标准包的工作本身就可以用来写一篇论文。
就像论文一样,程序也会出现过分的打磨。编写完美代码、最大程度地实现抽象、编写宏或者库函数、与操作系统内核交换信息等等,这使许多人偏离了自己的论文和领域。(但另一方面,或许这是你以后真正需要作为谋生的手段。)
9. 导师
MIT的导师有两种:教学导师和论文导师(academic advisors and thesis advisors)。 教学导师的职责说来也简单。每一个研究生都会被指派一名教员作为其教学导师,通常在他/她的研究领域,当然也会根据导师当前的工作量进行适当调整。教学导师的职责是代表院系:告诉你学院的要求都有哪些、当你不能满足要求的时候督促你、并确认你的选课表。如果一切顺利的话,一年中你只需要在注册那天与你的教学导师见两次面就可以了。另一方面,如果你遇到了麻烦,导师可能会作为你的保护人,或代表你向系里反映或者给你提供一些帮助。
论文导师是指导你进行研究的人。对于论文导师的选择是你作为研究生需要做出的最重要的一个决定,这比你选择论文题目还要重要。AI的学习很大程度上是类似于学徒制。许多关于该领域的技术方面和研究过程的非正式的知识都是不公开发表的。
许多研究AI的教师都是行为非常古怪的人。研究生也是如此。导师和被指导者的关
系是因人而异的,你的个人怪癖最好能和你导师的相吻合,这样你们能更好的合作。
不同的导师有不同的风格。下面是一些需要加以考虑的因素。
y 你需要多少指导?有些导师会给你明确的正好能做论文的题目,解释某种解决方
法,然后让你工作。如果你的工作卡住了,他们会告诉你如何继续下去。另外的一类导师是完全放手的,在你选择论文题目的时候他们完全不会给你任何的帮助,但是一旦你找到一个论文题目,他们会对你题目提出许多非常有益的意见。所以你需要考虑你更喜欢独立工作呢还是喜欢在别人的指导下工作。
y 你需要和导师有多少交流?有些导师会每周与你见面听取你进展的汇报。他们会建
议你读一些论文,给你一些练习和实际的项目来做。而另外的导师一学期的谈话可能不会超过两次。
y
y
y 你希望承受多大的压力?有些导师会施加更大的压力。 你想要多少精神上的支持?有些导师能给予更多的支持。 用什么样的态度对待导师提出的建议?大多数导师会建议一个相当合适的论文题
目。有些导师给出的建议,你如果认真按照他的建议去做,总能够得到一个即使不令人兴奋的但却够水平的论文。另外的导师会抛出很多非同寻常的想法,虽然这些想法大多数不会有结果,但是如果从十个里面找出一个进行深刻的考虑,就可能取得突破性的成果。如果你选择这样的导师,你就得像个过滤器那样进行筛选。
y 导师能够提供什么样的研究团队?有些教授创造的环境是让所有的学生在一起工
作,即使学生们并不是做同一个项目。许多教授和他们的学生每周或两周见一次面。这一点对你来说是否有益?你是否愿意和导师的其他学生们相处?有些学生发现他们更愿意与另外的研究团队建立重要的工作关系。
y 你是否愿意参加一个大型项目的一部分工作?有些教授会把一个大型的系统分割
成许多小块,然后分配给每个学生。这使你可以和很多人共同讨论问题。
y 你是否需要多个导师联合指导?一些论文项目综合了AI领域的多个方面,你可能
会想和两个或者更多的教授建立牢固的工作关系。虽然你只有一个正式的论文导
师,但是事实并不一定要这样。
y 导师是否愿意指导其研究领域之外的论文题目?对你来说你,你是否能和导师一起
工作比起你和导师在一起做什么要重要的多。在MIT,研究机器人的教员也曾指导关于定性物理学和认知建模方面的论文;研究推理的教员也曾指导视觉方面的论文。但是有些教员只愿意指导他们兴趣领域内的论文。这一点经常体现在那些正在谋求终身职位的年轻教员身上,因为你的工作会有助于实现这个目标。
y 导师是否愿意为了你而去和某种体制抗衡?有些导师愿意帮你挡去院系和其他非
友善团体对你的敌意。有些体制可能会敌视某种学生(特别是对于女学生和有怪癖的学生),所以这一点很重要。
y 导师是否愿意并且能够在会议上或者类似的场合宣传你的工作?这是导师的工作,
并且能对你的职业生涯会产生很重要的影响。
以上各方面会因学校的不同而有所不同。MIT通常能给学生提供比其他学校更多的自由。
寻找一位合适的论文导师是你作为研究生的第一年要做的最重要的事。你应该在第一年底或者最迟在第二年初找到一位论文导师。这里给出一些启发方法:
y 查阅实验室的研究简报。简报会用一页左右的篇幅来介绍实验室的每一个教师和大
部分研究生正在从事什么工作。
y
y 查阅你所感兴趣的研究领域的教师的近期论文。 在你的第一学期尽可能多地和一些教授进行谈话。努力获得一些印象,包括他们看
上去怎样、他们的兴趣所在、以及他们研究和指导的风格。
y 与一些你预期导师的研究生交谈,并询问他们的工作方式。确保和一个导师的多个
学生进行交谈,因为每个导师具有多种的工作风格并且他在与学生交流的过程中产生的效果也不尽相同。片面的调查会误导。不妨与他/她的第一年的学生和第七年的学生进行交流,以全面了解导师。
y 大部分导师所在研究组的会议对新研究生是公开的,这是一个很好的方法来了解与
这个工作团队工作会是什么样子。
AI是很特殊的一个学科:大部分有价值的工作是由研究生来完成的,而不是那些有博士头衔的人,他们通常忙于去做管理了。这就造成一些后果。其一是教师的名望及随后的终身职位在很大程度上依赖于学生的成功。这意味着教授非常积极地去寻找好学生来为其工作,并为学生提供有用的研究指导和支持。其次是由于学生论文方向很大程度上是受导师制约的,整体上该领域的研究方向和发展在很大程度上依赖于研究生所挑选的导师。
在你选择好导师并决定了你希望从他/她那里得到什么之后,还要让导师也知道这一点。你的导师可能会把“我愿意和你一起工作”误认为是“请给我一个范围更明确的项目做”,或者“我有想要做的东西,我希望我做好的时候你能认可”,或者其他什么。不要让糟糕的交流方式使你陷入这样的处境,当接近你想要的论文方向时却和它擦肩而过、或者白花力气在一个你根本不关心的题目上而浪费一年的时间。
不要完全依靠你导师的忠告、学识、意见和关系网。建立自己的关系网络。你可以找不同的人来提供给你不同的东西,无论他们是否是你正式上的导师。找到不同的人来定期的评论你的工作是很重要的,因为很容易导致自己(以及你的导师)认为已经取得了成就,而事实并非如此,因此需要外界的评价。关系网络可以包括自己实验室或者其他实验室的研究生和教师。
在与其他的学生、教授、甚至最成问题的就是和你导师的接触中,你可能会遇到种族歧视、性别歧视、同性恋者、或者其他的骚扰。如果真遇上了,要寻求帮助。MIT的ODSA出版了一本名为《停止骚扰》(STOP Harassment)的小册子,包括一些忠告和相关资源。《计算机科学妇女报告》(Computer Science Women's Report)中也包括相关的指导,这可以在LCS的文档室里找到。
有些学生在实验室里只受到论文导师名义上的指导。这对那些喜欢独立自己动手的人也许很适合。这样的好处是你只需要按照自己的想法去做,而不必考虑导师的想法。但走这条路可能并不是一个很好的主意,除非你已经至少完成了一项在导师指导下的工作,你确信在没有导师指导下你能工作,并且已有了一个牢固的支持关系网。
10. 论文
你的论文将会占用你研究生生涯的大多数时间。大量的时间将会投入到研究工作甚至选择论文题目上,而不是论文的写作上。
硕士论文的目的是为博士论文做准备。博士的研究如果没有事先的准备是很难开展的。硕士论文的基本需要可以从字面上来理解为掌握(Mastery):你已经完全理解你所在的子领域最新进展,并且你有能力运用自如。而不需要你能对最新进展有所贡献或者发表你的硕士论文。我们实验室的论文则比较厉害,事实上许多硕士论文都对研究领域有所贡献,而且可能有一半都已公开发表了。这并不一定是一件好事。我们许多人在硕士论文中做了超负荷的工作,MIT硕士论文比博士论文水平还高不是什么好事。这与硕士研究生的培养意图相抵触。另外,想要对领域做出一点贡献至少需要两年的时间,这会让学生生涯变得太过漫长。可能你现在还不着急,但是当你在实验室混了7年之后,你就会迫不及待地想逃出去。从入学到完成硕士论文的平均时间为两年半。可是现在计算机系极力鼓励学生能提前毕业。如果一个硕士所选的题过于庞大,那么可以把它分开来,一部分作硕士,一部分做博士。
要想了解硕士论文的研究是什么样的,可以阅读一些最近的论文。记住那些最容易得到的是已经公开发表或形成技术报告的论文,这意味着它们对某个领域已经有所贡献——换一句话说,也就是他们的工作已经超出了硕士论文的要求。同样尝试阅读那些已通过答辩但并公开发表的论文。所有这些论文都能在MIT图书馆中找到。
博士论文必须对领域前沿有所贡献。博士论文的研究需要达到能发表的程度。MIT的学风依然,因此几年来许多博士论文都在某个领域做出了权威性的工作。一篇MIT的博士论文开辟一个新的领域、或者陈述一个新问题并解决它已经是司空见惯的了。然而这些都不是必需的。
通常,需要两三年时间去完成博士论文。许多人花一两年时间来完成硕士论文并寻找一个博士课题。这段时间最好还可以做些别的什么事情,比如做一个助教或者进入一个非AI领域或者组织一个摇滚乐队。真正博士论文的写作通常需要大概一年的时间,需要再三
强调的是即使你彻底的厌恶它,也还要持续一年的时间。
选择一个题目是论文工作中最困难也是最重要的。
y
y 一个好论文题目将会表达个人的想象,并参与到与同行的交流中。 你的题目必须是你所感兴趣的一个。否则你就不会一直做下去。你个人的想象是你
成为一个科学家的理由,是你所关注问题的写照、原理、思路或目标。这有很多种形式。或许你想造一个你能够交谈的计算机。或许你想阻止人们愚笨的使用计算机的方法。或许你想要证明所有事物是一致性,或许你希望发现宇宙新生命。想象是一件很伟大的事情。或许你的论文不能达到你想象的目标,但是它可以指明道路。 y 同时,科学也是一种对话。有记载表明许多优秀的人都做得非常好。他们已经取得
了很大的成就并为此感到振奋。他们拥有深刻的洞察力但同时又难以置信的盲目。他们既是英雄也是懦夫。同时具备这一切。如果你的工作始终在与他人对话,那么它就是可管理和易于理解的。工作中必须交流遇到的难题和疑问,即使只是对某个错误的简单解释。如果一个论文主题不参与对话,那么它可能会太庞大、或太模糊、或者没人能够理解它。
y 最难的如何将你的问题适当裁剪使其大小足以引起别人的兴趣。最常见的毛病是题
目太大太虚,如“解决AI的广度优先”,你会发现需要不断地缩小你的题目范围。选择题目是一个渐进的过程而非离散事件,它会一直持续到你宣布论文完成为止。解决一个问题比明确一个问题要相对容易。如果你想象的是一个五十年的项目,那么合乎逻辑的十年子项目是什么?合理的一年子项目计划又是什么?如果你的想象具有一个庞大的结构,那么最核心的部分是什么?对这部分的核心又有什么明显的特征?
y 一个重要的因素是你能够容忍多大的风险。通常最终成功和过程中的风险之间需要
某种折衷。然而这并不总是真的,因为AI中还有很多研究者尚未涉及的想法。 y 一个理想的论文题目应该具有某种可伸缩的结构。它有一个核心部分确保你能够完
成,而且你和你的导师一致认为它能够符合学位的要求。论文题目应该有各种各样
的扩展,展开时会有更大风险但同时更令人兴奋。并不是所有题目都符合这个条件,但是它值得我们为此努力。
y 有些人发现同时在几个可能的论文项目上工作使他们可以完成那些可行的项目而
丢弃失败的项目。这能降低风险。另一些人发现这会造成太多的额外工作量,他们在认真地开始工作前会选择一个题目。
y 你也许只是对某个特殊的子领域感兴趣,这样你的论文题目的范围就会狭隘一些。
也许你会发现,找不到可以一起工作又可以在这个领域指导你的教员。也许你会发现在这个领域中没有合适的题目,而在其他方面你却有好的想法。
y 选择硕士论文题目比选择博士论文题目还要难,因为这个必须在你有充分了解并建
立更多自信之前完成。
y 博士论文题目选择的一个因素是是否在你硕士工作的子领域继续工作,也许在原来
工作的基础上做些扩展,或者改换到另一个子领域。继续原有领域的工作使事情变得简单,或许只要一两年时间就可以毕业了,尤其是如果在硕士工作期间对做博士论文的课题已经比较明确的情况下。但是这会使你“定型”变成像依着葫芦画瓢或者做电路分析的人,改换领域将能够拓宽你的视野。
y 题目可以是最新奇的也可以最老套的。前者通常会打开一个新的领域来探索未曾研
究过的现象,或者对公认难题或特征不明确的问题提出启发式的解决方案。后者通常解决特征明确的问题。这两者都是很有价值的,在这范围内定位取决于你个人的风格。
y
y 他人论文的“进一步工作”也是很好的论文题目来源。 无论你做什么题目,都必须是前人未曾做过的。同样,做别人正在做的工作也不好。
有足够多的事情可做,不需要抢一个题目做。另一方面,通过阅读别人的论文发现他们好像已解决了你论文中的问题而感到恐慌,这也是一件很普遍的事。在你明确论文题目的过程中,恰恰会发生这种事。实际上,雷同可能只是表面现象,因此可以将论文给那些了解你工作的博学的人看看并征求他们的想法。
y 并不是所有MIT的AI实验室的论文都与人工智能有关的,也有一些是关于硬件和编程语言的。这也很正常。
一旦你确定了论文题目,即使它还有点模糊,你必须能够回答这个问题:你论文的论点是什么?你想要展示什么?你能够用一个句子、一个段落、和五分钟的时间来回答。如果你不知道你想要得到什么,别人也不会认真对待,更糟的是你将会落入无休止的选题中。
在研究进程中你应该能够清楚地解释你的理论和实现的每一部分是如何为目标服务的。
一旦你选定了一个题目,应确保你和导师对论文题目和最终结果的构成都有明确的理解。如果你和他对此有不同的期待并且没有意识到这一点,那么你会败得很惨。你可能要阐明一个清晰的目标测试,像你的理论和程序的一套测试用例。无论如何你要有所准备,即便你的导师并不在意。自觉更改测试以适应环境变化。
先尝试一个论文题目的简化版本。针对例子做些工作。在进行理论抽象之前,彻底地探索一些具体的实例。
在做论文期间,有很多种方式可以浪费你大量的时间。避免这样的一些活动(除非确实与论文相关的):语言设计、用户界面和图形制作、创造新的形式化方法,代码的过渡优化、创建工具,官僚作风。任何与你论文无关的工作都应该降到最少。
有一个众所周知的现象叫“论文回避”,比如你突然发现对在一个陈腐的操作系统中修补深藏的漏洞非常着迷并认为这很重要。这是一种从论文工作游离出来的半意识状态。你应该意识到你正在做什么。(从作者的角度看,本文就是论文回避的一个例子)。
11. 方法学
[这一部分比较薄弱,请补充]
研究方法学定义了研究活动是什么,如何展开研究,如何衡量研究进展,以及什么是
成功。AI研究的方法学很杂乱。不同的方法学形成不同的学派并因此相争不下。
方法是工具而已。驾驭工具,而不要受制于工具。不要落入那些自吹自擂的标语的陷阱里:“AI研究需要稳固的基础”、“哲学家是吹出来的,AI是干出来的”、“在询问如何计算之前你必须知道要算些什么。”要在人工智能领域获得成功,你必须擅长技术方法并抱着怀疑的态度。例如,你应该能够证明定理,你还应该怀疑这些定理到底证明了什么。
AI的许多优秀结果都权衡了几种方法学。例如,你必须在可能与实际问题毫无相关的一大堆理论和大量毫无条理的特解的实现之间选择一条最佳路线。你常常会面临各种研究决策,在“优雅”和“零乱”之间划出界线。你是否应该将问题作适当的形式化(这样你会能证明这个问题非常棘手),或者你是否应该直接处理原始形式表达的问题,虽然定义不明确但却更接近实际?前者(如果可行的话)会获得一个清晰而确定的结果,这个结果可能会繁琐不已也可能没有触及问题本质;后者的风险则是把问题变成了一堆理不清的小问题。任何人在做任何工作时应该有明智的权衡,在符合整体关系的前提下,对于某些子问题作适当的形式化处理。
有些工作类似于自然科学。你观察一下人们是怎么学习算术的,大脑是怎样工作的,袋鼠是怎么跳跃的,然后尝试找出并形成一个可被检验的理论。有些工作类似于工程设计:你尝试去建立一个更好的问题求解器或者算法模型。有些工作类似于数学:建立形式化体系、尝试去理解它们的性质、琢磨并证明有关的结论。有些工作是实例驱动的,试图解释特定的现象。最好是结合上述甚至更多的方法。
方法学是具有社会性的。看看别人如何解决类似的问题,并和人们交谈他们是怎样处理特殊案例的。
12. 心理
做研究工作是非常艰苦的。很容易为它耗尽心血。攻读AI博士的学生中只有令人尴尬的一小部分能完成论文的研究工作。在MIT几乎所有没有完成研究的学生都自动弃学
了。有些人离开是因为他们能够在工业界挣到更多的钱,也有纯粹个人原因的,大多数则是因为他们在论文研究方面的挫折而离去的。这一节试图解释这一切是怎么发生的并且给出一些有益的启示。凡事预则立:你需要了解做研究时遇到的不幸、恼怒、沮丧和成功都是研究过程中的必要组成部分,并且和其他研究人员分享这些感受。
所有研究工作都有风险。如果你的项目不可能失败,那只能说是开发而非研究。最困难的是怎样去对待项目的失败。很容易将你的项目失败解释成是你的失败,但是事实上,这证明你有解决难题的勇气。
在这里领域里有少部分人看上去好像一直很成功的,一年又一年的发表论文,事实上他们遇到的失败也和别人一样。你会发现他们常常同时进行几个项目,但是只有一部分成功。那些成功的项目往往经过了无数的失败、尝试过许多错误方法,最终才取得成功。
在你的研究生涯中,你将会经历许多失败。但是每一次都代表你在某个项目上作了许多工作。你将会发现许多你有过的想法、思考的方式、甚至你写过的代码,在若干年后你会发现正好可以解决另一个完全不同的问题。这样的效果只有当你积累了许多失败后才会显现,所以应该相信总结初期失败的经验教训将来一定会有用。
研究工作需要花费比看起来更多更长的时间。一般的规律是任何给定的任务都将会花费你期望的三倍时间(有些人还会加上一句:“...即使已经考虑了这个规则.”)
成功的关键是把你的研究作为你日常生活的一部分。许多突破性的想法往往发生在你洗澡的时候或者坐地铁的时候或者在哈佛广场购物的时候。如果你时时刻刻都在思考研究,灵感就会纷至沓来。AI的成功人士通常并不是十分的聪明,但却持久耐劳。同样很重要的事情是学会“品味”,能够区分表面上诱人的想法和真正重要的观点。
你会发现研究的进展变化无常。有时候进展很快,可以在一个星期内完成以往需要三个月才能完成的工作。这是令人兴奋的,使得人们愿意从事这个领域的研究。而另外的时候,你会被困住并且感到很长一段时间你什么也做不了。这很难应付。你可能会觉得你再也做不出任何有意义的事情了,或者刚开始时,你不具备作为一个研究者的素质。这些感觉当然都是错的,如果你是MIT录取的学生,你已经具备必要的素质了。你需要坚持,并
保持高度宽容对待缓慢的进展。
你可以设定中短期目标,比如每周或者每月,从而你能够完成许多工作。有两个方法可以帮你提高达到目标的可能性,一是把它记到笔记本上,一是告诉别人。你可以和你的朋友做一个履行你周计划的约定,并打个赌看谁先达到目标。或者告诉你的导师。
有时你会被彻底困住。像写作中的困难一样,有许多原因造成的,但没有单一的解决办法。
y
y 眼光太高会导致停滞不前。在小问题上做些工作能让你步入正轨。 你可能陷入一个怪圈,对自己工作能力的怀疑会侵蚀掉你的工作热情以至于无法完
成任何事情。要认识到研究能力是一种学习得来的技能,而不是天生就有的。 y 如果你发现自己真被困住了,一两周来没有任何进展,尝试每天只工作一小时。几
天后你就可能会步入正轨。
y 早上开始工作是件困难的事,但一旦开始了就会很容易继续下去。在晚上留一些容
易的或者有趣的工作给第二天早上做。早上开始一定要做实际工作,如果你一早上开始就阅读邮件,那么你的工作就不会有什么效率。
y 对失败的恐惧会让工作变得困难。如果你强烈地感到无法完成你的工作,问问自己
是否在回避用实验来检验自己的观点。发现有可能前面几个月的工作会泡汤的想法会阻碍你。没有办法可以避免这样的事情,应该认识到失败和浪费的工作也是研究过程的一部分。
y 读一下Alan Lakien的书《怎样掌握你的时间和生命》(How to Get Control of Your
Time and Your Life),甚至那些讨厌自助书籍的人也会推荐这本书。这本书讲述一些非常宝贵的方法可以让你工作更有效。
许多人发现他们的个人生活和他们的研究能力是相互影响的。对某些人来说,当生活的其他方面陷入困境时,工作恰好是一个避难所。其他人则发现,当他们的生活因为某些原因陷入混乱时也会无法安心工作。当你发现自己陷入困境而不能自拔时,去看一看心理医生会有所帮助。一份非正式的调查显示,我们实验室大概半数的学生在其研究生生涯中
都看过心理医生。
做AI比大多数其它类型的工作更困难的一个原因就是没有一个公认的标准来评价工作进展或者评估你的工作成就。在数学领域,如果你证明了一个定理,那么你就做了相应的工作;如果是一个别人证明不了的定理,那么你就做了一件了不起的事情。AI借鉴了相关学科的标准也有一些自己的标准;不同的研究人员、领域和学校对评价标准也有不同的侧重。MIT比其他大多数学校更注重实现的质量,但即使在这个实验室却也有很大的差别。这样的一个后果是你总是不能让所有人满意。另一个后果是你可能常常不能确定自己是否已经有所进展,这会让你觉得有点不安全。经常出现会对自己工作的评估从“有史以来伟大的事情”跌到“空洞、多余和没有条理的稀疏平常事”。这是正常现象。采用别人的反馈意见不断地调整自己的工作。
有些事情能够帮助处理研究过程中的不安全感。获得认可会有所帮助:毕业论文通过答辩、发表论文,等等。也许更重要的是尽可能多地与人们交流你的想法并听取反馈意见。其一,他们可能会献上一些好主意;其二,有些人可能会欣赏你的论文,这让会让你感到欣慰。既然评价进展的标准是如此微妙,那么如果你不经常和其他研究者进行交流就很容易走进死胡同。尤其是在你觉得不太愿意和别人谈论你的工作且进展不顺利时更是如此。此时,最需要的就是得到反馈和支持。
要清楚地了解你已经取得了进步并不太容易。“如果我能做到,那么它一定是微不足道的了。我的想法是显而易见的”。但当你回头看时会发现,对你而言可能是显而易见的,但对他人却不然。把你的研究工作讲给外行听会有助于你意识到现在看来微不足道的东西其实是多么不易。把想法写下来。
最近针对科学界诺贝尔奖获得者的自我怀疑作了一次问卷调查:这些成就显著的科学家是否一直清楚自己在做震惊世界的研究工作?50多人的一致回答是他们也经常怀疑自己工作的价值或正确性,也曾经历过自认为工作无关紧要、平淡无奇或者是错误的这一时期。任何科学进展中的一个常见的重要组成部分是经常地进行批判性的评估,而对工作价值评价的不确定性也是不可避免的一部分。
有些研究人员发现他们在与同事合作时比在独自工作时更有成效。尽管许多AI的工
作都可以由个人来做,但是许多人还是喜欢在一起工作,构造系统、合作撰写论文。我们实验室就有合作的学位论文的例子。缺点是要和合作者分配并竞争论文的贡献。和实验室以外的人合作,比如暑假兼职时,这些问题就少些。
来到MIT的AI实验室的许多人一直都是原来所在大学中最聪明的人,在这里却遇到了一大堆更聪明的人。这会给一二年级学生的自尊带来沉重的打击。但是被这些聪明人包围也有好处:请人友好地批驳你所有不怎么样的想法,以免陷于被公开嘲弄的境地。为了对自己有更现实的认识,你应该回到这个并非只有聪明人组成的现实世界来。到外边找一个咨询工作非常有利于保持心态平衡。首先,有人为你的专家意见支付酬金,说明你确实有两下子。第二,你会发现他们确实需要你的帮助,在圆满完成工作时会给你带来满足感。
反之,每个加入实验室的同学都是从400多申请者中挑选出来的。这使我们许多人相当骄傲。他们会认为我就是那个将要彻底解决这个AI问题的人。这并没有错,要想在这个混乱的领域取得任何进展需要充分的想象力。潜在的缺点就是你会发现问题比预计的要难得多,研究所花费的时间也比你期待的要更长,而且你还无法独自完成。这会导致某些人严重的自信危机。你必须面对这个现实,你所能做的就是为某个子领域添砖加瓦,你的学位论文也不是去建造高楼大厦的。这可能需要彻底的重新评估自我,这一过程往往是痛苦的并且有时会持续一年多的时间。虽然如此,这也是非常值得做的,不自视过高能让你以一种游戏的精神去做研究。
人们能够忍受研究带来的痛苦至少有两方面理由。一则是动力,渴望解决问题的激情。你做研究是因为离开了它你无法活。很多伟大的研究成果都是这样出来的。虽然你有可能被疲惫不堪所击倒。二则研究是一种乐趣。虽然大多数的时间是痛苦的,但是如果题目适合你,你能够像做游戏一样解决它,并且享受这个过程。这两个方面并不矛盾,但在如何对待工作的态度上必须要有很好的平衡。
在了解了做研究的感觉后,每当碰到困惑时,阅读一些生动的科学家自传会给你灵感和安慰。比如:Gregory Bateson的《给年轻科学家的忠告》(Advice to a Young Scientist),Freeman Dyson的《搅动宇宙》(Disturbing the Universe),Richard Feynmann的《Feynmann先生,你一定是开玩笑吧!》(Surely You Are Joking,Mr. Feynmann!),
George Hardy的《一个数学家的道歉》(A Mathematician's Apology)和Jim Watson的《双螺旋结构》(The Double Helix)。
在你完成了像学位论文这样的项目一两个月后,你可能会发现它看起来毫无价值。这个反差是因为已经对这个问题感到疲惫和厌倦,在你回忆起来时发现还可以做得更好——通常总是如此。对这种感觉不必太认真。过一两年之后重新看它,当你对它不再那么熟悉时,你会觉得“嘿,妙极了!绝活!”
尾注
这个文档融合了以下人士的观点、文字和评论:Phil Agre,Jonathan Amsterdam,Jeff Anton,Alan Bawden,Danny Bobrow,Kaaren Bock,Jennifer Brooks,Rod Brooks,David Chapman,Jim Davis,Bruce Donald,Ken Forbus,Eric Grimson,Ken Haase,Dan Huttenlocher,Leslie Kaelbling,Mike Lowry,Patrick Sobalvarro,Jeff Shrager,Daniel Weise和Ramin Zabih。感谢所有给我们智慧的人,特别是我们的导师,这些智慧将通过本文(恰好完成了我们的课题)继续传承下去。
有些观点则来自John Backus的“论成为一个研究者”(On Being a Researcher)和Alan Bundy,Ben du Boulay,Jim Howe和Gordon Plotkin共同撰写的“如何在人工智能领域攻读博士学位”(How to Get a PhD in AI)。
麻省理工学院
人工智能实验室
AI工作论文316 1988年10月
麻省理工学院人工智能实验室
如何做研究
MIT AI实验室在读、毕业及名誉研究生共同编写
David Chapman 编辑
1988年9月 第1.3版
张 陈 李明明 译 许 强 项汉忠
徐六通
审
摘 要
本文的主旨在于想说明如何做研究。我们给出一些启发式方法,可能有助于获得做研究所必须的技能(阅读,写作,编程)和理解并享受研究过程本身所需的技能(方法论,选择课题和导师,心理调整)。
版权归作者所有 1987,1988
AI实验室的工作论文只在内部流通,它们可能包含了一些很粗浅或很琐碎的信息,不适合正式出版。同时这些论文也不能在文献中被当作参考资料引用。 译注:由于时间仓促,加之才疏学浅,错误在所难免。欢迎来函指正:。2004.9.6 – 北京
目 录
1. 引言..................................................................................................1
2. 阅读.................................................................................................2
3. 入围.................................................................................................5
4. 博览................................................................................................8
5. 笔记.................................................................................................11
6. 写作...............................................................................................12
7. 演讲................................................................................................18
8. 编程..............................................................................................20
9. 导师...............................................................................................22
10. 论文................................................................................................26
11. 方法学............................................................................................29
12. 心理...............................................................................................30
1. 引言
本文论述什么?我们至今还没有发现能确保研究成功的秘诀。这篇文章收集了许多非正式的行之有效的建议,它们可能会对你有帮助。
本文为谁而作?这篇论文是为MIT的AI实验室研究生新生而作的。但它可能对其他学院做AI研究的人也有用,甚至其他领域的人也会发现其中有价值的东西。
怎样阅读本文?如果一口气将它读完,你会觉得它太长了。所以最好采用浏览的方式。大多数人会发现先看一下大概,然后再回过头来查阅一下与你当前的研究问题有关的部分是一种非常好的方法。
本文在内容上大致分为两部分。前面几节讨论在做研究时所需的一些具体的技能:如阅读、写作、编程等等。接下来讨论研究的过程:研究过程是怎样的,如何来做研究,怎样选择导师和课题,如何调整好心理来处理研究过程中碰到的问题。大多数读者发现从长远来看后面的章节比前面的更有用、更吸引人。
y 第二节是关于怎样通过阅读来对AI有所了解。介绍一些非常重要的期刊和一些怎
样阅读的小窍门。
y 第三节告诉你怎样成为AI团体中的一员:试着去结识一些AI领域的人,他们可
能会让你了解领域的最新进展,告诉你哪些文章是值得你阅读的。
y 第四节指导你如何学习AI相关的其他领域的知识。你需要对这些领域有基本的了
解,并且可能要对其中的一两个做更为深入的理解。
y
y 第五节关于坚持做研究笔记。 第六节关于怎样写论文和学位论文,包括怎样写作和怎样在草稿中用注释,以及怎
样发表论文。
y
y 第七节介绍了怎样做演讲。 第八节是有关编程方面的。AI编程可能与以前你接触过的其他编程有所不同。
y 第九节是关于你在研究生生涯中面临的最重要的选择:选择你的导师。不同的导师
有不同的风格,这一节告诉你如何找到适合自己的导师。导师是你必须知道如何去利用的资源,这一节将会告诉你如何去利用。
y 第十节是关于学位论文。你的学位论文将会占用你研究生生涯的大部分时间。这一
节将给你一些如何选择课题以及如何避免浪费时间的忠告。
y
y 第十一节介绍研究方法学。这一节的大部分还没有完成。 第十二节可能是整篇文章中极其核心的一部分,它是关于研究过程中的心理调整。
它教你在研究过程中如何面对失败,如何设定目标,如何摆脱困境,如何避免不安全感,如何保持自尊,以及如何寻找乐趣。
本文还有待进一步完善,我们欢迎您的贡献和评论。有些章节很不完整(括号中的注解和楷体字标明了部分主要的不完整性)。我们感谢你的贡献,请将你的想法和评论发送至[email protected]。
2. 阅读
许多研究人员有一多半的时间都花在阅读上。与从自己的工作中学习相比,从别人的工作中学习要更快一些。这一节讨论怎样阅读AI相关的资料。第四节说明怎样阅读其他方面的资料。
开始阅读的时间就是现在。一旦你开始认真准备自己的学位论文,你将不会有太多的时间,并且你的阅读将更加集中在一些与课题有关的资料上。在最初的两年里,你通常做一些课堂上的作业,并开始加快接触AI方面的知识。在这段时间,阅读教科书和杂志期刊上的文章已经足够了。(以后你会阅读一些论文草稿,见第三节)
为了在AI领域打下坚实的基础,你必须要阅读的资料数量是多得惊人的,但因为AI还是一个很小的领域,所以你能够花一两年的时间来阅读已经出版的大部分重要论文。找出哪些资料是值得阅读的是有一些技巧的。有些参考文献是非常有用的,比如AI研究生
课程的教学大纲就很有用。其他大学——特别是斯坦福大学——的AI资格考试的阅读清单也是非常有价值的,它可以开阔你的视野。如果你对其中某个领域感兴趣,你可以求助于这个领域高年级的同学,向他打听这个领域里有哪些重要的论文,并且问问他是否愿意将这些论文借给你复印一下。最近发表了大量的AI子领域编辑得很出色的论文集,特别是由Morgan-Kauffman出版的。
AI实验室有三个内部出版物系列,按其正式程度递增为:工作论文,备忘录和技术报告。你可以在八层活动室的书架上找到它们。翻翻过去几年里出版的论文,剔除那些看起来不太有趣的。你会发现这些论文除了很重要外,对你了解你们实验室其他人正在做的事情也是非常有意义的。
我们有大量与AI有关的期刊,要阅读全部这些可能要花费你毕生的时间。值得庆幸的是其中只有少数是值得一看的。有关系统构造为中心的主要期刊是《人工智能》(Artificial Intelligence),也称为《人工智能期刊》或是《AIJ》(Journal of Artificial Intelligence)。AI领域中大多数真正重要的论文最终会出现在《AIJ》这本期刊中,所以大约每年翻一下以前几期期刊是很有必要的,当然这本期刊中有些文章确实也很乏味。《计算智能》(Computational Intelligence)是《AIJ》新的竞争者,值得一读。《认知科学》(Cognitive Science)也出版大量重要的AI相关论文。《机器学习》(Machine Learning)是机器学习的主要来源。《IEEE PAMI》可能是目前已出版的最好的一本视觉期刊,每期会发表两三篇很有意思的文章。《国际计算视觉期刊》(The International Journal of
《机器人学研究》Computer Vision,IJCV)是一本新出版的迄今为止很引人注意的期刊。
(Robotics Research)中的论文大多是关于动力学方面的,有时候也会发表一些里程碑式的人工智能机器人方面的论文。IEEE的《机器人学与自动化》(Robotics and Automation)偶尔也会出版几篇不错的文章。
每年都值得去一趟计算机科学阅览室(MIT的阅览室是在科技广场的一层),看一下去年其他大学的一些有价值的AI方面的技术报告,并阅读其中感兴趣的文章。 阅读论文是一种需要练习的技能。你不可能去读完你所看到的所有论文的全文。阅读一篇论文可分为三个步骤。首先看看论文中是否有令你感兴趣的部分。AI论文有摘要,它
课程的教学大纲就很有用。其他大学——特别是斯坦福大学——的AI资格考试的阅读清单也是非常有价值的,它可以开阔你的视野。如果你对其中某个领域感兴趣,你可以求助于这个领域高年级的同学,向他打听这个领域里有哪些重要的论文,并且问问他是否愿意将这些论文借给你复印一下。最近发表了大量的AI子领域编辑得很出色的论文集,特别是由Morgan-Kauffman出版的。
AI实验室有三个内部出版物系列,按其正式程度递增为:工作论文,备忘录和技术报告。你可以在八层活动室的书架上找到它们。翻翻过去几年里出版的论文,剔除那些看起来不太有趣的。你会发现这些论文除了很重要外,对你了解你们实验室其他人正在做的事情也是非常有意义的。
我们有大量与AI有关的期刊,要阅读全部这些可能要花费你毕生的时间。值得庆幸的是其中只有少数是值得一看的。有关系统构造为中心的主要期刊是《人工智能》(Artificial Intelligence),也称为《人工智能期刊》或是《AIJ》(Journal of Artificial Intelligence)。AI领域中大多数真正重要的论文最终会出现在《AIJ》这本期刊中,所以大约每年翻一下以前几期期刊是很有必要的,当然这本期刊中有些文章确实也很乏味。《计算智能》(Computational Intelligence)是《AIJ》新的竞争者,值得一读。《认知科学》(Cognitive Science)也出版大量重要的AI相关论文。《机器学习》(Machine Learning)是机器学习的主要来源。《IEEE PAMI》可能是目前已出版的最好的一本视觉期刊,每期会发表两三篇很有意思的文章。《国际计算视觉期刊》(The International Journal of
《机器人学研究》Computer Vision,IJCV)是一本新出版的迄今为止很引人注意的期刊。
(Robotics Research)中的论文大多是关于动力学方面的,有时候也会发表一些里程碑式的人工智能机器人方面的论文。IEEE的《机器人学与自动化》(Robotics and Automation)偶尔也会出版几篇不错的文章。
每年都值得去一趟计算机科学阅览室(MIT的阅览室是在科技广场的一层),看一下去年其他大学的一些有价值的AI方面的技术报告,并阅读其中感兴趣的文章。 阅读论文是一种需要练习的技能。你不可能去读完你所看到的所有论文的全文。阅读一篇论文可分为三个步骤。首先看看论文中是否有令你感兴趣的部分。AI论文有摘要,它
会告诉你论文的内容。但是有时候也不一定,所以你得随便翻翻,把论文的各处都读一下,明白作者实际上做了什么。论文的目录,结论和引言部分也是可以发现文章是否吸引人的好地方。如果所有这些方法都失败了,你可能就得在整篇论文中找了。
当你确定了论文论述的内容和论文的贡献是什么之后,你可以决定是否要进行第二个阶段阅读,即找出论文中有好东西的那部分。大多数论文可以由15页改写成1页,你需要找出那有用的一页。这通常会隐藏在一些看起来不太可能的地方。作者在文中认为有意义的东西你可能不感兴趣,反之亦然。最后,如果你觉得这篇论文确实值得一读,就可以从头阅读整篇论文。 一定要带着问题来阅读论文。“我怎么使用这篇论文?”“它真的像作者所说的那样?”“如果...会如何?”。了解论文陈述的结论和读懂一篇论文是不同的。我们在理解论文时会考虑:论文的写作动机是什么?作者的选择(很多都是隐含的)是什么?论文中的假设和形式化是否现实?论文建议了哪些指导性内容?能够洞察到的问题有哪些?作者的研究计划中持续出现的难题有什么特征?论文主旨是什么等等。
把阅读和编程结合起来是一个很好的方法。如果你对某个方面感兴趣并且阅读了一些这方面的论文,试着去编一些论文中描述的小程序,这将有助于你对它有更具体的了解。
不幸的是,大多数AI实验室都相对独立且近亲繁殖,人们一般只阅读和引用各自院校的研究成果。其他学院的人们有着不同的思考问题方式,即使你认为他们所做的研究是有些错误的,试着去阅读、重视、并引用他们的成果也是很值得的。
经常会有人递给你一本书或者一篇文章,认为你应该读一下,因为(1)它是现有最有价值的好东西,并且(2)对你正在进行的研究也正好适用。但通常当你真正读它的时候,你将会发现它并没有像所说的那样出色,并且适用性也成了问题。这可能会让人觉得迷惑。“是我出了问题还是我没有留意到一些有价值的东西?”事实上大多数的情况是:当你的朋友阅读一本相关的书或者文章的时候,他脑海中固有的想法或多或少地会使他觉得某些东西会有助于你的课题研究。
3. 入围
最初的一两年后,你会对将要从事的那个子领域有一定的想法。这时或者更早的时候,你需要加入到非公开论文传递网(Secret Paper Passing Network)中。这个非正式的组织涉及了AI研究领域的所有部分。前瞻性的工作最终将形成公开发表的论文,但那是在那些睿智的人们已经了解了至少一年之后的事情了。这就意味着那些睿智的人将要领先一年的时间开始研究新的想法。睿智的人怎样发现一个新的想法呢?他们可能是在一次会议中听到,但是更可能是从非公开论文传递网中得到的。下面是一个例子。Jo Cool发现了一个好的想法。她拼凑出一些不太成熟的方法,在做了一定的研究后完成了论文的草稿。她想知道她的想法是否有价值,于是她将论文分发给十来个朋友,请他们提意见。她的朋友觉得这想法不错,同时也会告诉Jo Cool其中有哪些错误,并将这篇文章再分发给他们的朋友。他们的朋友又会继续分发送给自己的朋友......。Jo花费好几个月时间来修改这篇文章,并将它投到AAAI会议。六个月以后,它第一次被发表成铅字,但这是只有5页的压缩版本(这是AAAI会议录所允许的)。最后Jo开始整理程序,在AAAI版及反馈意见的基础上完成了更长的修订版本,并将它投到《AIJ》。《AIJ》在论文的评审、修订和发表的延迟大约会有两年的周期,所以当Jo的想法最终在期刊上发表已经是三年后的事了——这已经远远落在睿智的人首次发现这个想法以后了。所以睿智的人很少有从公开发表的期刊文章中学到与他们领域相关的内容,因为这些文章出现得太晚了。
你也可以成为一个睿智的人。下面的方法会给你一些启示,帮你踏入AI圈子:
y 有许多讨论AI子领域(如连通论和视觉)的电子邮件列表。你可以从中选择并加
入你所感兴趣的邮件列表。
y 当你和某领域的行家交流你的一个想法时,他们可能不会对你的想法直接做出评
价,而会说“你读过某某文章吗?”这不是在考你,而是建议你读一下这篇文章,因为它可能跟你的想法相关。如果你没有读过这篇文章,一定要从对方那里了解一下那篇文章的内容,或者干脆向他索借这篇文章来复印一份。
y 当你读到一篇令人振奋的文章时,拷贝5份并将它送给你觉得可能会感兴趣的人。
他们将会有回报给你。 y 实验室有许多正在进行的各领域的非正式的论文讨论小组。这些小组的成员每隔一两周会对一篇大家都读过的论文进行讨论。
y 有些人不会介意你翻阅他们桌子上的论文。也就是说,可以去看一看他们正打算阅
读而堆放在桌上的论文,并经常地去翻阅一下。可以粗略地翻翻看是否有你感兴趣的东西。因为有些人可能会介意,所以在做之前最好问一下。你可以试着去找那些看起来比较友善或比较容易接触的人。
y 同样的,有些人也不会介意你看他们的书柜。实验室中有很多有学识的人,他们的
书柜中的收藏也特别的丰富。与学校图书馆比起来,这里通常能更快更可靠地发现所需的论文。
y 当你自己在写些东西的时候,将它分发给可能会感兴趣的人。(这样会出现一个潜
在的问题:抄袭很少在AI界发生,但是它确实发生过。你可以在论文的封面写上“请不要影印和引用”之类的字眼。)多数的人都不会读完分发给他的大部分论文,所以当只有一部分你所分发的论文有反馈意见回来时,你不必太介意。对于准备在期刊上发表的论文,你会几易其稿,但很少有人会读完其中的一稿以上。你的导师应该是个例外。
y 当你完成一篇论文的时候,将它发送给你认为可能对它感兴趣的所有人。不要认为
他们自然会在期刊或会议录中看到。内部发行的丛书(备忘录和技术报告)更不大可能被别人读到。
y 多结识些不同类型的人对你会有帮助。试着去和不同的研究小组、不同的AI实验
室、不同的学术领域的人去交换论文。对相关问题感兴趣的某两个小组的人可能没有机会相互交谈,但你可以使自己成为他们的桥梁,那样你会突然发现大量有趣的论文在你手中流动。
y 当你发现一篇论文引用了有趣的文献时,一定要记下来。把感兴趣的参考文献记录
下来。经常去图书馆查阅一下。当你热衷于追踪一个有趣的课题时,你能够反向构
造出一个论文引用关系的参考文献图谱。一个参考文献图谱就像是带有超链接的网页:论文A引用了论文B和C,B引用了C和D,C引用了D.......。注意经常被引用的论文往往都是值得一读的。这个参考文献图谱会有一些奇特的属性。首先经常会发现两个互相不认识的小组在研究同一课题。你发现自己在搜索资料时进入是一个循环,或者你会突然发现又跳到了另一个领域。在不同的学校或者使用不同方法研究时,通常会出现这样的情况。因此,尽可能了解更多的研究方法是极具价值的——通常这比比深入理解一种方法更为重要。
y 走出去与人们交流。告诉他们你正在研究什么并询问他们正在干什么。(如果你羞于与别的同学讨论你自己的想法,或是因为你还没有自己的想法,你可以与他们讨论你所读到的不错的——或者很糟糕的——东西。这样将会很自然地进入你所期望的下一个主题。)在七层的活动室每天中午都有一个非正式的午餐聚会。我们实验室的人都习惯于晚上工作,所以大家都在午餐时间一起轻松交流。邀请你自己一起去吧!
y y 如果你经常外出演示或参加会议,就准备一张名片。这将会让大家记住你的名字。 从某个时候开始,你会开始参加一些科技会议。当你参加这些会议的时候,你会发
现事实上几乎各种会议上所有的论文都是很乏味并且无聊的。(对于这个现象有一些有趣的理由,但与我们的主题无关。)那你为什么还要参加这些会议呢?原因是可以接触一些你们实验室以外的人。这些人可以帮你传播有关你的研究工作的消息,邀请你作演讲,告诉你某个地方的氛围和人文环境,把你介绍给别人,帮你找到一个暑假打工的机会,等等。那么怎样去结识这些人呢?走到你感兴趣的论文作者面前对他说:“我非常欣赏你的论文”,并且向他提些问题。
y 到其他实验室做暑假兼职。这会让你认识许多新的同学,他们可能与你有着不同的
看待问题的方式。你可以向高年级同学打听怎样得到暑假兼职。他们那儿可能会有你想要的位子,或者也可能会帮你联系一下。
4. 博览
我们的AI研究人员通常对AI以外的知识一无所知,却依旧进行研究。但是你会逐渐发现想要做好研究必须通晓许多相关领域的知识。计算可行性本身并不能充分给出智能的约束条件。而其它相关领域的知识,比如从心理学中获取的实验数据,却能够提供其它形式的约束条件。更重要的是,其它领域的知识能提供给你新的工具和新的方法来思考和观察智能所涉及的内容。我们之所以需要学习其他领域知识,也是因为AI并没有衡量自身研究价值的标准,其目前的标准也是从其他领域借鉴过来的。数学的进展体现在一系列新的定理,工程学关注一个物体能否可靠地运行,心理学要求试验的可重复性,哲学追求极为严谨的思辨,等等。所有这些标准有时在AI研究中也非常适用,如果你能够精通这些标准,对于评价他人的工作成果和深化及维护自己的研究成果也是颇有价值的。
在MIT通过六年左右时间的努力学习是能够顺利取得博士学位的,与此同时你还能在一两个非AI领域打下扎实的基础,通过广泛阅读其他领域的书籍,至少能理解其中的某些部分。下列方法有助于了解你所知甚少的领域:
y
y
y 选修研究生课程。这种方法最可靠,但不是最有效的途径。 阅读教材。这样做也不赖,只是教材大多过时了,而且通常废话太多。 你可以从和他人交流中了解该领域内最棒的期刊杂志。然后略读最近几年的论文,
并追踪参考文献的引用树。这通常是了解这个领域发展动向的最快途径,但同时也有可能会左右你的观点。
y
y
y
y 阅读该领域最著名学者的著作。 和该领域以毕业校友保持联系。 去听听讲座。学院的布告栏会公布这些学术交流活动。 查看其他高校学院的课程安排,不要仅局限于MIT。例如在语言学和心理学方面,
MIT的课程设置会使你的知识过于局限。可以对比一下哈佛大学的课程目录。拜访一下哈佛大学的研究生办公室,阅读他们的布告版,获取一些免费的资料。
下面提及的学科都是和AI相关的,同时也是我们很有必要了解的。
y 计算机科学是我们研究需要用到的技术。研究生必修的入门课程未必能让你充分了
解这一学科,因此你有必要做大量的阅读,以便学到这门学科更多的知识。计算机科学的所有分支——理论、体系结构、系统、语言、等等——都是必须学的。
y 接下来最重要的学科大概就是数学了。学习数学对于研究图像和机器人学的人们来
说是必不可少的;对于以做系统为中心的工作虽然并无直接联系,但是你能从中学到有用的思维方式。你首先要能够读懂定理,而具备证明数学定理的能力会给人留下深刻影响。很少有人主动学习数学,通常都是以课程的形式强制学习的,而且只做听众也是不够的,还需要做大量习题。因此应该在有精力的时候,尽早重视数学的学习,以后学习其它领域的知识就会容易很多。
计算机科学的基础是离散数学,包括:代数、图论等。如果你要研究推理,逻辑学对你来说就非常重要的。逻辑学在MIT用得不是很多,但在斯坦福大学及其他的地方却是主导的思维方法,所以你需要深入学习逻辑学,从而能够提出自己的观点并为之辩护。修一两门MIT数学系的研究生课程也许就足够了。若你要研究感知和机器人学,则不仅需要连续数学,还要离散数学。数学分析,微分几何和拓扑学方面的扎实基础能够提供常用的必要技巧。另外,还会经常用到一些统计和概率方面的知识。
y 认知心理学看问题的方式和AI大致相同,但是研究人员的目标却不尽相同,他们
做实验而非写程序。每个人都必须对这个学科有所了解。Molly Potter在MIT开设了一门很好的研究生入门课程。
y 发展心理学对做有关学习的研究工作是至关重要的。这门学科也是非常有用的,你
能从中了解到就人类智力而言,做哪些事情是困难的或是容易的。运用发展心理学的知识,能够针对认知的体系结构建模。例如,有关幼儿如何获取语言方面的研究会对语言处理理论产生很大影响。Susan Carcey在MIT讲授一门研究生入门课程。 y 心理学中“软性的”一类诸如心理分析和社会心理学对AI的影响较小,但潜在的
影响是很大的。你能学会从完全不同的角度去思考人类到底是什么样的。诸如社会学和人类学的社会科学也起着同样的作用,了解许多不同观点是非常有用。这类学科完全可以自学。不幸的是,没有资深专业人士的帮助,在这些领域很难判别你的想法正确与否。上哈佛大学去看看:MIT的学生跨校选修哈佛大学课程还是很方便的。
y 神经系统科学主要是关于人类计算硬件的。伴随着近年来计算神经系统科学和连接
学的兴起,他们对AI的影响颇多。MIT的大脑和行为科学系在视觉(由Hildreth,Poggio,Richards,Ullman讲授)、动力控制(由Hollerbach,Bizzi讲授)、和普通神经系统学(9.015,由多名专家讲授)方面开设了许多不错的课程。
y 语言学对自然语言的研究是至关重要的。除此之外,语言学还在认知方面有着深刻
影响。Chomsky学派在MIT的语言学研究中占据统治地位。这可能对也可能不对你的胃口。去看看George Lakoff的新作《女人,火和危险品》(Women,Fire,and Dangerous Things),可以作为另类研究计划的一个实例。
y 工程学,尤其是电气工程,一直在AI研究中占据着重要地位,在MIT表现尤为明
显。我们实验室特别注重拟订计划,这些计划通常详细到类似分析一个电路这样的具体安排。当你在搭建一块普通芯片或者调试Lisp机器的电源时,会察觉到了解电气工程是非常有用的。
y
y 那些对感知和机器人学感兴趣的人来说,物理学有着极其有力的影响。 AI所有的研究都是在隐式的哲学框架下开展的。AI领域内的绝大部分研究都有其
隐含的哲学含义,可能你并不知晓。当然最好能明确自己研究的意义所在。学习哲学有助于你提出并理解某类论证,而这些论证被广泛运用在AI的论文中。哲学可沿着至少两个正交轴上进行分解。哲学通常是有关某种事物的哲学;而有关思维和语言的哲学通常和AI相关。哲学有不同的学派。从广义上讲,有两大不同的学派:分析哲学和大陆哲学。分析哲学派在思维方面和AI领域内的研究者有大致相同的观点。大陆哲学派以一种完全不同的眼光看待一些我们习以为常的一些东西。Dreyfus从大陆哲学的角度论证AI是不现实的。最近,一些研究者已认同大陆哲
学和AI是相容的,并认为它提出了另一种解决问题的方法。MIT的哲学属于分析学派,而且深受Chomsky语言学研究的影响。
这样看来每门学科都有许多知识应当掌握,事实如此。通常有一个误区,就是认为对于任意X,“仅当对X有更多认识,问题就会更加容易求解。”事实上总会有更多更大量学不完的相关知识。但最终你还是要坐下来解决问题。
5. 笔记
多数科学家都保持着做研究笔记的习惯。你也应当坚持做笔记。可能从五年级开始你就一直被告知要养成这种习惯,确实也应该养成这个习惯。不同的方法适用于不同的人,自己试试。可以作在线记录,也可以记录在活页本或便签上。最好在实验室和家中各备一个。
每当有个想法时就把它记在笔记本上。只有你才会去翻阅笔记,所以可以随意地写写东西。记录一些思路、当前的问题和可能的解决方法。总结你读到的有趣的东西,供今后参考。
周期性的回顾自己的笔记。有些研究者每月进行一次总结以方便参考。
笔记的内容通常会成为你论文的主线。这样的研究进展起来比较轻松。反之,你可能会发现论文写作的框架——标题,摘要,小标题,段落片断——也是组织内容的有效方法,即使你还没有打算将它扩展为一篇真正的论文。(你随时可以改变主意)
你会发现Vera Johnson-Steiner的《思维笔记》(Notebooks of the Mind)一书非常有用,尽管表面看来书中大量篇幅并未谈及笔记,但是书中描述了一些如何从思维碎片中提炼出创造性观点的方法。
6. 写作
写作的原因有许多:
y 在你的研究生生涯,无论是博士或是硕士,都需要完成一或两篇论文,这取决于你
所在学院的要求。
y
y 练习写作,多多益善。 学术研究的结果要么以论文的形式发表,要么就丢进垃圾桶里。在大多数学校,许
多人成为教授后才开始专注于发表学术论文,而我们实验室的研究生在毕业之前就这么做了。发表并分发学术论文是个露脸的好机会。
y 想要完善某些想法的最好办法就是先把这些想法写下来。你经常会发现在头脑中近
乎完美清晰的论点,一旦动手写作就会混乱不堪。
y 如果你的研究是要让大家受益,一定要和大家交流。这是研究工作最基本的职责。
你写出的论文越好,就会有就更多人去阅读它。
y AI的研究单靠个人的力量是很难完成的。所以经常获取他人反馈意见是十分必要
的。让他人评论你的论文就是最重要的途径之一。
值得做的事情一定要做好。
y 阅读一些有关写作的书籍。Strunk和White的《风格的要素》(Elements of Style)讲述了写作中的基本要点和写作中避免的地方。Claire Cook在《MLA详解》(The
中介绍了修改句子的方法。Jacques MLA’s Line By Line,Houghton Mifflin出版)
Barzun的《简单与直截了当:一种写作修辞方法》(Simple and Direct: A Rhetoric for Writers,Harper and Row出版,1985)一书是关于文章组织的。
y 写作过程中阅读一些优秀的著作,理解特定背景下的句式结构,你会发觉自己可以
吸纳作者的风格。
y 具备良好的写作能力需要花费许多精力、时间,索取并认真对待他人对自己文章的
批评。想要快速提高写作水平是没有捷径可寻的。
y 写作有时是苦恼的,同时也觉得是对“实际”工作的一种分心。但随着你慢慢擅于
写作,进展就会迅速许多,如果你一开始就把写作当成一门手艺,就能从写作的过程中感受到快乐。
y 在某些时候碰到写作的障碍是必然的。起因有很多,而且这也无法避免。完美主义
就会给写作带来障碍:无论你怎么去写,似乎都是不够完美的。应该意识到写作时一个逐渐完善的过程。先写一些片言只语,然后再回过头去修改。以片言只语的方式记录下自己的观点,继而就有思绪源源不断的涌现。如果你“无法”写出完整的
写片言只语也很困难,那就关掉你显示器上的亮度和对比度,使你根本无法看到自己输入的东西。记录下脑海中的每一个想法,即使看起来像垃圾。在积累了许多想法后,重新调整亮度和对比度,修改以前写的内容使其更加合理。
另一个误区就是认为写作是从头至尾一气呵成的。在明确了整篇论文的要点后,通常都是从撰写论文的内容着手,最后写引言。不切实的把写作想象成一件容易的事情也是一个障碍。写作是一件艰苦的工作,需要花费很长时间,即使你每天只能写一页,也绝不要气馁和放弃。
y 完美主义通常会导致无休止的修改一篇近乎完美的论文。这便是浪费时间了。(这
也可以被看作是一种有意无意地逃避做研究的一种方式。)只需要把你写的论文当作与同行对话的一种表述。对话中的表述无需句句完美;不要指望一篇论文能涵盖某个研究领域的方方面面,或作为交流中的总结性发言。
y 写信就是很好的实践。如果科技论文的论述方式更像写给朋友的一封信,大部分的
科技论文都能有所提高。记日记也是锻炼写作的有效途径(并且在文体上能比科技论文得到更多实践)。两种方式还有其他方面的切实益处。
y 写作常见的一个误区就是把大量时间花费在烦冗的格式上,从而忽略了内容的重要
性。应该避免这种做法。LaTeX尽管不尽完美,但是它包括了写作所需的大多数
格式。如果这还不够,可以从其他人那里借用一些代码。大多数的高校(包括MIT)网站都保留有撰写论文所需的扩展格式库。
y 明确你要阐述的观点。这往往是最难的事,也是写作中最重要的因素。如果你写起
来比较吃力而且不知如何去修改,那可能是你还不清楚自己真正要阐述的观点。一旦明确自己的观点,直截了当地阐述出来。
y 论文的结构安排要使得读者能从中很容易发现你的研究成果。无论是段落还是整篇
论文的组织,尽量把亮点放在最明显的地方。认真去撰写摘要。确保摘要阐明了论文的精髓。首先你自己要明确所要描述的内容!然后用少量的句子阐述清楚。太多的论文摘要只是对论文作一般性描述,并说是有一个好的想法,但却没有说明这个想法到底是什么。
y 不要“夸耀”自己的成果。论文的读者都是有见地的人,真诚而自重。反之,也不
要去贬低或者削减自己成果。
y 你经常会发现,某一句或某一段不够好,但是却找不到修改方法。这是因为你已经
进入了一个死胡同里出不来了。这时的你应该重新撰写整个段落。随着不断实践,这种情况会慢慢减少的。
y 确保论文有一个主要论点。如果你的程序能在10毫秒内解决了X问题,那就告诉
读者为什么如此之快。在论文中不要仅局限于讲述系统是如何构建和做什么,更要阐述清楚系统正常运行的原因及其有趣之处。
y 论文是写给人看的,而非机器。一篇论文仅有正确的论点是远不够的,还应当让读
者容易理解。除了最简单的推理以外,不要期待读者做任何逻辑演绎。即便你在论文第7页的脚注中阐述了一样小玩意儿的工作原理,当23页中再次提及时还需要进一步解释,不然读者的思维会随着你论述的展开而逐渐迷惑。正式的论文要写清楚也是很困难的。不要去效仿数学论文,它们评判优秀的标准是叙述尽可能的少,这会使得读者阅读起来很吃力。这样的标准并不适合AI。
y 完成整篇论文后,删除第一段或者开始的几句话。你会察觉到这大多都是和论文内
容无关的话语,同时还会发现在第一段末尾或者第二段开始处有更好的介绍性语句。
如果你把论文写作放到在所有研究完成之后再开始,所获就会甚少。从课题的研究开始,就养成这样的习惯:做笔记记录下你参与的工作和在几个月内的收获。学会从记录研究内容的笔记开始写作。用两天的时间去写一篇草稿,若需要花费更长时间,那你可能是一个完美主义者。这些草稿并不是用来评判你的优劣,而是用来和朋友一起分享的。记得在封面上注明“草稿——请勿引用”的字样。把论文拷贝几份,分发给感兴趣的人(当然包括你的导师!)只需要少量投入,但对你写正式文章(评论、理清思路、写作实践等)都很有好处。如果你的研究进展顺利,通常这些非正式论文以后均能作为正式论文——从AI实验室的工作论文到杂志上的文章——的主线。
如果成为非公开论文传递网的会员,便有作者邀请你批阅他们的初稿。论文上的批注是颇有价值的。你可以和他人互相批阅对方的论文。你评阅别人的论文越多,当你自己写论文时,别人也会给你更多的评阅意见,这就是礼尚往来。再者,学会批阅他人的论文会有助于你的写作。
写出有意义的批注也是一门艺术。
y 要想提出有用的建议,必须把论文读上两遍,第一遍理解论文的要点,第二遍给出
批注。
y 如果作者重复犯同样的错误,不必去反复指出。试着去找出这种错误的模式、作者
为什么会如此,及可行的改进方法。然后在论文的首页上做出详细叙述或直接告知作者本人。
y 作者在考虑你的建议通常会偷懒,即只修改其中的一个词语,一个短语或者一个句子。如果论文中某些错误意味着作者必须修改整个段落,或重新思考整个部分的中心论点,或整篇论文的组织结构有问题,请做出明显标注以防作者忽略掉。
y 切忌在论文上批注“垃圾”这一类非建设性的词语。这样做于事无补。尽量给笔者
一些建设性的意见。在给别人写评语时,不妨站在作者的立场考虑一下你面对别人
对你论文的评注会有什么反应是有好处的。
注释的种类繁多。有针对文字表达的注释,也有针对论文内容的注释。针对文字表达的注释范围也很广。校对笔误、标点符号错误、拼写错误、漏字等等。学习使用标准的编辑符号。你还可以去纠正语法、措词错误,修改冗余和模糊的语句。通常同一语法错误会在论文中出现多次,比如用逗号连接两个语句,在注释中需要清楚地指出这类错误。其次,在论文结构组织上的不足也需要批注出来:譬如,从短语到句子到段落到章节不同范围内的观点无序组织、冗余、不相关的内容、缺失的论证等等。
对内容的注释很难归纳出一些特征来。你可以建议作者扩充论点,提出一些值得思考的方面,标注出明显的错误,指明论文中潜在的问题,还可以其赞扬表达得当。“由于Y的原因,你应该读一下X”不失为一条中肯的注释。
在请求别人对论文评注时,你首先想弄清楚哪种评论更有用。对于论文草稿,作者大多期望得到针对内容和论文组织方面的注释;对于终稿,则渴望得到表达方面的注释。在请求别人给予批注前,确信你已经检查了整篇论文没有拼写错误,这是最基本的礼貌。
没有必要采纳所有的建议,但是应当认真去对待。作者总是舍不得删掉论文的某些部分,但这往往会对论文有所改进。经常你会发觉自己排斥某个建议,这是因为虽然它指出了论文中真正的问题所在,但所提的解决方案并不吸引人。再寻找一个更好的方法。
发表你的论文是很重要的事情。这比看起来要容易些。AI出版物评阅人期望的是那些(a)具有某些新观点,同时(b)在某些方面不是支离破碎的论文。如果你浏览一下诸如IJCAI的会议论文集,你会发现其水准之低令人吃惊。这种现象正因评阅过程固有的随意性而恶化。因此,发表论文的一个诀窍就是一种不断地尝试。这里还有一些其他建议:
y 确保论文的易读性。投稿的论文通常因为很难理解或组织无序或者不知所云而被退
回。
y 在论文投递给期刊之前反复修改草稿。听取并采纳他人的建议。不要急于为发表结
果而仓促地投稿;在AI领域的竞争没有那么激烈,而且论文发表的时延比获取论文评阅意见的时延要长得多。
y
y y 大多数的出版物都有一页“作者须知”来概述对论文的要求。应当去仔细阅读。 绝大多数会议都会在录用的稿件中选取内容和文采上的佼佼者作为获奖论文。这些论文都值得一读。 y 通常是把篇幅较短的关于部分研究结果的早期报告投递到学术会议,而将篇幅较长
的针对整个课题研究的最终文章投给期刊杂志。
y
y 论文被拒时不要气馁。 期刊杂志和学术会议评阅论文的过程差别很大。为了缩短反馈的时间,会议组织必
须快速评阅论文。没有足够时间进行充分思考或交流。若论文被退回了,意味着没有机会发表了。但是如果给期刊投稿,你有机会与编辑或者通过编辑与评阅人进行辩论。
y 评阅人一般都会对你有帮助的。如果收到一个不负责任的评阅报告,你应当向该程
序委员会主席或者编辑投诉。不要指望会议的评阅报告中会有很多反馈意见。但你通常能从期刊杂志获取极好的建议。对于这些建议,你大可不必全盘接受,但若不愿采纳,有必要阐述清楚你的理由,同时应该意识到可能需要进一步的商讨。无论你处在论文评阅过程的哪一方,都应当讲礼貌。作为你今后的职业生涯中的一部分,你将会与你评阅论文的作者们一起共事。
y MIT的AI实验室里的备忘录基本上都是可发表的或者接近可发表要求的。技术报
告事实上几乎都是这些文章的修订版。工作论文通常都是非正式的。这些都是将一篇文章给其他同事传阅并经修改后得到的不同版本。你从出版室(就在八层活动室隔壁)领取一张表格并得到两位教员签字同意后就可以将某篇内部论文公开发表。 和研究中其他工作一样,论文写作的时间通常要比你预期的更长。预计用来投稿发表的论文花费的时间尤其长。论文完成后即可给刊物投稿。几个月后就会收到对论文的评阅意见,你必须对论文进行修改。再有一段时间后会收到校样以便作最后的校对。如果你发
表不同形式的论文,类似于短篇的会议论文和长篇的期刊论文,这些可能要经历几个来回。结局是在很长一段时间里,你以为已经完成了论文并且整个题目已经令你极其厌烦后,你却始终在修改同一篇文章。这给我们启示:不要因为某个领域容易发表论文而去做一些需要大量热情投入的研究工作,你无法想象将会遇到什么样的困难。
7. 演讲
演讲是另一种和你的同行们交流的方式,并且我们刚才关于写作所讨论的大部分内容同样适合于演讲。那种站在讲台上演讲并且不至于使听众昏昏欲睡的能力,对获得承认、尊敬、以及最终的求职都是至关重要的。演讲的能力并不是天生的——你可能在刚开始研究生生涯的时候是一个糟糕的演讲者,但是只要通过不断的实践,给人们去做实际的演讲,最终你将会成为一名引人注目的、才华横溢的演讲者。
下面介绍一些学习和练习演讲才能的方法:
y Patrick Winston写了一篇关于如何演讲的小文章。每年一月他都会以此做一个讲座,描述并展示它的演讲技巧。
y 如果你觉得自己是一名糟糕的演讲者、或者希望成为一名优秀的演讲者,可以去选修一门公共演讲课程。选一门表演入门课也是有帮助的。
y
y 如果你导师的学生有定期的学术讨论会,你可以自愿的在讨论会上讲述你的工作。 MIT的AI实验室有一种叫做旋转研讨会的半正式演讲会。如果你觉得自己的研究成果可以成为AI备忘录或者会议论文,可以自告奋勇到会上去演讲。
y 充分了解实验室各个机器人项目,这样当你的亲戚朋友从远方来的时候,你可以带领他们参观并就每一个机器人向他们做一个短短60秒钟的介绍。(你的亲戚和非AI朋友通常会喜欢这样的介绍,因为通常他们不会对TMS复杂的技术细节留下太深刻的印象。)
y 因为修改一个演讲稿通常比修改一篇论文要简单的多,所以有些人发现这是一个寻
找如何正确表达自己想法的好办法。(Mike Brady曾经宣称他所有的最好的论文都来自演讲。)
y 在空房间里面练习演讲,最好是在你将要演讲的地方。有关环境影响记忆的研究结
果表明如果在将要演讲的地方练习将有助你更好地记住你所要讲的内容。练习的过程中可以让你调整演讲的结构:每张幻灯片应该说些什么,如何平滑衔接,保持言语和幻灯片同步,估计整个演讲的时间。你在调整投影设备上所花的时间越少,你用于交流的时间就越多。
y 使用镜子,摄像机,录音磁带帮助练习也是很好的选择。实验室里有这三种设备。
这有助于改善语态和肢体语言的运用。
y 对于比较正规的演讲——比如口语考试——你可以在一些朋友面前做练习,并请他
们提出意见。
y 观察其他人士如何做演讲的。很多访问MIT的人会来学院做了演讲。去听这些演
讲可以让你感受一下你不熟悉的领域,如果演讲者的演讲令人厌烦,你可以以分析演讲者的失误为乐。(参加研讨会也是治愈你午后喜欢吃零食习惯的好办法…。) y 找个安静的地方向你的一个朋友解释你最近的许多想法,这对提高你的沟通能力和
调整你的思路都会大有帮助。
一些需要在准备演讲和演讲时牢记的关键事情:
y 在一次演讲中你只能提出一个“观点”或者“主题”。在20分钟或者更短的演讲
中,必须十分清楚的阐述你的观点,不要牵扯一些复杂的其他东西。在30或45分钟的演讲中可以阐述一些必要的相关资料或者背景。在一个小时的演讲中,可以陈述观点的来龙去脉,甚至揭示一些反面例子。演讲不应该超过一个小时(虽然也经常发生)。
y 听众坐在报告厅里是想了解你要说的东西。他们不是为了等待可以攻击你的一个借
口,如果你很放松,听众也会感到舒服。
y 对每一个幻灯片至少要花费一分钟的时间。不同的人快慢可能不同,但是有一个共
同的毛病就是总认为自己可以在保持思路清晰的同时讲的更快。实际上你不能。 y
y 不要试图用你知道的一切填满一个演讲。你只需抓住你的中心观点,放弃细节。 AI的演讲经常使用胶片投影,也即幻灯片。幻灯片应该保持简洁。用少量的词语
和大号字体。如果你把幻灯片放在地上,而你站着低头看幻灯片上的文字觉得费力,说明字体就太小了。在能用图示的时候尽量使用图片。不要站在屏幕的前面。如果能够直接到屏幕上去指点就不要在投影仪上指点。如果你一定要在投影仪上指点,也一定不要直接碰到胶片而导致其抖动。
8. 编程
虽然不是所有AI论文都需要编码,也有一些AI领域非常有成就的人从来没有写过重要的代码,但是作为一个刚接触AI的人你必须要会编码。这不仅仅是因为大部分AI工作涉及编码的工作,更因为学习编程可以给你直觉了解哪些是否是可计算的——这是AI对认知科学所贡献的最重要的约束条件。
在MIT,特别是所有AI的程序都是用Common Lisp语言编写的。如果你不懂Lisp,那就应该学习它。然而学习一门语言并不等于学习编程,并且AI的编程包含很多与其他系统编程或者应用编程十分不同的技巧。首先你可以读Abelson和Sussman编写的《计算机程序的结构和诠释》(Structure and Interpretation of Computer Programs),并作些练习。这本书并不是专为AI编成写的,但是里面阐述了一些相同的技术。然后可以去读Winston and Horn的《LISP》第三版,那里面有很多很优雅的AI程序。最后,学习编程的最好办法就是实际编程,而不单单是读程序。
许多Lisp编程的文化类似于学徒制度。有些人在一起编程时互相配合的很好,这个和人的个性有很大的关系。最好能有机会直接和经验丰富的程序员一起工作。或看看能否得到他们对你的代码的批评意见。读他人的代码也是非常有用的。向你的师兄师姐要一些他
们的源代码来看。他们可能会有一些抱怨,诉说他们的编程风格有多么可怕,或者他们的程序根本无法运行之类的,但最后还是会把程序交给你。然后仔细阅读这些程序。这是一个很费时的工作,阅读并理解他人的代码可能和你自己去写代码会花费同样多的时间。所以应该计划在第一个或第二个学期里花费几个星期的时间去做这件事。通过做这些你可以学习到大量漂亮的技巧,这些技巧往往是你想象不到的并且在任何书上都没有讲述过的。当你在读大量的无法理解并且没有任何注释的杂乱无章的代码时,也就懂得了自己编码的时候该怎样去做。
所有在软件工程课程里面告诉你的那些令人头痛的事情同样会发生在AI的编程里。为代码写注释。使用适当的数据抽取,除非有什么特别的理由。分离图像和其他代码,使大多数代码都是Common Lisp语言,从而具有很好的可移植性。等等。
在你研究生头两年里面,你应该自己编写一组标准的AI模块,比如:
y
y
y
y
y
y
y
y 一个真值维护系统, 一个中等规模的规划器, 一个规约规则系统, 几个不同风格的解析器, 一个采用流分析的优化编译器, 一个带有继承的架构系统, 几种搜索方法, 一个基于解释的学习器,
无论从哪个开始都可以。你可以用几天时间编写一些功能简洁的程序。扩展一个现有的实际版本同样是很好的方法。只有当你真正去写一些代码的时候你才能真正的理解它们,能洞察到这些代码是否有用、效率问题到底是指什么,等等。
与其他程序员不同的是,AI程序员几乎很少直接拷贝别人的代码(视觉代码例外)。一部分原因是AI程序几乎没有真实运行过。(很多著名的AI程序也只是运行在作者论文
里两三个例子上,虽然现在比以前要求更严谨些。)另一个原因是AI程序往往被匆匆地拼在一起而没有充分考虑通用性。刚开始用Foobar “标准的”规则解释器觉得很好,如果程序不具备你需要的功能或者程序功能太多导致效率低下,它会告诉你问题出在哪里。你可以去修改这个程序,但请记住理解别人的程序代码是十分耗时的。很多时候你还不如自己重写。这也是上一段中提到的半数以上的编程项目实际开发过程,并最终变成应手的工具。在你掌握了方法和工具之后,你可以用一个下午的时间来设计并实现一个(比如)客户TMS算法。(然而你会发现在之后的6周时间里,你会反复调试这些代码,事实往往就是这样。)有些时候构建一个标准包的工作本身就可以用来写一篇论文。
就像论文一样,程序也会出现过分的打磨。编写完美代码、最大程度地实现抽象、编写宏或者库函数、与操作系统内核交换信息等等,这使许多人偏离了自己的论文和领域。(但另一方面,或许这是你以后真正需要作为谋生的手段。)
9. 导师
MIT的导师有两种:教学导师和论文导师(academic advisors and thesis advisors)。 教学导师的职责说来也简单。每一个研究生都会被指派一名教员作为其教学导师,通常在他/她的研究领域,当然也会根据导师当前的工作量进行适当调整。教学导师的职责是代表院系:告诉你学院的要求都有哪些、当你不能满足要求的时候督促你、并确认你的选课表。如果一切顺利的话,一年中你只需要在注册那天与你的教学导师见两次面就可以了。另一方面,如果你遇到了麻烦,导师可能会作为你的保护人,或代表你向系里反映或者给你提供一些帮助。
论文导师是指导你进行研究的人。对于论文导师的选择是你作为研究生需要做出的最重要的一个决定,这比你选择论文题目还要重要。AI的学习很大程度上是类似于学徒制。许多关于该领域的技术方面和研究过程的非正式的知识都是不公开发表的。
许多研究AI的教师都是行为非常古怪的人。研究生也是如此。导师和被指导者的关
系是因人而异的,你的个人怪癖最好能和你导师的相吻合,这样你们能更好的合作。
不同的导师有不同的风格。下面是一些需要加以考虑的因素。
y 你需要多少指导?有些导师会给你明确的正好能做论文的题目,解释某种解决方
法,然后让你工作。如果你的工作卡住了,他们会告诉你如何继续下去。另外的一类导师是完全放手的,在你选择论文题目的时候他们完全不会给你任何的帮助,但是一旦你找到一个论文题目,他们会对你题目提出许多非常有益的意见。所以你需要考虑你更喜欢独立工作呢还是喜欢在别人的指导下工作。
y 你需要和导师有多少交流?有些导师会每周与你见面听取你进展的汇报。他们会建
议你读一些论文,给你一些练习和实际的项目来做。而另外的导师一学期的谈话可能不会超过两次。
y
y
y 你希望承受多大的压力?有些导师会施加更大的压力。 你想要多少精神上的支持?有些导师能给予更多的支持。 用什么样的态度对待导师提出的建议?大多数导师会建议一个相当合适的论文题
目。有些导师给出的建议,你如果认真按照他的建议去做,总能够得到一个即使不令人兴奋的但却够水平的论文。另外的导师会抛出很多非同寻常的想法,虽然这些想法大多数不会有结果,但是如果从十个里面找出一个进行深刻的考虑,就可能取得突破性的成果。如果你选择这样的导师,你就得像个过滤器那样进行筛选。
y 导师能够提供什么样的研究团队?有些教授创造的环境是让所有的学生在一起工
作,即使学生们并不是做同一个项目。许多教授和他们的学生每周或两周见一次面。这一点对你来说是否有益?你是否愿意和导师的其他学生们相处?有些学生发现他们更愿意与另外的研究团队建立重要的工作关系。
y 你是否愿意参加一个大型项目的一部分工作?有些教授会把一个大型的系统分割
成许多小块,然后分配给每个学生。这使你可以和很多人共同讨论问题。
y 你是否需要多个导师联合指导?一些论文项目综合了AI领域的多个方面,你可能
会想和两个或者更多的教授建立牢固的工作关系。虽然你只有一个正式的论文导
师,但是事实并不一定要这样。
y 导师是否愿意指导其研究领域之外的论文题目?对你来说你,你是否能和导师一起
工作比起你和导师在一起做什么要重要的多。在MIT,研究机器人的教员也曾指导关于定性物理学和认知建模方面的论文;研究推理的教员也曾指导视觉方面的论文。但是有些教员只愿意指导他们兴趣领域内的论文。这一点经常体现在那些正在谋求终身职位的年轻教员身上,因为你的工作会有助于实现这个目标。
y 导师是否愿意为了你而去和某种体制抗衡?有些导师愿意帮你挡去院系和其他非
友善团体对你的敌意。有些体制可能会敌视某种学生(特别是对于女学生和有怪癖的学生),所以这一点很重要。
y 导师是否愿意并且能够在会议上或者类似的场合宣传你的工作?这是导师的工作,
并且能对你的职业生涯会产生很重要的影响。
以上各方面会因学校的不同而有所不同。MIT通常能给学生提供比其他学校更多的自由。
寻找一位合适的论文导师是你作为研究生的第一年要做的最重要的事。你应该在第一年底或者最迟在第二年初找到一位论文导师。这里给出一些启发方法:
y 查阅实验室的研究简报。简报会用一页左右的篇幅来介绍实验室的每一个教师和大
部分研究生正在从事什么工作。
y
y 查阅你所感兴趣的研究领域的教师的近期论文。 在你的第一学期尽可能多地和一些教授进行谈话。努力获得一些印象,包括他们看
上去怎样、他们的兴趣所在、以及他们研究和指导的风格。
y 与一些你预期导师的研究生交谈,并询问他们的工作方式。确保和一个导师的多个
学生进行交谈,因为每个导师具有多种的工作风格并且他在与学生交流的过程中产生的效果也不尽相同。片面的调查会误导。不妨与他/她的第一年的学生和第七年的学生进行交流,以全面了解导师。
y 大部分导师所在研究组的会议对新研究生是公开的,这是一个很好的方法来了解与
这个工作团队工作会是什么样子。
AI是很特殊的一个学科:大部分有价值的工作是由研究生来完成的,而不是那些有博士头衔的人,他们通常忙于去做管理了。这就造成一些后果。其一是教师的名望及随后的终身职位在很大程度上依赖于学生的成功。这意味着教授非常积极地去寻找好学生来为其工作,并为学生提供有用的研究指导和支持。其次是由于学生论文方向很大程度上是受导师制约的,整体上该领域的研究方向和发展在很大程度上依赖于研究生所挑选的导师。
在你选择好导师并决定了你希望从他/她那里得到什么之后,还要让导师也知道这一点。你的导师可能会把“我愿意和你一起工作”误认为是“请给我一个范围更明确的项目做”,或者“我有想要做的东西,我希望我做好的时候你能认可”,或者其他什么。不要让糟糕的交流方式使你陷入这样的处境,当接近你想要的论文方向时却和它擦肩而过、或者白花力气在一个你根本不关心的题目上而浪费一年的时间。
不要完全依靠你导师的忠告、学识、意见和关系网。建立自己的关系网络。你可以找不同的人来提供给你不同的东西,无论他们是否是你正式上的导师。找到不同的人来定期的评论你的工作是很重要的,因为很容易导致自己(以及你的导师)认为已经取得了成就,而事实并非如此,因此需要外界的评价。关系网络可以包括自己实验室或者其他实验室的研究生和教师。
在与其他的学生、教授、甚至最成问题的就是和你导师的接触中,你可能会遇到种族歧视、性别歧视、同性恋者、或者其他的骚扰。如果真遇上了,要寻求帮助。MIT的ODSA出版了一本名为《停止骚扰》(STOP Harassment)的小册子,包括一些忠告和相关资源。《计算机科学妇女报告》(Computer Science Women's Report)中也包括相关的指导,这可以在LCS的文档室里找到。
有些学生在实验室里只受到论文导师名义上的指导。这对那些喜欢独立自己动手的人也许很适合。这样的好处是你只需要按照自己的想法去做,而不必考虑导师的想法。但走这条路可能并不是一个很好的主意,除非你已经至少完成了一项在导师指导下的工作,你确信在没有导师指导下你能工作,并且已有了一个牢固的支持关系网。
10. 论文
你的论文将会占用你研究生生涯的大多数时间。大量的时间将会投入到研究工作甚至选择论文题目上,而不是论文的写作上。
硕士论文的目的是为博士论文做准备。博士的研究如果没有事先的准备是很难开展的。硕士论文的基本需要可以从字面上来理解为掌握(Mastery):你已经完全理解你所在的子领域最新进展,并且你有能力运用自如。而不需要你能对最新进展有所贡献或者发表你的硕士论文。我们实验室的论文则比较厉害,事实上许多硕士论文都对研究领域有所贡献,而且可能有一半都已公开发表了。这并不一定是一件好事。我们许多人在硕士论文中做了超负荷的工作,MIT硕士论文比博士论文水平还高不是什么好事。这与硕士研究生的培养意图相抵触。另外,想要对领域做出一点贡献至少需要两年的时间,这会让学生生涯变得太过漫长。可能你现在还不着急,但是当你在实验室混了7年之后,你就会迫不及待地想逃出去。从入学到完成硕士论文的平均时间为两年半。可是现在计算机系极力鼓励学生能提前毕业。如果一个硕士所选的题过于庞大,那么可以把它分开来,一部分作硕士,一部分做博士。
要想了解硕士论文的研究是什么样的,可以阅读一些最近的论文。记住那些最容易得到的是已经公开发表或形成技术报告的论文,这意味着它们对某个领域已经有所贡献——换一句话说,也就是他们的工作已经超出了硕士论文的要求。同样尝试阅读那些已通过答辩但并公开发表的论文。所有这些论文都能在MIT图书馆中找到。
博士论文必须对领域前沿有所贡献。博士论文的研究需要达到能发表的程度。MIT的学风依然,因此几年来许多博士论文都在某个领域做出了权威性的工作。一篇MIT的博士论文开辟一个新的领域、或者陈述一个新问题并解决它已经是司空见惯的了。然而这些都不是必需的。
通常,需要两三年时间去完成博士论文。许多人花一两年时间来完成硕士论文并寻找一个博士课题。这段时间最好还可以做些别的什么事情,比如做一个助教或者进入一个非AI领域或者组织一个摇滚乐队。真正博士论文的写作通常需要大概一年的时间,需要再三
强调的是即使你彻底的厌恶它,也还要持续一年的时间。
选择一个题目是论文工作中最困难也是最重要的。
y
y 一个好论文题目将会表达个人的想象,并参与到与同行的交流中。 你的题目必须是你所感兴趣的一个。否则你就不会一直做下去。你个人的想象是你
成为一个科学家的理由,是你所关注问题的写照、原理、思路或目标。这有很多种形式。或许你想造一个你能够交谈的计算机。或许你想阻止人们愚笨的使用计算机的方法。或许你想要证明所有事物是一致性,或许你希望发现宇宙新生命。想象是一件很伟大的事情。或许你的论文不能达到你想象的目标,但是它可以指明道路。 y 同时,科学也是一种对话。有记载表明许多优秀的人都做得非常好。他们已经取得
了很大的成就并为此感到振奋。他们拥有深刻的洞察力但同时又难以置信的盲目。他们既是英雄也是懦夫。同时具备这一切。如果你的工作始终在与他人对话,那么它就是可管理和易于理解的。工作中必须交流遇到的难题和疑问,即使只是对某个错误的简单解释。如果一个论文主题不参与对话,那么它可能会太庞大、或太模糊、或者没人能够理解它。
y 最难的如何将你的问题适当裁剪使其大小足以引起别人的兴趣。最常见的毛病是题
目太大太虚,如“解决AI的广度优先”,你会发现需要不断地缩小你的题目范围。选择题目是一个渐进的过程而非离散事件,它会一直持续到你宣布论文完成为止。解决一个问题比明确一个问题要相对容易。如果你想象的是一个五十年的项目,那么合乎逻辑的十年子项目是什么?合理的一年子项目计划又是什么?如果你的想象具有一个庞大的结构,那么最核心的部分是什么?对这部分的核心又有什么明显的特征?
y 一个重要的因素是你能够容忍多大的风险。通常最终成功和过程中的风险之间需要
某种折衷。然而这并不总是真的,因为AI中还有很多研究者尚未涉及的想法。 y 一个理想的论文题目应该具有某种可伸缩的结构。它有一个核心部分确保你能够完
成,而且你和你的导师一致认为它能够符合学位的要求。论文题目应该有各种各样
的扩展,展开时会有更大风险但同时更令人兴奋。并不是所有题目都符合这个条件,但是它值得我们为此努力。
y 有些人发现同时在几个可能的论文项目上工作使他们可以完成那些可行的项目而
丢弃失败的项目。这能降低风险。另一些人发现这会造成太多的额外工作量,他们在认真地开始工作前会选择一个题目。
y 你也许只是对某个特殊的子领域感兴趣,这样你的论文题目的范围就会狭隘一些。
也许你会发现,找不到可以一起工作又可以在这个领域指导你的教员。也许你会发现在这个领域中没有合适的题目,而在其他方面你却有好的想法。
y 选择硕士论文题目比选择博士论文题目还要难,因为这个必须在你有充分了解并建
立更多自信之前完成。
y 博士论文题目选择的一个因素是是否在你硕士工作的子领域继续工作,也许在原来
工作的基础上做些扩展,或者改换到另一个子领域。继续原有领域的工作使事情变得简单,或许只要一两年时间就可以毕业了,尤其是如果在硕士工作期间对做博士论文的课题已经比较明确的情况下。但是这会使你“定型”变成像依着葫芦画瓢或者做电路分析的人,改换领域将能够拓宽你的视野。
y 题目可以是最新奇的也可以最老套的。前者通常会打开一个新的领域来探索未曾研
究过的现象,或者对公认难题或特征不明确的问题提出启发式的解决方案。后者通常解决特征明确的问题。这两者都是很有价值的,在这范围内定位取决于你个人的风格。
y
y 他人论文的“进一步工作”也是很好的论文题目来源。 无论你做什么题目,都必须是前人未曾做过的。同样,做别人正在做的工作也不好。
有足够多的事情可做,不需要抢一个题目做。另一方面,通过阅读别人的论文发现他们好像已解决了你论文中的问题而感到恐慌,这也是一件很普遍的事。在你明确论文题目的过程中,恰恰会发生这种事。实际上,雷同可能只是表面现象,因此可以将论文给那些了解你工作的博学的人看看并征求他们的想法。
y 并不是所有MIT的AI实验室的论文都与人工智能有关的,也有一些是关于硬件和编程语言的。这也很正常。
一旦你确定了论文题目,即使它还有点模糊,你必须能够回答这个问题:你论文的论点是什么?你想要展示什么?你能够用一个句子、一个段落、和五分钟的时间来回答。如果你不知道你想要得到什么,别人也不会认真对待,更糟的是你将会落入无休止的选题中。
在研究进程中你应该能够清楚地解释你的理论和实现的每一部分是如何为目标服务的。
一旦你选定了一个题目,应确保你和导师对论文题目和最终结果的构成都有明确的理解。如果你和他对此有不同的期待并且没有意识到这一点,那么你会败得很惨。你可能要阐明一个清晰的目标测试,像你的理论和程序的一套测试用例。无论如何你要有所准备,即便你的导师并不在意。自觉更改测试以适应环境变化。
先尝试一个论文题目的简化版本。针对例子做些工作。在进行理论抽象之前,彻底地探索一些具体的实例。
在做论文期间,有很多种方式可以浪费你大量的时间。避免这样的一些活动(除非确实与论文相关的):语言设计、用户界面和图形制作、创造新的形式化方法,代码的过渡优化、创建工具,官僚作风。任何与你论文无关的工作都应该降到最少。
有一个众所周知的现象叫“论文回避”,比如你突然发现对在一个陈腐的操作系统中修补深藏的漏洞非常着迷并认为这很重要。这是一种从论文工作游离出来的半意识状态。你应该意识到你正在做什么。(从作者的角度看,本文就是论文回避的一个例子)。
11. 方法学
[这一部分比较薄弱,请补充]
研究方法学定义了研究活动是什么,如何展开研究,如何衡量研究进展,以及什么是
成功。AI研究的方法学很杂乱。不同的方法学形成不同的学派并因此相争不下。
方法是工具而已。驾驭工具,而不要受制于工具。不要落入那些自吹自擂的标语的陷阱里:“AI研究需要稳固的基础”、“哲学家是吹出来的,AI是干出来的”、“在询问如何计算之前你必须知道要算些什么。”要在人工智能领域获得成功,你必须擅长技术方法并抱着怀疑的态度。例如,你应该能够证明定理,你还应该怀疑这些定理到底证明了什么。
AI的许多优秀结果都权衡了几种方法学。例如,你必须在可能与实际问题毫无相关的一大堆理论和大量毫无条理的特解的实现之间选择一条最佳路线。你常常会面临各种研究决策,在“优雅”和“零乱”之间划出界线。你是否应该将问题作适当的形式化(这样你会能证明这个问题非常棘手),或者你是否应该直接处理原始形式表达的问题,虽然定义不明确但却更接近实际?前者(如果可行的话)会获得一个清晰而确定的结果,这个结果可能会繁琐不已也可能没有触及问题本质;后者的风险则是把问题变成了一堆理不清的小问题。任何人在做任何工作时应该有明智的权衡,在符合整体关系的前提下,对于某些子问题作适当的形式化处理。
有些工作类似于自然科学。你观察一下人们是怎么学习算术的,大脑是怎样工作的,袋鼠是怎么跳跃的,然后尝试找出并形成一个可被检验的理论。有些工作类似于工程设计:你尝试去建立一个更好的问题求解器或者算法模型。有些工作类似于数学:建立形式化体系、尝试去理解它们的性质、琢磨并证明有关的结论。有些工作是实例驱动的,试图解释特定的现象。最好是结合上述甚至更多的方法。
方法学是具有社会性的。看看别人如何解决类似的问题,并和人们交谈他们是怎样处理特殊案例的。
12. 心理
做研究工作是非常艰苦的。很容易为它耗尽心血。攻读AI博士的学生中只有令人尴尬的一小部分能完成论文的研究工作。在MIT几乎所有没有完成研究的学生都自动弃学
了。有些人离开是因为他们能够在工业界挣到更多的钱,也有纯粹个人原因的,大多数则是因为他们在论文研究方面的挫折而离去的。这一节试图解释这一切是怎么发生的并且给出一些有益的启示。凡事预则立:你需要了解做研究时遇到的不幸、恼怒、沮丧和成功都是研究过程中的必要组成部分,并且和其他研究人员分享这些感受。
所有研究工作都有风险。如果你的项目不可能失败,那只能说是开发而非研究。最困难的是怎样去对待项目的失败。很容易将你的项目失败解释成是你的失败,但是事实上,这证明你有解决难题的勇气。
在这里领域里有少部分人看上去好像一直很成功的,一年又一年的发表论文,事实上他们遇到的失败也和别人一样。你会发现他们常常同时进行几个项目,但是只有一部分成功。那些成功的项目往往经过了无数的失败、尝试过许多错误方法,最终才取得成功。
在你的研究生涯中,你将会经历许多失败。但是每一次都代表你在某个项目上作了许多工作。你将会发现许多你有过的想法、思考的方式、甚至你写过的代码,在若干年后你会发现正好可以解决另一个完全不同的问题。这样的效果只有当你积累了许多失败后才会显现,所以应该相信总结初期失败的经验教训将来一定会有用。
研究工作需要花费比看起来更多更长的时间。一般的规律是任何给定的任务都将会花费你期望的三倍时间(有些人还会加上一句:“...即使已经考虑了这个规则.”)
成功的关键是把你的研究作为你日常生活的一部分。许多突破性的想法往往发生在你洗澡的时候或者坐地铁的时候或者在哈佛广场购物的时候。如果你时时刻刻都在思考研究,灵感就会纷至沓来。AI的成功人士通常并不是十分的聪明,但却持久耐劳。同样很重要的事情是学会“品味”,能够区分表面上诱人的想法和真正重要的观点。
你会发现研究的进展变化无常。有时候进展很快,可以在一个星期内完成以往需要三个月才能完成的工作。这是令人兴奋的,使得人们愿意从事这个领域的研究。而另外的时候,你会被困住并且感到很长一段时间你什么也做不了。这很难应付。你可能会觉得你再也做不出任何有意义的事情了,或者刚开始时,你不具备作为一个研究者的素质。这些感觉当然都是错的,如果你是MIT录取的学生,你已经具备必要的素质了。你需要坚持,并
保持高度宽容对待缓慢的进展。
你可以设定中短期目标,比如每周或者每月,从而你能够完成许多工作。有两个方法可以帮你提高达到目标的可能性,一是把它记到笔记本上,一是告诉别人。你可以和你的朋友做一个履行你周计划的约定,并打个赌看谁先达到目标。或者告诉你的导师。
有时你会被彻底困住。像写作中的困难一样,有许多原因造成的,但没有单一的解决办法。
y
y 眼光太高会导致停滞不前。在小问题上做些工作能让你步入正轨。 你可能陷入一个怪圈,对自己工作能力的怀疑会侵蚀掉你的工作热情以至于无法完
成任何事情。要认识到研究能力是一种学习得来的技能,而不是天生就有的。 y 如果你发现自己真被困住了,一两周来没有任何进展,尝试每天只工作一小时。几
天后你就可能会步入正轨。
y 早上开始工作是件困难的事,但一旦开始了就会很容易继续下去。在晚上留一些容
易的或者有趣的工作给第二天早上做。早上开始一定要做实际工作,如果你一早上开始就阅读邮件,那么你的工作就不会有什么效率。
y 对失败的恐惧会让工作变得困难。如果你强烈地感到无法完成你的工作,问问自己
是否在回避用实验来检验自己的观点。发现有可能前面几个月的工作会泡汤的想法会阻碍你。没有办法可以避免这样的事情,应该认识到失败和浪费的工作也是研究过程的一部分。
y 读一下Alan Lakien的书《怎样掌握你的时间和生命》(How to Get Control of Your
Time and Your Life),甚至那些讨厌自助书籍的人也会推荐这本书。这本书讲述一些非常宝贵的方法可以让你工作更有效。
许多人发现他们的个人生活和他们的研究能力是相互影响的。对某些人来说,当生活的其他方面陷入困境时,工作恰好是一个避难所。其他人则发现,当他们的生活因为某些原因陷入混乱时也会无法安心工作。当你发现自己陷入困境而不能自拔时,去看一看心理医生会有所帮助。一份非正式的调查显示,我们实验室大概半数的学生在其研究生生涯中
都看过心理医生。
做AI比大多数其它类型的工作更困难的一个原因就是没有一个公认的标准来评价工作进展或者评估你的工作成就。在数学领域,如果你证明了一个定理,那么你就做了相应的工作;如果是一个别人证明不了的定理,那么你就做了一件了不起的事情。AI借鉴了相关学科的标准也有一些自己的标准;不同的研究人员、领域和学校对评价标准也有不同的侧重。MIT比其他大多数学校更注重实现的质量,但即使在这个实验室却也有很大的差别。这样的一个后果是你总是不能让所有人满意。另一个后果是你可能常常不能确定自己是否已经有所进展,这会让你觉得有点不安全。经常出现会对自己工作的评估从“有史以来伟大的事情”跌到“空洞、多余和没有条理的稀疏平常事”。这是正常现象。采用别人的反馈意见不断地调整自己的工作。
有些事情能够帮助处理研究过程中的不安全感。获得认可会有所帮助:毕业论文通过答辩、发表论文,等等。也许更重要的是尽可能多地与人们交流你的想法并听取反馈意见。其一,他们可能会献上一些好主意;其二,有些人可能会欣赏你的论文,这让会让你感到欣慰。既然评价进展的标准是如此微妙,那么如果你不经常和其他研究者进行交流就很容易走进死胡同。尤其是在你觉得不太愿意和别人谈论你的工作且进展不顺利时更是如此。此时,最需要的就是得到反馈和支持。
要清楚地了解你已经取得了进步并不太容易。“如果我能做到,那么它一定是微不足道的了。我的想法是显而易见的”。但当你回头看时会发现,对你而言可能是显而易见的,但对他人却不然。把你的研究工作讲给外行听会有助于你意识到现在看来微不足道的东西其实是多么不易。把想法写下来。
最近针对科学界诺贝尔奖获得者的自我怀疑作了一次问卷调查:这些成就显著的科学家是否一直清楚自己在做震惊世界的研究工作?50多人的一致回答是他们也经常怀疑自己工作的价值或正确性,也曾经历过自认为工作无关紧要、平淡无奇或者是错误的这一时期。任何科学进展中的一个常见的重要组成部分是经常地进行批判性的评估,而对工作价值评价的不确定性也是不可避免的一部分。
有些研究人员发现他们在与同事合作时比在独自工作时更有成效。尽管许多AI的工
作都可以由个人来做,但是许多人还是喜欢在一起工作,构造系统、合作撰写论文。我们实验室就有合作的学位论文的例子。缺点是要和合作者分配并竞争论文的贡献。和实验室以外的人合作,比如暑假兼职时,这些问题就少些。
来到MIT的AI实验室的许多人一直都是原来所在大学中最聪明的人,在这里却遇到了一大堆更聪明的人。这会给一二年级学生的自尊带来沉重的打击。但是被这些聪明人包围也有好处:请人友好地批驳你所有不怎么样的想法,以免陷于被公开嘲弄的境地。为了对自己有更现实的认识,你应该回到这个并非只有聪明人组成的现实世界来。到外边找一个咨询工作非常有利于保持心态平衡。首先,有人为你的专家意见支付酬金,说明你确实有两下子。第二,你会发现他们确实需要你的帮助,在圆满完成工作时会给你带来满足感。
反之,每个加入实验室的同学都是从400多申请者中挑选出来的。这使我们许多人相当骄傲。他们会认为我就是那个将要彻底解决这个AI问题的人。这并没有错,要想在这个混乱的领域取得任何进展需要充分的想象力。潜在的缺点就是你会发现问题比预计的要难得多,研究所花费的时间也比你期待的要更长,而且你还无法独自完成。这会导致某些人严重的自信危机。你必须面对这个现实,你所能做的就是为某个子领域添砖加瓦,你的学位论文也不是去建造高楼大厦的。这可能需要彻底的重新评估自我,这一过程往往是痛苦的并且有时会持续一年多的时间。虽然如此,这也是非常值得做的,不自视过高能让你以一种游戏的精神去做研究。
人们能够忍受研究带来的痛苦至少有两方面理由。一则是动力,渴望解决问题的激情。你做研究是因为离开了它你无法活。很多伟大的研究成果都是这样出来的。虽然你有可能被疲惫不堪所击倒。二则研究是一种乐趣。虽然大多数的时间是痛苦的,但是如果题目适合你,你能够像做游戏一样解决它,并且享受这个过程。这两个方面并不矛盾,但在如何对待工作的态度上必须要有很好的平衡。
在了解了做研究的感觉后,每当碰到困惑时,阅读一些生动的科学家自传会给你灵感和安慰。比如:Gregory Bateson的《给年轻科学家的忠告》(Advice to a Young Scientist),Freeman Dyson的《搅动宇宙》(Disturbing the Universe),Richard Feynmann的《Feynmann先生,你一定是开玩笑吧!》(Surely You Are Joking,Mr. Feynmann!),
George Hardy的《一个数学家的道歉》(A Mathematician's Apology)和Jim Watson的《双螺旋结构》(The Double Helix)。
在你完成了像学位论文这样的项目一两个月后,你可能会发现它看起来毫无价值。这个反差是因为已经对这个问题感到疲惫和厌倦,在你回忆起来时发现还可以做得更好——通常总是如此。对这种感觉不必太认真。过一两年之后重新看它,当你对它不再那么熟悉时,你会觉得“嘿,妙极了!绝活!”
尾注
这个文档融合了以下人士的观点、文字和评论:Phil Agre,Jonathan Amsterdam,Jeff Anton,Alan Bawden,Danny Bobrow,Kaaren Bock,Jennifer Brooks,Rod Brooks,David Chapman,Jim Davis,Bruce Donald,Ken Forbus,Eric Grimson,Ken Haase,Dan Huttenlocher,Leslie Kaelbling,Mike Lowry,Patrick Sobalvarro,Jeff Shrager,Daniel Weise和Ramin Zabih。感谢所有给我们智慧的人,特别是我们的导师,这些智慧将通过本文(恰好完成了我们的课题)继续传承下去。
有些观点则来自John Backus的“论成为一个研究者”(On Being a Researcher)和Alan Bundy,Ben du Boulay,Jim Howe和Gordon Plotkin共同撰写的“如何在人工智能领域攻读博士学位”(How to Get a PhD in AI)。