干货:普通程序员如何正确学习人工智能方向的知识?


在踏入人工智能大门前,我先讲一下,为什么这两年深度学习为什么突然火了


2016年AlphaGo 4比1 战胜李世石,掀起了一波AI热潮,DeepMind背后所用的深度学习一下子火了起来了。其实在内行看来,AlphaGo对阵李世石的结果是毫无悬念的,真正的突破在几年前就发生了。


最近AlphaGo的弟弟AlphaGo Zero把自己的哥哥直接横扫了,原因是AlphaGo Zero是两个机器人自己博弈,所以收敛速度要比学习人类棋谱快多了。


2012年,Gefferey Hinton的学生Alex使用一个特别构造的深度神经网络(后来就叫AlexNet),在图像识别的专业比赛ImageNet中,得到了远超之前最好成绩的结果,那个时候,整个人工智能领域就已经明白,深度学习的革命已经到来了。


果然,之后深度学习在包括语音识别,图像理解,机器翻译等传统的人工智能领域都超越了原先各自领域效果最好的方法。从2015年起,工业界内一些嗅觉灵敏的人士也意识到,一场革命或已到来。


随着机器学习在生活中越来越广泛得被应用在各个领域,

比如:

  • 资讯类APP,每日的消息推送都是我们自己喜欢且关注的内容(人工智能的学习和记忆)

  • 百度搜索结果的排序推送是基于用户历史的点击数据,会更多地推送个人喜欢或认为正确的结果

  • 百度广告根据每个人喜好去最大化点击的概率

  • 美图秀秀根据用户储存的自动美化后的照片来优化算法

  • 滴滴帮助司机选择路线、规划车辆调度方案

  • 未来的自动驾驶技术重新定义智能出行、智能城市

  • APP背后的判断、预测、抉择、分类。

  • 当前发展比较热门的应用,语音识别  自然语言理解  知识图谱  个性推荐  个性化排序各种领域的进步

越来越多的程序员加入AI领域,那么入行AI领域需要哪些技能呢?

肯定你们也听到了,人工智能、机器学习、深度学习这样的关键词,那么他们之间得关系是什么?


<img src="https://pic4.zhimg.com/v2-9d23293d5543d71120d6d294a79c3a77_b.jpg" data-caption="" data-size="normal" data-rawwidth="531" data-rawheight="511" class="origin_image zh-lightbox-thumb" width="531" data-original="https://pic4.zhimg.com/v2-9d23293d5543d71120d6d294a79c3a77_r.jpg"> 640?wx_fmt=jpeg


从图上可以看到,人工智能是一个很大的概念,机器学习是其中一个子集,而深度学习又是机器学习里的一种


第一章:学什么?


面对不同人,我规划了两种不同的路径


路径一:一步一个脚印,扎扎实实从基础学起,逐步提高学习难度


Step1:了解行业资讯,先来一波科普

所以在学习人工智能之前,你先了解一下行业得相关资讯,对这个行业有一个基本的认识,那么接下来你要准备学习了


Step2:务实基础—高数+Python来当道

机器学习里面涉及了很多算法,而这些算法又是数学推导出来,所以你要理解算法,就需要先学习一部分高数知识。不管是你在机器几面编辑一个算法还是应用算法,你都需要通过写程序来和机器进行对话,那么你需要编程,假如你的造诣比较高,可以用C语言,如果你是转行过来或者以前没有编程基础,那么学习Python会不错,因为Python语言相对比较简单。


Step3:机器学习算法+实践

掌握以上基础以后,就要开始学习完机器学习的算法,并通过案例实践来加深理解和掌握。还有很多机器学习的小案例等着你来挑战,前面掌握的好,后面当然轻松很多,步入深度学习


Step4:深度学习

深度学习需要机器大量的经过标注的数据来训练模型,所以你的掌握一些数据挖掘和数据分析的技能,然后你再用来训练模式。在这里你可能会有疑问,据说深度学习,好像有很多神经网络,看着好复杂,编辑这些神经网络那不是太难了,你大可放心,谷歌、亚马逊、微软等大公司已经把这些神经网络模型封装在他们各自的框架里面了,你只需要调用就可以了。


Step5:行业大型项目实践

当你学习完深度学习,此时你就可以自己动手训练一个小模型了。有条件的话,从一个项目的前期数据挖掘,到中间模型训练,并做出一个有意思的原型,能把一整套的流程跑通,那么恭喜你,你已经具备一名人工智能初级工程师的水准了


为了方便让你理解,我给你列举了学习课程的大纲,你一看啊就明白了

1、人工智能基础 — 高等数学必知必会

  1. 数据分析(就是高数)

  • 常数e

  • 导数

  • 梯度

  • Taylor

  • gini系数

  • 信息熵与组合数

  • 梯度下降

  • 牛顿法


2.概率论(大一大二学过有木有)

  • 微积分与逼近论

  • 极限、微分、积分基本概念

  • 利用逼近的思想理解微分,利用积分的方式理解概率

  • 概率论基础

  • 古典模型

  • 常见概率分布

  • 大数定理和中心极限定理

  • 协方差(矩阵)和相关系数

  • 最大似然估计和最大后验估计


3.线性代数及矩阵(大一大二学过有木有)

  • 线性空间及线性变换

  • 矩阵的基本概念

  • 状态转移矩阵

  • 特征向量

  • 矩阵的相关乘法

  • 矩阵的QR分解

  • 对称矩阵、正交矩阵、正定矩阵

  • 矩阵的SVD分解

  • 矩阵的求导

  • 矩阵映射/投影


4.凸优化(看不懂不要紧,掌握基础即可)

  • 凸优化基本概念

  • 凸集

  • 凸函数

  • 凸优化问题标准形式

  • 凸优化之Lagerange对偶化

  • 凸优化之牛顿法、梯度下降法求解


2、人工智能基础-Python入门及实践课程

  • Python快速入门

  • 科学计算库Numpy

  • 数据分析处理库Pandas

  • 可视化库Matplotlib

  • 更简单的可视化Seaborn


3、人工智能提升 — Python项目

  • Python爬虫项目


4、机器学习基础入门-算法讲解

  • 线性回归算法

  • 梯度下降原理

  • 逻辑回归算法

  • 案例实战:Python实现逻辑回归

  • 案例实战:对比不同梯度下降策略

  • 案例实战:Python分析科比生涯数据

  • 案例实战:信用卡欺诈检测

  • 决策树构造原理

  • 案例实战:决策树构造实例

  • 随机森林与集成算法

  • 案例实战:泰坦尼克号获救预测

  • 贝叶斯算法推导

  • 案例实战:新闻分类任务

  • Kmeans聚类及其可视化展示

  • DBSCAN聚类及其可视化展示

  • 案例实战:聚类实践

  • 降维算法:线性判别分析

  • 案例实战:Python实现线性判别分析

  • 降维算法:PCA主成分分析

  • 案例实战:Python实现PCA算法

5、机器学习进阶提升-项目演练

  • EM算法原理推导

  • GMM聚类实践

  • 推荐系统

  • 案例实战:Python实战推荐系统

  • 支持向量机原理推导

  • 案例实战:SVM实例

  • 时间序列ARIMA模型

  • 案例实战:时间序列预测任务

  • Xgbooost提升算法

  • 案例实战:Xgboost调参实战

  • 计算机视觉挑战

  • 神经网络必备基础

  • 神经网络整体架构

  • 案例实战:CIFAR图像分类任务

  • 语言模型

  • 自然语言处理-word2vec

  • 案例实战:Gensim词向量模型

  • 案例实战:word2vec分类任务

  • 探索性数据分析:赛事数据集

  • 探索性数据分析:农粮组织数据集

6、深度学习基础

  • 计算机视觉-卷积神经网络

  • 三代物体检测框架

  • 卷积神经网络基本原理

  • 卷积参数详解

  • 案例实战CNN网络

  • 网络模型训练技巧

  • 经典网络架构与物体检测任务

  • 深度学习框架Tensorflow基本操作

  • Tensorflow框架构造回归模型

  • Tensorflow神经网络模型

  • Tensorflow构建CNN网络

  • Tensorflow构建RNN网络

  • Tensorflow加载训练好的模型

  • 深度学习项目实战-验证码识别

  • 深度学习框架Caffe网络配置

  • Caffe制作数据源

  • Caffe框架小技巧

  • Caffe框架常用工具

7、深度学习项目演练

  • 项目演练:人脸检测数据源制作与网络训练(基于Caffe)

  • 项目演练:实现人脸检测(基于Caffe)

  • 项目演练:关键点检测第一阶段网络训练(基于Caffe)

  • 项目演练:关键点检测第二阶段模型实现(基于Caffe)

  • 项目演练:对抗生成网络(基于Tensorflow)

  • 项目演练:LSTM情感分析(基于Tensorflow)

  • 项目演练:机器人写唐诗(基于Tensorflow)

  • 项目演练:文本分类任务解读与环境配置

  • 项目演练:文本分类实战(基于Tensorflow)

  • 项目演练:强化学习基础(基于Tensorflow)

  • 项目演练:DQN让AI自己玩游戏(基于Tensorflow)

8、人工智能综合项目实战

  • 语音识别、人脸识别、

  • 电商网站数据挖掘及推荐算法

  • 金融P2P平台的智能投资顾问

  • 自动驾驶技术

  • 医疗行业疾病诊断监测

  • 教育行业智能学习系统

路径二、如果你希望快速学习完进行项目实践,请直接学习深度学习(哪里不懂,单独学习不懂得地方就可以了)


只了解以上的东西就够了么?


我们只知道了学什么?别忘了,人都有惰性,很多人是没办法坚持学习完的,而且就算是你坚持了,学习方法不对,你的效率依然很低,浪费大量时间,那么我给你列举了如下学习方法(大师级别的学习方法)


第二章:怎么学?

为了解释这个问题,我想用高效学习的方法论来阐述,其中的关键词:


适合自己——学习方法——短时间——注意力——解决难题——设定目标——名师


首先找到适合自己的学习方法

学习方法里面有两种,一个是自然主义,一个是结构主义,自然主义注重模仿,结构注意注重创造


比如英语学习:英语你更多的是需要模仿别人说话,模仿得多了,自己也就会说了,就像是小孩子学习汉语,都是模仿父母学习一个道理,这是典型的自然主义,注重文本本身,就是只是表面看起来的样子。


高等数学则需要扎实的基本功,一步一步来,就像是你高中数学很差,学高等数学就很吃力,学习高等数学,你做了大量的习题练习,你对于概念的理解就会深刻,本身像数学物理这些学科,让你记得东西本来就不多。

学习这些的目的就是为了让你举一反三,让你学会创造。像英语这样完全是不需要我门创造了。


人工智能课程属于技能课程学习,那就要遵循技能课程的学习规律,这是典型的结构注意学习方法


所以你要多练,一定要把案例逐个实践一遍,然后去想,如果自己去做一个案例,或实现某个应用,你该怎么去做


1、任务驱动

学习本身就是反人性的事情,就算是你的学习资料再好,我没有足够的动力学啊,或者说我没法坚持学下去,常常半途而废。

有人说我学习方法对了,为什么还是不管用,一种是学不会,另一种是学不好

学不会是指连入门都没有办法,学不好往往指的是达不到某种专业程度

学不会,可能跟天赋有关,比如身高就是不够打篮球,这种情况就不讨论了,直接说学不好。学不好这种情况是可以被优化,我们经常听到一句话,兴趣是最好的老师。这句话是对的,但是我在这里苦口婆心说你要多培养自己兴趣啊,这样的话,你累,我比你还要累,明明没有兴趣,非要让你喜欢上一件东西,这叫包办。很多事做成,都不是基于兴趣的。那是基于什么呢?你要知道任何人做任何事,都是要回报的。这是一个很浅显的道理,就算是一个人带着很大的痛苦去做一件事也是因为做成了这件事能获得更大的利益。

人做成事来自两个驱动力

  • 内部驱动,兴趣这就是很强的内部驱动,此外还有虚荣心等

  • 外部驱动,也就是完成任务带来的奖励

既然你干脆没有兴趣,我们干脆就把兴趣学习这件事给否定了,我要说的是,成年人学习不需要培养兴趣,应该用任务来驱动,我没有任务,我找不到任务啊,你会说,我没有任务啊,生活中的任务驱动,工作中的职业强迫,以教为学这些都是任务驱动。其中工作的职业强迫就是一种非常强的任务驱动,比如你可以通过学习人工智能技能,获得了更好的职业收入。你说我实在没有公司去聘请我,那你可以出教程啊,你出完教程然后去学习网站去卖。为了给别人教东西,而去学习。比如我一个朋友,他说他会说英语和日语。我说你啥时候会的日语啊,他说有一次他去英语辅导上课,那天正好日语课的讲师没有来,他自告奋勇说老师,我会教日语。然后他赶快报了一个日语班,结果一边学一边教,他的学生还教的特别好。因为我的这个朋友,他的目标比较明确,他是为了学完去教别人,假如你和他一起报名去学习日语,他一定比你学的好。所以我们是不是也可以抱着为了教别人的心态去学习。


我在上本科的时候,就想学习PS,可是八年时间过去了,PS还没学会,偶尔学两天,最后也没坚持下去,直到有一次因为要给老妈开一个淘宝店。为了省钱,自己拍照,自己修图,但是不会PS怎么办,就在网上找学习如何做淘宝美工得教程,结果三天把教程里面的案例实践了一遍,愣是自己把淘宝店得图片给修好了,你还别说,图片处理得有模有样。别人都看不出来是新手。


这就是典型得任务驱动,你啊,赶快给自己找一个任务


2、拖延症的确诊与治疗

通过上面一段,我是尽我所能帮你制造了学习的动机,但是光有动机,后面还会遇到别的问题。


我们接下来就会谈在学习过程中会遇到的其他问题。你说我现在已经有了要教别人的动机,但是有拖延症啊,我就笑一下,你咋得了这么时髦的病啊。最近不少人得了这个病,拖延症中拖延两个字是一个表象。拖延症有个学名叫注意力缺陷多动障碍,在拖延得表象之下,其实本质是注意力无法集中。如果你有这个病,在下一段我尝试给你解决这个问题,我还是要强调,只有任务,只有严峻得任务才能解决你的拖延症。

关于拖延症我希望你清楚得认识两点:

  • 任何人都有拖延症,只不过有些事拖延,有些事不拖延,因为一个人总不可能什么都不干嘛

  • 第二就算是自认为或者别人认为有拖延症得人,也没有被拖死

据我了解,医学上得了这个注意力缺陷多动障碍得人,连初中学业都完成不了,高中学业得少之又少,能考上大学的简直是寥寥无几。所以你说你考上了大学,说明你是没有拖延症。想要解决这个拖延症是任务还是任务。主要是你没有给自己设置严峻得任务。比如你要做一个报告是给你自己朋友得,你可能会拖延,但是假如你要是给你的老板报告,你敢拖延么,假如你是给上千人做报告你敢拖延么?你想想你有给自己设置过这么严峻得任务么?定期像上千人交代,最好是隔天交一份报告的,最好是隔天交一份报告这样严峻,你可能需要这样一次得经验。这里你肯定又要问了,我去哪里找上千人报告去。在这里我要告诉你一个方法,你要把你任务告诉你的身边的朋友,越多越好,相当于给他们吹个牛逼,这样你为了不被别人笑话你,你就必须的努力啊。有的人说,我连一件小事都坚持不下了,比如我要减掉5斤肉,几乎大部分女孩子都成天喊着减肥,但是一直没有执行起来,这里面可能是你得目标设置得有问题。你总想着我有我有一个完美得身材,是的,我还想者当亿万富翁呢,这种目标设置是有问题得,王健林不是给我们提过小目标吗,我觉得他得方法是对的,练习一定伴随着一定程度的痛苦。只不过有些人他的长期目标非常明确,有的人觉得他很苦,他自己不觉得苦,他就能坚持下来,长期目标太长了,太宏大了会增加这个过程当中的痛苦,那你不妨先不要想着最后的结果,什么马甲线啊,什么翘臀啊,你可以先设置个小游戏,做仰卧起做,每天增加一下,今天做5下,明天做6下,这是设定小得目标,把你的大的目标细化成可以每天完成事情,完不成总觉得不行。如果你总觉得舒适,那就不是学习,是练习,如果每天只比头一天多做一个仰卧起坐,那没那么苦吧,三个月之后你就可以秀你得身材了,这件事难道听起来还不够过瘾么。所以说了这么多,我再尝试解决你的拖延问题,这个问题是不太容易解决,要解决它之前,你要先认清一个事实,就是

  • 任何人都有拖延得表现,给自己设置一个正真严峻的任务

  • 用小的目标去解决拖延的问题

  • 我也为你指出了,从整治自己的身材开始

设定小目标,通过做成这件事来突破,然后形成一种惯性,逐渐去学习一些技巧性比较强的东西,先来增强自己信心,最后再去做哪些需要有量变完成质变得事,那整个这个过程算是高效得了。当然拖延症这种表象前提下事注意力无法集中,接下来会为你好好讲讲怎么改善注意力不集中得问题。


3、通过衣食住行训练专注力

方法一:

如果你要学习一样东西,需要工具,你要买贵的,比如像乐器,人们学习乐器是为了什么呢?就是为了听到好的声音啊。有人说你是有钱啊,才能买贵的,其实我之前都是买便宜的。关于买工具这件事其实只要你稍微让自己心疼一点儿就达到效果了,刻意练习这本书强调大量练习,可是你知道怎么心甘情愿得大量练习么?就是要买自己让自己心疼的工具。

方法二:

吃上怎么训练自己专注力,就是吃点儿好的,少吃素食,少吃外卖,少吃自助餐,就算是人均500得自助餐也少吃,吃一次也就够了。无论是买东西还是吃饭,还是后面提到的其他方面,要的是什么,是一种仪式感,就自助餐就是缺乏仪式感得活动,这个吃一点儿那个吃一点儿,自助餐往往不会是你吃好,但是会把你吃撑,好几天都消化不了,我会建议你少去吃自助餐,吃那些素食、外卖弄几个盒饭在那儿吃,这些都缺乏仪式感,哪怕每次都只有你一个人,也要学会好好吃饭,有人说你能想象出比一个人吃火锅更孤独,更寂寞得状态么,要我说,你们每个人都应该认认真真一个人吃一顿火锅,最好能学会做一顿饭给自己吃,这是营造仪式感非常好得行为活动,就像上一讲给你提到过的,让自己得身体变得更好,可以是我们重塑自己的开端,一个对感受自己身体走样都感受不到,把饭吃好,都做不到,那其他方面是很难做到的,

方法三:

我的第三个建议就是在工作学习过程中,尽量使用射灯,就是这个灯得光只会局部打亮,就是光线会聚集在一个范围得那种灯,这种仪式感得建立可以让你的注意力稍微集中一点儿,因为其他环境都是黑的,有点儿像舞台得那种感觉,你把自己放在舞台上,应该会把自己放在观众席上面更加专注一些,有的人是无法专注,有的人是过分专注,也就是所谓的沉溺。

方法四:

最后我要说一个平常生活中非常影响大家专注的事就是睡眠,睡眠不够,人很难做到专注,如果你是一个长期缺觉得人,你想专注那真是太难了,所以我在这里告诉你,困了就睡,不要困得不行了,还要硬撑者做事,这个效率是非常低的,你不如立即进入到高质量的睡眠,你说怎么进入高质量的睡眠,只有当你累坏了的时候才能进入高质量的睡眠,也就是感觉非常困了,你要知道小孩子睡眠经常伴随很多次得夜醒,这种睡眠质量算是非常低的。


4、大师

要有明确的目标,直奔大师,不必从基础开始。你找一些乐器课程,都是让你基础开始学习,这是学生得学习路径,但是我们是成年人,如果是从基础开始,是没办法坚持下来的。要去到哪里,从哪里开始

比如你要学习吉他,正好你有一首特别喜欢的歌,那么就练那一首歌,练三个月。你看你能不能学会。

辅导机构为啥让你从基础开始啊,因为不从基础开始,他们怎么挣钱呢?


这里面即涵盖了兴趣,也包含了任务


在这里你肯定很好奇,为啥说吉他,这与大师有啥关系,因为让我直接去弹自己喜欢的歌曲,这个方法就是大师教的


那么对应得就是要学习人工智能,你就要去找,这个里面教学水品最好的,尽管会稍微贵一点儿(当然也有教学效果好,还不贵得,有的话我一定在下面推荐),但是效果好呀,节省下来的时间,和让自己提升得层次水平,让你在工作里面不知道能多赚多少钱。


5、制造反馈

如何自己给自己制造反馈,写一点儿东西出来,录制一点儿东西出来,以前我给学生讲物理题的时候,我都让学生给我讲一遍,给我讲清楚算学懂。缺少反馈的是经常是就是平时看书,看完了啥都没记下。

看书的时候,写摘要。 Summary 需要看着文本写,,其中的例子,就不需要出现了。Summary需要用自己的话来写,找出文本当中重要得事实,观点和论据 ,要用自己的话来解释他的话。通过大量的应用和不断的重复,你没想背也把它记住了,要的是这种效果,当我们学习英语的时候。尤其是那种你经常犯错的地方,你需要及时反馈,不然你会在错误当中不停打转,比如学习英语过程中,英语语音掌握就是比较容易犯错误的情况,接着给英语发音给你讲一讲  印度口音   日本口音。练习出了问题,精度不够,重新回炉,要给自己制造反馈,将自己录一下听一听,不录下来就不知道自己丑态百出,你能想象舞蹈演员为啥要对着镜子练习么?


人工智能学习,怎么制造反馈呢,你把你学习心得,学习过程中遇到的问题,可以当经验分享出来,让别人帮你看哪里有问题,或者自己找问题。


6、突破学习瓶颈

  • 涉猎范围不够广,影响了你发挥,

  • 专注力不够,影响了你发挥。

遇到瓶颈不是方法可能是心态。怎么通过调整心态突破瓶颈,打游戏可以培养自信心。技术层面做出调整,突破瓶颈,也就是调整方法,这可能就是心态的问题了。心态调整的好,做好多事就会容易很多,这跟训练专注力,使用射灯的效果是一样的。遇到瓶颈的第二个瓶颈可能是涉猎范围不够广,比如你要学乐器,你发现你都没有听世界级小提请演奏家的的演奏,突破美感的东西就不能靠重复练习了,如果要突破自己瓶颈就需要涉猎范围广,听一些世界级演奏家的演奏,功夫在世外,如果涉猎范围也够了,可你还是没办法突破,可能是你的专注力不够。一通百通,一个拿下来,你去学其他的,就会比较快


所以学习人工智能得过程中,我们不能只闷头学习,应该也要多听听大师讲座,一些相关的资讯,来加深自己理解。甚至你看看人工智能其他流派的学术著作,都有助于你理解人工智能。

(本文来源:知乎。著作权归作者所有。)


640?wx_fmt=gif

本公众号现面向人工智能和大数据爱好者征稿(无稿酬),如果您想让您的文章、观点分享给更多人工智能和大数据爱好者,请发邮件至[email protected]

                                                       

欢迎扫码添加小编,加入人工智能和大数据公众号读者交流群,探讨、分享、交流!交流群每周会邀请行业专家进行在线分享!

640?wx_fmt=jpeg



猜你喜欢

转载自blog.csdn.net/za8KFnpo2/article/details/80028009