古典程序员”集体恐慌
随着2007年第一台iPhone问世,随后Android的猛烈跟进,苹果和谷歌推动了长达10年的移动互联网浪潮。在此期间,移动端开发工程师可谓是风生水起,几乎人们日常生活中接触互联网90%的途径,都是通过一个叫App的东西,基于iOS/Android这两大系统平台。
然而好日子似乎也快到头了,随着行业巨头的逐步垄断,小App生存空间日渐萎缩,App排名靠前的几乎都是几家巨头的产品,市场上对移动端开发人员的需求也在下降。同时由于近些年学校里面学生也学,外面培训机构也教,开发人员的供给还在上升,大家似乎感受到了一丝丝凉意。
近两年,人工智能的浪潮汹涌而来,“古典”程序员们更是集体陷入了恐慌,不会点深度学习,是不是过两年就找不到工作了。
今天的AI就像十年前的Android/iOS一样,一夜之间需求暴涨,人才短缺。市面上的培训课程层出不穷,各种《21天学会深度学习》,《手把手教你神经网络》之类的课程,动辄几千,多者上万,跟当年的Android/iOS真的很像。
人工智能可没换一种编程语言那么简单
当然了,作为一个“科班出身”的AI从业人员,我想说还是有点不一样的。Android/iOS更多的是语言上的不同,或者界面交互方式的创新,本质上的思想和逻辑跟之前的VC/塞班也都一样。
而狭义的人工智能应用,在思考问题的方式上是完全不同的,大家考虑的更多的是模型、数据,跟数据结构课里面学的排序/查找也不是一个概念。各种数学概念搞得人晕头转向,可以说,对于普通程序员来说,AI的学习曲线是非常陡峭的。
以Facial Landmark
Detection(人脸特征点定位)为例,输入很多标注了特征点的人脸图片,经过一个应用程序很久的运算,保存一个模型文件。然后用另一个应用程序,输入一张人脸图片,就能把特征点给自动标注出来,这个过程无论从数学的角度还是从编程的角度来看,都极其复杂,以后的文章里我会试图解释。
模型只是很小一部分
大多数人工智能的教程里面,主要讲的内容我都可以归纳为模型和算法,你经常看到的各种术语,比如决策树、支持向量机、逻辑回归、神经网络,到后来的CNN,RNN,LSTM,GAN等,都是模型。在学术圈模型和算法基本上就是全部,这也是对于普通程序员来说,最难以理解的部分,就像前面提到的Facial Landmark Detection的例子。
对于工业界来说模型和算法只是一部分,