大四了。不知不觉间就成了园子里最年长的本科生。

大一的时候看着系里的学长,觉得他们都好厉害,厉害得遥不可及。等自己到了大四,发现身边这群逗比就是现在学弟学妹眼中厉害的人。

到底是采样偏差,还是我们真的变得厉害了,只是自己没有觉得呢?

或许二者皆有吧。

言归正传,这一学期我不在学校。是的。

但我们还是从暑研谈起吧。

暑研

这一年里改变了我人生轨迹的一件事,就是提交了CMU暑研的申请。

得到了暑研的机会之后,填各种各样的材料、参加替小学期的答辩、办签证、租房子,这些琐事占据了大三下的相当一部分时间。历尽千辛万苦,终于在6月27号搭上了飞往纽约的飞机,在纽瓦克转机一整晚,到了匹茨堡。

暑研的生活其实并不单调。我和李北辰合租了Shadyside的一间还不错的公寓,并在石头剪刀布的战斗中获胜,得到了较大的房间。本想趁机学学做菜,但在意识到自己厨艺堪忧,以及买厨具调料太不划算之后,打消了这个想法。工作日的时候,没有工位的几人(我、殷老师、李林翼、丁豪,和两位到现在也不知道名字的北大同学)就在GHC 6111摸鱼干活,而我工作日的起床时间也越来越向清华作息看齐。周末的时候,大家就一块出去浪。认识了这么一群玩得来的小伙伴,大概是很棒的收获了。

科研方面,由于一些机缘巧合选择了Graham Neubig作为导师,后来才知道他是LTI最火的教授之一。Graham一开始给的idea是把后缀数据结构与神经网络结合,提升language model的效果(事实上一开始说的是memory network,但到最后和这玩意一点关系也没有)。头两周还是在入门NLP和炼丹,之后开始看论文并实现模型。到最后做出来的东西其实就是一个有俩predictor的Latent Predictor Network,一个做span-level的prediction,一个做character-level的。结果非常平凡,原因有二:一方面模型确实能力有限,在增强表达能力的同时极大增加了计算代价;另一方面自己也没有足够的调参经验。

对我来说最大的收获应该是入了NLP的门,并发现了自己对科研的兴趣。CMU的环境很好,实验室里的其他人也都很厉害。正是这次暑研,让我决定了毕业之后要出国读研。

暑研(cont’d)

本来故事到这里就该结束了。我原本的计划是,大四上一边在刘导的实验室干活,一边去MSRA打工。实验室的学姐建议我,与其去MSRA,不如申请留在CMU接着干。

我觉得很有道理,也就这么做了。为此我做了一系列准备,包括:

  • 申请DS-2019的延期:找导师和CMU的OIE签字填表。为此还需要一份全新的财务证明原件,是从家里寄过来的。
  • 找新的住处:暑假住的地方是一个学长的房子,开学之后他回来了,我得换地方住。然而开学之后房源更紧张,而且大多数不接受短租。我在Craiglist上整整刷了一个星期,最后找到一个愿意接受短租的房间,是一个本地老爷爷房子里的一个小房间,合租的其他三人都是CMU的研究生。
  • 假装我还在清华:正常的操作应当是休学一学期,但对我来说行不通,因为我还有课程没修完,休学意味着延毕。所以我必须按照正常流程注册,并伪装出我还在学校的样子。这涉及到了很多问题,包括:
    • 注册:开学的时候我是回了一趟国的。原因有三,首先是本来就买了机票,不飞也没法退;其次是注册需要刷脸,自己刷保险一点(本来还想找在MSRA实习的上交同学来代我的,就算被抓到他也不会有事);最后是想找学校的老师面谈一下推荐信的事情。
    • 日常活动:我把校园卡留给了室友,让他们帮我没事刷刷门禁然后吃吃饭。
    • 体测:这个是最麻烦的。幸好我有一位和我身高体重比较接近的学弟,于是拜托他帮我走完了流程。1000米直接弃跑了,总分及格了就好。
    • 课程和作业:我这学期只有三门课:专业课媒体计算、双学位课商业伦理,以及一个叫绿色制造与可持续发展的文核。专业课不去上也没事;双学位课是后半学期的,找了同学帮我签到;最麻烦的是这个文核。这个课和环境保护的文核不太一样,需要有小组作业。还好我不是组长,最后也就和大家远程合作完成了作业。可没想到的是,组里其它的大四同学这么有干劲,作业被评为了优秀作业,需要进行展示。最后又是拜托那位体测学弟帮我做了展示。现在我大概欠他五顿饭。

必须要强调的是,这个方法是有风险的:根据学生手册,连续6周不在学校会直接被开除。虽然实际上,保密工作做得好也不会有人知道,而且同学、辅导员,和(部分)老师总的来说还是支持的。在这里必须要感谢他们,要是没有他们我可能就凉了。

在CMU的三个月

总算是留在了CMU继续干活。科研方面懒得细讲,做的大概是compositional representation的工作,结果依然很平凡。主要想说说生活方面的事情。

和暑研不一样的是,小伙伴们都回国了。头几个星期大概是因为干劲比较足,还没什么感觉。接下来的两个多月里,我体会了一股前所未有的寂寞感和焦虑感。在学校的时候还好,因为大部分时间是和实验室的中国学长学姐在一块。在家里的时候,我基本上都是把自己闷在自己的小房间里,刷B站、打游戏,或者肝实验。也不止我一个人这样,另一位只身一人在Berkeley的同学也和我差不多。时间和国内不同步,平常和别人在网上聊天也不多。身边的人讲着另一种我无法熟练运用和表达的语言,自然感到了寂寞。

焦虑则来自两方面,一方面是科研没有好结果,另一方面是申请比想象中的麻烦。在这两件事都没干完的时候,就会陷入一种不知道该先干哪个,哪个也不想干的消极状态。

日常基本上就是学校和家两点一线的生活,不去学校的时候会在家附近吃顿好的。但到后面越来越懒,加之起床时间太晚甚至错过(午)饭点,也开始经常少吃一顿饭,一周可能有两三天不吃午饭,只有晚上一顿。晚上也睡不着,躺在床上也不干正事刷手机,结果也只能晚起。可想而知这样活干不完,于是又得靠组会前rush。这种不健康的生活方式从第二个月开始逐渐加剧,持续到快回来的时候。

等熬过了12月的申请DDL之后,到回家也只有一周左右的时间了。这一段时间其实是最轻松的:申请能做的都做了,科研反正也就这样了。没有了焦虑,其实也就没那么寂寞了,剩下的只有似箭的归心。

回国后的一个月

终于在12月20号回到了北京。一下飞机我就约了小伙伴们晚上吃火锅。不得不说,还是中华美食文化博大精深。

学期剩下的日子其实很清闲了。看学生节、出去吃饭、看电影,还在新年的第一天脱了单。

反正,就是幸福且惬意的时光了。

申请

作为大四上的重头戏,有必要单独开一章讲讲申请。

我没有找留学机构。留学机构能提供的服务无非是:帮着收集信息、填表、改文书。信息方面,反正也不准备申请太多项目,自己看也不会花太多时间;填表就更是了;文书的话,留学机构的人不见得写得比我好。当然,最重要的原因还是,这些机构真的太贵了。

项目

首先,我觉得自己想出国读书,主要原因是想接着做一做科研。因此,我基本上只考虑了CS方向的PhD和MS的项目(没有考虑MEng),并且优先了ML/NLP排名靠前的学校。

我一共申请了11个学校:

  • Stanford MS:斯坦福是所有人的彩票校,我自然也想碰碰运气。
  • CMU LTI PhD/MS, MCDS:LTI的MS项目其实是我的dream program,在CMU实验室的学长学姐也是这个项目的。它的好处是:大概率可以拿到funding,而且之后可以申请转PhD。这个项目是PhD和MS一起申请的,不过直接录为PhD的概率极低。MCDS其实算是MEng了,但是是评价比较高,课业压力比较重的一个项目,大概是能有收获的。
  • UC Berkeley PhD/MS:一个事实是,像这种PhD和MS混申的项目,MS的名额都非常少,所以这也是彩票。
  • Cornell MS:这是比较特殊的一个项目,因为Cornell(包括Cornell Tech)主打的项目其实是PhD和MEng,这个MS项目的规模非常小(约5人),其目的在于填补助教的空缺。因此,项目对英语要求非常高(托福口语≥28,感受一下),而且学生会被当成PhD培养,似乎还有funding。这也是我挺想去的项目。
  • U Washington PhD:UW是一所NLP很强的学校。之所以申PhD是因为没有MS项目。
  • NYU PhD:同上。
  • Harvard PhD:同上。但哈佛其实在NLP这块并不牛逼,所以也是想试一试。
  • UIUC MS:这是一个评价不错的general CS MS项目。导师其实不建议我申请UIUC,因为这所学校厉害的是系统方向而非ML。但总之,还是试了一下。
  • Princeton MS:普林斯顿在理论方向很牛逼,我现在也想不通当时为什么申了这个学校。
  • JHU PhD:JHU位于民风淳朴的巴尔的摩。它最厉害的两个方向是医学和NLP,所以自然也想试一试。但其实,因为巴尔的摩过于民风淳朴,我也不是很想去。
  • Columbia PhD/MS:哥大的MS被大家戏称保底项目,但鉴于今年竞争极为激烈,能不能保到底也是个问题。总之试了试。

材料

首先是英语。自夸一下,我英语还是不错的,所以准备托福和GRE基本上没花时间。最后托福116(口语29),GRE 170/163/3.5。一个建议是能在国外考就在国外考,原因有三:一是价格会稍微便宜一些,二是考位远多于国内,三是我这辈子都不想再用国内的傻逼报名系统了。

推荐信的话,因为我科研经历是明显不够的,因此只能拿工程经验来凑。我找了好几个老师:

  • 我暑研的导师Graham。他对我的评价还不错,因此他的信是最有价值的。
  • 我在清华的导师刘知远老师。比较尴尬的是,我在刘导实验室做的是工程,虽然做得还行,但和科研不怎么沾边。
  • 教授软件工程课的白晓颖老师。我提前一年修了这门课,而且取得了非常好的成绩。因此这封信也只能突出工程和团队领导力。
  • 班主任崔鹏老师。其实我和崔老师打交道不多,找崔老师要推荐信主要是为了Cornell的项目:我得证明自己与人沟通和表达的能力不错,曾经当过助教、班干部等等。
  • 教授数字逻辑设计的全成斌老师。这主要是为了吹嘘一下之前FPGA的比赛。

之所以找了5位老师,是因为怕被放鸽子,而且不同的项目想突出不同方面的能力。当然,Graham的信是每个学校都发了的。

SOPCV参考了实验室学长学姐的模板,他们写得都非常好。我对着好几份SOP疯狂overfit,然后写出了我自己的版本。前后改了很多遍,每个学校也都插了一两段不同的信息。

Offer

最后拿到了三个offer:

  • CMU LTI MS
  • UIUC MS
  • Columbia MS

CMU的offer是出的最早的,所以我在等结果的时候完全没有心理压力。

UIUC的offer比较有意思,我先是收到了他们的拒信,然后过了几天Jiawei Han(群)发了邮件说祝贺你被录取,然后问对他的实验室感不感兴趣。我说我还挺有兴趣的,可我没被录取。后来他告诉我,似乎是admission那边没沟通好,我其实是被录取了的。

哥大的也比较好玩。当时已经是4月份了,身边陆续有人拿到了哥大MS的offer,然而我还没有一点消息。一天收到邮件,告诉我PhD没录上,如果想试试MS的话就再写一份介绍。我回复说不用考虑我了谢谢,然后过几天收到了offer,过了一会又收到邮件说以为我是要申MS的,无视前一封邮件就好。

理所当然,最后我选择了CMU。

学习

即便人不在学校,也坚持上了三门课,简直是爱学习的典范

媒体计算

之所以留下了这门课而退了其它专业课,是因为这门课打分只看大作业,所以可以回来做。

但还是开始得晚了。写的时候才意识到CG领域发个论文有多不容易:代码太难写了。尤其是需要用户交互的,还得有GUI。我花了好些时间捡起了大一学的Qt,然后做了一个看着还挺炫酷(但不算分)的GUI。最后只实现了泊松融合和PatchMatch,给分很差。

商业伦理

双学位辅修的最后一门课。和之前的商法课程是同一位老师,课程形式也是上课签到然后写感悟。于是我轮流拜托各位亲朋好友帮忙签到。

绿色制造与可持续发展

其实我对这门课一点兴趣都没有,可它是1分的文核。我原本以为这是和环境保护差不多的签到课,没想到还得写报告。课程要求每个小组设想一种绿色节能的装置,然后写成报告。我自己随便写了一段,大意是我们搞一个中央空调,根据天气、室温、用户习惯自动调整,完了还能炼炼丹。没想到同为大四的其它组员非常认真,写了很长的报告还画了图。最后我们组被评为优秀,需要做课堂展示。

我只好告诉他们我不在学校,然后找学弟代为展示。

最后

这篇文章的前一半是和大三下总结一起写的,不知是否能看出风格上的差异。毕竟,写完毕设论文之后讲话都变得啰嗦了起来。

大四上对我来说就像是不存在的一个学期一样。在CMU的生活两点一线,我甚至没法区分10月和11月发生的事情;回到清华后则开始了养老生活,回忆起来也不觉得是学期中发生的事情。

当然,也只有事后的现在才能这么轻描淡写地概括这半年。

一如既往啰嗦了这么多。感谢你的阅读。