这是一篇翻译,原文是How to Be a Successful PhD Student (in Computer Science (in NLP/ML))
http://people.cs.umass.edu/~wallach/how_to_be_a_successful_phd_student.pdf
读博这件事既有益、有趣,又辛苦。和生活中的每件事情一样,前人的经验和教训能让你掌握方法,少走很多弯路。
本文内容很适合自然语言处理和机器学习方向的博士生
一、成为一名博士生
为什么要拿博士学位?
我们要强调这个提问本身的重要性。获得博士学位将极大地改变你的职业生涯。读博不仅意味着你将在学校度过许多年(这将带来个人和经济上的双重影响),它也将改变你追求的职业类型。虽然获得博士学位令人高兴,但读博这个决定不是对每个人来说都正确。需要考虑的一些问题如下:
• 你必须十分想要得到它。获得博士学位需要很长的时间、大量的奉献和辛勤的工作。除非你真的想要它,否则你无法读完博士。
• 你可以先做些其它事情。许多学生本科毕业就直接来到了研究生院。这当然很好——事实上,我们自己也是这样做的。然而,一些出色的博士生在离开学术界一段时间后,才开始研究生阶段的学习。做些其它事情可以让你离开学术界休息一下,并帮助你获得新的视角。
申请研究生院
为了读博士,你必须进入研究生院。关于这个问题有很多资源,例如http://cra.org/ccc/csgs。我们想强调申请外部奖学金的重要性,例如国家科学基金(NSF)的研究生奖学金(Graduate Research Fellowships)和国防科学与工程毕业生奖学金(NDSEG Fellowships)。关于申请和择校的一般性建议:
• 超越学校来思考。当然,你想去你能申请到的最好的学校。但你也需要快乐。如果你不快乐,你就不会成功。如果你发现自己没有社交、没有朋友,你就不会快乐。
• 和聪明人相处。你的导师是重要的,同时你也将花费大量的时间与其他学生在一起。和聪明人相处会让你更聪明。如果你是房间里最聪明的人,是时候起身去另一个房间了。
博士研究生的几个阶段
你可能会想知道和周围其他学生相比,你做得如何。不要只是猜测——你可以问你的导师。计算机科学(CS)博士通常需要读5-6年,但很多人需要更长的时间。花7年毕业也未必不好。记住,念博士花了多长时间不是别人对你的评价依据,你的产出才是。大致来说,博士可能经历以下阶段。
• 阶段1:上课,寻找导师,看别人做研究,阅读论文,完成一个项目并有所产出(不一定是发表论文)。通常2-3年。
• 阶段2:选择一个感兴趣的领域,领导这一领域的一个研究项目,发表一篇论文,为这一领域作出贡献。通常2-4年。
• 阶段3:评估你的工作,构思一个故事,写一篇毕业论文。通常为1年。
二、你和你的导师
与导师的良好关系对你的成功至关重要。请务必确保你给自己选择了正确的导师。你将花费数百小时与你的导师在一起,所以你一定要确保你的导师是你喜欢的人、而且你们能愉快地合作。仅仅喜欢某人的研究是不够的,这并不意味着你们能很好地合作。不同的导师有不同的指导风格。问问他们是如何领导自己的课题组的。与他们现有的学生交谈,了解他们的指导风格和他们对学生的期望。
• 听导师的话。他们不总是正确的,但他们做研究的时间通常比你长得多。而且,你的导师是你的老板——你为他们工作。当你的导师让你去做什么事,去做吧。
• 和导师保持联系。如果你的导师没有回复某个重要的邮件,请提醒他,说你正在等待他的回复(首先,把你的邮件写清楚。请参阅这里的邮件写作建议:http://matt.might.net/articles/how-to-email/)。你的导师可能很忙,可能没有看到你的邮件,或没意识到其重要性。 定期与导师见面。定期约见导师,可以确保你的工作效率,并让导师给你反馈。你应该定期(比如每周)与你的导师见面——特别是当你不想见他的时候。
• 制定议程。每一次见导师之前都要制定议程。将你想谈及的每个主题与其相对重要性写成大纲。如果你不知道你想谈什么,你的导师也不太可能知道。
• 带上结果。尝试每一次都带着结果(例如图表、数字)去见导师。
• 从总结开始。通过总结上次的会面开始每一次新的会面。帮导师想起你们上次同意了下一步要做什么,总结你做了什么(以及没有做什么),以及介绍你这次的议程。你的导师有许多研究项目。与你不同,他们上一周不只在你的项目上工作,因此需要你帮助导师切换工作场景。总结你们之前的会面将使你的导师能够更快地切换,并确保你俩是同步的。
三、管理日常工作生活/提高生产力
读博不同于你的其它教育经历或你做过的任何工作。成功意味着生产力高、创造性强和独立性。不是每个人都能自然而然做到这些,所以你最好快点发掘自己怎样才能拥有这些成功者的特质。还要记住,一个成功的人也可能失败很多次。
• 每个人的工作方式都不同。找出你喜欢怎样工作,以及什么使你最有成效。(你工作效率最高的时候是在早上还是晚上?你喜欢和别人一起工作还是独自工作?你更擅长于专注于一个项目还是同时进行多个项目?)跟你的导师讨论这些偏好,这样他们可以更好地了解你,并尽可能有效地与你合作。
• 保持一个规律的时间表。这可以帮助你取得进展,即使在你没有动力的时候。一般来说,每周至少在实验室工作20小时是个好主意:实验室是个可以集中注意力的工作环境,周围有同事,导师想找你也容易。如果你觉得无法在实验室工作,请尝试找出原因,并对其进行处理(例如,跟导师谈谈)。
• 确定优先级。你会发现你面临很多机会,却没有足够的时间。尝试找出你的优先事项(例如,科研、上课、社会服务、社交生活等),并确保花费相应的时间。如果你觉得事太多做不完,你可以计算一下每天的时间分配。学会区分紧急的事和重要的事——不要因为专注于紧急事情的截止日期(例如课后作业),反而延误了较长期但更重要的期限(例如会议)。比起大量低质的文章,拥有少量但高质的文章要更好。
• 自己进行“下一步行动”。如果你坐着等导师告诉你下一步该做什么,那就有点问题了。找点事情做,比如读文献。
• 拥有社交生活。为了提高效率,你需要快快乐乐的。社交生活通常是保持快乐的一部分。花时间确保你是快乐和健康的,否则你的工作也不会高效。经常在实验室内外与其他学生交流,你能了解你对自己、对读博的期望是否现实,了解一些技术细节、有趣的问题和解决方案。
• 从错误中学习。记住每个人都会有卡壳或者士气低落的时候。即使是特别著名、成功、完美的研究人员都会卡壳和沮丧。失败没什么(甚至可以说是成功的关键)。失败也是经常发生的。问题是,你失败后做了什么。做做笔记。想想你为什么会失败,想想下次会怎样做。许多巧妙的研究想法的出现,是因为有人失败之后问了“为什么”。
四、科研
你是博士生,而博士是研究型学位。这意味着你的目标是学习如何做高质量的科研。做科研就像学徒——通过看别人做,然后自己去做来学习。对有些人,搞科研是自然而然的事。对大多数人,搞科研并不是刚好发生的事,它需要辛勤的工作和周密的计划。
读文献
你需要知道前人做过什么,以确保你的贡献是创新并且有用的。如果你不知道其他人已经做过什么并且正在做什么、这个领域的主要挑战在哪里、以及人们是如何思考这些难题的,那你就不能指望自己能迅速进入某个活跃的研究领域并做出贡献。而所有这些信息来自于读文献。
• 阅读,阅读,阅读!每周阅读多篇论文——如果你不确定要阅读什么,咨询你的导师(或者其他研究生)。你有很多东西要学习(特别是在前几年),而阅读是学习的首要方法。
• 记笔记。对你读的每一篇文献都做笔记。在每个层面上做笔记(例如,从对整篇文章的一句话概括,一直到句子级别上的笔记)。找到你自己的做笔记系统。
• 精读重要文献。当你阅读一篇重要文献时,尝试理解每个方程是怎么来的——换句话说,自己推导一遍。如果你遇到困难,不要害怕问别人(比如其他研究生或者你的导师)。
• 区分广度与深度。不是每一篇文献都需要从头到尾详细阅读。有时你只需要一个高屋建瓴的视角。每读一篇文献时,弄清楚你需要什么(即,你希望通过阅读这篇论文来实现什么),并相应地阅读。
• 版本控制。对一切(笔记,代码,论文等)使用版本控制。这可能很耗时,但从长远来看,它会节省你的时间。
选题
• 了解科研的圈子。论文不是在真空中发表的,论文是一个圈子内部不断进行的对话的一部分。了解这个圈子,即它的参与者,已有的工作、术语等。你必须知道你在和谁交谈,以及如何与他们交谈。
• 思考大问题。你不应该试图解决容易解决的问题。专注于解决大问题,即使你最终采取的是小步骤的解决方案。有很多论文中的想法只是前人工作的简单扩展。虽然这些论文可能会发表,但通常不重要。尝试关注大问题,而不是对以前的工作进行渐进式改进。
• 不要杜撰问题。提出新的问题是极好的,但要确保它是真正的问题。如果你不能想到至少三个这个问题的例子,那么它可能不是一个真正的问题。换句话说,不要拿出锤子,然后去寻找钉子。要学会如何根据实际存在的钉子来设计或者创造锤子。
• 从写作开始。当你有一个想法,首先写下来。在写任何代码之前先在纸上详细说明。这将有助于暴露问题和充实细节。这在处理数学问题时特别有用。在写任何文本之前写一个大纲,以便明确你想要做什么。
• 学习什么时候该放弃。你可以从失败中学习,但前提是你在继续前进。如果你发现自己一再降低你的目标和期望,这说明你没有取得进展。学习什么时候该放弃,信任你的导师,他在这方面比你懂得多。
• 提问。不要害怕提问和寻求帮助——你会学得更快,并且比你试图自己解决一切更有效率。
获得和展示结果
• 了解你的数据。全面而深刻地了解你的数据。确保它展示你想要的属性。进行探索性数据分析——以许多不同的方式绘制/可视化——有时你会发现数据展示了出乎意料的有趣属性。
• 了解你的工具。确保你了解你使用的软件包是做什么的。如果你发布的结果是使用他人的软件获得的,你应该确保他们的软件可以实现你认为它能做的事。有一个“简单”的方式来做到这一点:阅读源代码。如果没有源代码,要谨慎。如果可以,实现多次(例如,使用两种不同的方法,或两种不同的语言),并检查它们是否结果一致。
• 好的基准模型。只有基准模型恰当时,超越基准才有意义。只有对现有的方法进行了改进或提出更简单的方法才是有用的。学习如何建立令人信服、有效而简单的模型。你该经常问自己:“什么最简单的实验能验证我的假设?”
• 理解你的结果。仅仅知道你的方法对于你的数据有95%的准确率是不够的。 你还需要确切地知道是什么使得你的方法不适用于剩余5%的数据点。尝试查看那些你的方法预测正确(或错误)的实际数据点,以不同的方式绘制/可视化你的结果。这些练习可以帮助呈现和改进你的工作。
• 呈现你的结果。学会如何呈现结果,让它们是可理解的、有用的和令人信服的。表格不是呈现数字信息的最佳方法——请至少读一本关于(定量)信息可视化的书。只有在你的结果容易理解时,你才可能使他人信服。
发表
• 跟踪截止日期。不要依靠你的导师为你做这些——他们已经跟踪了非常多个其他截止日期。如果你认为你无法在截止日期前完成,一定要告诉你的导师——他们宁愿早些知道。
• 早点完成写作。至少要在截止日期前一周完成你的论文。这不仅会给你足够的时间来打磨你的论文、获取他人的反馈、运行他人建议的任何实验,而且更有可能使你从导师那里获得有用的反馈,你要知道你的导师通常手头上还有其它论文需要在截止日期之前阅读。
• 学习如何写作。如果你认为自己是一个工程师或科学家所以不需要高超的写作水平,那你就完全错了。作为一个科学家,你的工作是将你的想法传达给他人。不管你的工作多么令人惊奇,如果没有人能理解你对自己工作的解读,它将不太可能产生任何影响。 如果你发现自己在想“审稿人不懂我的论文”,也许是你没有将你的想法解释得足够清楚。写作水平的高低影响着论文被拒绝或接收,也是好论文和获奖论文的区别。如果你想改善自己的写作,你需要尽早地获得对你草稿的反馈。
• 重现你的结果。将科研成果发表,部分是为了证明你的结果的准确性。 这意味着你必须能够重现它们。确保你详细记录了你如何获得论文中的结果,以便你可以重复实验。至少,这将有助于根据审阅者的反馈(或当你需要写毕业论文时)进行额外的实验。
• 提交后重新整理。在投稿论文截止日期之后立即整理和归档你的代码和结果等文件。不要欺骗自己——如果你不这样做,它永远也不会发生。当你发现需要重新运行实验时(例如为了你的毕业论文),你会感激你花费时间做了这些。
• 发布代码和数据。发布任何对你的论文至关重要的代码或数据。这确保其他人可以重现或基于你的想法进行研究。此外,如果其他人使用你的代码或数据,他们会引用你,这不正是你想要的吗?
• 注重质量而不是数量。你会发现会议、书籍、期刊等无限的征稿启事。它们多半不会影响你的职业生涯。没有人会在意胡乱发表在某个期刊上的论文。尽可能花时间为一次重要会议提交你的一篇高质量的论文。
• 发表或埋没不会在第一年开始。随着发表论文的压力越来越大,一些学生认为他们在第一年就需要发表一篇论文。你不要这样认为。在不到一年的时间里,你不大可能产生一个重要、新颖的想法为社会做出贡献。首先学习一些知识才会使得你的第一个贡献变得有价值。
演讲
学习如何作报告非常重要。作报告可以为你的工作做广告,并确保人们知道你是谁。作一次好的报告可以让人阅读和引用你的会议论文,而不是将其束之高阁。此外,懂得如何演讲将会帮助你在毕业后找到工作。作为一名博士生,你必须学会如何演讲,所以尽早开始吧。
• 练习。学习如何演讲的最佳方式就是练习。在镜子面前,在朋友和同事面前练习。一次重要汇报前的多次练习是十分常见的。此外,你该寻找机会进行演讲。如果你的学校组织学生研讨会,你可以自愿演讲。在你正式进行会议发言和工作面试之前,这些研讨会能早早给你机会练习演讲技巧。
• 寻求反馈。如果你做了一个演讲(不论演讲练习还是真正的演讲),要问听众对于你的演讲的清晰度,风格,内容,表达呈现等方面的建议。
• 关注内容。使用PowerPoint或Keynote等工具时,很容易花费大量的时间制作幻灯片的外观。然而,这远远不如清晰的结构和将内容表达清楚重要。在你做花哨的动画前,你该花时间思考你要说什么以及你要怎样说。
• 控制时间。一个好的报告能在恰当的时间内介绍恰好的内容。假如一个演讲者说“我的时间不够了,所以我匆匆带过这些内容”,一半的听众都不会有兴趣接着听下去。如果你没有时间来覆盖一些话题,你可以整个跳过它(更好的方法是首先就不把这个话题放进发言稿里)。最好是能把单个主题的内容覆盖完整,而不是匆匆涉及很多主题。当你练习演讲时你该自己掌握时间。对你演讲的时间做记录,这将有助于你在实际演讲中调整速度。与实际演讲相比,你在练习中讲得更快还是更慢?明白了这点,你就可以调整实际演讲的语速。
制作海报
• 海报展示有时是发表过程的重要组成部分。有很多不同的方法来制作好的海报,这里我们将概述几个要点。
• 开启对话。海报可以帮助你开始和继续一段谈话。因此,你的海报应该宣传你的工作,并说服其他人与你交谈。它还应有助于你谈论你的工作。海报不是论文的替代品。省略一些细节是可以的。
• 视觉吸引力。人们通常参观好看,而不是上面一堆数学公式的海报。你不需要成为一个艺术家,但应该学习如何使用图形和颜色。
• 讲故事。一次演讲应该有一个清晰的故事情节,你的海报也应如此。当与访客谈论你的工作时,你将使用海报作为指南。确保它以恰当的顺序呈现恰当的内容。
• 演练。正如练习对于演讲很重要,练习如何展示你的海报也很重要。练习将帮助你确定海报是否包含恰当的内容、细节和顺序。
五、职业发展
职业发展,人际关系网络和最终找到工作都很重要。
• 实习。工业(或学术)实习是学习新技能,认识新朋友,解决新问题和赚取额外资金的好方法。一种方法是在研究生阶段早期做实习,这时你还没有研究课题,并且没有在特定问题上有足够积累。另一种方法是后期临近找工作时进行实习,这时你将有一套专门的技能和兴趣。两种方法都不错,而且你可以做多个实习。
• 参与论文评审。开始在你的研究领域评审论文。主动对你的导师提供帮助——他们几乎总是会接受你的帮助。让你的导师评价你的评语,以便提高你的评审技能。
• 编写教程。编写教程/带有注释的参考书目(annotated bibliographies)/技术说明。如果这些教程的质量很好,你的名字可以在你的领域内快速传播。想想你读过的那些知名学者写的教程。
• 关注大牛。知道谁是你的研究领域的大牛(出名的研究者),并密切关注他们的工作。
• 去参加会议。即使你没有提交论文,也可以尝试每年去参加一次会议(请记住,你的导师不一定总是有钱资助你)。如果你对于没有在会议上作报告而感到不适,你可以告诉人们,“哦,我今年没有在这里提交论文而已。“
• 介绍自己。在会议上向陌生人(不论职务高低)介绍自己,不要感到害羞,即使你发现这很难。如果你不知道要说什么,可以请他们向你介绍他们的工作。你也可以请你的导师帮忙介绍你。
• 行事专业。你的行为不仅反映你自己,而且反映你的实验室和你的导师。此外,你可能会继续与该领域中的研究人员进行长达数十年的互动——确保你建立行事专业的良好声誉,这是对你未来的投资。
• 你并不孤独。不要期望只依靠自己找到一份工作。你导师的职责的一部分是帮助你找到工作。你要尽早开始和导师谈论你的职业目标和求职经历。与你的导师一起制定一个发展规划。你还可以依靠你的其他联系人,例如你的论文委员会成员和实习东家。
• 成功有许多种方式。许多学生认为,找到学术研究工作是成功的真正衡量标准:如果你没成为教授,你就没有成功——这完全是胡话。你得到一个博士学位是因为读博过程中所受的训练。学术研究是一个需要你受博士训练的领域,但也有许多其他领域需要你:教学,工业界研究,政府政策,投资创业等等。在你读博期间,尝试做你喜欢做的事。当你读完博士,找一个能让你继续做这些事的工作。有许多优秀的人选择非学术的职业道路,因为这是他们想做的,而且他们能从中得到乐趣。最终,你需要做能让你感到快乐的事(Do what will make you happy)。