如何自学人工智能

author author     2023-04-15     651

关键词:

学习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的大致步骤:(1)了解人工智能的一些背景知识;(2)补充数学或编程知识;(3)熟悉机器学习工具库;(4)系统的学习AI知识;(5)动手去做一些AI应用;1了解人工智能的背景知识人工智能里面的概念很多,比如机器... 查看详情

如何自学大数据自学大数据方法

...学完一万五的工资可以拿到!7、第七阶段:机器学习,人工智能,这个是现今企业最缺的人才,学完这个阶能够胜任机器学习、数据挖掘等相关工作,包括推荐算法工程师、数据挖掘工程师、机器学习工程师,填补人工智能领... 查看详情

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

查看详情

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

查看详情

人工智能原理自学卷积神经网络:打破图像识别的瓶颈

查看详情

人工智能原理自学隐藏层:神经网络为什么working

查看详情

自学人工智能之数学篇,数学入门并不难

自学人工智能之数学篇,数学入门并不难 http://blog.itpub.net/31549715/viewspace-2200126/ 写这篇文章很久想了很久,到底该怎么写?关于数学与机器学习的关系,观点很多。写本文的目的,希望结合众家之长,试图解决数学对机... 查看详情

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

...年。🔔笔记来自B站UP主Ele实验室的《小白也能听懂的人工智能原理》。🔔本文讲解高维空间:机器如何面对越来越复杂的问题,一起卷起来叭!目录一、“维度”二、代码实现一、“维度”如果我们判断一个... 查看详情

零基础自学人工智能路径规划,附资源,亲身经验

下面的每个资源都是我亲身学过的,且是网上公开公认最优质的资源。下面的每个学习步骤也是我一步步走过来的。希望大家以我为参考,少走弯路。请大家不要浪费时间找非常多的资料,只看最精华的!综述,机器学习的自学... 查看详情

零基础,如何自学前端?

...目打包及优化•项目部署与开发第五阶段:核心知识点•人工智能•小程序开发•小程序应用 查看详情

零基础自学人工智能,看这些资料就够了(300g资料免费送)

...?首先,标题不要太相信,哈哈哈。本公众号之前已经就人工智能学习的路径、学习方法、经典学习视频等做过完整说明。但是鉴于每个人的基础不同,可能需要额外的学习资料进行辅助。特此,向大家免费发送近300G的人工智... 查看详情

想学习人工智能?强烈推荐几本人工智能方向的书籍|你应该看的五本书|自学人工智能

哈喽大家好,我是dogggg~今天就给大家推荐五本人工智能入门的科普书!Tips1:《智能的本质》里面讲述了人工智能和机器人领域的64大问题,因为此书作者斯坦福·伯克利客座教授担忧人类智力会下降!这本书... 查看详情

人工智能原理自学卷积神经网络:图像识别实战(代码片段)

😊你好,我是小航,一个正在变秃、变强的文艺倾年。🔔本文讲解卷积神经网络:图像识别实战,一起卷起来叭!目录一、“卷”二、LeNet-5网络一、“卷”这节课我们来看如何把卷积运算融入到神经... 查看详情

互联网时代如何自学编程?

...超乎所有人的想象,从PC时代到移动互联网时代再到人工智能时代,短短20几年的时间,每天都有新事物诞生,我们每天都要适应变化,重复工作将会被机器取代,很多领域的技术要求都是高级工程师起步&#... 查看详情

基于stm32的智能小车app自学梳理(代码片段)

文章目录目录文章目录前言一、基本逻辑梳理二、android部分蓝牙扫描2.1、权限申请2.2、相关变量2.3、onCreate一些初始化操作2.3.1、位置权限2.3.2、控件初始化2.3.3、蓝牙初始化2.4、蓝牙回调函数2.4.1、高版本蓝牙回调24.2、低版本蓝... 查看详情

基于stm32的智能小车app自学梳理(代码片段)

文章目录目录文章目录前言一、基本逻辑梳理二、android部分蓝牙扫描2.1、权限申请2.2、相关变量2.3、onCreate一些初始化操作2.3.1、位置权限2.3.2、控件初始化2.3.3、蓝牙初始化2.4、蓝牙回调函数2.4.1、高版本蓝牙回调24.2、低版本蓝... 查看详情

基于stm32的智能小车app自学梳理(代码片段)

文章目录目录文章目录前言一、基本逻辑梳理二、android部分蓝牙扫描2.1、权限申请2.2、相关变量2.3、onCreate一些初始化操作2.3.1、位置权限2.3.2、控件初始化2.3.3、蓝牙初始化2.4、蓝牙回调函数2.4.1、高版本蓝牙回调24.2、低版本蓝... 查看详情

能否通过自学成长为研发级程序员

...带计算机专业的实习生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。程序员的提升也比较依赖于开发团队的交流和合作,由于当... 查看详情