目睹太多读博惨案之后,清华姚班助理教授写了个读博决策树
时间:2021-08-19 15:27:38
手机看文章
扫描二维码
随时随地手机看文章
[导读]机器之心整理来源:知乎作者:张焕晨、王鸿伟读博之前请三思。对于部分同学来说,毕业以后读博是顺理成章的人生下一步。但在收获知识、荣誉的同时,你可能也要付出很大代价。最近,清华大学姚班助理教授张焕晨的一篇读博劝退文就在知乎上引起了热议。在文章中,他详细列举了读博之前需要三思的一些问题...
机器之心整理来源:知乎作者:张焕晨、王鸿伟
读博之前请三思。对于部分同学来说,毕业以后读博是顺理成章的人生下一步。但在收获知识、荣誉的同时,你可能也要付出很大代价。
最近,清华大学姚班助理教授张焕晨的一篇读博劝退文就在知乎上引起了热议。在文章中,他详细列举了读博之前需要三思的一些问题,并用决策树的方式呈现了出来。
在读完文章后,有人认为焕晨老师把读博之路描写得太痛苦了,劝退之味太浓。但焕晨老师表示,他的本意并非劝退,「故意把话说重是为了让大家认真思考」。他看到的现状是:很多优秀的同学都没有在「我适不适合读博」这个重要问题上进行过认真的思考,由此造成了很多「惨案」。
当然,读博体验这种事原本就比较主观,会因为所学专业和个人境遇而产生较大的差异。为了向大家呈现更多观点,我们找到了伊利诺伊大学香槟分校计算机科学系博士后研究员王鸿伟关于此文的感想作为补充,希望为大家提供更多参考。
张焕晨:《读博,你真的想好了吗?》
先简单介绍一下我的背景。我本科在 University of Wisconsin-Madison,然后去 CMU 念了个 PhD,主要研究数据库方向。目前回国在清华 IIIS(姚班)做助理教授,并且 cofound 了 Singularity Data。
又到了保研申请季,每年都有同学来咨询我关于如何申请计算机博士的问题,我基本上都会和他们单独聊上半个小时甚至更久。自从成为青椒一枚,这样的对话变得尤其多。来找我咨询的都是成绩和各方面极其优秀的同学。然而从和他们的交流中,我惊讶地发现很少有人对 “我适不适合读博” 这个在我看来头等重要的问题给予过认真的思考。很多优秀的同学(特别是清北的)觉得毕业以后读博是顺理成章的人生下一步。这种追求升学的惯性让很多人稀里糊涂地做出了人生中一次足以改变未来生活方式的选择。我见过太多读得极其悲惨的 PhD:精神崩溃,心态失衡,身体垮掉,一事无成。所以我想写这样一篇劝退贴,向正在考虑读博的同学们发出“灵魂拷问”:
你真的适合读博吗?
为了帮助大家认真思考这个问题,我画了一棵决策树。想要读博的同学不妨走一下这棵树。Good luck!
图 1. 一棵不完整的读博决策树
I LOVE doing research
博士的唯一工作和任务就是做科研,没有人会在意你博士期间上课的成绩。如果你并不热爱科研,千万千万不要读博。你可以想象一下在 5-6 年的时间里每天绝大多数时间都在做你不喜欢的事情有多痛苦。你可能会说“我怎么知道我喜不喜欢科研呢”?首先,如果你之前都没有尝试过科研,读博这件事你最好想都别想,除非你是个赌徒。这个世界上只有少数人真的对科研怀有热情,所以你赌赢的概率很低,而赌输的代价(e.g., 身心健康,机会成本)却很大,you do the math. 那没做过科研怎么办呢?当然是赶紧去尝试啦,比如来我们在上海的期智研究院实习(呃。。广告有点硬)
假如你有过科研经历,却仍然不知道自己是不是喜欢做研究,那么十有八九你不喜欢,或者对它无感。这种情况最好也不要轻易读博。你说科研这个概念太抽象,自己真的判断不了对它的感觉,那我就帮你分解一下。一个博士日复一日基本上就干四件事儿:看 paper、写代码 / 推数学 (比例取决于具体方向)、写作、交流。如果你对其中任意一件事情比较排斥,这就是一个非常糟糕的信号。这里最容易忽视的是交流。假如你不擅长描述和表达自己的观点,或者一想到 public speaking 就腿肚子转筋,那么你的读博历程会相当挣扎(虽说这种能力是可以通过训练慢慢培养的)。
总之,是否对科研有着执着的热爱是决定你要不要读博最重要的因素,没有之一。
I absolutely want to be a college professor
如果你有这样的想法,我劝你先冷静一下。先问问自己,你真的了解大学教授是一份怎样的职业吗?你可能会说大学教授多好呀,有身份有地位,收入也不错,上班时间自由,平时教教书带带学生,还有寒暑假。如果你觉得大学教授是一份惬意的享受生活的工作,那可大错特错了。收入的问题我们一会儿再谈,这里我想说的是大学教授是一份非常非常辛苦的职业。几乎所有顶尖大学的计算机教授都处于 insanely over-subscribed 的状态,每天有千头万绪的工作需要处理,同时又要保持自己在专业视野上的领先:科研这东西没有尽头,不进则退,而且很多老师还有跟科研紧密相关的创业项目。所谓的寒暑假和灵活的工作时间都是扯淡:大学教授根本没有上班下班的概念,都是自己的活儿,难道还摸鱼不成?举个例子,我在 CMU 的导师之一 Andy Pavlo 每天的午饭都是一个苹果加一些小饼干,一边工作 / 开会一边吃。我说你为什么中午永远吃这些呀?他说因为这样就不用花精力思考中午该吃什么了。。。还有一次我和我们系的 Mor Harchol-Balter 教授聊天儿,我问她一般晚上都干嘛,她说她每天回家吃完晚饭以后工作 4 个小时,然后睡觉。我就不过多举例子了,大家感受下就好。小时候总觉得”为科学献身“是说大话,现在看来真是未必(本人还达不到这样的境界,惭愧)。
那我为什么还是选择做了大学教授呢?我又不是自虐狂。除了我本身就喜欢科研和教书外,最吸引我的是能一直和一群最优秀的年轻学生混一起,和他们一起保持一种喷薄欲破晓的朝气。还有一点,我引用一下我们姚先生的话:大学教授是一个最”自私 “的职业,因为你工作的所有成果和荣誉都归你自己,你永远给自己打工。从一个默默无闻的小卒,到一位受人尊敬的学者,这种逐渐积累,“打怪升级” 的成就感也很吸引我。
所以,大学教授这个职业是一把双刃剑,没有你想的那么光鲜亮丽,no pain, no gain. 另外还有一个非常残酷的现实:大多数博士生在刚入学的时候都想着毕业以后做大学教授,但事实上只有极少数人能做到。毕竟好大学就这么多,僧多粥少。我觉得有目标是好事,可以让你的博士生涯更充实,但科研的成败也有很多运气成分在里面,过分死心眼儿容易伤到自己。所以,如果你读博士的唯一目的是做大学教授,我建议你冷静冷静,先好好了解一下这份职业,然后结合现实做一个理性的判断。
Money is important to me
在讨论读博这么崇高的事业的时候谈钱也太俗了吧?如果你这样认为的话,那么恭喜你,你可以直接看下一个问题了。我猜大部分人不会这么想,有多少人能“视金钱如粪土”?所以,如果钱对你很重要,请慎重选择读博。我曾经听一个留学生说,读博能挣不少钱呢,每年减免的学费和发放的生活费差不多得小十万美元,不少啦。我想大家都看出来了吧,他显然不理解什么是机会成本(话说这种因为无知而产生的满足真的不好吗?跑题一下)。尤其是在计算机行业,机会成本大得惊人。
简单算笔账,我们姚班的本科毕业生找个年薪五六十万 RMB 的工作应该是轻轻松松,年薪一两百万的也大有人在。这样五、六年下来,算上升职加薪,怎么也有个大几百万甚至一千万了吧?在美国也差不多,在大厂好好工作个五、六年,年薪三五十万美元不是梦。所以读个博士基本上亏出去了一套豪宅。
你说我读博是在投资,是为了在未来把读博期间亏的钱挣回来。那我告诉你,挣不回来的。我们分三种情况讨论。1) 假如你毕业以后去大厂,你的起点可能会比本科 / 硕士生高 1-2 个 level,那又怎样?你的同龄人早已在行业里积累了 5,6 年的经验,现在可能已经是你的顶头上司了。除非企业脑残,在升职的时候设置学历天花板,不然你哪有翻身的一天?2) 假如你毕业以后做大学教授,那么恭喜你,你成功地在计算机行业里选到了那个最不挣钱的职业。3) 假如你毕业以后去创业,你能不能干成和有没有博士学位没关系,我反而觉得有行业经验更重要。好了,现在你还觉得有多大可能能把亏的钱赚回来?
所以,读博不是为了挣钱或者是未来挣大钱。读博更多的是一种精神追求。如果有一大家子人等着你挣钱改善生活,那还是别读博了吧?有时候理想和自由在责任面前不堪一击。
I can deal with extreme stress and competition
先说一个残酷的事实,博士生患上精神疾病的风险要远大于普通人。如果你没有一颗抗揍的强大内心来应对时常出现的巨大压力和竞争,为了自己的健康,请慎重考虑读博。
读博的压力通常来自你的导师和身边的同学。先来说说导师,国内其实这方面压力还好,因为导师一般没有什么办法能把你开除了,顶多让你延毕。国外就不一样啦,我身边的同学因为工作态度或效率达不到导师的期望被直接 fire 也是常有的事,尤其是在 AP 的组里(但绝不是仅限于 AP)。这也容易理解,AP 通常经费有限,又有沉重的 tenure 压力,本来就招不了几个学生,要是组里再养两个闲人,基本上就等着 tenure 不过卷铺盖走人了。所以这种情况下最理性的选择就是把你 fire 了然后明年重新招靠谱的。而且这些 AP 一般要求很高,他们会拿自己 PhD 时候的工作效率和你做对比,然后纳闷儿为什么他觉得三天就能搞完的东西你一个月还没做出来。所以,面对导师看似轻描淡写实则笑里藏刀的 push,你能说你不慌?
话说回来,来自导师的压力还是其次的,读博真正恐怖的是 peer pressure. 我觉得 PhD program 其实是个挺 “变态” 的组织,它把最聪明最勤奋的一批人集中起来,然后比一比谁更聪明更勤奋。我在 CMU 读博的时候经常遭到身边各种奇人异士的暴击:有人每天只需要睡 4 个小时,有人为了赶 deadline 可以 literally 连续两晚上不合眼,有人一说话你就能感觉到和他的智商差了好几个数量级,更不用说系里各种奥赛金牌满天飞(有个波兰同学博一开学直接送了我一本他自己编的已经正式出版了的 IOI 教材,我硬着头皮翻了一下,连题都看不懂)。我的 officemate 有个印度小哥,跟我一年进来的,我们同一个老板但不同方向。在我一篇论文还没投出去的时候,他已经连续两个学期分别中了 SIGCOMM 和 NSDI(都是计算机网络方向的顶会),都快能毕业了。组里有如此神人,让我博士头两年始终觉得自己快要被 fire 了。另外,去参加 conference 的时候,看着同龄人一篇一篇地发表成果,自己却还一事无成,难免会对自己的能力产生怀疑。在如此强大的 peer presure 下,能抗住压力,心态不崩,按照自己的节奏自信地向前,这真不是一件容易的事。
I'm OK with being judged all the time
进入学术圈就意味着你踏上了一条不断被人 judge 的不归路。当然这里的 judge 包含同行大佬对你工作和个人的赞赏,但大多数时候迎接你的是冰冷的批评甚至是不屑的傲慢。这其实挺符合科学那种冰冷的女神范儿的气质。科学是很保守的,它的一大核心精神就是怀疑一切。你看每年的诺贝尔奖(或者是计算机界的图灵奖)通常都是颁给二三十年前的科研成果。为啥呢?因为在这期间这些成果会遭到同行反复的批评和挑战,没有个二三十年,科学共同体是很难一致认可它的价值的。
大佬们尚且如此,作为食物链底端的小博士,被人无情地 judge 那是再正常不过了。很多博士最怕的就是 conference presentation 的时候被人给问倒了,这种时候也只能尴尬地打个圆场然后灰头土脸地下台。有时候甚至是你自认为很得意的成果也会被同行大佬喷得体无完肤,我想被拒过 paper 的人都懂吧?曾经在一个小型的(大概几十个人)学术交流场合,我一个 CMU 学长的 presentation 直接被某大佬无情打断,只见该大佬嘡嘡嘡列出三点理由说明我这个学长做的实验是有问题的,然后毫不留情地把人给轰下台了,让他不要在这儿胡说八道?!我在台下简直看呆了,估计那个学长当时就得去看心理医生。
即使你的 paper 幸运地在顶会发表,你以为对你工作的 judge 就结束了吗?No. 除了正面被怼灌水或者结论不对,最犀利的 judge 莫过于压根儿没人看你的论文。事实上,能被大佬喷说明大佬还花时间看了你的论文,最惨的是你的论文无人问津。这种 “礼貌” 而无声的 judge,会让你忍不住怀疑自己花了这么大力气到底 accomplish 了什么?
所以,从某种角度来说,读博就是一个不断被同行前辈 judge 的过程,从你申请开始,到你做的每一项工作,发的每一篇 paper,做的每一次 presentation,再到你毕业以后找工作(尤其是找教职),你获得的绝大多数成就都是同行认可的结果。如果你有一颗玻璃心,受到批评或冷遇就容易情绪化,那你可能不太适合读博。从同行的 judge 中提取出有用的建议,过滤掉无效的情绪发泄,始终保持头脑清醒和自信(注意,是自信不是自负),此方为正道。
I need a clear target and immediate feedback
有谁会不喜欢明确的目标和及时的反馈呢?这也解释了为什么大家多多少少都喜欢打游戏,因为在游戏里,你的每个操作都能得到最为及时的反馈和奖励:你一个技能放出去,立马就能看到敌人掉血;即使没打中,这也是一种 feedback. 游戏把我们的生物本能拿捏得死死的,对于能给我们 immediate feedback 的东西,我们就是觉得爽。
但很可惜,读博这件事完全站在了上述的对立面。首先,读博是一个巨大的工程,而这个工程却有一个极其模糊的目标:发现一些新的知识并把它写出来。而在发现新知识的漫长过程中,很少会有像样的反馈和成就感。有可能你辛辛苦苦工作了几个月甚至更久,却发现自己当初的 idea 根本不 work。没办法,科研就是这样无法预测。如果你有幸遇到一个高水平的好导师,你可能会少走很多这样的弯路,但导师难免也有判断错误的时候。不过好的导师不会那么计较成败,而是会一直陪伴你,关注你能力的成长。当然,如果你遇到一个平庸的导师,你很可能不幸成为炮灰,正所谓一将无能,累死三军。
所以在读博的过程中,很多时候就像被困在了一个大雾弥漫的荒原上,没有人告诉你你迈出的每一步是不是离走出去更近,没有地图,没有进度条,只能硬着头皮朝着自己认为正确的方向前进。这对大多数人来说都是一种折磨,打了再多鸡血的人置身于这种目标模糊又没有反馈的环境中也容易失去动力。我们太习惯了应试教育所暗示我们的逻辑:所谓一分耕耘,一分收获,我只要努力,就应该得到好的结果。这样的教育背景让我们很难接受付出与收获的不对等:当你拼命工作却发现没有回报甚至是在浪费时间。
很多人认为学习成绩好的人应该去读博,它们确实有关系,但本质上是两码事。学习成绩好的同学一般会做题,会考试,会写大作业。可大作业和科研项目完全是两个物种。大作业是经过精心设计的。首先,你有一个明确的要达成的目标并且你知道它一定能成。其次,大作业一般都有具体步骤和 checkpoints,这相当于给了你一个进度条。你可别小看了这个进度条的作用,它让你时时刻刻都知道自己在项目进度中处于什么位置,离终点还有多远。所以,做大作业和做科研完全是两种心态。这其实是一个直博生从本科过渡到博士最大的挑战。我个人花了两年时间才完全适应。
所以,如果你是一名 “大作业型” 选手,你也许会成为某些导师得意的劳动力,但你永远无法成为受人尊敬的学者。如果这样,读博的意义又在哪儿呢?
I work 9-5 Monday-Friday
如果你这样想,要不还是去考公务员吧?
除非你是神人,正常情况下,每周 40 个小时对于读博来说是在开玩笑。虽然读博一般不要求你在固定时间去实验室 / 办公室坐着,你可以根据自己的作息灵活安排工作时间,但是巨大的工作量始终在你面前摆着。想要成为你研究的小领域的世界级专家,你必须在精力和体力允许的情况下倾其所有。还是举我上文提到的那个 officemate(印度小哥)的例子,他每天工作 16 小时,几乎天亮了才睡觉,然后中午来学校开始工作,周末也一样。有时候晚饭我们会一起出去买个 Subway 回办公室吃,我吃的时候在看 NBA,他在看 talk. 我问他说你不累么,不需要休息一下?他说对啊,我代码写累了,看个 talk 休息一下。我当时一口三明治差点喷他脸上。不过后来我其实遇到过不少把看 talk 当成休闲的神人,也就见怪不怪了。
这种朝九晚五的想法还有一个天真之处,就是认为你能把工作和生活分得清清楚楚。这其实不太可能,起码我做不到。试想,当你有一个 idea 想到一半想不清楚,或是有一个证明死活推不出来,亦或是有一个 bug 没修好导致看不到实验结果,你能到点儿就下班,和朋友开开心心出去浪?这心得多大。读博不是一种单纯出卖劳动力,下了班就可以完全不想的工作。读博所经营的是你自己的 career,如果你自己都觉得无所谓,不去主动承担责任和压力的话,结果应该不会太好。更何况科研永无止境,你永远可以更进一步,所以你几乎没有机会说“我真的做完了”,只有不断向前。
怎么样?你走通了这棵读博决策树了吗?如果你 “通关” 了,那么恭喜你,至少我觉得你准备好读博了。不过也别高兴得太早,因为这只是一棵我自己画的不完整的决策树,还有很多我在写这个 blog 的时候没有考虑到的因素值得你认真思考。Again, pursuing a Ph.D. is a huge commitment. It never hurts to put some extra thought into it.
关于本文的说明:
1. 我是计算机专业的,文中的观点和描述可能不适用于其他专业,尤其是文科。2. 本文中的观点均源于我的个人经历和观察,如果有说的不对的地方,欢迎指教!
写在最后:我写这篇 blog 的目的是想告诉正在考虑读博的同学,千万不要低估读博的代价。
我作为高校老师,是多么渴望像你这样优秀的同学加入科研的队伍。但我希望大家是在深思熟虑之后,才做出对自己负责任的选择。读博是很辛苦的,也许有一天,当你被这个过程折磨到筋疲力尽甚至绝望的时候,希望你能想起这篇 blog,然后对自己说:I'm not alone.
王鸿伟:《读博,我想好了!》
今天读到张教授的一篇读博劝退文,颇有感触,也想来写一些自己的想法。本文并非读博劝进贴,不想无脑鼓励大家都读博;本文也并非驳斥张教授的观点,只是想围绕这个话题多聊一聊。
太长不看版(tl; dr):你选择一个你不会后悔的选择就可以了。
一,决策树容易过拟合
张教授提出了一个用于判断是否适合读博的决策树,然而,单棵未剪枝的决策树很容易过拟合。决策树的另一个缺点还在于它只能提供 yes or no 的回答,而无法为预测的结果输出概率值,也就是说,它只能回答 “你适合读博吗?”,而不能回答“你有多大程度适合读博?”。这一点其实很重要,因为这个世界并不是非黑即白的。那么如何才能回答“你有多大程度适合读博?” 这个问题呢?其实也很简单,logistic regression 就是永远的神:
我在上面这个回答里曾经列举了十一个判断是否适合读博的问题。那么一个非常简单的模型就是,你对每个问题的回答分成三种:符合(2 分),一般(1 分),不符合(0 分),然后把所有的分数简单相加就是你最终的分数。你最终的分数除以满分(22 分)就是你适合读博的概率。
这个简单模型的缺点在于它不考虑每一个问题的重要程度,因此,最严谨的做法就是你把每个问题的权值设置成一个可学习的参数,然后你去搜集一些博士生的样本,包括他们对每个问题的回答(即 feature)以及他们读博的成功程度(即 label),然后训练这个模型得到这些权重参数。
上面这个严谨的做法的成本比较高。在此我可以给出一些经验性的权重设置。我建议把这几条的权重加倍,其中第 2、4 条甚至可以加到三倍:
- 1.你是否决定把科研工作当成自己以后的目标和事业?
- 2. 你是否对探索未知世界充满了兴趣,是否对你想读博的专业领域充满了好奇?
- 3. 你是否对你要读博的专业和方向有较为深刻的了解?
- 4. 你的个人品性:你是否有足够的定力,能沉得住气,耐得住寂寞?你是否足够踏实心细,起码实验数据不会弄错?你是否有足够的抗打击能力,哪怕在逆境中也能稳住心态,努力翻盘?
- 8. 你在本科和硕士时是否有过一线的科研经验?
那么这样一个模型的优点是显而易见的:它不会因为你对某一个问题的回答是 “否” 而直接判断你不适合读博。这一点其实很重要,也是一个非常深刻的道理:你并不需要觉得你一定要把一个问题所有的因素都考虑好,所有的准备工作都做好,才能开始动手做一件事。这个我们后面会再聊。
接下来我想针对张教授提出的几个决策树判断条件谈一谈我的想法。
二,I LOVE doing research
同意。兴趣永远都是最好的老师。但是一个非常现实的问题是,大部分人在读博之前对所在专业并不会非常了解,又该如何判断自己的兴趣在哪里呢?我觉得读博最原生的动力应该来源于你对这个世界的好奇心和求知欲。你小时候喜欢看十万个为什么吗?你现在喜欢刷知乎吗?你对各种自然和社会现象背后的逻辑和道理感兴趣吗?这种最原生的求知欲才能最强烈地推动你思考科研中的问题,也能让你得到最纯粹的精神满足感和成就感。
但是同时也要指出的是,你不必要觉得读博、做科研、发论文是非常神圣的事情。一百年前它们的确是,但是现在,它们对大部分从业人员来说就是一种职业。因此,你不必要觉得 “喜欢科研” 是一件多么飘渺而不接地气的事情。甚至其实,很多人喜欢科研的原因只是“我更不能接受在公司做按部就班一成不变的工作“而已。
三,I absolutely want to be a college professor
其实我觉得,想当教授是读博的加分项,读博也是想当教授的必需条件。其次,“大多数博士生在刚入学的时候都想着毕业以后做大学教授,但事实上只有极少数人能做到。”事实并非如此,在计算机行业,很多学生选择读博并不是想做教授,而是想以后在公司有更高的发展空间;很多博士毕业了选择去公司,也并不是因为他们找不到教职,只是权衡了所有的 offer 取了最好的而已。最后,大学教职的 “低级” 优点其实是显而易见的:独立(自己当老板),稳定(tenure 之后或有编制),大部分时间自由支配,社会地位高,对下一代的培养和教育有利。至于 “高级” 优点,就是张教授所说的,和聪明的年轻人一起共事,以及可以累积在自己身上的成果。众所周知,CMU 是一所内卷学校,并非所有的大学教授都想(都能)在这样一个顶尖且内卷的地方工作,所以教职并非这么可怕。张教授的原意是:不要对教职有不切实际的幻想,不要只为图教职的“低级“优点而去读博。
四,Money is important to me
首先,钱对所有人都是重要的,如果一个人感觉钱不重要,那是因为他有足够的钱。其次,读博没有那么神圣,如在上条所说的,很多人读博之后还是去了公司挣钱,他们只是想有一个更好的起点和更高的天花板。所以,把读博和挣钱完全分开,认为选择了读博就不能谈钱,或者想挣钱就别读博,是不科学的。再次,读博确实有很高的机会成本,你本可以在公司有五年的工作经验,攒五年的钱,甚至升了两次职。但是,博士头衔是你一辈子的财富,你在读博中的经历和收获对你在职场中的帮助同样是很大的。最后,总结来说,工作和读博就相当于你选择了前期强势还是后期强势。众所周知(误),王者荣耀里面的英雄有的前期强势,有的后期强势,前期强势英雄可能拖到了后期会无力,而后期强势英雄可能还没发育起来游戏就结束了。所以两者并无优劣,只是取决于个人偏好和性格特点而已。
五,I can deal with extreme stress and competition