如何自学人工智能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何自学人工智能相关的知识,希望对你有一定的参考价值。

学习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应用了,比如图像识别,风格迁移,文本诗词生成等等。边实践边学习效果会好很多,也会逐渐的加深对神经网络的理解。
参考技术A 数学知识
我想在大多数学校里,数学都是理工科学生的必修课,微积分、线性代数、概率论与数理统计,这些都比较基础实用,我觉得这个数学基础对入门人工智能足够了,人工智能应用数学最多的也就是求导、矩阵的运算和分解、概率的统计与分析。
编程能力
工欲善其事、必先利其器,人工智能方向编程语言使用最多的应该就是Python了,在很多学校理工科学生应该都会必修一门编程课,有的是C,有的是C++,就算这些都没用过,也应该对Matlab了解一些,我觉得有一些编程基础入门Python算是比较简单的,网上资源很多,社区支持也很强大。
机器学习
我这里所说的机器学习是广义上的机器学习,涵盖深度学习。无论是做传统的机器学习回归和分类,还是做深度学习,无论是做计算机视觉,还是做自然语言处理,都离不开机器学习,后面我会介绍一些我认为比较好的学习资源,对于机器学习,我划分为两个方面:(1) 框架层面;(2) 理论层面。
参考技术B

人工智能专业对学生的文化课(微积分,高数和python编程方面)有一定的要求,如果没有学习基础的话学起来是很吃力的,我个人建议还是报班学习比较好!

若要自学:我建议自己准备一本与人工智能python编程有关的书,或上网查资料,有很多比如像CSDN,尚学堂、等,尚学堂里面都有免费的学习视频和资料。在尚学堂可以提前试学哦!

参考技术C 第一步:复习线性代数。
懒得看书就直接用了著名的——麻省理工公开课:线性代数,深入浅出效果拔群,以后会用到的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,就看你想用来做什么了,如果就是用来做机器学习,完全可以一天入门,如果想要做更多好玩的事,一天不行那就两天。本回答被提问者采纳
参考技术D

说实话,人工智能涉及到领域和课程太多,看了其他的回答,很专业,但我觉得对于你这样完全零基础的小白来说,其实并不适合,学习门槛还是很高的。我现在在科大讯飞工作,我们这边最近上线了一个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即可,对了,里面还有个专属的通行证可以看下,除了全年的免费课程,还可以直接参加科大讯飞的线下发布会。

最后,希望能对题主有用,有问题也可以与我交流。

自学人工智能之攻克数学篇,AI入门其实并不难!



毕业这么多年,你是否一提到大学高数还依旧很烦躁?

想投身AI圈,看到搞算法还需要掌握数学,你是否突然间就头痛了呢?

人工智能技术归根到底都建立在数学模型之上,要了解人工智能,首先要掌握必备的数学基础知识,具体来说包括:

  1. 线性代数:如何将研究对象形式化?

  2. 概率论:如何描述统计规律?

  3. 数理统计:如何以小见大?

  4. 最优化理论:如何找到最优解?

  5. 信息论:如何定量度量不确定性?

  6. 形式逻辑:如何实现抽象推理?

    ……

有一点是肯定的,绝大部分理工科,如果从研究层面来讲,数学都是要求非常高的。如果是做AI方向的程序员的话,要求就不是很高了。


对于AI方向的程序员而言,AI领域的所有方向都会用到线性代数和概率论,而离散数学,微积分等,用是会用到,但是以基础应用为主,并不要求非常难,某个函数你知道怎么积分就行。但是概率论非常非常重要,基本上人工智能里面的“智能”就靠概率来实现了哦。


那咱们来看看,大学学的数学你还记得啥,立马开启虐心模式吧!!!~


01

虐心一:线性代数

自学人工智能之攻克数学篇,AI入门其实并不难!
自学人工智能之攻克数学篇,AI入门其实并不难!
自学人工智能之攻克数学篇,AI入门其实并不难!


看看你答对了多少:

  1. D   2.  C  3.  B   4.  B

自学人工智能之攻克数学篇,AI入门其实并不难!


心痛没?心痛没?必须说第三遍,痛心没?

这才第一弹,还有第二弹哦,来来来,继续虐起来!!!

02

虐心二:概率论

自学人工智能之攻克数学篇,AI入门其实并不难!
自学人工智能之攻克数学篇,AI入门其实并不难!

先来看看答案吧

1.  C   2.  C   3.  D   4.  D


是不是很郁闷?都开始怀疑自己了?那几年上大学究竟在干嘛?是读了个假大学吗?

自学人工智能之攻克数学篇,AI入门其实并不难!

往事开始一幕幕的映入眼帘:

当年数学挂科,补考或者大四清考,眼巴巴请求老师救救你……

当年通宵备考背题,好不容易数学考及格,考完就早拜拜了……

当年数学还可以,甚至是高分者,但是现在都要感概已还给老师了……


AI我想你,但是我又担心,我没能力爱你!!!


不要着急,看过来哦!基于AI实际项目算法中数学能力需求,我们为忘记数学想学AI的你精心准备了一套AI数学基础教程资料。

自学人工智能之攻克数学篇,AI入门其实并不难!


扫码添加,免费获取超全视频资料

备注【AI数学】领取


开启月光宝盒,重拾当年‘美好’。一直担忧自己数学不好,迟迟未行动的你,想学AI无需重读高数,只需跟随课件恢复数学记忆。大家扫码添加即可领取AI数学基础教程资料哦~

以上是关于如何自学人工智能的主要内容,如果未能解决你的问题,请参考以下文章

如何自学人工智能路径规划(附资源,百分百亲身经验)

自学人工智能之攻克数学篇,AI入门其实并不难!

人工智能原理自学高维空间:机器如何面对越来越复杂的问题

如何系统地自学 Python?

人工智能原理自学卷积神经网络:图像识别实战

人工智能原理自学循环:序列依赖问题