院校:北大信科计算机系
GPA: overall 3.68/4.00 (top 8%), major 3.71/4.00
TOEFL: 95(S20) → 95(S22) → 102(S19) → 100(S20) → 108(S23)
GRE: 152/168/3.0 → 154/170/3.5
经历:北大 Computer Vision 方向本研;微软 Artificial Intelligence 方向实习;CMU Deep Learning 方向暑研
推荐信:CMU 暑研教授强推一封;课程老师/助教老师/毕设老板强推一封;微软实习 mentor 强推一封
Publication: 提交申请时 CVPR 一作 submission 一篇;ICLR 二作 submission 一篇(后来 accepted 并 update 给小秘)
结果:CMU Master of Machine Learning (MSML), CMU Master of Computer Vision (MSCV), Harvard SM in CSE, Yale MS, UCSD MS, USC MS(截至 02/27)
申请准备
我决定本科毕业后出国留学的时候,还是在高中。这甚至称不上一个决定——那时候的我想,国外有着更好的教育资源、更好的生活环境、更高的薪酬待遇,为什么不出国?那时的我是一个「有了既定目标就会动用一切努力去实现它」的人(有时候有些用力过度)。于是,大一的我带着出国的目标,开始到处听留学相关的讲座,向学长学姐以及老师打听出国事宜。一轮听下来,我总结到:想要有好的申请结果,要有一个好的 GPA,要有科研经历或是公司实习,要有足够的 TOEFL 和 GRE 成绩。
1.1. GPA
在大学的前几个学期,我还是带着高中的那股劲在学习,上课仔细听讲,每门课都认真做笔记,考前刷题复习,考后甚至还有反思总结,每学期还有学期规划。如此以来,在大二结束时,我已经有了一份能在系里排到 top 10 的成绩单。这是我之后申请之路上最为坚固的基石之一。
关于对待 GPA 的态度,我很认同我们班主任反复阐述的观点:工作之后,没人会管你当时的成绩;但在本科阶段,GPA 是你做很多选择的资本;你可以不在意它,但有时候它会在你的前进之路上绊你一脚。这一点在我的经历中得到了许多验证:无论是找科研实习机会,还是学院出国交流机会选拔,乃至最后的留学申请中,GPA 都会是最关键的一环之一。因为在这个阶段,GPA 无疑是衡量一个人学术能力最为客观的指标。因此,GPA 是需要重视的。
在我看来,GPA 基本是一个付出和回报相匹配的东西。对于大部分人来说,达到中上游的水平并不是一件遥不可及的事情,而这对申请来说已经不会减分了。我看到过很多大一 GPA 雪崩但之后慢慢恢复元气的例子。这里要注意,在申请的时候,有些学校(例如我们学校)只能提供每门课的真实成绩但不提供 GPA 证明,因此可以自行计算 GPA;有些学校会要求提交或者只看大二或者大三之后的 GPA;有些网申中会让你专门填写专业课的成绩。所以,一两门课考崩了不用气馁。
最后,我个人认为刷 GPA 的底线是不能因此而选一些容易得分的课程。无论是从短期还是长期来看,按自己的兴趣方向选课无疑都是一种更优的选择。功利地说,相关经历的课程对科研、实习、申请都会有直接的帮助:科研套磁中教授可能会要看相关领域的课程成绩和课程项目;申请实习时简历上可以附上一串课程列表;出国申请时不同项目会对申请者的已修课程有不同偏好,例如有些项目就希望申请者有足够的数学背景。总的来说,不要本末倒置,there is no reason not to follow your heart。其实这个道理不只限于选课,同样适用于各种大大小小的选择。在和室友的一次讨论的最后,我们均同意「做自己想做的事是几乎是成功的充要条件」;据我观察,很多人并没有这样的勇气,我也花了许多时间才慢慢真正地意识到这个道理。
1.2. 校内科研
我一直是一个喜欢提前做准备的人。在大一结束的暑假,我读了一遍《The Ph.D. Grind》;大二伊始,我决定加入实验室。由于对学科领域没有足够了解,动机也只是「为了申请而科研」,我选择了一个当时是大热门的方向:大数据。进入实验室听了几次组会、读了一些 paper 之后,我慢慢意识到组里做的方向与我的预期并不相符。尽管如此,大二的寒假我还是选择留在了实验室,硬着头皮啃 paper,但却越读越觉得迷茫。最后,我和导师提出了退组。这段经历让我意识到自己对 system / database 方向缺乏兴趣。回过头来看,虽然这次尝试让我避开了一些不喜欢做的方向,但像我这样的非大牛,不必在想法和能力都很不成熟的情况下就贸然加入实验室。我也建议,如果低年级本科生发现自己的组的方向不是自己想做的东西,或是老板和自己不 match,不要吝惜自己的沉没成本,开始考虑 next move。这里可以引用一下一位前辈的观点:「如果你连续若干天都不开心,你就会想『我现在做的事情是不是我真正想做的事情』……一定要在某个时候意识到这不是见异思迁,这不是意志软弱,这不是给自己找借口,是确实觉得这不是你真正想做的事情,然后你心里面的想法就会渐渐清晰起来。」
第二次尝试科研时我变得更加谨慎起来。我花了几天把院里所有教授的主页一个个看过去,最后基于兴趣选择了一个研究方向看起来最有意思的组,找了队友 LXY 同学一起自主提出课题,开始做 Computer Vision (CV) 方向的本科生科研项目(当然一两年后才发现又选了一个大热门)。作为一个 visual animal,摄影一直是我平日里的最大爱好,直觉告诉我,我会喜欢 CV;事实也证明,像 CV / CG 这样的方向的确是在 CS 中我最喜欢的领域。在接下来的大二下学期、大二暑假以及大三上学期之中,我和队友花了许多课余时间在这个项目中。虽然由于种种原因这个项目没有产生 publication,但它的确给我打下了一些 Computer Vision / Machine Learning 方面的基础,也让我对科研这个行业有了更多的了解。
1.3. 公司实习
To be honest,大一的时候我对自己的人生规划是,本科毕业后出国读书,然后找个大 IT 公司的工作安度中年。大三的我考虑到自己将来有可能会成为一个程序员,就单纯抱着体验软件工程师生活的心态开始寻找相关的实习机会。当时正好有同学在内推微软互联网工程院一个 AI 方面的组的实习,考虑了公司成熟程度以及组内方向 match 程度之后,我申请了这个实习。准备面试时我简单地刷了 LeetCode 题目、复习了一些 Machine Learning 方面的知识,然后便很顺利地通过了面试。面试内容和我准备的方向基本一致。(MSRA 方面则会更看重申请者的科研经历。)
这段时期我一个很大的体会是:一个人付出的所有努力都会在未来的某一时刻发挥作用。比如大一时凭着兴趣自学的 Machine Learning 知识,能在两年后的面试和工作中用到。再比如大三时抱着体验程序员生活而开始的实习,可以在大四的申请季使我有机会向微软的 mentor 要到一封工作经历方面的推荐信。所以不要在付出努力时吝惜——无论那是否在自己的规划之中。
1.4. TOEFL
我的 TOEFL 之路比较惨烈。大一暑假时我上了托福培训课程,在大二下学期第一次抱着模考的心态去考,得了 95。第二次在大三上学期。我充分准备,选了学校的口语课程,刷了一暑假的 TPO,但考前一晚焦虑到一两点才睡着。最后总分没变,只是口语过了 22,开始有点怀疑人生。第三次,我决定在大三下学期最后冲刺一次,但结果是 102(S19),这回总分过了但口语又不够了。这时候我其实已经有点一鼓作气再而衰三而竭了,但当时世毕盟的咨询师还是建议我要达到 100(S22) 的线,于是我又硬着头皮报了第四次。第四次报在了大三的暑假,因此其实是暑研过程中在国外考。本以为在英语环境下充分练习听说读写之后会有个好结果,但最后拿了 100(S20)。在这种「总分和口语总有一个不过线」的无奈中,我报了第五次,时间在暑研结束前两周。这期间非常感谢在美国另一端做暑研的 LLX 同学抽空和我实时练了许多次口语。令人惊喜的是,这一次我拿到了 108(S23),四个子项也都达到了最好的状态。
很多人在总结自己的申请时都会提到一定要早准备 TOEFL/GRE。这很对。但从我的个人经历来看,早准备并不能保证早达标,频繁的报考也不意味着每次都会有提升。TOEFL 是一个很能反映真实英语水平的考试。因此,在时间充裕的情况下,相比于每隔一两个月就报考一次,花更多的时间在提升自己的英语实力上是更有价值的选择。而从我的个人经历看来,暑期科研无疑是提升英语水平的好机会。我的好几个同学在暑研的最后都考到了和我类似的水平。
1.5. GRE
相比于惨烈的 TOEFL 之路,我的 GRE 经历算是比较顺利。一战几乎是裸考就得了 152/168/3.0。世毕盟的咨询师说这个分数其实够了,但我有些担心 verbal 分数,于是在两个月后考了第二次,拿到了 154/170/3.5。由于 quantitative 部分很简单,对于 CS 来说 writting 又不需要很高,因此备考 GRE 基本只需要大量地背单词。在这里强推一款叫「墨墨背单词」的 app,非常适合在 GRE 考前一两个星期内突击式地背完再要你命 3000 系列。二战之前我每天都会花几个小时用它高效地背完几百个单词,有时候甚至梦里都全是单词
申请提升
2.1 选择
从以上内容来看,似乎我的申请在各个方面都准备得比较充分。但是,在 2016 年 3 月这个时间点,我实际上整个人都还处在一种 overwhelmed 的状态。那时的我徘徊在一个「去院里的项目还是自己申请」的选择当中,咨询了无数学长学姐老师同学却无法作出决定,脑海里充满了问题却没有一个答案。当时我经常前一天都已经毅然决然地准备选择 A,第二天却又改弦更张,如此循环。对未来缺乏成熟考虑的问题和自身性格的缺点在这种选择下被数倍地放大,生活淹没在对未来的迷茫与焦虑中。L 同学在一次对话中这样评价我对自己未来的规划:「你只知道你要去哪里,但不知道你要做什么。」G 老师说:「十年后你发展成什么样,或许并不取决于这次选择。」……但我依然不知道该如何做决定。最后,在朋友的帮助下,我几乎是以「为了完成决定而做决定」的心态,选择了自己申请(回过头来看,当时的我或许还是希望让自己的未来多一些可能性)。我相信不只有我一个同学会在出国申请中的某一刻经历类似的状态,这大抵是成长的题中应有之意。
决定自己申请之后,我立即就把找留学咨询机构的事宜提上日程。在对比了市面上的几家咨询机构之后,基于我亲身接触的经历、机构往年的战绩、学长学姐的评价,我选择了参加世毕盟的 DIY 全程指导项目。在这个时间点,我的申请其实处于青黄不接的状态:TOEFL 只有 95(S22),GRE 还没考,科研没有实质性成果,能拿得出手的只有一个 big name 实习和一份还行的成绩单。在和咨询师以及 mentor 经过 meeting 之后,我们很快就确定了一个 to-do list:套磁暑研、考过 TOEFL 和 GRE。
2.2. 套磁
我开始套磁暑研的时间是三月底。这对于套磁来说其实已经很晚了,很多教授已经在一个月前甚至是春节时就被套走,有些学校在这时候连办 J1 签证都不一定来得及,所以我基本是以最大的努力在套磁。在发每封邮件之前我都会浏览一遍教授主页,核对邮件内容。为了能让邮件在美国工作时间收到以增加一些邮件推送被直接点开的几率,我经常是从下午开始发套磁信,一直发到凌晨一两点,第二天又继续开始发(后来经朋友提醒可以用定时发送 _(:з」∠)_)。最后我总共发了两百多封套磁信,但最后给我正面回复的教授一只手就能数过来。这里非常感谢本研队友 LXY 同学的提醒与推荐,使得我补套了一个 CMU 教授,这也是我和他最后决定去的组。
在套磁过程中,世毕盟提供了关键性的帮助。由于没有经验,我对和教授沟通的邮件的措辞不太有把握,Mentor每次都能提供很中肯的建议,把邮件润色为高情商的版本;基于多年的申请经验,世毕盟给出了选择教授的非常 informative 的建议;在决定去向之后,世毕盟也提供了很多办理签证上的帮助。这里再提供几个暑研套磁方面的 tips:1) 暑研过程中,有一次我在用教授的电脑进行 skype meeting,眼看着窗口右上角每隔几分钟就推送一个新邮件,邮件应用角标上的未读邮件数量是几万封,所以套磁邮件实际上是需要在这样的情况下也要很快地抓住教授的注意力;2) 最后给我正面回复的教授基本都是华人或者有华人 Ph.D.,所以套磁时或许可以更重点地关注一下这些教授(个人之见);3) 如果觉得套教授有难度,可以先套 Ph.D. 再请求帮忙引荐;4) 归根结底,「套磁」不是一件冰冷而机械的事情,而是一个带着温度的偏正式的社交过程;5) 注重信誉,不要先答应了 A 后来发现 B 更合适于是又去了 B。
2.3. 暑研
很幸运的是,我在暑研中遇到了世界上最 nice 的老板。我几乎时时刻刻都能感受到他在以一颗赤诚之心在做科研、以 sincere for students 的态度在对待学生。他给我们提供最好的实验硬件资源,几乎每个工作日都会到我和队友的办公室,和我们连续讨论至少一两个小时的项目,亲力亲为地与我们探讨项目的细节问题。令我印象深刻的是,有一次他和我们聊到有人曾想买他的一个 apartment room,他说 I don't want to have too much money because I need to put them into stocks;他听到我和队友要搬家,主动提出可以用自己的车帮我们搬东西,然后当我们在楼上整理东西的时候,他在楼下厨房的桌子上趴着睡着了……在他的帮助下,我这样一个原本对科研懵懂的学生,得以经历了一个科研项目完整的周期。在暑研的最后几天,我、队友、老板以及组里的师兄一起熬夜 submit 了两篇顶会的 paper。
我也很高兴能和老战友 LXY 同学共事。整个暑假我们都处于一种微妙的充满张力的队友关系中,互相合作,互相帮助,互相学习,由于两个人做的是不同的项目,也希望自己和对方的进度不会差距太多。幸运的是,最后我们各自都完成了一篇一作 paper submission。在我看来,LXY 同学是我们这个年纪中最为优秀的研究者之一,我从他身上学到了非常多的东西。他最后成功地拿到了 CMU Ph.D. offer。
暑研这段时间是我迄今为止度过的最为美妙的一段时光。我几乎每天都能感觉到自己又有所提升,每天又踌躇满志地准备迎接新的挑战。从 Squirrel Hill 沿着 Schenley Park 一路走来,能看到我从没见过的醉人的蓝天;每隔几天都可以在 CMU 免费的健身房锻炼身体;喜欢摄影的我在 downtown、动物园以及各个教堂里拍得非常尽兴……这次暑研使我的申请完全提升了一个 level。功利地说,我直接获得了一封来自 CMU 教授的强推、两篇顶会的 submission、PS 中一大段可以详细描述的经历。更重要的是,我对科研有了更深入的了解,对申请这件事的逻辑也有了切身的把握。即使最后我或许不会走上这条道路,但这段经历本身无比难忘。
正式申请
3.1. 文书(PS/CV)
在我看来,PS 可以被清晰地划分为两部分(无论是概念上还是文本上):对经历内容的描述,以及把它们串接起来的逻辑。前者在申请季阶段基本已经确定了,后者则需要在这一阶段好好斟酌。在这两个方面,世毕盟给予了我很大的帮助。由于拖延症发作,我开始写 PS 的时候已经是 11 月 20 日了,这距离最早的项目 deadline 只有十天。通过与咨询师P老师、mentor的讨论,我花了一些时间逐渐细化了行文逻辑,然后在三天之内尝试完成了 PS 的初稿。由于自己不太擅长这类文书写作,自己的初稿有 1400 多字,里面堆砌了很多项目细节。我直接将没有经过修改、非常粗糙的初稿发给了张老师。出乎我的意料的是,mentor在一天内就回复了邮件,直接亲手修改了我的 PS。仔细阅读了密密麻麻的 Word 修订之后,我发现张老师提供了许多非常合理的修改:1) 删除了大量次要的经历的细节内容,使得文章缩减到了合理的长度;2) 让行文逻辑变得更直接明快,而在我的初稿中我花了过多的篇幅在自己如何慢慢细化兴趣上;3) 大量句子细节上的修改使得语言表达能更加扬长避短;4) 当然,也改掉了我许多的语言错误。这极大地提升了我的 PS 的文本质量。
从我的经历来看,写 PS 的过程,就是 justify personal history 的过程。有时候这种 justification 会让人觉得有些虚幻,有种写着写着自己都要信了的感觉(笑)。但记忆是个挺奇妙的事情,完成最后一稿之后,我把 PS 通读了一遍,发现自己三年的大学生活或许就是这么一回事,那个时常为自身焦虑的年轻人,其实已经 experienced and achieved so much。
相对于 PS,CV 其实是个很模式化的文书——只需要按模板把自己的客观事实填写上去即可。对于每段经历的描写,也基本是「做了什么问题、用了什么方法、有了什么结果」的三句话式的描述。这里值得提一句的是,在 CS 申请中,我个人偏好并建议使用 LaTeX 来编辑 PS / CV 的文档,这是一种更加专业而美观的选择。
最后,我的所有文书,包括 PS、CV,都发给了世毕盟 Native Expert Team 做修改。对于每份文书,native 都给出了非常细致的修改,修正了语法错误,也使得语言读起来地道不少。这样的语言润色对于我这种英语写作能力单薄的人来说提供了很大的帮助。总的来看,我的 PS 只经历了三个主要版本的修改,最后已经达到了非常棒的水准。可以说世毕盟团队的服务使我的文书增色甚多。
3.2. 网申
在具体的网申填写阶段,咨询师王彭老师对我提供了极大的帮助。由于学校离世毕盟办公室比较近,在 12 月之后的一个多星期时间,我时不时地会到世毕盟来填写网申。由于自己申请的项目比较多,我发现几乎每一个网申里都至少有三四个我不太清楚的问题;而对于网申中我遇到的所有问题,王老师都给出了有理有据的解答,这极大地便利了我的网申过程。更让我感动的是,在真正提交每一份网申之前,王老师都会非常细致地跟我一起过一遍网申,在过程中果然发现了我的不少疏漏(例如 CMU 申请中忘记上传了 GT 成绩单)。这种值得信赖的帮助使得我对网申非常放心。
最后的话
对于我来说,世毕盟最大的帮助是把申请这样一件难以捉摸的事情,变成了一个有规律可循的过程;在这个过程中,世毕盟可以提供近乎是手把手的指导以及丰富的独家信息资源。去年参加世毕盟 DIY 项目时,我的申请依然前途未卜;但在咨询师以及 mentor 实质性的帮助下,我的申请获得了全方位的提升。在我看来,世毕盟的确将「申请」这件事情做到了极致。
最后,感谢父母一直以来在申请方面的全力支持。谢谢 LR 的陪伴。感谢许许多多耐心地为我这个伸手党解惑的学长学姐。谢谢一路上老师与同学的帮助。感谢世毕盟提供的指导与帮助。 希望我这篇写得啰啰嗦嗦的申请总结,能对还在申请之路上的同学带来哪怕是一点点的启发。