想学Deep Learning?先测试一下你够不够“深度”
(本文整理自和创留学嘉宾邹任飞留学经验分享)
“江湖流传一句话,得CS者得天下”。虽是一句玩笑,但也确实反映了CS在美国理工科研究生申请中的金字塔顶尖地位。关注CS,再多也不为过。今天和创留学就为转专业申请CS的同学请到一位嘉宾,来分享他的“CS大法”。
嘉宾介绍
Mr. Zou
本科华北电力大学自动化专业
新东方听力口语教师
NYU CS硕士
现任某司(业内前巨头)人工智能软件工程师
NYU项目简介
大家好,我就读的项目是NYU的M.S. in Computer Science, 共有大约50位教授,每年招100名左右硕士和几十个博士。NYU学生美国人、中国人、印度人大约各占1/3,但是这个比例每年也有较大浮动,所以对于中国学生来讲,申请也有大小年之分。中国学生绝大多数来自985/211院校,GRE则在80%排名左右。iBT都高于100分,这是被录取的一个硬性条件。毕业生三成去了金融公司,七成去了IT企业——Google, Facebook, LinkedIn, Amazon,Uber, IBM Watson等等。近一半左右留在纽约,一半去了加州。
NYU对转专业学生非常友好
我在国内本科读的是自动化,和CS相比看起来相似点很多,但是我个人感觉自动化并不是很专注于编程,很多时候是依靠模拟仿真的软件,比如MATLAB等等。NYU的CS项目并不要求很强的CS背景,而且相当鼓励跨专业申请,注重项目学生组成的多样性。学校会从基本的课程开始教授,如果你想继续在CS深度探索,也能获取相当多的资源。三大基础课程,Operating System, Programming Language和 Algorithm第一年必须要顺利通过,我建议大家争取拿A。因为这三门课是整个CS专业的基石,学校非常重视,如果学不好,甚至可能会失去选修后续某些课程的资格。尤其是算法,找工作面试时也经常会考到。
NYU的Machine Learning和Artificial Intelligence是非常领先的方向,NYU在Data Science方面在美国可以说是数一数二的,现Facebook人工智能实验室带头人 Yann LeCun就是NYU的教授。他和其他几位教授被中国学生戏称为深度学习方面的四小花旦,可以说是NYU的Rock Star.这里有篇IEEE的Yann Lecun专访,大家有兴趣不妨看一看:http://www.huxiu.com/article/109035
几乎没有人比55岁的Yann LeCun更能与Deep Learning紧密地联系在一起
作为转专业申请CS的毕业生,我建议大家做好两步准备工作。
第一步,基础语言关。先从三大基础课Operating System, Programming Language和Algorithm开始,大家要保证在入学前对其专业英文词汇非常熟悉,在接受新知识时才不会受语言限制。
第二步,进阶语言关。可以先看一些CS相关的中文书籍,或者在一些授课平台自学一些课程。看懂中文之后,再去了解上面提到三门基础课的英文书籍,然后再拓展到更多的专业英文文献。跨过这样几道门槛,才能在美国的课堂上充分地吸收知识,像本土学生一样参与讨论,而不只是单纯地听,在接受别人的思想时能够分享你自己的想法。
如何看待Machine Learning现在的火爆
我认为,目前对ML感兴趣或者立志做ML的人要远远超过市场实际需要的数量。我建议大家理性看待这个问题,基于以下这几点原因。
Ø机器学习,尤其深度学习现在在某些领域的确表现突出,创造很多的Big Bang,美国媒体俗称的media hype.家喻户晓的例子有早期的,虐知识问答节目(Jeopardy!)人类冠军啊 (What Is I.B.M.’s Watson?http://www.nytimes.com/2010/06/20/magazine/20Computer-t.html),找猫啊(Google’s Artificial Brain Learns to Find Cat Videos)、吊打围棋手啊(AlphaGo: Mastering the ancient game of Go with Machine Learning),等等。这类的高知名度项目在普及科技、开拓市场、促进销售方面贡献非常大,但是也常常给人一种错觉和对科技过高的预期。其实这类挑战所要解决的问题多数都是非常严密准确定义的,所以“相对容易”。 比如Jeopardy!这个知识问答节目里的问题都是没有歧义、用词准确、必定有独一无二正确答案的表述,然而现实生活中,我们的表述充满歧义和错误表述,有大量停顿和重复,这些都会给语言解析带来挑战。这些非常了不起的科学突破通常还需要足够的时间来变得更普适、稳定,更重要的是,需要降低成本。Yan LeCun说过人工智能已经死过好几次了,希望大家可以客观冷静看待。
机器学习研究投入成本与产出回报关系很不明确,导致只有资金充足舍得烧钱的大公司和实验室才能在这方面开展深度研究。很多初创企业只是在借此噱头宣传自己,抬高估值,经常宣传的时候鬼话连篇,大家要学会区分。
阿尔法狗与李世石的人机大战
普遍来讲,现在的确很多公司对有机器学习或者深度学习的人有偏好,但是编程技能通常是一个大前提。非常纯粹的数据科学家或者建模工程师,一个产品线或者一个组,招零星几个非常强的就够了(通常是PHD),真正大量需求的还是可以打代码的工程师来实现。所以各位不要好高骛远,一定的ML背景会有助于实现,但是要保证自己的编程本身过硬才行。另一方面,机器学习和传统的统计学没有绝对的割裂,所以不同学科,不同背景的人都在搞机器学习的研究和应用。现实就是供大于求,竞争十分惨烈。
说了半天,还是要找工作
相信大部分人转申CS还是从就业角度考虑的,那么为了找一份理想的工作,我们可以做哪些准备呢?我从前期的课程选择和后期的面试技能训练来讲。
首先,在选课时要特别重视算法。NYU有基础算法课和高级算法课,如果怕影响GPA,高级算法可以选择旁听。另外,编程范式和操作系统两门课是学习CS的基础,要努力夯实。除此之外,NYU有一门比较火的课和软件工程相关,叫高质量软件编程(PQS),非常有实际指导作用。
接下来,就是找工作了,一定要重视刷题和找面经。我个人来讲,一度和我实验室的朋友们都极度鄙视刷题,认为这是违背高等教育精神,浪费大学时间的事。但事实是,不刷题,过面试还是有难度的。我现在想法变化了不少,相对标准化的筛选诚然有很多弊端,但是确实相对公平,有效率,简单直接。所以各位比较理想化的年轻人,还是埋下头来刷一刷题吧,进了好公司,拿了高薪,再当高晓松/吴彦祖也不迟。总之,基础课程学习扎实了以后,就可以开始找面经和刷题了。一般来讲,面试过程会包括一轮HR电话面试,一轮技术电话面试、四到五轮现场面试。电话面试语言能力很重要,大家要学会在电话中描述问题、分析问题、解决问题。现场面试时表达能力也很重要,多数情况下需要在白板或纸上展示思路,要清晰有逻辑。我建议大家做一些模拟仿真训练。
最后,大家要善于创造面试机会,无外乎两个渠道,海投简历+内推。我认为内推是非常有效的方式,相当一部分公司会优先考虑内部员工推荐的简历。大家可以在领英找自己的校友,在朋友圈里寻找业内的前辈或者通过在美国的亲戚朋友的关系帮你做推荐或担保,这样会让你的面试过程加速许多。
内推是美国职场中更稳固的招聘渠道
没有校园,所以整个曼哈顿都是校园
刀光剑影后自是歌舞升平, 讲了学习和就业, 我们再粗略讲讲NYU的生活。因为纽约大学的校园与整个纽约市融为一体,可以说纽约大学是以整个纽约市为自己的校园,十八个学院分布在整个纽约市。纽约的气候四季分明,但是冬天不会太冷,因为临海。住房相对较贵,但选择也比较多,可以选择住在城郊,不过每天要花更多的时间地铁上。
作为美国和世界的经济文化中心,纽约像是一个大大的万花筒,包罗万象。在这儿你可以品尝到几乎所有听过的没听过的、想到的想不到的任何一种美食。由于公共交通便利,多数人无须开车,曼哈顿街头到处是酒吧,一言不合就可以来点儿小啤酒。这里有无数的音乐会、演唱会、绘画展、时装秀、百老汇演出等。纽约的血液是滚烫的,充满着活力和生机,这的确是其他任何一个城市都难以企及的。
夕阳下的曼哈顿