我的本科最后一年

这篇博文灵感来自于 The PhD Grind(2020 年 8 月更新:原链接已失效)。在这篇回忆录里,作者记录了在 Stanford University 攻读 PhD 的经历和心境变化。我的本科生涯既没有这么跌宕起伏也没有这么发人深省,但我在最后一年里的经历、见识和思考比此前的任何时候都值得记录。我希望趁我仍能记得清楚的时候记录下刚刚过去的这一年。


Disclaimer

虽然在本文中我没有故意虚构事实或者给出没有依据的结论,但由于本文的内容全部来自于我的个人经历和主观判断,因此——虽然这是不言自明的,但为了防止被指控“不客观、不全面、偏颇”——我需要提醒读者,本文的事件描述不全面、不客观,本文中夹杂了很多我的个人观点(私货)。读者应该在清晰地知道这一点的情况下阅读本文。


一些背景

在真正开始写之前我需要介绍一点我的背景。最初我被录取到的是武汉大学测绘学院。在测绘学院学习半年后,我决定转到电子信息学院。当时这是一个艰难的决定,因为武汉大学测绘学院在其领域内非常有声誉,而电子信息学院则完全相反。我最终决定转院是因为我对测绘完全没有兴趣,而对电路很有兴趣(虽然转院一年后就完全改变了),不过更重要的是由于涉及到军工等领域,测绘学院比电子信息学院要更难出国读书,而出国是我唯一愿意接受的出路。

转院之后我加入了卓越工程师班,它类似于中学里的实验班,有不一样的课程安排和资源等。在大二上学期同时学习模拟电路和数字电路后,我对硬件完全失去了信心和兴趣。我痛恨实验中的不确定性,相比之下数学和程序的可控性让我喜欢得多(现在我只需要和它们打交道)。同时,从大二开始,我参与了一个由教育部资助的大学生创新项目 EleSafer,然而很长一段时间里之前整个小组的进展缓慢而无头绪。在刚开始大三时,我曾尝试进行医学图像处理的研究,但由于没有具体的目标以及没有具体的指导,这个方面一直没有任何进展。我仍然按照这个方向申请了加拿大的 Mitacs Globalink Internship 并被成功录取,所以我可以在大三和大四之间的暑假在 University of Toronto 进行三个月的科研实习。

不过在那时,我还需要发表论文以提升我的简历,但当时距离大四的申请季只有一年时间,我什么 idea 都没有。我正在进行的项目只有 EleSafer,因此我只能想办法利用这个项目发表文章。在写论文方面导师基本上没有给方向上的指导,我只能自己尝试用新的方法解决项目中的问题并试着让效果有所提高。幸运的是,我在使用测绘领域常用的算法解决项目中的问题后(也算是在测绘学院的经历给我的最大帮助),导师对将这个方法发表文章表示了兴趣,最终我在大三的寒假开始写论文。此时是 2018 年的 1 月,我计划在 3 到 4 月之前投稿给某个 IEEE 学术会议。

写好之后,我给一个在匈牙利召开的会议投稿。4 月前后,我收到了录用通知,然而我们没有经费去参会(此前我们以为不一定要参会),因此我只能撤回投稿而重新投递至在另一个在北京召开的会议,这样导师的项目资金和 EleSafer 的项目资金才足够让我们去开会。

在大三的后半年,我和同学们的必修课压力很小。当时同学们都热衷于上数字图像处理这门课(可能是因为 Computer Vision 的火热),除此之外的选修课大家就大多没有兴趣。不过在数字图像处理之外,我还选修了语音信号处理。当时我选课的理由很简单:想多学一点东西。这门课的课程设计和学院里其它课程相比很独特(没有考试,以 project 的形式评分),主讲的老师也是学院里少数学术上我很欣赏的老师,因此我当时觉得上这门课可能会比上其它课学到更多。事实上也的确如此,而且除了学到知识之外,正是修这门课导致了我大四在北京的实习,导致了我研究方向的转变以及导致了我最终能被 McGill University 录取,然而当时的我完全不可能预料到这一切。

这样,在大三结束的时候(2018 年 6 月),我有一篇被录取的论文,有在语音信号处理课上学到的知识和技能,准备前往多伦多开始我的科研实习。

多伦多—— New Perspective:2018 年 7 月至 10 月

之后再看,在多伦多的三个月生活实际上非常轻松愉快。由于我的 supervisor 本人非常忙碌,因此她平常少有时间能和她的 grad students 面对面交流,和我的时间就更少了。这导致我在实验室工作时经常会不清楚我这一步做的对不对以及做完了之后该怎么办。另外,我来到实验室后才发现,我要做的工作不是我设想的医学图像处理,而更多是更加 tedious and repetitive 的数据处理工作。我做的项目的目的是开发给医生在实际诊断中使用的辅助工具,因此稳定性与可靠性是最重要的,创新性的想法则很难有机会被实施。在实验室里的三个月实习没有带给我很多技能或知识上的提升,但让我获得了宝贵的英语研究环境里的经验和技能。

这段时间里我最大的收获是有了不一样的 perspective。这是一个很需要亲身经历的东西,体验过的人自然明白,却很难向没体验过的人解释。最直观地说,我和加拿大的学生和学者交流之后,知道了对于研究、学术界和 grad school 的不一样的看法,且在我看来这些看法大都是更准确或者更正确的。例如,加拿大的学生在考虑读 grad school 的时候,很大的一个考虑因素是金钱因素,他们会比较不同学校不同项目的学费和生活费,并把这个作为和学校的声誉等因素一样重要的因素一同考虑,相比之下我在国内认识到的学生几乎只考虑学校排名、专业排名、是否好找工作等。此外,我遇到的学生并不把 PhD 甚至 Master 学位当作必须的途径,甚至不是更好的途径,他们认为读 grad school 的理由最主要的应该是对学科本身有热爱,所以愿意多花一些时间去浸淫在学科里,而如果没有这种热爱的话,完全可以直接开始工作。这些观念的不同是最直观上的感受,但更深层次的我认为是思考是否读 grad school 等这种问题的时候,他们往往更自主,而不是更多去参考别人的做法。实际上,我正是因为在自己的申请过程中采取了这种 mindset 才在很多人都建议我去 Columbia 的情况下选择了 McGill (我具体的想法在后面会写到)。

在 perspective 之外,这段时间的轻松还让我有机会仔细地调查学术界当前的研究热点和各个学校的优势领域。我当时的兴趣主要还是在医学图像或者数据的分析上,并且本不想加入机器学习的潮流(因为觉得竞争过于激烈,而我几乎没有任何这方面的知识)。然而在研究了研究热点之后我无奈地发现所有领域内的问题大家都在试着用机器学习解决,因此我最终还是不得已开始试着补上相关的知识。我花了很多时间和精力精读一些经典的论文,重复其中的关键步骤的推导,也在 Coursera 上修了一门 Linear Algebra 的课程。另外在开始实习之前,我像很多人一样都有意或无意地默认出国的目的地只有美国,其它地方的学校都不在同一个档次。在更了解加拿大的学校之后,尤其是发现很多重要而有开创性的工作都由加拿大的学者做出之后,我发现加拿大的学校被之前的我大大的低估了。这里先跑题一下,介绍一下加拿大的学校。


在机器学习(尤其是深度学习)领域,加拿大是几乎可以和美国并列的领导者之一,而在医学领域,加拿大也可以和美国平起平坐。加拿大的学校比美国少得多,但好学校在欧美的声誉完全不输给美国的学校,例如 U of T, McGill, Waterloo, UBC, UdeM, Alberta 等都是在计算机科学领域内有很高声誉的学校。在国内这些学校的口碑和知名度都不如美国的普通大学,一部分原因可能是很多人都像之前的我一样默认他们不如美国的学校,另一部分原因可能是他们在各种排名上不抢眼(这也是上面提到的 perspective 的差别之一:欧美学术界内把排名看得很轻,而是更看重声誉)。一个可能不够 general 的说明加拿大在计算机科学领域的地位的例子是,2018 年图灵奖(计算机科学领域最高奖项)的三位得主中有两位都长期在加拿大的学校工作,并且依靠在各自学校的工作得到了认可。第三位目前在美国工作,但曾是另外两位得主中一位的学生。

除了研究水平和声誉之外,加拿大的 grad school 还有两个很重要的特征少有人知道(至少我此前不知道):

  • 所有研究型的项目(research-based program)都提供 funding,通常最低可以差不多覆盖学费。相比之下美国只有 PhD 项目才会有 funding。
  • 美国的 Master of Science 项目大都是授课型(这也是没有 funding 的原因),学生们主要的精力和时间花在上课上面,其次在找工作和实习,最少的在研究上面。这就导致这种项目的毕业生通常只能直接工作,而很难再读 PhD 项目(这也是这些项目的设计)。加拿大的 MSc 项目则更像是微缩版的 PhD 项目,学生的任务很大一部分是和导师一起开展研究,因此毕业后的一个常见选项是继续读 PhD。

在了解了加拿大学校之后,我把出国读书的目标从只有美国改成了美国和加拿大,而最想去的学校变成了 U of T(因为这是机器学习方面最好的学校之一,更重要的是我很喜欢多伦多这个城市)。

在加拿大的期间,我还在找企业里面的实习机会,因为我想好好利用大四一年的时间感受实际的工业界并且提升技能水平。最初我想通过朋友内推去商汤实习,但后来看来我远低估了商汤实习的竞争水平,结果是即使有朋友的内推我也没有得到面试机会。此时已经是 9 月了,距离我回国还不到一个月。感觉到了时间的紧迫,我开始重新在各种渠道寻找实习机会,然而由于人在国外,很多 HR 通过电话都联系不到我,所以直到回国我都没有找到我满意的实习。

北京——Fight in the Dark:2018 年 10 月至 2019 年 4 月

刚回国的时候,我并没有很明确的研究方向。我仍然对医学图像和数据分析感兴趣,但同时意识到这是竞争异常激烈的一个方向,而我几乎没有这方面的任何经验和成果,于是除了计算机视觉之外,我还在寻找其它各种方向的实习机会。这种各个方向都有兴趣和一点经验,但都不足以称为研究方向的状态,在后来申请学校的时候也给我带来了很多痛苦。

回国后我和我的导师见面并告诉他了我准备实习的打算。导师不是很开心,因为他觉得留在学校里更能学到东西,不过如果我真的要实习他也表示支持。现在看来,实习期间是我上大学以来学东西最快的一段时间。

我在 10 月初回到国内,一直到中旬都没有得到我满意的公司的面试机会。就在焦虑的时候,我收到了地平线公司 HR 的电话。地平线提供的岗位是语音数据处理实习生,主要工作是对用于语音识别、语音唤醒等任务的语音数据做处理以提升这些任务的效果。很明显,如果我在大三没有选修语音信号处理这门课,我绝对不会得到面试的机会。在接到电话的第二天,我就通过电话完成了面试,并在面试当天下午得到了口头 offer。即使在这个时候,我设想的申请学校的方向仍然更偏向于 image processing 或 computer vision。然而这个想法在申请季开始之后不久就被打破了。

开始实习后不久,有一天中午我和另一个实习生一起吃饭时聊到语音和图像这两个领域的差别。这个实习生是北邮的研究生,在公司已经实习了一个月,此前还有在腾讯 AI Lab 的实习经历,专业技能和实习经验上都比我强很多。他认为相比图像他更愿意做语音相关的问题,因为首先语音的门槛比图像高(至少需要频谱分析等基础知识),这意味着过了门槛的人相比其它人有很大优势(而不像图像几乎所有人都可以开始做),其次语音领域待解决的问题比图像领域多,相应地也更容易做出成果。这个说法我当时没有很赞同,不过从开始申请学校到现在,我越来越认同了。

到了 11 月,我要开始准备个人陈述、CV 等等申请所需要的材料。我在大一的时候曾考虑过让中介帮我准备文书,但当时我咨询的一位学长告诉我,这些材料最好是自己写,因为写的过程是一个了解自己的过程。这也是一个最初我不以为然,现在却非常认同的观点。从零开始我撰写了第一版个人陈述、修改、给加拿大实习期间认识的 native speaker 检查、再修改,不停重复这个过程。在这个过程里,我不停地问自己:我到底对什么研究方向感兴趣?我到底想从读 grad school 这件事里得到什么?我的优势到底在哪里?通过不断重复这样的拷问和回答,等到最终完成个人陈述的时候,我对申请出国的目的和自己对各个方向的兴趣有了更清晰和更确定的认知。我最终的目标是移民欧美并达到中产阶级的生活水平,因此不同于对学术有追求的人,我不会直接申请 PhD。但我同时也不想做重复地、没有创造力的纯开发工作(工业界各种岗位以及它们的分工也是我从实习中了解到的,这就是”感受工业界“的目的之一),因此我需要通过读 grad school 获得一定的研究能力,或者保留读 PhD 的可能。在各个研究领域里,一方面由于我本科是工程专业(我的优势在哪里),另一方面由于我希望看到我的工作能带来实际的价值(我到底对什么感兴趣),所以我确定的研究方向是 applied machine learning,包括图像处理和语音处理,尤其是在和医学相关的主题上的应用。而这个研究方向也意味着我需要同时申请计算机科学和电子工程这两个学院。

确定了这个申请方向之后,我开始给加拿大的学校(和 UIUC)的老师套瓷(因为加拿大的项目是研究型的,所以申请中 supervisor 有很大的决定权)。套瓷的进展只能算很普通,有的老师完全不回邮件,有的老师表示今年因为各种原因不会招学生,有的老师礼貌地表示欢迎申请自己的学校,只有几个老师表示对我有兴趣。其中 U of T 的 Michael Brudno 表示对我很有兴趣,想和我视频面试详谈有关说话者分离(speakers separation)相关的问题(again,如果我没有上语音信号处理就不会有说话者分离的项目经历,也就不会有这次面试)。U of T 是我最想去的学校,所以我花了很多精力看相关的研究以准备面试,面试的时候我和他还有他的 PhD 学生聊了一个多小时,讨论了很多 SOTA 的研究(有一篇我找到的论文最终被他后来发表的论文引用,但不知道他是不是通过我知道这篇论文的)以及他正在做的研究。面试后他表示总体对我还满意,不过不能保证能录取,同时鼓励我去联系部门里的其它相似领域的老师。

从 11 月一直到第二年的 1 月的这段时间是大学四年里压力最大的一段时间。白天我要在公司实习,每天花两个小时在北京的冬天里通勤,空闲的时间则几乎都用在准备申请材料、填申请系统和搜集信息上面。越到后来我越意识到我的方向的竞争之激烈(尤其是计算机视觉和图像处理方向)。意识到这个问题之后,我仔细思考之后决定把最主要的方向改成语音。这么做的原因几乎和最初那个实习生和我说的完全一样:我有语音处理的知识(作为电子专业的本科生频谱分析是核心能力,而且我还上过语音信号处理)和经验(正在工业界做语音相关的工作),而且语音方面的开放性问题更多。仍然,很长一段时间内我都处于非常焦虑的状态,最主要的焦虑来自于对失学的恐惧:要和导师积极联系确保推荐信都正常提交,要跟踪多个信息渠道了解其它人的申请情况,还要准备材料并确保所有信息都准确(比如不要把给一个学校的个人陈述上传给另一个学校)。而出于对失学的恐惧,我申请了(事后看来)数量过多的项目(20 个左右),且很多都是(事后看来)在正常水平以下的学校。这三个月的时间里,我醒着的时候想着最多的一个问题就是我会不会失学,想到这个问题之后我就不得不去申请系统里看有没有状态更新以及去论坛里看其它人的进展才能安心一点,而如果看到我申请的学校已经开始发 offer 了,我就会变得更加焦虑,这长期的焦虑情绪耗费了我很多的精力。

对于我最想去的学校 U of T,一方面我知道由于它的水平和声誉它的竞争会比其它学校高,但另一方面由于我在那的实习经历、和 Michael Brudno 的面试以及来自于 Mitacs Internship 的奖学金(如果我回到加拿大读 research-based program 的话会有 15000 加拿大元的奖学金,这样学校或者导师给我的 funding 就和 domestic student 差不多,因此这会让我面对其它国际学生的时候有很大的优势),我还对被它录取抱有不小的希望。然而在 1 月 20 日,我的生日当天,我看到论坛里出现了一个消息:U of T 的 MSc in Computer Science 项目今年不招国际生。接下来几天我给部门的招生办公室打电话之后确认了并不是不招国际生,而是由于 PhD 的学费国际生与非国际生一样了,所以导师们会更愿意招申请 PhD 的国际生,但这个消息依然大大地削弱了我对被录取的信心。

到了二月和三月,我已经收到了包括 McGill 在内的几封 offer 了,所以心态放松了很多。事实上,在我生日后几天收到 NYU Tandon 的 offer 后,我就卸下了大部分的焦虑。我至今仍记得收到 offer 那天早上的阳光下,我在北京街头坐着公车时的放松和欣喜。不过虽然我很早就收到了 McGill 的 offer,但一方面 U of T 还是要更胜一筹,另一方面女朋友当时几乎确定要去 UIUC,所以我当时还在等这两所学校的结果。而 Deep Learning 的火热导致申请 CS 甚至 ECE 的人数激增,所以审理时间普遍变长。结果就是,我一直等到了三月底才最终确认我要去的学校。

武汉——The Escape:2019 年 5 月至 6 月

结束实习之后,我又回到学校准备毕业。最初我预计完成毕业论文答辩后,只剩下毕业照、成果展和毕业典礼这些事情,我应该有很多自由时间。然而实际上论文答辩却远没有说的这么轻易解决。

我的论文题目是大规模语音数据质量评估与筛选,研究怎么使用内在且客观(intrinsic and objective)的方式评估语音质量,以尽可能接近人类的主观评价。为了研究这个问题,我使用了音频处理和自然语言处理领域的方法和工具,其中很多涉及到机器学习。在进行毕业设计的过程中,我有时担心答辩评委没有能力评价我的论文,因为电子信息学院研究语音和自然语言处理的老师几乎没有。在查看答辩评委的研究方向之后,我确定三位评委的确没有办法看懂我的工作。不过我那时仍然多少相信,即使是面对自己不熟悉的领域,三位经验丰富的学者应该至少有判断工作 solid 程度的能力,因此我对自己可以顺利通过答辩毫不怀疑。

但答辩时三位老师的表现非常出乎我的意料(为了不惹麻烦我就不点名了)。一位老师看起来年长资深,言行举止也对自己非常自信,然而对于每一个人的毕业设计,这位老师一点都没有听演讲,而是在专心地检查论文的格式问题。这位老师发出的我印象最深的评论是(大意):“你这 37 篇参考文献里有 36 篇都是英文,这就让我怀疑你真的是这么做的吗?中国难道就没有研究吗?”。听到这句话,我开始担心他会质询我为什么所有参考文献都是英文,以及我该如何告诉他这是因为我能找到的有价值的工作都是用英文写的。好在他没有问,而是帮我指出了论文的字体好像有点小、标题级数太多等等问题。

另一位老师则一直没有明白我研究的不是音频传播、压缩或存储过程中造成的信息损失,而是音频本身给人的感受上的质量好坏。因此当他发现我研究的不是他所想的之后,他似乎就失去了兴趣。

第三位老师则对我的实验中使用的衡量方法表示了怀疑。为了衡量我的方法有多接近人类对音频的质量评价,我将我的方法给出的质量评价结果和人类给出的结果进行比较并计算有多大比例是一致的。这位老师表示使用人类的评价结果进行比较似乎太主观了。

即使从台上下来时,我仍然觉得,虽然他们似乎都没有抓住我的工作的重点,但通过答辩应该不是问题。然而,几天后,我的导师通知我三位评委觉得我的毕业设计为“末位推荐论文”,让我重新修改,否则要进行公开答辩。

接下来的几周里,我便在“改论文字号/行间距/段前距/图大小——打印论文——给老师看——被要求改新的格式”中间循环往复,每一次我以为这应该是定稿了的时候,老师们总能找到论文里的新问题。到了最后,我在打印上花了一百多元、打印店老板已经认识我、我可以在不需要打印店老板的帮助下熟练地打印出整篇论文后,我似乎终于得到首肯,再也不用打印论文了。

如果说审核的老师们只是不停地揪出我的论文里格式不正确的地方让我重新打印的话,我虽然会有一肚子气,但也无话可说。最让我厌恶的是最后一次,审核我论文的老师斩钉截铁地告诉我在正文里引用论文只能用上引,即使我和另一位老师告诉她规范里并不是这么要求的。最后,我问她什么时候交的时候,她说:“就这两天吧,反正你也没什么事。”

“反正你也没什么事”。从办公室出来,我就明白了为什么涉及到行政的事情让我如此厌烦:几乎所有人都不替我(和其它办事的人)着想。他们觉得”反正你也没什么事“,所以让我消耗时间、精力、金钱都是没问题的,让我因为要修改字号/行间距/段前距/图大小而放下我自己的事情(”反正你也没什么事“)、重复地打印、送到办公室给老师们检查,这些都是没问题的。

其实,对于这种心态的普遍我不应该感到惊讶。事实上,我想移民的一个重要原因即是国内这种“为他人着想”的意识的缺乏。包括朋友和家人在内的很多人问我为什么想移民,或者“外国有什么好的”,我一定会回答的一点是:我喜欢国外社会里人与人之间的关系,人们互相关心互相帮助但又不会让对方感到 intrusive。这就是“为他人着想”的具体形式。对比国内的酒桌劝酒、亲戚的催婚和在公共场合不给后面的人把门就很好理解了。

最后

也许这篇“回忆录”有点像在大倒苦水、把不爽都倾倒出来,但这其实并不是我的本意。我的本意是像 The PhD Grind 一样记录本科最后一年我做过的事、见到的东西和产生的想法,因为这一年我的感受非常丰富且独特。事实上我觉得很少有人能获得和我类似的感受,因为如果没有在加拿大的研究实习和在北京的企业实习,我的感受将完全不同。

不过,这一年里我对学院和学校的失望和不满也是真的。首先,教学水平和给学生做科研的支持程度普遍很低,比起华科要差很多,这一点我在这一年(尤其是申请季)感受得很明显。另外,校外实习(无论是在别的学校或者是在企业)的氛围很差。大家大都不了解校外实习,因此也不明白它的作用,结果就是同学们不会有校外实习的意识、有意识的人难找资源(包括项目信息和内推人脉)、有意识且能找到资源的人也会被劝说不要去实习。当然,最后修改毕业论文期间的不愉快也是很明显的,不过让我感到欣慰的是,事后我发现有着相似心情的同学很多,并且学院老师们也是知道并且理解的。我希望以后的毕业生们不要再经历这种折磨。

The PhD Grind 的 dedication page 上,作者写着 “To the unexpected”,这也是我这一年最大的感触。从信号处理与图像处理到 NLP + healthcare,从传统方法到深度学习 + Probablistic Models,从只考虑美国到最终去加拿大,从坚定地不科研到准备两三年后申请 PhD,这一年里发生在我身上的众多变化让我应接不暇,而几乎所有的这些变化都是一年前的我不可能预料到的。不仅如此,一年前的我也不可能预料到我曾经做过的事或者正在做的事会给我带来什么、会给我带来什么影响。我在选修语音信号处理的时候绝对没有想过这门课会给我带来实习机会;而我和实习同事午饭聊天时也绝对没有想过随便聊到的话题会改变我最终的申请和研究方向。

而到正式毕业之后,我发现我对这所学校没有像其它人一样的不舍和热爱。我也不想假装有。也许是因为我对武汉以及武汉大学太过熟悉;也许是因为高考时并不把武汉大学当作一个理想的目的地;也许我对它的要求曾经过高而又失望。但我也不想假装我对它毫无喜爱。它民间的丰富多样、它沉在老建筑里的历史气息、它的部分老师对人文的坚持,仍然让我对它有所偏爱。如果我不曾在这里求学,而只是听过一些老师的课、走过它的老建筑、结识了这里的朋友们,我大概会喜爱这里。


后记

这篇博文的初稿在六月就完成了,等到博客正式 launch 又大小修改多次。事实上到最终发布的时候我已经为我若干个月前决定写这篇博文而感到庆幸,因为此时我已经感到如果没有记录恐怕很多想法我的确会忘记。Once again, all opinions are my own. Happy reading.