学习AI的大致步骤:
(1)了解人工智能的一些背景知识;
(2)补充数学或编程知识;
(3)熟悉机器学习工具库;
(4)系统的学习AI知识;
(5)动手去做一些AI应用;
1 了解人工智能的背景知识
人工智能里面的概念很多,比如机器学习、深度学习、神经网络等等,使得初学者觉得人工智能很神秘,难以理解。刚开始学习的时候,知道这些名词大致的意思就行了,不用太深究,学习过一段时间,自然也就清楚这些概念具体代表什么了。
人工智能是交叉学科,其中数学和计算机编程是学习人工智能最重要的两个方面。这些在“知云AI专栏”之前的文章“认识人工智能”,也为大家介绍过,没阅读过的同学可以去看一下。
下图为人工智能学习的一般路线:
2补充数学或编程知识
对于已经毕业的工程师来说,在系统学习AI之前,一般要补充一些数学或者编程方面的知识。如果你的数学和编程比较好,那么学习人工智能会轻松很多。
很多同学一提到数学就害怕,不过,学习人工智能,数学可以说是绕不过去的。在入门的阶段并不需要太高深的数学,主要是高等数学、线性代数和概率论,也就是说,大一大二学的数学知识已经是完全够用了。如果想要从事机器学习工程师的工作,或者搞人工智能的研究,那么应该多去学习数学知识,数学好将会是工作中的一大优势。
Python是在机器学习领域非常受欢迎,可以说是使用最多的一门编程语言,因此Python编程也是需要掌握的。在众多的编程语言中,Python是比较容易学习和使用的编程语言,学好Python也会受益很多。
3 熟悉机器学习工具库
现在人们实现人工智能,主要是基于一些机器学习的工具库的,比如TensorFlow、PyTorch等等。
在这里推荐大家学习PyTorch。PyTorch非常的受欢迎,是容易使用的机器学习工具库,有人这样评价PyTorch“也说不出来怎么好,但是使用起来就是很舒服”。
刚开始学习人工智能的时候,可以先运行一下工具库官网的示例,比如MNIST手写体识别等。这样会对人工智能有一个感性的认识,消除最初的陌生感。然后可以看看里面的代码,你会发现,其实神经网络的程序并不复杂,但是会对神经网络的原理和训练有很多的疑问。这是一件好事,因为带着问题去学习,会更有成效。
4 系统的学习人工智能
这里的人工智能主要指机器学习,因为目前人工智能主要是通过机器学习的方式来实现的。
机器学习知识主要有三大块:
(1)传统机器学习算法,比如决策树、随机森林、SVM等,这些称作是传统机器学习算法,是相对于深度学习而言的。
(2)深度学习,指的就是深度神经网络,可以说是目前最重要最核心的人工智能知识。
(3)强化学习,源于控制论,有时候也翻译成增强学习。深度学习可以和强化学习相结合使用,形成深度强化学习。
在这里需要知道的是深度学习并不难学,对于一些工科的研究生,一般只需要几周就可以上手,并可以训练一些实际应用中的神经网络。但是想要对深入学习有深入理解不是容易的事情,一般需要几个月的时间。
传统机器学习算法的种类非常多,有些算法会有非常多的数学公式,比如SVM等。这些算法并不好学,因此可以先学习深度学习,然后再慢慢的补充这些传统算法。
强化学习是比较有难度的,一般需要持续学习两三个月,才能有所领悟。
5 动手去做一些AI应用
学习过几周的深度学习之后,就可以动手尝试去做一些AI应用了,比如图像识别,风格迁移,文本诗词生成等等。边实践边学习效果会好很多,也会逐渐的加深对神经网络的理解。
说实话,人工智能涉及到领域和课程太多,看了其他的回答,很专业,但我觉得对于你这样完全零基础的小白来说,其实并不适合,学习门槛还是很高的。我现在在科大讯飞工作,我们这边最近上线了一个AI大学,里面的课程浅显易懂很符合零基础的人学习。AI 大学是讯飞开放平台发起搭建的国内首个AI在线学习平台,为所有AI群体提供学习分享和经验交流的机会,秉承“开放、学习、互动、共享”的平台理念,旨在为AI领域开发者、兴趣爱好者、专业学习群体等提供AI专业技术课程、平台运营资源、学习互动支持等服务。
里面包含了这些内容:
1. 精品在线课程:AI大学提供覆盖语音合成、语音识别、AIUI、麦克风阵列等多个核心业务领域的课程,包含技术能力、解决方案、行业剖析等多个维度。
2. 最新线下活动:每月一期的线下交流活动,技术沙龙、产品发布、创客交流……讯飞技术大咖与你面对面交流,分享多年从业经验。
3. AI开发者互动论坛:所有AI爱好者的在线交流基地。最常见的问题和最精华的回复汇聚在此,帮助开发者快速排雷。
4. 前沿的知识干货:整合行业内AI相关的资讯信息,为用户提供有价值的内容和服务,每周定期更新AI领域最新黑科技、开发者关注话题资讯
5. 高校政府合作:AI大学联合多方资源,给学员提供技术、场地、高校培训等各类支持与帮扶,致力于给学员提供一站式教学内容,并助力孵化
授课的老师都是行业内的专业人士,包括刘庆峰--科大讯飞董事长、吴霁虹--人工智能专家学者
、宋继强--Intel中国研究院院长、陈云霁--寒武纪董事长、李远清--华南理工大学博导
、徐立--商汤科技CEO、朱靖波--小牛翻译创始人、陈志刚--讯飞AI研究院副院长
建议你可以去看下,登录AI大学官网http://ai.xfyun.cn即可,对了,里面还有个专属的通行证可以看下,除了全年的免费课程,还可以直接参加科大讯飞的线下发布会。
最后,希望能对题主有用,有问题也可以与我交流。
第一步:复习线性代数。
懒得看书就直接用了著名的——麻省理工公开课:线性代数,深入浅出效果拔群,以后会用到的SVD、希尔伯特空间等都有介绍;
第二步:入门机器学习算法。
还是因为比较懒,也就直接用了著名的——斯坦福大学公开课 :机器学习课程,吴恩达教授的老版cs229的视频,讲的非常细(算法的目标->数学推演->伪代码)。这套教程唯一的缺点在于没有介绍最近大火的神经网络,但其实这也算是优点,让我明白了算法都有各自的应用领域,并不是所有问题都需要用神经网络来解决;
多说一点,这个课程里详细介绍的内容有:一般线性模型、高斯系列模型、SVM理论及实现、聚类算法以及EM算法的各种相关应用、PCA/ICA、学习理论、马尔可夫系列模型。
第三步:尝试用代码实现算法。
依然因为比较懒,继续直接使用了著名的——机器学习 | Coursera ,还是吴恩达教授的课程,只不过这个是极简版的cs229,几乎就是教怎么在matlab里快速实现一个模型(这套教程里有神经网络基本概念及实现)。这套课程的缺点是难度比较低,推导过程非常简略,但是这也是它的优点——让我专注于把理论转化成代码。
第四步:自己实现功能完整的模型——进行中。
还是因为比较懒,搜到了CS231n Winter 2016 - YouTube ,主要介绍卷积神经网络在图像识别/机器视觉领域的应用(前面神经网络的代码没写够?这门课包你嗨到爆~到处都是从零手写~)。这门课程的作业就更贴心了,直接用Jupyter Notebook布置的,可以本地运行并自己检查错误。主要使用Python以及Python系列的科学计算库(Scipy/Numpy/Matplotlib)。
在多说一点,这门课对程序员来说比较走心,因为这个不像上一步中用matlab实现的作业那样偏向算法和模型,这门课用Python实现的模型同时注重软件工程,包括常见的封装layer的forward/backward、自定义组合layer、如何将layer组成网络、如何在网络中集成batch-normalization及dropout等功能、如何在复杂模型下做梯度检查等等;最后一个作业中还有手动实现RNN及其基友LSTM、编写有助于调试的CNN可视化功能、Google的DeepDream等等。(做完作业基本就可以看懂现在流行的各种图片风格变换程序了,如 cysmith/neural-style-tf)另外,这门课的作业实现非常推崇computational graph。
关于用到的系统性知识,主要有:
线性代数,非常重要,模型计算全靠它~一定要复习扎实,如果平常不用可能忘的比较多;
高数+概率,这俩只要掌握基础就行了,比如积分和求导、各种分布、参数估计等等。(对于算法的设计和改进工作,概统是核心课程,没有之一。答主这里想要说的是,当拿到现成的算法时,仅需要概率基础知识就能看懂,然后需要比较多的线代知识才能让模型高效的跑起来。)
需要用到的编程知识也就是Matlab和Numpy了吧,Matlab是可以现学现卖的;至于Python,就看你想用来做什么了,如果就是用来做机器学习,完全可以一天入门,如果想要做更多好玩的事,一天不行那就两天。
这两年人工智能发展很快,从之前的谷歌AlphaGo机器人战胜世界围棋冠军,到百度无人车,京东和亚马逊的无人仓库分拨中心,还有很多人工智能的相关应用,可见人工智能的前景一片大好,于是就有很多人想要去进行人工智能学习。人工智能学习路线推荐给你:
阶段一是Python语言(用时5周,包括基础语法、面向对象、高级课程、经典课程);阶段二是Linux初级(用时1周,包括Linux系统基本指令、常用服务安装);阶段三是Web开发之Diango(5周+2周前端+3周diango);阶段四是Web开发之Flask(用时2周);
阶段五是Web框架之Tornado(用时1周);阶段六是docker容器及服务发现(用时2周);阶段七是爬虫(用时2周);阶段八是数据挖掘和人工智能(用时3周)。
在这里,小编还想给大家推荐一本人工智能学习必备书籍:《人工智能基础教程(第2版)》系统地阐述了人工智能的基本原理、实现技术及其应用,全面地反映了国内外人工智能研究领域的最新进展和发展方向。
《人工智能基础教程(第2版)》共18章,分为4个部分,第1部分是搜索与问题求解,系统地叙述了人工智能中各种搜索方法求解的原理和方法;
第2部分为知识与推理,讨论各种知识表示和处理技术、各种典型的推理技术,还包括非经典逻辑推理技术和非协调逻辑推理技术;
第3部分为学习与发现,讨论传统的机器学习算法、神经网络学习算法、数据挖掘和知识发现技术;
第4部分为领域应用,这些内容能够使读者对人工智能的基本概念和人工智能系统的构造方法有一个比较清楚的认识,对人工智能研究领域里的最新成果有所了解。
《人工智能基础教程(第2版)》强调先进性、实用性和可读性,可作为计算机、信息处理、自动化和电信等it相关专业的高年级本科生和研究生学习人工智能的教材,也可供从事计算机科学研究、开发和应用的教学和科研人员参考。
建议还是办一个培训班学校,这是人工智能的所有课程,要是感兴趣的话,可以了解一下:
第一阶段
前端开发 Front-end Development
1、桌面支持与系统管理(计算机操作基础Windows7)
2、Office办公自动化
3、WEB前端设计与布局
4、javaScript特效编程
5、Jquery应用开发
第二阶段
核心编程 Core Programming
1、Python核心编程
2、MySQL数据开发
3、Django 框架开发
4、Flask web框架
5、综合项目应用开发
第三阶段
爬虫开发 Reptile Development
1、网络爬虫开发
2、爬虫项目实践应用
3、机器学习算法
4、Python人工智能数据分析
5、python人工智能高级开发
第四阶段
人工智能 PArtificial Intelligence
1、实训一:WEB全栈开发
2、实训二:人工智能终极项目实战