计算机专业,
一直是留学大热门的专业,
近几年热度依然不减,
你对计算机这专业真的了解么?
计算机这专业研究的方向是什么?
未来的就业方向你真的明确么?
本期,飞彼留学邀请了我们顶级的名校导师团队成员梁师姐(中大数学与应用专业,博士在读)为我们小伙伴们做详细的分享,本文是分享后整理的文字,一字一句都是满满的干货、干货、干货,绝对不能错过哦~
Liang.R.Y
本科-中山大学数学与应用数学
(飞彼留学海外名校导师团队成员)
本科毕业于中山大学数学与应用数学专业,微软亚洲研究院,博士在读,研究员。研究方向:强化学习,分布式机器学习。本科在人工智能顶会上发表多篇论文。目前在UberPittsburgh 担任访问研究人员。可为计算机科学方向的同学提供求职,申请,科研指导。
分享实录
1、计算机科学的各个方向
2、计算机科学可就读的学位
3、计算机科学的就业方向
4、计算机科学未来的就业趋势
....
目前学术界,主要是将计算机科学分为三个方向,第一个方向就是大家都知道很火的就是AI方向(工智能),主要是研究人工智能,人工智能交叉学科为主;第二个方向就是系统方向,主要研究计算机系统为主,它包括的种类就非常的多,非常复杂,第三个方向就是计算机的理论方向,包括一些算法的复杂度、数据结构、密码学都算是理论方向。接下来我会非常详细的解释三个方向,它们现在各自研究重点,以及他们一些包括的学科的含义。
我是今年AI方向的博士生。所以我对AI方向还是比较了解的,我希望能够更加详细的向大家介绍我们方向,目前关注重点以及我们主要划分的领域。
我相信其实大家应该听得最多以及最想涉猎的方向,其实应该都是AI方向。但是其实CS并不等于AI,就是其实研究AI的,只是在计算机系统里面很小的一个部分而已。
AI方向主要包括两个分得比较大的方向,第一个就是偏理论性的方向,理论性的方向,主要是研究一些关于神经网络或者是关于贝叶斯它们的数学理论的原理,这样它们涉及到了那个数学知识就会非常的多。
另一个方向,主要是以实验为主,这是通过计算或者是通过写代码,去验证自己提出来的结论,这样的方向,就不需要太多的数学基础。同时实验方向,我们整个项目进展会走的非常快,就是它其实是不需要太多的时间在一整个研究项目上。
AI主要是包括了三个比较大的子类:第一个是计算机视觉子类,计算机视觉在中国发展的应该算是世界比较顶尖的级别,也有非常多的创业公司、独角兽在中国,举个例子比如说商汤、以及旷世以及一些独角兽,他们都是以计算机视觉方向为主的,计算机视觉方向的应用,主要包括比如说人体识别、动作识别、视频分析等一些跟视觉有关的;用AI技术,数据分析,视觉视频,图像等了一些研究。
第二个子类是NLP方向,自然语言处理方向,主要是跟翻译有关,跟自然语言处理,用AI去进行一些。翻译以及阅读理解等一些与语言文字有关的一些处理。
最后一个子类就是Machine learning方向是机器学习方向,实际机器学习方向包含的学科比计算机视觉以及自然语言处理要更加多一些,因为机器学习方向,它包括了很多分子类,比如说强化学习等其他方向,他们都被统称为叫机器学习。
AI比较火的一个原因在于,它是一个交叉学科。比如说跟Robot(机器人)有关,跟人机交互有关,以及跟生物有关。它们都是交叉学科融合在一起,经常会有别的学科的学者,他们也自称自己是研究AI的。
最后我想强调的一点是AI其实跟我们经常听说数据科学,它是有本质的区别的,尽管数据挖掘也算是AI技术的一部分。但是其实数据科学本身,它所研究的内容,比如说数据分析,数据库处理等一些内容,其实是不包括在现有领域的AI领域内。
AI感觉我说得比较详细,因为也是我比较了解的方向,同时,AI也是目前转专业申请最多的方向,也是最热门难度最大的方向,可以说选择AI方向的录取要求与就业要求一定会更高。
接下来跟大家聊一下更多人不了解的计算机系统方向,计算机系统方向可以说是一个对代码能力要求最高的。
计算机系统其实主要是包括体系结构Architecture,还有数据库,比如说Data base的一些分析、建立。以及计算机的security和网络,还有一些表现分析方向,计算机语言的设计,计算机它的性能的分析,其实有些方向是跟硬件相关的。
为什么从事计算机系统的人没有那么知名呢,这是因为计算机系统不像是AI技术它的周期长,比如说我之前有参与搭建一个分布式的计算机训练的系统,项目周期的话一定会超过半年,但是AI的话大部分项目周期都会在三四个月就可以完成了一个项目。
所以,计算机系统其实是要求更高的一个方向。但是同时我觉得计算机系统相比AI有个特点来讲,它是比较稳定,因为它已经稳定发展了很多年,AI之后的走向其实我们没办法去预测。所以研究计算机系统,我觉得是相对非常稳定的一个方向,它一定会有所需求。
以及值得注意的是,现在逐渐的有了AI system这个结合的方向,就是通过设计计算机系统,来交付AI一些算法的运并行化,或者是说部署算法,其实这些东西都是需要系统的知识的。
因为Theory方向的内容比较简单,我在ppt上没有标注。因此就简单向大家介绍一下理论计算机,tcs可以说是计算机中对数学要求最高的学科,从事tcs方向的老师也很多是数学系出身,甚至很多imo(数学奥林匹克)的优秀选手。
上面就是我对计算机各个方向的了解。我主要研究的方向在于AI,今年在微软也参与了不少system方向的研究,大家有什么问题之后可以再提问细节。
undergraduate,本科学位我这里就不介绍了,主要以介绍graduate学位为主。
一般来讲,理论计算机方向都是在学界那活跃,基本上工业界对于理论计算机的重视并没有那么多,所以的话理论计算机有个很大特点,就是很缺钱,就跟纯数学一样,他们的Funding比较少,所以他们每年的坑位以及招生也会非常的少,并且对学生的要求也是非常高的。
举个例子,我之前认识的一个理论计算机方向的老师,他的学校并不是非常的好,但是他对学生的要求是非常的高的,他之前的学生,基本都是清华,北大拿过Mo金牌,银牌之类的人。因为其实对于做这个方向老师来讲,博士生多不多,对他们来讲并不是一件可以衡量他们工作成果的事情。
其实不同学校开设的计算机,能够提供的学位是有不一样的。并且它有的学位其实有限制,它可能根本就不招从大陆来的学生,或者它们每年不招从他们自己本科升上来的学生这样的规定。这可能需要研究一下,因为现在CS计算机非常火,所以其实每个学校他们或多或少都有增开一个计算机的项目,你可以更多详细了解一些新开的项目。
常规来讲,计算机的话一般是有两个学位,一个是硕士学位,一个是博士学位。然后我们先从硕士学位开始吧,一般是两种学位,一种是Course base,一种是Research base。一般来讲就是Course base是以上课为主,你修够那学分,你就可以毕业,这种学位的话,他们一般目标是让学生在美国或者是在其他地区以找到工作为主。
但是Research base的master,就是不一样的,比如说CMU提供的master of science in Robotics 就是一个以研究为主的硕士学位。学校或者是说老板(学校导师)会给这些学位的硕士学生提供资金的帮助,然后像博士生一样帮助他们完成硕士学位。
以及我了解到的是,不少学校似乎是可以满足你在学校做研究,你可以将那部分的研究转化成你的学分。可以凑学分来毕业。所以其实这两者之间有可能也没有那么严格的分别,只是说有可能会有学费上以及学校提供的资助上面的区别而已。
一般在美国的话,读完Master学位的话就可以有两个选择,第一个就是直接在美国找工作,这个是比较常见的中国留学生的选择;第二个的话就是继续在学校本校或者在别的学校继续申请就读博士学位。
仅仅以美国为例子的话,一般来讲在美国读博士学位,他们学校都是有Funding,就是会给你一定的资金,以保证你能完成多少多少年,比如说六年五年。他们会订一个期限,给你去完成那么多的研究任务,相当于是一个博士在读生。
博士学位的话,都会有自己固定的advisor,一般来讲,我们叫做advisor就叫自己的导师一样。比较值得一提的是,美国绝大部分的学校都是提供directdoctor,就是你可以直接从本科就申请博士学位。读完博士学位就可以拿到博士学位证进行毕业。但是有的学校,比如说欧洲一些学校,他们可能说就没有这种直博的项目,但是据我所知,欧洲大部分学校,包括英国的一些名校以及瑞士的一些名校,他们都是在对于CS这个方向提供直博学位的。
博士学位有个操作就是,有些人如果读不下去了,他们就会选择退学,美国这边的话,博士学位退学是可以拿到一个硕士学位。一样是可以拿opt找工作了,但是国内好像的话如果你读计算机的博士学位,你就没有办法拿到硕士,如果你中途退学,你就连硕士学位可能都拿不到。这个也是跟每个国家他们可能会有一些细微的差别,然后需要好好去研究一下那个内容。
总而言之,各个国家他们开设的硕士学位,其实绝大部分都是以为了让你怎么更好找工作而开设的,但是博士学位,出路的话其实也有分为工业界跟学术界两种,有可能进入学术界进行博后,或者是做助理教授AP;第二种是进入工业界,作为工业界的 scientist 也会在工业进行研究。
以上就是我对计算机学位的一些介绍了。紧接着就是计算机专业毕业之后的就业问题。
这张ppt列举的三种职位,其实是美国互联网公司提供得最多的三种职位。都是cs学位的人可能进入的。
比较值得一提就是data scientist。它其实虽然说是数据科学家,我们翻译过来就是说,我们会把它想得很对研究什么要求,但是其实美国的数据科学家。这个职位是一般是data science这个硕士学位毕业后会从事数据分析等一些职位他们主要的职责就在于数据的分析,挖掘以及咨询.
第二个其实最广泛的一个学位应该是SDE,就是我们经常说的软件工程师。这个职位基本上是最多的,也是招聘最广的,也是硕士生从事的最多的一个美国互联网公司的职位。
美国互联网公司的SD就是软件工程师,他们的起薪其实挺高的,一般来讲是要比数据科学家要。数据分析之类的岗位要更高一些,同时可能竞争压力也会更大一些。
总的来说,其实我认识的基本上在美国硕士计算机硕士毕业的学生,基本上他们每个人都会有SD的面试,软件工程师的面试,这个职位在美国能够包括的含义实在是太广了。
但是中国的国情就不太一样。中国互联网企业把软件工程师分为很多种,比如开发岗,算法岗等等。
虽然美国他们也有这种比较细微的划分,但是其实这个招聘的时候,他们更多是把这一些职位都称之为SDE。但是已经进去了之后,你可以自由的选择或者是换组。
但是如果在中国的话,比如说你现在是一个算法工程师,你现在想去从事开发方面的工作。其实可能你接触的东西就会不太一样,然后换组也会没有那么容易。
还有第三种,就是公司内部的Research Scientist,就是研究科学家的这个职位,这个职位一般是提供给有博士学位的,不是毕业生。因为AI的红火,所以现在基本上每个大公司,他们有都有自己的研究部门。比如说Facebook,他们就飞儿,然后Google他们就有grand,微软的话他们有microsof tresearch,这些部门他们会养了很大一群PHD,然后给他们公司做一些针对于公司产品,以及针对于公司技术研究。
中国的互联网公司也是存在研究院的。比如说我了解到了就有头条的ai lab,就是主要是一座AI技术相关的研究院,然后腾讯他们也有ai lab,滴滴出行,他们也有自己的AI研究所。
然后需要区分的是学校也会有scientist这种职务,一般来讲不算在正式的教职当中,有点像博后这样的类型。所以一般提到scientist有可能是在公司,也有可能是在学校中。
今年来说,即使是一直有互联网公司缩招的传闻,计算机依旧是美国最好找工作的专业。并且起薪也是最高的。
对于AI技术而言,其实还有太多太多没有解决的问题。后续远远不止现在发展的程度这样简单。可以预计的是随着交叉学科越来越多,AI的应用也会越来越广泛。
我所观察到的是,美国的计算机名校与工业界的合作也越来越紧密。这代表着学界的成果往工业界转化也越来越多。研究出来的应用价值得到提高。这也是计算机未来的一个趋势。
从博士生的角度而言,计算机的资金因为充足,计算机系的学生很少说需要自己出资金完成博士学位的就读。这对于想做研究的学生而言也是一种机会。
从硕士生的角度而言,就读计算机方向的硕士学位,在找互联网公司的工作时不得不说是有比转专业更巨大的优势的,所以尽管申请难度越来越大,计算机方向的硕士依旧是申请人最多的专业。
互动环节
Q1:申请美国的计算机硕士或者博士需要什么资质证明文件?怎么申请?申请会不会很难?
L师姐:一般来说需要提供本科成绩单,gre成绩与托福成绩。以及一些其他的资料。某些学校是不需要提交gre成绩的。然后难度上来说,应该是最难申请的专业,目前而言。
Q2:一些同学本科是学其他专业,想转到计算机来,你对他们转专业有什么建议?
L师姐: 转专业的建议的话主要有以下几点:1是培养比较好的代码能力,转专业的代码基础比较差这是无论科研还是实习都比较吃力的地方。2.是发挥自己的优势,3.交叉学科,重点是发现自己的优势在哪里。比如数学转专业,那理论研究就有自己独特的优势。4.转专业还有补充一下先修课的问题。如果本科没上的课太多,可能硕士就要补很多先修课,比如ucla,可以查一下学校的先修课要求早作准备.
Q3:师姐好,想请问一下因为近几年AI的火爆,导致有很多人转到AI方向,那未来会不会出现这方面人才过剩的情况?以及如何更好的在选择自己方向时做好相应的准备?
L师姐: 我觉得AI目前还不需要担心过剩,但是之后几年的情况还不好说。据说今年算法岗校招竞争非常激烈,已经成为一种趋势。选择方向与做准备的话,我认为选择方向的前提是更了解那个方向,可以从一些优秀的学习资源中获取,比如cmu和mit常年都有公开的网课,我觉得本科如果能学习这些课程收益会是巨大的。这也是我的一些小心得吧。