十一长假结束,收心归来,重新投入工作。如何能克服假期综合症呢?如何快速收心?今天营长就携三位大咖来为你打打鸡血,指引指引未来的路。他们将从自身的工作经历和学习经历的角度,告诉你未来3到5年,你的努力应该朝着怎样的方向进发。
01
阿萨姆
资深数据科学家
既然已经身在工业界,那么我就谈谈工业界未来几年需要什么样的机器学习人才。不谈学术界主要还是因为大部分人最终不会从事研究,而会奋斗在应用领域。相较而言,工业界对人才的需求更加保守,这和学术界不同。这受限于很多客观因素,如硬件运算能力、数据安全、算法稳定性、人力成本开支等。
这个答案可能更适合两类人:
在读的学生朋友
工作不久想要转行机器学习的朋友
特别厉害的技术大牛建议探索适合自己的路线,而我只能谈一谈适合大部分人的路线。但在回答前,我还是忍不住吐槽一下那种简单回答“深度学习”,“大数据”,“NLP”,“机器视觉”的人。这每一个领域的小方向都多如牛毛,以自然语言处理(NLP)为例,细分有自然语言生成、自然语言理解,还有不同语言的语言模型。任何一个方向花几十年研究也不为过,只给出几个字的答案和买彩票有什么区别...
因此大部分机器学习实践者还是该脚踏实地。盲目追逐热点很容易跌进陷阱,而巩固基础、寻找自己擅长的领域和机器学习交叉点可以帮助你在未来的就业市场变得炙手可热,成为工业界最紧缺的人才。
工业界未来需要什么样的机器学习人才?老生常谈,能将模型应用于专业领域的人,也就是跨领域让机器学习落地的人。有人会问现在我们不就需要这样的人吗?答案是肯定的,我们需要并将长期需要这样的人才,现阶段的机器学习落地还存在各种各样的困难。这样的需求不会是昙花一现,这就跟web开发是一个道理,从火热到降温也经过了十年的周期。一个领域的发展有特定的周期,机器学习的门槛比web开发高而且正属于朝阳期,所以大家致力于成为“专精特定领域”的机器学习专家不会过时。
什么是特定领域的机器学习专家?举个例子,我以前曾回答“人工智能是否会替代财务工作者”时提到我曾在某个公司研究如何用机器学习自动化一部分审计工作,但遇到的最大困难是我自己对审计的了解有限,而其他审计师对我的工作不是非常支持导致进展缓慢。所以如果你有足够的机器学习知识,并对特定领域有良好的理解,在职场供求中你肯定可以站在优势的那一边。以我的另一个回答为例「阿萨姆:反欺诈(Fraud Detection)中所用到的机器学习模型有哪些?」(https://www.zhihu.com/question/30508773/answer/205831957),特定领域的知识帮助我们更好的解释机器学习模型的结果,得到老板和客户的认可,这才是算法落了地。能写代码、构建模型的人千千万,但理解自己在做什么,并从中结合自己的领域知识提供商业价值的人少之又少。所以调侃一句,哪个方向的机器学习人才最紧缺?答:每个领域都需要专精的机器学习人才,你对特定领域的理解就是你的武器。
当然,给喂鸡汤不给勺很不厚道,所以我也会给出一些具体建议。再次申明,我的建议仅给以就业为目的的朋友,走研究路线我有不同的建议,本文不再赘述。
说到底机器学习还是需要一定的专业知识,这可以通过学校学习或者自学完成。但有没有必要通晓数学,擅长优化呢?我的看法是不需要的,大前提是需要了解基本的数学统计知识即可,更多的讨论可以看我这个答案「阿萨姆:如何看待「机器学习不需要数学,很多算法封装好了,调个包就行」这种说法?」(https://www.zhihu.com/question/60064269/answer/172305599)。最低程度下我建议掌握五个小方向,对于现在和未来几年内的工业界够用了。再一次重申,我对于算法的看法是大部分人不要造轮子,不要造轮子,不要造轮子!只要理解自己在做什么,知道选择什么模型,直接调用API和现成的工具包就好了。
回归模型(Regression)。学校的课程中其实讲得更多的都是分类,但事实上回归才是工业届最常见的模型。比如产品定价或者预测产品的销量都需要回归模型。现阶段比较流行的回归方法是以数为模型的xgboost,预测效果很好还可以对变量重要性进行自动排序。而传统的线性回归(一元和多元)也还会继续流行下去,因为其良好的可解释性和低运算成本。如何掌握回归模型?建议阅读Introduction to Statistical Learning的2-7章,并看一下R里面的xgboost的package介绍。
分类模型(Classification)。这个属于老生常谈了,但应该对现在流行并将继续流行下去的模型有深刻的了解。举例,随机森林(Random Forests)和支持向量机(SVM)都还属于现在常用于工业界的算法。可能很多人想不到的是,逻辑回归(Logistic Regression)这个常见于大街小巷每一本教科书的经典老算法依然占据了工业界大半壁江山。这个部分推荐看李航《统计学习算法》,挑着看相对应的那几章即可。
神经网络(Neural Networks)。我没有把神经网络归结到分类算法还是因为现在太火了,有必要学习了解一下。随着硬件能力的持续增长和数据集愈发丰富,神经网络的在中小企业的发挥之处肯定会有。三五年内,这个可能会发生。但有人会问了,神经网络包含内容那么丰富,比如结构,比如正则化,比如权重初始化技巧和激活函数选择,我们该学到什么程度呢?我的建议还是抓住经典,掌握基本的三套网络: a. 普通的ANN b. 处理图像的CNN c. 处理文字和语音的RNN(LSTM)。对于每个基本的网络只要了解经典的处理方式即可,具体可以参考《深度学习》的6-10章和吴恩达的Deep Learning网课(已经在网易云课堂上线)。
数据压缩/可视化(Data Compression & Visualization)。在工业界常见的就是先对数据进行可视化,比如这两年很火的流形学习(manifold learning)就和可视化有很大的关系。工业界认为做可视化是磨刀不误砍柴工,把高维数据压缩到2维或者3维可以很快看到一些有意思的事情,可能能节省大量的时间。学习可视化可以使用现成的工具,如Qlik Sense和Tableau,也可以使用Python的Sklearn和Matplotlib。
无监督学习和半监督学习(Unsupervised & Semi-supervised Learning)。工业界的另一个特点就是大量的数据缺失,大部分情况都没有标签。以最常见的反诈骗为例,有标签的数据非常少。所以我们一般都需要使用大量的无监督,或者半监督学习来利用有限的标签进行学习。多说一句,强化学习在大部分企业的使用基本等于0,估计在未来的很长一阵子可能都不会有特别广泛的应用。
基本功的意义是当你面对具体问题的时候,你很清楚可以用什么武器来处理。而且上面介绍的很多工具都有几十年的历史,依然历久弥新。所以以3-5年的跨度来看,这些工具依然会非常有用,甚至像CNN和LSTM之类的深度学习算法还在继续发展迭代当中。无论你现在还在学校还是已经开始工作,掌握这些基本的技术都可以通过自学在几个月到一两年内完成。
有了基本功只能说明你可以输出了,怎么才能使得你的基本功不是屠龙之术?必须要结合领域知识,这也是为什么我一直劝很多朋友不要盲目转机器学习从零做起。而学生朋友们可以更多的关注自己感兴趣的领域,思考如何可以把机器学习运用于这个领域。比如我自己对历史和哲学很感兴趣,常常在思考机器学习和其他文科领域之间的联系,也写过一些开脑洞的文章「 带你了解机器学习(一): 机器学习中的“哲学”」。
而已经有了工作/研究经验的朋友,要试着将自己的工作经历利用起来。举例,不要做机器学习里面最擅长投资的人,而要做金融领域中最擅长机器学习的专家,这才是你的价值主张(value proposition)。最重要的是,机器学习的基本功没有大家想的那么高不可攀,没有必要放弃自己的本专业全职转行,沉没成本太高。通过跨领域完全可以做到曲线救国,化劣势为优势,你们可能比只懂机器学习的人有更大的行业价值。
举几个我身边的例子,我的一个朋友是做传统软件工程研究的,前年他和我商量如何使用机器学习以GitHub上的commit历史来识别bug,这就是一个很好的结合领域的知识。如果你本身是做金融出身,在你补足上面基本功的同时,就可以把机器学习交叉运用于你自己擅长的领域,做策略研究,我已经听说了无数个“宣称”使用机器学习实现了交易策略案例。虽不可尽信,但对特定领域的深刻理解往往就是捅破窗户的那最后一层纸,只理解模型但不了解数据和数据背后的意义,导致很多机器学习模型只停留在好看而不实用的阶段。
换个角度思考,不同领域的人都有了对机器学习的理解能更好的促进这个技术落地,打破泡沫的传言。而对于大家而言,不用再担心自己会失业,还能找到自己的角度在这个全民深度学习的时代找到“金饭碗”。所以我建议各行各业的从业者不必盲目的转计算机或者机器学习,而应该加深对本专业的了解并自学补充上面提到的基本功,自己成为这个领域的机器学习专家。
没有什么不会改变,这个时代的科技迭代速度很快。从深度学习开始发力到现在也不过短短十年,所以没有人知道下一个会火的是什么?以深度学习为例,这两年非常火的对抗生成网络(GAN),多目标学习(multi-lable learning),迁移学习(transfer learning)都还在飞速的发展。有关于深度学习为什么有良好泛化能力的理论猜想文章在最新的NIPS听说也录了好几篇。这都说明了没有什么行业可以靠吃老本一直潇洒下去,我们还需要追新的热点。但机器学习的范围和领域真的很广,上面所说的都还是有监督的深度学习,无监督的神经网络和深度强化学习也是现在火热的研究领域。所以我的建议是尽量关注、学习了解已经成熟和已经有实例的新热点,不要凡热点必追。
如果你有这些基本功和良好的领域结合能力,三年五年绝不是职业的瓶颈期,甚至十年都还太早。科技时代虽然给了我们很大的变革压力,但也带给了我们无限的可能。技术总会过时,热点总会过去,但不会过去的是我们不断追求新科技的热情和对自己的挑战。
02
紫杉
Stanford University,Stanford AI组
这个问题本身是很赞的,学以致用才是最好的。
这个问题不是很好回答。前一半问题是“哪个方向”,似乎讲的是领域和研究方向,后一半问题“最紧缺人才”,又和就业有关。所以我的回答尽量把这两方面兼顾,先谈就业和工业界紧缺的人才,再说说学术界缺少的人才。
我最近被两个前辈抓到他们的创业公司做暑期实习,公司是什么最好就不说了,但除我之外还骗来了一个清华的本科生(从北京骗到了硅谷)。两位前辈一个是Sebastian Thrun(赛巴斯提安·特龙)的学生,一位是Stefano Ermon的学生,去年在AAAI拿了个最佳论文的奖。
我虽然对工业界一直都不太熟悉,但借这个机会算是好好看到了一番目前人工智能创业公司的有趣情景。虽然不一定能当做借鉴,但一些经验对目前在校或者刚离校的学生来讲也许会有帮助。
能灵活解决问题的人很缺
在我被抓去之前,他们有另外一个名叫Daniel(丹尼尔)的研究生帮忙,丹尼尔也是一位人工智能方向的研究生。丹尼尔负责的模块是文本的聚类算法。我对聚类算法一窍不通,之前还把KNN和K-means搞混了。公司创始人Zayd(札德)告诉我,他们的文本簇群(cluster)总是有问题,丹尼尔调整聚类算法的参数已经6个月,但是根本没办法提升质量。
我用了一周的时间读丹尼尔的代码(够慢了吧,完全赶不上很多国内的优秀学生),然后打开Jupyter Notebook开始一点点的做分析,最后发现丹尼尔把文本距离的算法做错了,任何从事自然语言处理的人都明白edit distance(编辑距离)的首选就是莱文斯坦距离(Levenshtein距离),就算不是做自然语言处理的,这个距离在计算机界也用的很多。但这个距离压根不存在于丹尼尔的任何代码中。然后我把这一行加入进去,代码跑了5小时,最后给札德说:我做完了,检查质量吧。
一周后,丹尼尔就被炒鱿鱼了……然后公司的另一个创始人Russel(罗素)开始到处宣传我用了一周解决了别人六个月都解决不了的问题。(当然,丹尼尔最后找到了一份谷歌的工作,开开心心的做机器人去了)
举这个例子想说明一件事:(创业公司真是没有安全感?)要建立起在某个领域的直觉和精通。这个精通并不单单是掌握一两个(甚至是好几个)算法就可以了的。深度学习总爱鼓吹一个模型解决所有问题,但是等你真正进入公司后才发现这基本是不可能的。
基础是必须扎实的,这个基础最好是某一个领域将近20-30年的知识的积累。只会跑个LSTM是肯定不行的。
能专精的人才也很缺
这里要讲另外一个同学的例子了,他的名字叫Ethan(伊森),从伊利诺伊香槟毕业,在我校读了两年计算机研究生,跟在航天航空工程学院的Mykel Kochendefer(麦克·寇克德福尔)教授麾下做了一段时间的研究。
暑假刚开始的时候,我在帕罗奥图的街上偶然遇见他,因为有过一面之缘,打了招呼后顺带聊了聊现状,当我告诉他我加入了札德的公司的时候,他说他几天后要跟札德面试。
我在回答开头剧透了,伊森没能应聘成功,被札德狠狠的拒绝了。在这里分享的意义是,伊森的背景和很多进入人工智能领域的人很相似。下面这一段是我和他的对话:
我:“你最擅长的人工智能领域是什么呢?”
伊森:“我什么都会吧(jack-of-all-trades)。”
(极端意义下的潜台词:我啥都会一点,门门不专精)
我:“你在寇克德福尔教授那里做了什么样的研究呢?”
伊森:“我给无人机搭建了一个服务器,用了Kafka做流处理。”
(极端意义下的潜台词:我不涉及核心的人工智能算法,我搭了个网站后台,我只是个普通的工程师)——虽然Kafka也还算是有趣
我:“怎样的工作在你看来最有趣呢?”
伊森:“我想有机会把最前沿的算法应用在公司的业务中。”
(极端意义下的潜台词:我不在乎算法究竟适合不适合,更爱追求“前沿”)
我:“你理想的工作岗位是什么呢?”
伊森:“我其实最想当人工智能的产品经理。”
(潜台词:我不想当码农干活,想命令一帮工程师替我干活)
最后伊森问了我一个问题,如何在一周内精通自然语言处理,然后我只能告诉他我不知道。
举这个例子的意思是,伊森是一个聪明人,有很强的工程背景(伊利诺伊香槟的计算机系很不错),但是却不一定是机器学习/人工智能创业公司的最理想人才,为什么呢?因为在学校阶段没有在实验室做研究型工作,也没有足够的实践经验。他找错了教授(抱错了大腿)。寇克德福尔教授没有给他任何研究性质的工作,于是他用了两年宝贵的时光学习了如何搭建服务器,如何使用Kafka。
当然,如果想要做普通的工程师岗位,任何(不论大小)公司都缺优秀的后端工程师,但如果想应聘机器学习方面的岗位,或者和算法、研发比较接近,那么搭建平台或者服务器的“研究”经历就是不够的。
如果本科有个很好的学校,或者特别擅长学习,这一类的优秀人才很容易陷入每一个领域都想学学的陷阱。再加上“大公司要专才,小公司要全才”一类的宣传,很容易觉得如果每方面都学一点,那么一定会被创业公司喜爱。
事实上机器学习的底层模型原理都是类似的,与其在应用层(比如机器控制、视觉、语言、语音)等瞎晃,还不如去把底层原理弄清楚。人工智能的创业公司,和普通的网页或者手机应用公司还是有区别的。这些公司更看重学生在学术领域的成绩,因为目前大部分人工智能的模型是没法直接搬到工业场景的。
能够把学术模型转化成工业模型的人才很缺
这里要讲一个成功案例,Nihil (尼希尔)是另一个我认识的研究生,也是从伊利诺伊香槟大学毕业。尼希尔其实比我年纪大好几岁,但长着一张娃娃脸,他之前在LinkedIn(领英)做大规模搜索(Scaled Search),专门负责把理论算法扩大到工业场景中,擅长搭建后台,有很强的工程背景。两年的斯坦福计算机硕士后,现在被Snapchat找去做大规模视频搜索算法。
无论是我还是札德,在和他交流后都很想让他跳槽来我们这里工作。
也许你想问,他和伊森的区别是什么?两个人看起来不都差不多,都是以做服务器或后端为主,为什么尼希尔是大家想要的人才,伊森并不完全算是?因为经历和背景,在领英这样的大公司做高吞吐高负荷的算法所积累的技能,是一个实验室的无人机平台无法企及的。
任何人都可以跑一个LSTM,但是当训练数据有超过1000万条的时候,LSTM需要跑3天才能见完所有的数据,在这个情况下,你该怎么做?除了在多个GPU上并行以外,还可以进行算法上的改进,LSTM是所谓的线性时间度 O(n)的算法,可以换成像ByteNet这样的sub-linear时间度 算法。
这样的场景就需要有研究背景的人才,能够阅读业内最新的论文,还能够结合学术前沿切实的解决工业上的难题。深度学习50%是学术,50%是工程。这个领域的学术大牛,像是Justin Johnson(贾斯汀·强森),Andrej Karpathy(安德烈·卡帕西)(两人都是斯坦福CS231N的讲师)都是很强的工程能手。
题外话:能够研究深度学习理论的人才
去年暑假我上凸优化的时候,当时我的老师Stephen Boyd(史蒂芬·波伊德)就说,当年(80年代)凸优化刚火的时候,学术界和工业界齐头并进,但大部分优秀论文都集中在学术界,用凸优化的框架建立算法,然后应用在各种数据集上,取得一个又一个辉煌的成果。但随着时间推移,没过十年,学术界在数据和应用就已经赶不上工业界了。当然,学术界既没有足够多的机器,也没有财力去搜集大量的数据,当工业界开始用资本大规模投入的时候,学术界自然就战胜不了工业界了。
我们现在已经可以看到苗头了,DeepMind,谷歌,OpenAI,微软,FAIR等各大公司抢占人工智能高地,大量的发出论文,传统的强校诸如CMU或斯坦福都比不上这些大公司的势头和影响力。这个情况在3-5年后很有可能会恶化。
也许很多人觉得深度学习的理论就是数学,理论根本不能有任何实践产出,何必研究理论呢?还不如写网页前端或者做个手机App呢。
我今年听了Philip Thomas(菲利普·托马斯)的一个讲座,讲的是安全增强学习(Safe RL),这个讲座讲了一个案例,他们想要通过增强学习来自动调解糖尿病病人的给药泵,这个泵给药给多了,病人就要截肢,给少了病人就要直接休克死。高不成低不就的典型代表。目前这种泵的算法是一个简单的微分方程,能保证不会少给药,但是经常会多给药,导致很多重度糖尿病都要被截肢。
菲利普的这个项目就是要尝试着用增强学习来得到一个优良的自动调整模型。这个项目立意很好,救人一条腿胜造七级浮屠嘛,但是菲利普问了在座的我们一个问题:“你们知道现在这些增强学习的算法,需要多少次试验才能调出一个成功的模型吗?”
需要上百万次参数调整后,才能得到一个很好的模型。你总不能对几百万糖尿病患者说:“为了所有现在以及未来的糖尿病患者,你们去死吧。” 而且更重要的是,增强学习算法经常不能保证每一次参数改变后都能让模型变得更好:
这就像是说,我不知道这一颗药让你更健康还是让你死掉(或截肢),但是为了实验效果,你最好给我吃下去。
为了真正的把增强学习应用在医疗领域,需要通过概率理论,通过各种Bound(边界)去证明一个算法能切实的每次都达到更好的效果。这就是理论对工业界的指导,也是理论在应用领域的胜利。
每个机器学习的领域,不论是自然语言处理、机器视觉、机器人其实都是这样的人才紧缺规律,找到自己最适合的缺口才是最重要的。这可以是能够将一个算法高度并行化,在上百块GPU上运行的工程人才,也可以是在高危领域(比如无人驾驶、医疗)保证安全第一的理论人才。这两块区域在未来的3-5年内都会急缺人才。
最后总结一下,并不是每一个人都适合这两条路,但与其是押宝于某个领域(机器人、自然语言、视觉)还不如想想在这个领域内自己要做到怎样的专精。让在这个和时间赛跑的世界里,能让算法跑得更快的永远是最稀缺的人才。
03
京东刘艳光
京东无人机研发中心总经理
从人才紧缺的角度来看,机器学习未来3-5年,在哪个方向容易落地,恰好这个方向又能很好的跟实际应用场景相结合,创造巨大的利润空间,那么这个市场和技术,就会导致人才的大量紧缺。
从目前技术发展来看,机器学习领域学术界发展大热,工业界的研究也是趋之若鹜,但对于市场来说,与之相配套的上下游产业还没有完全成熟,未来1-3年内,应该还是一个积累期和探索期,这个时期内,在与机器学习相结合的的一些垂直行业,可能会出现井喷式的爆发,如语音识别技术,图像识别技术,翻译软件等,还有现在比较火的slam技术,结合扫地机器人,环境感知传感器等。随着5G时代的到来,数据传输带宽和传输时延将会有一个或几个数量级的增长,物联网技术将会逐渐铺开。
将来万物互联,每一个物体都是一个信息采集节点,数据量将会比现在的互联网时代呈指数级增长,大数据的条件具备了,就为机器学习算法发挥力量提供了行业基础,真实世界和虚拟世界的契合度进一步增加,我觉得3-5年后,与服务,健康,交互,分析等相关的产业,机器学习结合具体的场景应用,将会有非常广阔的空间。
那时候,机器学习的基础框架,会逐渐趋于成熟,就跟现在的操作系统一样,程序员不用特别关注里面的运行机制,只需要基于这样的平台或者框架,来做场景应用就可以了。
所以,将来我觉得,懂机器学框架,同时又能深入结合某个专业领域知识的人,能够跟场景模型紧密结合系统和专业,最吃香。
与其问将来机器学习那个方向吃香,倒不如转变转变思路,想想将来那个行业吃香,社会发展的趋势是什么?人们现在在高度发展的互联网时代,当这些都成为常态后,人们的精神诉求在哪里。
我觉得从我亲身感受来说,我更加在意的是,如何获取到自身的一个真实的状态,能够对自己进行更加精细和理性的管理。比如说通过小米手环等检测自身健康状态,合理的时间分配,对自己的精神状态,行为进行数据分析。这些都可以通过机器学习的手段,进行更加深入的分析。这种分析跟现在的分析不一样,这种分析不应该只是提现你现在状态,还应该能指导你下一个状态。
一百天人工智能工程师学习计划——全程实战案例,从机器学习原理到推荐系统实现,从深度学习入门到图像语义分割及写诗机器人,再到专属GPU云平台上的四大工业级实战项目。100天内完美掌握人工智能工程师必备技能。
☞ 点击阅读原文,查看详细课程信息。