AI深度学习都需要学些什么内容?多久才能学会?

2020-06-10 17:48发布

1条回答
卡卡
2楼 · 2020-06-23 11:22

什么是人工智能?

按照UCLA教授朱松纯教授的定义,AI大概可以分为一下六类:

(1)计算机视觉 -> 人类的视觉能力

(2)自然语言处理 -> 人类的语言文字能力

(3)语音识别与生成 -> 人类的听与说能力

(4)机器人学 -> 人类的运动能力和运动智能

(5)博弈与合作 -> 人类对抗与合作的能力

(6)机器学习 -> 人类的学习能力

可以看出以前的技术是让新工具取代旧工具。而人工智能不同,它的目标就是模仿人类的智能,取代人类的智能,超越人类的智能。

那现阶段的AI到底是个什么东西呢?

我觉得现在的AI核心理念还是统计推断或者函数拟合。说人话就是找一个函数或者一个映射,使得一段声波进去能映射到语言,一张猫咪的图片进去能映射到猫咪。你跟siri说hi自动映射到回答hello~

一天学会深度学习-李宏毅

入门人工智能小书单

给大家推荐一些书,同时提醒大家一些坑。书大致可以分为三类『科普书籍』『机器学习算法书籍』『编程书籍』。

1. 科普书籍:

《数学之美》:用妙趣横生的语言讲述了自然语言处理和搜索引擎里的数学原理

《浪潮之巅》:讲述IT产业发展和美国硅谷IT公司的兴衰沉浮

《黑客与画家》:本书是硅谷创业之父Paul Graham的文集,程序员的世界观和眼里的世界

兴趣是最好的老师,阅读科普书籍有助于积累兴趣,对人工智能领域有个大概的了解。

2. 机器学习算法书籍:

《统计学习方法》:李航博士的经典教材。用最精炼的语言描述机器学习算法,转行AI必读书籍

《机器学习》:周志华教授的西瓜书。统计学习方法涵盖面太窄,配合西瓜书来扩展宽度。

《python机器学习及实现》:适合入门,学习曲线平滑,理论书看累了,就跟着这本书打一遍代码,对kaggle就会大致的了解。

《集体编程的智慧》:有各种算法的实现代码,配合理论书看,能更深入的理解算法。

《PRML》:机器学习经典,贝叶斯经典。

《神经网络与深度学习》:邱老师的开源书nndl.github.io/

3. 编程书籍:

《廖雪峰Python教程》:最好的Python入门教程,liaoxuefeng.com

《流畅的Python》:Python最好的进阶教程

《Python for Data Analysis》:作者是Python Pandas的作者,分析数据就用Pandas

4. 一些坑:

《Tensorflow实战》:真的还不如就看官方教程或者斯坦福的课程CS 20SI

《深度学习》:Goodfellow的大作,但真心不适合入门,适合进阶

5. 面试书籍:

《百面机器学习》:俗称葫芦书,已提问的方式归纳机器学习面试中的种种知识点,面算法建议准备一本

《剑指offer》: 面试必刷书籍,因为很多面试官都是从里面找题


入门人工智能小视频

入门阶段:

  • 斯坦福CS229机器学习(Machine Learning)- 吴恩达(Andrew Ng):
    首推吴恩达的CS229,吴恩达真是天生的好老师,讲课清晰条例清楚,难度事宜,学习曲线平缓

2009版视频:斯坦福课堂视频,内容比较充实,但要看板书,而且有些没必要的课堂互动,容易分心

知道你们都是伸手党,链接也准备好了。

链接:斯坦福大学公开课 :机器学习课程

open.163.com/special/op

2014版视频:这是吴恩达在coursera上的授课视频,一段视频一个主题,更加精炼清晰

链接:机器学习(Machine Learning)- 吴恩达(Andrew Ng) | 斯坦福大学课程CS229(2014)

bilibili.com/video/av99


  • 机器学习基石和机器学习技法-林轩田:

吴恩达的课程一大问题是英文授课,有些小伙伴畏惧英语,就退缩了。

这样的话,台湾大学林轩田老师的机器学习基石及技法是非常不错的选择。

这门课深度深一些,更数学一些,会讲一些非常基础的机器学习理论,如VC维,KKT条件等

我的建议是一开始听不懂直接过,学完之后再来反刍

链接:机器学习基石,完整版_演讲•公开课_科技_bilibili_哔哩哔哩

www.bilibili.com/video/av4294020

进阶阶段:

  • 机器学习与神经网络-Hinton:

讲神经网络恐怕没有比祖师爷更好的了,Hinton老爷子的思想非常深邃,换句话说可能不太好懂

但这不影响这是非常优秀的课程

链接:Hinton机器学习与神经网络中文课程 - 网易云课堂

study.163.com/course/in

  • 斯坦福CS231-深度学习计算机视觉-李飞飞:

计算机视觉无疑是这波深度学习浪潮的弄潮儿,搞计算机视觉方向经典的入门视频

里面会介绍各式各样的卷积神经网络

链接:斯坦福李飞飞-深度学习计算机视觉 - 网易云课堂

study.163.com/course/fr

  • 斯坦福CS224-深度学习自然语言处理-Chris Manning

人工智能另外一个重要领域是自然语言处理,搞这个方向经典的入门视频莫过于CS224

链接:斯坦福2017季CS224n深度学习自然语言处理课程(by Chris Manning & Richard Socher)(英文字幕)

bilibili.com/video/av13

【官方】【中英】CS224n 斯坦福深度自然语言处理课

bilibili.com/video/av41

  • 机器学习-李宏毅

上面的视频虽然经典,但是英文授课,这让很多小宝宝很崩溃,但没事,来看台湾大学的深度学习吧!

链接:【深度学习】李宏毅Machine Learning (2017,秋,台湾大学) 国语

机器学习-李宏毅(2019) Machine Learning

bilibili.com/video/av35

  • 机器学习-白板推导系列

条理清晰,重点明确,而且每个章节讲解才20分钟左右,up主语速偏慢,1.5或2倍速看也没有问题,非常适合入门

链接: 哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili

看到这里,大家会发现,其实只要你想学,视频大把大把的,互联网让知识的获取不再困难,真正阻碍你的只有你的决心和毅力了。

最后,提个坑,别去看张志华老师的统计机器学习视频,张老师的水平是很高的,但视频里满屏幕的公式,又让我回想起大学期间被各种定理推论支配的恐惧。中国大学的课感觉就一直都在劝退,提醒你学不会的,你听不懂的,你智商不够的。然而吴恩达的课不会,他觉得没有学不会的学生,只有教不好的老师~


入门人工智能学习方法

初学机器学习可能有一个误区,就是一上来就陷入到对各种高大上算法的追逐当中。动不动就我能不能用深度学习去解决这个问题啊?我是不是要用boosting算法做一些模型融合啊?我一直持有一个观点,『脱离业务和数据的算法讨论是毫无意义的』。

实际上按我们的学习经验,从一个数据源开始,即使是用最传统,已经应用多年的机器学习算法,先完整地走完机器学习的整个工作流程,不断尝试各种算法深挖这些数据的价值,在运用过程中把数据、特征和算法搞透,真正积累出项目经验 才是最快、最靠谱的学习路径。

那如何获取数据和项目呢?一个捷径就是积极参加国内外各种数据挖掘竞赛,数据直接下载下来,按照竞赛的要求去不断优化,积累经验。国外的Kaggle和国内的DataCastle 以及阿里天池比赛都是很好的平台,你可以在上面获取真实的数据和数据科学家们一起学习和进行竞赛,尝试使用已经学过的所有知识来完成这个比赛本身也是一件很有乐趣的事情。和其他数据科学家的讨论能开阔视野,对机器学习算法有更深层次的认识。

有意思的是,有些平台,比如阿里天池比赛,甚至给出了从数据处理模型训练模型评估、可视化模型融合增强的全部组件,你要做的事情只是参与比赛,获取数据,然后使用这些组件去实现自己的idea即可。不废话,直接划重点上干货。如果你觉得机器学习难,那一定是你打开的方式不对(认真脸)。

机器学习看似难度大,但对入门者来说,也还是有一条通用的学习路径。正如前几个专栏里介绍的,还有很多优秀的入门资料可以大大降低学习门槛,同时激发学习的乐趣。

简单的说,学习方法大概如下:

  1. 编程技能

  2. 机器学习知识 ----> 动手实践撸代码 ----> 数据科学比赛 ----> 实际项目经验

  3. 数学基础

机器学习是一个将理论算法与计算机工程技术紧密结合的领域,你需要扎实的理论基础来帮助你分析数据,同样是需要工程能力去开发模型和部署服务。所以需要【编程技能】【机器学习知识】【数学基础】三个方面军齐头并进,才能最终夺取胜利的果实。

转行AI的人里也可以分三类,一类是程序员出身,具有很好的工程经验;一类是统计学数学电子通信类出身,具有较为扎实的理论基础;还有一类既没有丰富的编程经验也没有扎实理论基础,例如我们学材料的...这三类同学入门AI,需要加强的部分是不一样的。

1.编程技能-python

Life is short, I use python!

在google, facebook等巨头钦定之后,人工智能领域的当红辣子鸡莫过于python。Python的工具库还是蛮全的,从数据获取到数据清理和机器学习算法应有尽有。与R相比,更加全面。

对于python, 除掌握其自身语法外,还应该着重掌握下面这些库:

pandas:超级excel,表格式操作数据,数据清洗和预处理的强大工具。

numpy:数值计算库,快的不要不要的。

matplotlib:模仿MATLAB的数据可视化工具。

scikit-learn:封装超级好的机器学习库,一些简便的算法用起来不要太顺手。

ipython notebook:数据科学家和算法工程师的笔记本,强力推荐。

2.数学基础

微积分:是机器学习中的核心知识之一,无论是梯度下降法中的求梯度还是反向传播中的误差传递的推导都需要用到微积分。

线性代数:神经网络中大量的计算都是矩阵乘法,这就需要用到线性代数的知识了。计算向量的余弦相似度也要用到内积运算。此外,矩阵的各种分解办法也出现在主成分分析和奇异值分解中。

概率论与统计学:广义的说,机器学习的核心是统计推断。所以机器学习的巨头不少都是统计学大师,如迈克尔乔丹,杨乐坤,辛顿等。机器学习中大量的用到贝叶斯公式,隐马尔科夫模型等等。

诚然,数学很重要,但是我建议,具有本科数学基础的你,不要花费太多时间去刷数学书,这是南辕北辙,最好的办法还是直捣黄龙学习机器学习算法,到了看不懂的地方再去补充相应的数学知识,斯坦福的教程里就有大量的数学补充材料,很多时候读明白这些补充材料就够了。

3.项目经验

一个误区:很多新手初学机器学习,上来就追求复杂的深度学习模型和高大上的算法如AlexNet, ResNet。tensorflow和keras各种API全部调用一遍,却不知道自己在干什么,俗称调包侠。

一个观点:脱离实际业务和数据的算法都是空中楼阁。

一条路径:按照我的学习经验,从数据清洗到特征工程,再用最传统的算法把整个流程走一遍,不断的比较和尝试各种算法,把特征和算法搞透,才是最快最靠谱的学习方法。

两个项目:国外的Kaggle和阿里云天池都是获取项目经验的好途径。我的建议是每个入门机器学习的人都应该参加两个项目。一个传统机器学习应用场景的项目,如阿里移动推荐算法。通过传统应用场景熟悉逻辑斯特回归,支持向量机和梯度增强决策树等算法。一个深度学习应用场景的项目,如肺癌识别和诊断,通过深度学习应用场景熟悉深度学习各种算法的优势和应用场景。

就说这么多,大家放手去干吧!美丽的天使在远方召唤你,勇敢的少年啊,快去创造奇迹!


相关问题推荐

  • 回答 20

    选对培训机构比较重要,还有就是选择的时候看一下自己适合哪种风格的讲课方式,这个也很重要。因为现在5G时代来临,人工智能绝对是一个发展的大趋势,如果你自己空余时间又比较多的话,其实可以报一个辅导班,学习学习一些基本的东西,毕竟多学点总是没有坏处...

  • 回答 16

    算法,数据相关的适合做人工智能

  • 回答 3

    深度学习是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。...

  • 回答 3

    AI深度学习课程是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术,主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工...

  • 回答 28

    人工智能取代的行业,一定有如下几个特征:1、大量重复型。2、逻辑性比较强。3、数据库依赖型。像司机,咨询,教育,医生,会计,律师助理,工程师,码农等,都是容易被取代的行业。当然,这都是强人工智能以后会发生的事,现在还是弱人工智能的时代,想进入...

  • 回答 9

    如果你是自己学着玩,提升自己的话,高中毕业都可以。如果是冲着AI算法岗或者科研一席之地,至少211硕士。具体可以亲身体验一下今年算法岗秋招。

  • 回答 9

    可以,未来的人工智能发展深度学习必然是现在大型机器生产科研必备的,证书的话某个培训好像有这个中科院的证书,具体你去百度吧

  • 回答 8

    我觉得就是人工智能的课程,现在家具都是智能家居了。这一块发展一定很好

  • 回答 3

    对于sgd算法而言,batch size太大太小都不好,太小的话训练不稳定,计算效率低;太大的话收敛速度慢,需要仔细调节一下。以2的倍数调节,例如32,64,128等

  • 回答 1

    在terminal中输入$wolf@wolf:~/Downloads/gitclonehttps://github.com/Tencent/ncnn cd切换到NCNN目录***这步很重要,这时候需要修改ncnn的root目录下的CMakeLists.txt文件,需要将倒数几行的add_subdirectory(examples),取消注释,这样就是默认编译example...

  • 回答 5

    人工智能的话其实到现在来说已经慢慢趋于成熟,学的话首先是一线城市,学出来好就业,还有就是薪资也高

  • 回答 3

    画个train and test error VS 训练数据量(training set size) 的learningcurve应该会更加直观了。可以找个简单的数据集,比如说handwritten digits或者什么的,分别用神经网络和决策树或者knn做出这个learningcurve。你会看到如果用一个决策树去解决这个问题...

  • 回答 2

    共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。     一幅图象的灰度共生矩阵能反映出图象灰度关于...

没有解决我的问题,去提问