如今,当涉及到新的数据处理技术时,出现了许多不同的术语。一个人说他们正在使用机器学习,而另一个人称之为人工智能,还有一些人可能声称正在进行深度学习。这一切都意味着什么?
虽然这些术语中有许多是相关的,并且在某些方面可能会重叠,但是有一些关键的差异可能是重要的,这可能会帮助人们去理解正确的理解它们之间的定义。
人工智能意味着让计算机以某种方式模仿人类行为。
机器学习是人工智能的一个子集,它包括使计算机能够从数据中找出问题并交付人工智能应用程序的技术。
与此同时,深度学习是机器学习的一个子集,它使计算机能够解决更复杂的问题。
下面将通过一些通俗易懂的例子来简单说明人工智能、机器学习和深度学习的区别。
什么是人工智能?
人工智能作为一门学科创建于1956年的美国。当时的目标和现在一样,是让计算机执行被视为人类独有的任务:需要智力的任务。最初,研究人员研究的问题包括下棋和解决逻辑问题。
如果你观察下跳棋程序的输出,你会发现这些动作背后隐藏着某种形式的“人工智能”,尤其是当电脑打败你的时候。早期的成功使第一批研究人员对AI的可能性表现出几乎无限的热情,与之匹配的只是只是在他们错误判断某些问题有多难的程度上。
因此,人工智能指的是计算机的输出。计算机正在做一些智能的事情,所以它展示的是人工智能。
AI这个术语并没有说明这些问题是如何解决的。有许多包括规则型和专业型系统的不同技术。其中有一类技术在20世纪80年代开始得到更广泛的应用:那就是机器学习。
机器学习是什么?
这些早期研究人员发现一些问题更难的原因是,这些问题根本不适合早期用于人工智能的技术。硬编码算法或固定的、基于规则的系统在图像识别或从文本中提取内容等方面表现得并不尽如人意。
结果证明,解决方案不仅仅是模仿人类行为(AI),而是模仿人类的学习方式。
想想你是如何学会阅读的。在拿起你的第一本书之前,若没有坐下来学习拼写和语法,你只能读简单的书,随着时间的推移,你会读到更复杂的书。实际上,你从阅读中学到了拼写和语法的规则。换句话说,你处理了很多数据并从中学习。
这正是机器学习的理念。给算法(而不是你的大脑)输入大量数据,让它把事情弄清楚。它包含了在大数据分析和数据挖掘中会遇到的许多类型的程序。说到底,驱动大多数预测程序(包括垃圾邮件过滤器、产品推荐和欺诈检测器)的“大脑”实际上是机器学习算法。给算法输入大量关于金融交易的数据,告诉它哪些是欺诈行为,让它找出哪些是欺诈行为,从而预测未来的欺诈行为。或者给它提供关于你的客户群的信息,让它找出最好的细分方法。
数据科学家可以使用一系列技术和语言编写机器学习算法,包括Java、Python、Scala等。他们也可以使用预先构建的机器学习框架来加速这个过程。
随着这些算法的发展,它们可以解决很多问题。但有些人类觉得简单的东西(比如语音或手写识别)对机器来说仍然很困难。然而,如果机器学习是模仿人类的学习方式,为什么不直接模仿人类的大脑呢?这就是神经网络背后的理念。
使用人工神经元(由突触连接的神经元是大脑中的主要元素)的想法已经存在了一段时间。软件模拟的神经网络开始被用于解决某些问题。它们显示出了很大的潜力,能够解决一些其他算法无法解决的复杂问题。
但机器学习仍然被困在连许多小学孩子们都可以轻松解决的问题上,比如:这张照片里有多少只是狗,多少是狼?如何分辨生香蕉和熟香蕉?是什么让书中的这个角色哭得这么厉害?
事实证明,这个问题与机器学习的概念无关,甚至还有模仿人类大脑的想法。只是简单的神经网络,有100甚至1000个神经元以相对简单的方式连接在一起,只是无法复制人脑的功能。如果你仔细想想,应该不会感到惊讶:人类大脑有大约860亿个神经元非常复杂的相互连接。
什么是深度学习?
深度学习是机器学习的一种形式,既可以使用监督算法,也可以使用非监督算法,或者两者兼而有之。但是它使用包含更多神经元、层次和互联性的神经网络。我们离模拟人脑的复杂性还有很长一段路要走,但我们正在朝着这个方向前进。
当你读到从自动驾驶汽车到玩围棋的超级计算机再到语音识别等计算机技术的进步时,你就会发现这其实是一种隐藏的深度学习。你会体验到某种形式的人工智能。在幕后,人工智能是由某种形式的深度学习驱动的。
让我们来看几个问题,看看深度学习与简单的神经网络或其他形式的机器学习有何不同。
深度学习的原理
虽然深度学习并不一定是新事物,但最近它作为一种加速解决某些类型的计算机难题的方法,越来越受欢迎,尤其是在计算机视觉和自然语言处理(NLP)领域。
如果我给你一些马的图像,你会认出它们是马,即使你从来没有见过那个图像。不管马是躺在沙发上,还是在万圣节盛装打扮得就像一只河马。你能认出这是一匹马,是因为你知道定义一匹马的各种要素:它的口鼻形状、腿的数量和位置等等。
深度学习可以做到这一点。通过分层学习过程将高级复杂抽象提取为数据来表示,深度学习模型比标准机器学习方法更快地产生结果。在简单的英语中,深度学习模型将自己学习重要的特征,而不是要求数据科学家手动选择相关的特征,这对很多事情都很重要。包括自动驾驶汽车。在汽车决定下一步行动之前,它需要知道周围是什么。它必须能够识别人、自行车、其他车辆、路标等等。并在具有挑战性的视觉环境中这样做。然而标准的机器学习技术则无法做到这一点。
深度学习中的“深度”来自于构建在深度学习模型中的许多层,这些模型通常是神经网络。卷积神经网络(CNN)可以由很多很多层模型组成,其中每一层都以卷积方式从上一层获取输入、处理并输出到下一层。
以自然语言处理为例,它如今被用于聊天机器人和智能手机语音助手。思考以下这句话,并完成填空:
我出生在意大利,尽管我大部分时间生活在葡萄牙和巴西,我仍然说可以说一口流利的________。
希望你能发现最有可能的答案是意大利语(尽管你回答法语、希腊语、德语等好像都可以)。但是想想得出这个结论需要什么。
首先,你需要知道填空的单词是一种语言。如果你能理解“我能说一口流利的…”你就能确定。要得到答案是意大利语,你必须回顾一下这句话并且不被文中的葡萄牙和巴西所迷惑。“我出生在意大利”意味着我在成长过程中学习意大利语(根据*,有93%的可能性),因此你需要理解“出生”的含义。 尽管”和“仍然”的组合清楚地表明我不是在说葡萄牙语,带你回到意大利这个答案。所以意大利语是可能的答案。
想象一下你大脑中的神经网络发生了什么。比如“出生在意大利”和“尽管…任然”这样的事实是你大脑的其他部分在你做事情的时候的输入。这一概念通过复杂的反馈回路被引入到深度神经网络中。
结论
所以希望本文开头的第一个定义能够解释得通。人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中学习。最后,深度学习是机器学习的一个子集,使用多层神经网络来解决最难的问题。
(由怡海软件http://www.frensworkz.com/编译自:Peter Jeffcock,转载请注明出处)