认识人工智能、机器学习、深度学习和神经网络,有干货

1950年10月,被誉为“计算机科学之父”的图灵(冯诺依曼是“现代计算机之父”)发表了一篇题为“机器能思考吗”的论文,成为了划时代之作。在这篇论文里,图灵第一次提出了“机器思维”的概念,同时给出了一种判断机器是否具备“智能”的方法,即“图灵测试”。简单来说就是,人们在和机器进行沟通时,如果有一定比例不能认出这是一台“机器”,那么就说明这台机器已经具备了一定的“智能”。正是这篇文章,为图灵又赢得了“人工智能之父”的称号。之后,1956年在达特茅斯学院召开的一个夏季讨论会议中,人工智能的概念被确定下来,而这也被认为是人工智能的正式起点。

长久以来,在 “人工智能”领域,主流观点分成了两派,一派认为实现人工智能必须用逻辑和符号系统,基于预设和反馈,搞清楚应该如何让机器思考,并将思考的过程演化为具备明确程序设计的专家系统,自顶向下地仿造大脑;而另一派则认为,实现人工智能应该从模仿生物学大脑入手,让机器自主形成意识,自底向上,通过不断实践,促进机器的自我成长和进化。不过,随着2016年谷歌阿尔法狗的大放异彩,深度学习已成为目前人工智能最受关注的领域,暂时终结了“人工智能”的方向之争,并开启了人工智能飞速发展和全面产业化的新时代。

在媒体报道中,人工智能、机器学习、深度学习和神经网络是非常热门的四个词汇,很多人甚至将四者看成是一种等价的关系,在很多报道中,会混杂使用。事实上,这四者之间既有一定的联系,但也有明显的区别。如下图所示,最外面的大圆代表人工智能,中间一层表示机器学习,而基于多层神经网络的深度学习处于中心位置。也可以简单理解为:机器学习是人工智能领域中的一个重要分支;深度学习是实现机器学习的一种重要方法;而深度学习通常都是基于多层神经网络的(存在多种神经网络模型)。

深度学习(Deep Learning)的概念虽然是在2006年由Hinton等人首次提出的,但在20世纪50年代,人工神经网络的第一个实验就完成了,而类似深度学习的方法,在20世纪90年代就已经成功用于某些商业应用中了,可为什么直到2016年,基于深度学习的人工智能,才被广泛应用起来呢?

第一:随着互联网及移动互联网的发展,在各个行业中,可供训练的数据样本不断增加,这使得深度学习变得更加有用。一个粗略的经验法则是,对于监督学习算法,在每给定约5000个标注样本的情况下,人工智能程序将达到可以接受的性能;而当至少有1000万个标注样本的数据集可用于训练时,人工智能程序将达到甚至超过人类表现。

第二:随着云计算的发展,针对深度学习的计算机软硬件基础设施得到了极大的改善,基于现在的计算资源,可以运行更复杂更大的深度学习模型。人工神经网络的规模大约每2.4 年扩大一倍,这种增长是由更大的内存和更快的计算驱动的。预计到本世纪50 年代,人工神经网络将能够具备与人脑相同数量级的神经元。

第三:在以上两点原因的作用下,基于深度学习的人工智能,已经开始着手解决人们生活中的实际问题了,从简单应用到复杂任务,如文本识别、声音识别、人脸识别、图像识别、自然语言处理等等,而其处理的精度也在不断提高,从而逐渐形成正反馈效应,带动了该领域中人才、资本和应用的全面发展。

现在的工程师们发现,其实20世纪80年代就存在的一些算法,也能工作得非常好,但是直到在2006年都没有体现出来,就是因为当时的训练数据太过匮乏、计算代价也太高,所以在很长一段时间,人们普遍认为多层神经网络是难以训练的。由此可见,目前人工智能领域的蓬勃发展,并非是从天而降突然出现的,而是技术、数据和资源均准备就位后,水到渠成的结果。


下面再通过一个简单的例子,说说基于多层神经网络的深度学习是如何工作的。例如现在需要识别出一张图片中的物体是一个人、一辆车还是一只动物。

我们把一张图片传给计算机程序后,计算机接收到的可能是很多基本像素值的集合,每个像素值对应图片中每个最小的像素块。让计算机直接基于这些基本像素去识别图片中物体的特征,其函数将是非常复杂的,直接处理几乎是不可能的。而深度学习会将所需要的复杂映射,分解为一系列嵌套的简单映射,通过多层渐进式的探索来解决这一难题。在输出层和输入层之间的各个数据层,它们的值不是从原始数据中直接给出的,所以将这些层称为“隐藏层”,并与输入层和输出层一起,共同构成了一个多层神经网络。以下图为例,通过包含三个隐藏层的神经网络,最终实现了对图片中物体类型的识别。


输入层:可见层,输入的数据为所有最小像素块的像素值

第一层:隐藏层,识别出所有的边缘数据。根据输入层提供的像素数据,通过比较相邻像素块的亮度,可以识别出图片中所有实体部分的边缘,每个边缘数据可能是由多个像素数据组成的。

第二层:隐藏层,识别出所有的轮廓数据。根据第一层隐藏层提供的边缘数据,可以识别出图片中所有实体部分的轮廓,每个轮廓数据可能是由多个边缘数据组成的。

第三层:隐藏层,识别出各个组成部分。根据第二层隐藏层提供的轮廓数据,可以识别出图片中实体部分的各个组成部分(如人的头发、衣服等),每个组成部分,可能是由多个轮廓数据组成的。

输出层:对各个组成部分的特征进行综合分析,确定图片中物体的类别,并给出结论。有了第三层隐藏层提供的各个组成部分的信息,就可以识别出整体对象的分类特征了,例如有头发、穿衣服的是人,有轮胎、有车架的是车,有犄角、长尾巴的是动物。

以上只是对深度学习的简单介绍,希望系统学习相关知识的朋友,这里两本电子书[深度学习中文版]和[深入浅出深度学习:原理剖析与python实践],有兴趣的朋友可以找我~

创作不易,欢迎朋友们关注、评论、转发。

你可能感兴趣的:(认识人工智能、机器学习、深度学习和神经网络,有干货)