如何自学人工智能

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-07
如何自学人工智能?

1. 寻找一些免费的书籍。
Shival Gupta分享自己初学AI的经验时,强调了熟悉基本AI术语和方法的重要性。寻找一些免费的AI书籍作为自己学习人工智能的开始,是正确的做法。
Peter Norvig和Stuart J. Russell所著的《Artificial Intelligence: A Modern Approach》一书就很不错。本书不仅介绍了基本的人工智能概念和算法(专家系统、深度优先和广度优先搜索、知识表示等),而且还包括基础知识如贝叶斯推理,一阶逻辑,语言建模等。
对于那些对深度学习感兴趣的人, Ian Goodfellow、Yoshua Bengio和Aaron Courville 所写的《深度学习》(自适应计算和机器学习系列)一书是不错的选择。此外,可以看看《Logic For Computer Science》这本免费书,它解释了计算机科学的数学逻辑,并强调了求解证明的算法方法。

2.熟悉Python,(C / C ++)和数据结构。
人工智能从业者相信,任何主流语言和非主流语言都能应用于AI / ML。最大的区别在于库/工具的性能和可用性。
例如,C++的所有设置都优于Java或Python,并帮助开发人员最大化硬件的功能。另一方面,Python有一个非常好的FFI,并且经常与C或C++结合使用。与此同时,Octave / MATLAB、R、Python、C++、Java、R和其他一些语言都有高质量的库,如何使用取决于你想要做什么。
一般的共识是,必须熟悉一些流行的语言,如Python,它有一个很好的工具箱/库。

人工智能是一个包含很多学科的交叉学科,你需要了解计算机的知识、信息论、控制论、图论、心理学、生物学、热力学,要有一定的哲学基础,有科学方法论作保障
人工智能学习路线最新版本在此奉上:
首先你需要数学基础:高等数学,线性代数,概率论数理统计和随机过程,离散数学,数值分析;
其次需要算法的积累:人工神经网络,支持向量机,遗传算法等等算法;
当然还有各个领域需要的算法,比如你要让机器人自己在位置环境导航和建图就需要研究SLAM;

算法很多需要时间的积累。
然后,需要掌握至少一门编程语言,毕竟算法的实现还是要编程的;如果深入到硬件,一些电类基础课必不可少;
人工智能一般要到研究生才会去学,本科也就是蜻蜓点水看看而已,毕竟需要的基础课过于庞大。

刚才提到的这些学科的每一门都是博大精深的,但同时很多事物都是相通的,你学了很多知识有了一定的基础的时候再看相关知识就会触类旁通,很容易。在这中间关键是要有自己的思考,不能人云亦云。毕竟,人工智能是一个正在发展并具有无穷挑战和乐趣的学科。

学习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、实训二:人工智能终极项目实战

  • 人工智能零基础如何自学入门
    答:一、明确学习目标 确定自己学习人工智能的目标和应用方向,如机器学习、深度学习、自然语言处理等,这有助于更有针对性地选择学习内容和资源。二、了解基础知识 数学基础理解线性代数、概率统计、微积分等数学概念,它们是人工智能算法的基础。编程基础学习一种编程语言,如Python,掌握基本的语法和编程概念,...
  • 如何自学人工智能
    答:刚开始学习人工智能的时候,可以先运行一下工具库官网的示例,比如MNIST手写体识别等。这样会对人工智能有一个感性的认识,消除最初的陌生感。然后可以看看里面的代码,你会发现,其实神经网络的程序并不复杂,但是会对神经网络的原理和训练有很多的疑问。这是一件好事,因为带着问题去学习,会更有成效。...
  • 如何自学人工智能?
    答:1. 寻找一些免费的书籍。Shival Gupta分享自己初学AI的经验时,强调了熟悉基本AI术语和方法的重要性。寻找一些免费的AI书籍作为自己学习人工智能的开始,是正确的做法。Peter Norvig和Stuart J. Russell所著的《Artificial Intelligence: A Modern Approach》一书就很不错。本书不仅介绍了基本的人工智能概念...
  • 人工智能可以自学吗?
    答:4、不断实战,曾倩自己的实力经验.实战是检验真理的唯一标准.当你掌握了基本的技术理论,就要开始多练习,不断验证自己的理论,更新自己的技术.有条件的话,可以从某个项目的前期数据中挖掘,进行中间模型的训练,制作有趣的原型,跑步整个过程.恭喜你.已经有人工智能初级工程师的水平了.
  • 人工智能普通人能学吗?
    答:对于普通人来说,学习人工智能可以从以下几个方面入手:学习基础数学和计算机科学知识。人工智能需要一定的数学和计算机科学基础,如线性代数、微积分、概率论、算法和数据结构等。如果缺乏相关背景,可以通过自学或在线课程来学习这些基础知识。学习编程语言。掌握一种编程语言是学习人工智能的必备技能。Python是...
  • ai从零基础需要学多久
    答:1、零基础学员人工智能学习周期一般在五个月左右,可以通过看书或者网上教程学习,在溜溜自学也有人工智能的基础入门教程。2、因为没有计算机编程能力也没有相关开发经验,所以要从最基本的python编程语言开始学习,python因为其功能强大,应用广泛,同时有很多的现成的人工智能,机器学习相关的资源,因此选择...
  • 大学自学人工智能需要看哪些书籍?
    答:《Python编程:从入门到实践》(Eric Matthes):Python是人工智能领域最常用的编程语言,这本书适合初学者学习Python编程。《数据结构与算法分析:C语言描述》(Mark Allen Weiss):数据结构和算法是编程的基础,这本书以C语言为例,讲解了常用的数据结构和算法。进阶课程:《深度学习》(Ian Goodfellow, ...
  • 我想学习人工智能,我该怎么做?
    答:1、人工智能学习内容 学习内容包括数学基础、算法积累以及编程语言。数学要学好高数、线性代数、概率论、离散数学等等内容,算法积累需要学会人工神经网络、遗传算法等等,还需要学习一门编程语言,通过编程语言实现算法,还可以学习一下电算类的硬件基础内容。2、人工智能专业应用领域 应用领域是很广泛的,主要...
  • 自学人工智能需要学那些专业知识
    答:离散数学,数值分析。需要算法的积累:人工神经网络,支持向量机,遗传算法等等算法;当然还有各个领域需要的算法,比如要让机器人自己在位置环境导航和建图就需要研究SLAM;总之算法很多需要时间的积累。需要掌握至少一门编程语言:毕竟算法的实现还是要编程的;如果深入到硬件的话,一些电类基础课必不可少。
  • 学人工智能快速入门的方法?
    答:自学一般是通过看书、视频入门,现在网上还是很多关于人工智能的知识的。但是,毫不夸张地说,北京北大青鸟发现很多零基础小白自学人工智能如果直接通过看书,很容易云里雾里,可以说是一个人工智能入门从放弃的...毅种循环。因此建议先去大概了解人工智能到底是什么,还有去招聘网站看看现在的企业到底需要什么...