主页 > 人工智能 > 怎样学习人工智能?

怎样学习人工智能?

一、怎样学习人工智能?

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。

学习AI的大致步骤:

(1)了解人工智能的一些背景知识;

(2)补充数学或编程知识;

(3)熟悉机器学习工具库;

(4)系统的学习AI知识;

(5)动手去做一些AI应用;

二、怎样学习人工智能的算法?

1.学习或者回忆一些数学知识

因为计算机能做的就只是计算,所以人工智能更多地来说还是数学问题[1]。我们的目标是训练出一个模型,用这个模型去进行一系列的预测。于是,我们将训练过程涉及的过程抽象成数学函数:首先,需要定义一个网络结构,相当于定义一种线性非线性函数;接着,设定一个优化目标,也就是定义一种损失函数(loss function)。

而训练的过程,就是求解最优解及次优解的过程。在这个过程中,我们需要掌握基本的概率统计、高等数学、线性代数等知识,如果学过就最好,没学过也没关系,仅仅知道原理和过程即可,有兴趣的读者可以涉猎一些推导证明。

2.掌握经典机器学习理论与基本算法

这些基本算法包括支持向量机、逻辑回归、决策树、朴素贝叶斯分类器、随机森林、聚类算法、协同过滤、关联性分析、人工神经网络和BP算法、PCA、过拟合与正则化等。[2]

在本书“实战篇”的第8章到第13章的例子中也有贯穿这些算法知识,保证读者可以用它写出一个小的TensorFlow程序。

3.掌握一种编程工具(语言)

Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python是很多新入门的程序员的入门编程语言,也是很多老程序员后来必须掌握的编程语言。我们需要重点掌握使用线性代数库和矩阵的操作,尤其是Numpy、Pandas第三方库,也要多试试机器学习的库,如sklearn,做一些SVM及逻辑回归的练习。这对直接上手写TensorFlow程序大有裨益。

有些工业及学术领域的读者还可能擅长MATLAB或R,其实现算法的思想和Python也很类似。

同时考虑到许多读者是使用C++、Java、Go语言的,TensorFlow还提供了和Python“平行语料库”的接口。虽然本书是主要是基于Python讲解的,对于其他语言的原理和应用API也都非常类似,读者把基础掌握后,只需要花很短的时间就能使用自己擅长的语言开发。另外对于Java语言的同学,本书第18章会讲解TensorFlowOnSpark,第19章会讲到TensorFlow的移动端开发。

4.研读经典论文,关注最新动态和研究成果

一些经典论文是必读的。例如,要做手写数字识别,若采用LeNet,要先阅读一下LeNet的学术论文;要做物体目标检测的训练,若选定MSCNN框架,可以先读MSCNN相关的论文。那么,论文从哪里找呢?那么多论文应该读哪篇呢?

下面以GoogleNet的TensorFlow实现为例。在GitHub[3]上,一般在开头的描述中就会说明这个模型所依据的论文,如图所示。

顺着这篇论文阅读,可以大致了解这个网络的实现原理,对迅速上手应用有很大的作用。同时,我在第6章也会对LeNet、AlexNet、ResNet这几个常见的网络进行讲解,帮助读者举一反三。

很多做模式识别的工作者之所以厉害,是因为他们有过很多、很深的论文积累,对模型的设计有很独到的见解,而他们可能甚至一行代码也不会写,而工程(写代码)能力在工作中很容易训练。许多工程方向的软件工程师,工作模式常常在实现业务逻辑和设计架构系统上,编码能力很强,但却缺少论文积累。同时具有这两种能力的人,正是硅谷一些企业目前青睐的人才。

读者平时还可以阅读一些博客、笔记,以及微信公众号、微博新媒体资讯等,往往一些很流行的新训练方法和模型会很快在这些媒体上发酵,其训练神经网络采用的一些方法可能有很大的启发性。

5.自己动手训练神经网络

接着,就是要选择一个开源的深度学习框架。选择框架时主要考虑哪种框架用的人多。人气旺后,遇到问题很容易找到答案;GitHub上关于这个框架的项目和演示会非常多;相关的论文也会层出不穷;在各个QQ群和微信群的活跃度会高;杂志、公众号、微博关注的人也会很多;行业交流和技术峰会讨论的话题也多;也能享受到国内外研究信息成果的同步。

目前这个阶段,TensorFlow因为背靠谷歌公司这座靠山,再加上拥有庞大的开发者群体,而且采用了称为“可执行的伪代码”的Python语言,更新和发版速度着实非常快。目前TensorFlow已经升级到1.0版,在性能方面也有大幅度提高,而且新出现的Debugger、Serving、XLA特性也是其他框架所不及的。此外,一些外围的第三方库(如Keras、TFLearn)也基于它实现了很多成果,并且Keras还得到TensorFlow官方的支持。TensorFlow支持的上层语言也在逐渐扩大,对于不同工程背景的人转入的门槛正在降低。

在GitHub[4]上有一个关于各种框架的比较,从建模能力、接口、模型部署、性能、架构、生态系统、跨平台等7个方面进行比较,TensorFlow也很占综合优势。截至2017年1月,TensorFlow的star数已经超过了其他所有框架的总和,如图1-8所示。

因此,从目前来看,投身TensorFlow是一个非常好的选择,掌握TensorFlow在找工作时是一个非常大的加分项。

接下来就是找一个深度神经网络,目前的研究方向主要集中在视觉和语音两个领域。初学者最好从计算机视觉入手,因为它不像语音等领域需要那么多的基础知识,结果也比较直观。例如,用各种网络模型来训练手写数字(MNIST)及图像分类(CIFAR)的数据集。

6.深入感兴趣或者工作相关领域

人工智能目前的应用领域很多,主要是计算机视觉和自然语言处理,以及各种预测等。对于计算机视觉,可以做图像分类、目标检测、视频中的目标检测等;对于自然语言处理,可以做语音识别、语音合成、对话系统、机器翻译、文章摘要、情感分析等,还可以结合图像、视频和语音,一起发挥价值。

更可以深入某一个行业领域。例如,深入医学行业领域,做医学影像的识别;深入淘宝的穿衣领域,做衣服搭配或衣服款型的识别;深入保险业、通信业的客服领域,做对话机器人的智能问答系统;深入智能家居领域,做人机的自然语言交互;等等。

7.在工作中遇到问题,重复前六步

在训练中,准确率、坏案例(bad case)、识别速度等都是可能遇到的瓶颈。训练好的模型也不是一成不变的,需要不断优化,也需要结合具体行业领域和业务进行创新,这时候就要结合最新的科研成果,调整模型,更改模型参数,一步步更好地贴近业务需求。

[1] 这里,一些人担心人工智能超越人类还会产生哲学和伦理问题。我认为做这种讨论还为时尚早,严谨的数据基础是要突破的主要方向。

[2] 推荐读者阅读李航老师的《统计学习方法》,很快就能入门。

[3] https://github.com/tensorflow/models/tree/master/inception

[4] https://github.com/zer0n/deepframeworks

最后,初学者建议选择一本权威细致的TensorFlow教材,比如《TensorFlow技术解析与实战》。这本书的特点是基于TensorFlow1.1版本,技术讲解极为细致,配合人脸识别、图像识别、智能机器人的TensorFlow实战案例,也包揽了所有TensorFlow的高级特性。(《TensorFlow技术解析与实战》(李嘉璇)【摘要 书评 试读】- 京东图书

三、人工智能学习步骤?

学习AI人工智能的入门方法可以包括以下步骤:

1. 确定学习目标:了解AI的基本概念和应用领域,确定自己想要学习的具体方向,如机器学习、深度学习、自然语言处理等。

2. 学习基础知识:学习数学、统计学、计算机科学等基础知识,如线性代数、概率论、算法等。

3. 学习编程语言:学习编程语言,如Python、Java等,掌握基本的编程技能。

4. 学习AI算法:学习AI算法,如决策树、神经网络、卷积神经网络等,掌握各种算法的原理和应用。

5. 实践项目:参与实践项目,如Kaggle竞赛、自然语言处理任务等,将所学知识应用到实际项目中。

6. 持续学习:AI技术发展迅速,需要不断学习新知识和技能,跟上最新的技术发展趋势。

以上是学习AI人工智能的一些基本步骤,可以根据自己的兴趣和需求进行学习规划和实践。

四、人工智能学习含义?

人工智能学习是指通过算法和模型等手段,使计算机系统能够模拟人类智能,进行自动化的学习、推理、理解、创造等活动。

通过学习,人工智能系统能够根据新的数据和情境不断改进自身的行为和性能,实现自我优化和成长。

五、怎样利用人工智能学习英语口语?

利用人工智能学习口语,可以通过日常跟人工智能进行英语对话来进行学习模拟与人口语交流,来获得提升。

六、人工智能 机器学习 深度学习范畴排序?

人工智能、机器学习和深度学习三者之间存在范畴关系。深度学习是机器学习的一个子集,而机器学习又是人工智能的一个子集。因此,按照范畴从小到大的顺序,可以排列为:深度学习 < 机器学习 < 人工智能。

七、人工智能属于什么学习?

人工智能(AI)是一门交叉学科,涵盖了计算机科学、心理学、哲学等多学科的知识。在某种程度上,人工智能可以被认为是一种应用科学,它试图通过开发和应用人工智能技术来解决现实世界中的问题。

在更具体的学习层面上,人工智能可以被归类为机器学习、数据科学、计算机视觉、自然语言处理等子领域。这些子领域分别关注于人工智能在特定领域的应用和实践,如机器学习用于预测股票市场、数据科学用于分析大数据、计算机视觉用于图像识别和自动驾驶、自然语言处理用于语音识别和机器翻译等。

八、人工智能linux学习什么?

Linux是一个操作系统,你只要学习基本的操作方法就可以,人工智能专业的另外学习

九、学习人工智能需要多久?

如果从学习的角度来讲,上大学本科那就是4年。以后再读硕士读研究生就需要更长的时间。

如果说只是工作中需要,可能学比较短的时间,但与我们当代这个社会形势发展来讲,很可能要活到老学到老的,学以致用。

十、儿童如何学习人工智能?

建议从使用人工智能产品开始,以培养兴趣为重点。人工智能涉及的知识太深,目前真正从事人工智能学习的,都是研究生阶段才开始。

相关推荐