自从Google的AlphaGo引爆了人工智能这个领域后,大量的人才开始涌入人工智能领域,各大公司也都开始布局人工智能方向。看一个领域的火爆程度,直接看相关职位的招聘人数和平均薪酬即可。就拿各大公司的校招广告来说,对于人才的争夺也是蛮拼的。下图是2018年企业校招的薪酬表:
在互联网上也疯传如下的数据:
看到这样的数据,我真的是相当惭愧,刚毕业的学生,AI方向的都是30万年薪起步,这让多年奋斗在计算机行业的我情何以堪。羞愧之余,内心也有点不服气,既然这个领域前景这么好,我为什么不能转向这个领域。
于是我也采取了行动。AI领域最火的无疑是深度学习,网上很多人推荐从李宏毅的这份《Deep Learning Tutorial》PPT入手。这份资料在网上流传很广,很容易的就找到了。接下来就是专心学习,看到这里(如下图)
感觉还是比较好理解的,然而看到这里:
这都是啥东东?再往后看,就越看越懵了。去知乎、Google兜了一圈,大家的观点比较一致,进入AI领域需要有很好的数学基础,入门的姿势是从《线性代数》、《概率论》学起。
天哪!虽然大学里也学过线性代数、概率论与数理统计的课程,可在当时就是学的就晕乎乎的,更何况过了这么多年,完全没有用过,要捡起来谈何容易。面对这样的现实,有点茫然,不知道该不该转向机器学习领域。
最近读了一本科幻小说《三体》,里面有一段有写到,人类基础科学被智子锁死,无法取得进展,但人类并没有停止进步,在工程方面获得了长足发展,也建造出了庞大的太空舰队(虽然在三体文明面前仍然不堪一击)。由此联想到人工智能领域,算法相当于人工智能的基础科学,人工智能在各个行业中的应用则属于工程领域,既然搞AI算法是没戏了,做做AI应用应该还是可以的吧。
其实基础科学领域的进展是相当缓慢的,比如计算机结构直到今天还没有突破冯·诺伊曼结构,要知道这可是在上世纪四十年代提出的。AI的科学基础线性代数、概率论等在几十年前就已经发展得非常完备,这里面大量的知识都是在上世纪初建立的。
初步思考了一下,作为开发人员,AI领域界可分成下面几个层级:
想明白了这一点后,我也只能加入第三类人群中排队进场,能做一个AI领域的码农不也是挺好的吗?
在做了一些功课之后,我决定从如下两本书入手:
从书名就可以看出,这是一本实践多过理论的一本书。这本书没有从理论角度来揭示机器学习算法背后的数学原理,而是通过“原理简述+问题实例+实际代码+运行效果”来介绍每个算法。这非常对我这样实战派的胃口,边学边用,以代码说话。 开始本书学习的前提条件也非常简单,只需对python语言有基本的了解。不需要Linux、不需要GPU,只要有python编程环境就可以开始,对开发人员相当友好。 本书附录部分还非常贴心的附加了Python入门、线性代数、概率论方面的基础知识,毕竟要理解一些算法,还是需要一点点基础知识的。
这本书被网友亲切的称为西瓜书,也是被很多人大力推荐的。但这本书是一本教科书,而且是一本入门的教科书。其宗旨是理清基本概念、了解领域概貌。就像人们到了一个陌生的地方,首先需要去找张地图,大致弄清楚哪里是山、哪里有水、自己身处何处,然后才好到具体区域去探索。所以这本书更多是让人“观其大略”,对各种算法都有大体的介绍,但都没有深入。 虽然作者试图尽可能少的使用数学知识,但相比《机器学习实战》,这本书的数学公式还是多了不少,对读者的要求也要高一些,读起来要吃力一些。这本书也没有涉及算法的实现,不需要编程方面的知识。
个人觉得将两本书结合起来看比较好,所以在以后一段时间内我将同时学习这两本书,如果学习中碰到什么问题,有什么心得,也会写出来和大家分享。