转载自 http://www.infoq.com/cn/articles/the-fourth-industrial-revolution-an-introduction-to-ai程序员
“过去10年咱们在忙于打造移动为先的世界。将来10年,咱们将步入AI为先的世界。”(谷歌CEO Sundar Pichai,2016年10月)算法
从亚马逊到Facebook,再到谷歌和微软,全球最顶尖、最有影响力的技术公司都将目光转向了人工智能(AI)。AI究竟是什么?为什么如此重要?为什么如今变得重要?虽然人们对AI的关注与日俱增,但对该领域有着充分理解的依然仅仅只是业内专家。本文意在让更多人了解这一重要的前沿领域。数据库
本文首先会介绍“AI”的含义以及包括“机器学习”在内的一些关键词。咱们将介绍“深度学习”这一最有成效的AI分支是如何实现的。同时还会介绍AI试图解决的问题以及这些问题的重要性。最后,咱们还将深刻介绍为什么早在二十世纪五十年代就已诞生的AI这一律念直到今天才开始逐渐成熟。编程
做为风险投资人,咱们须要紧跟能为消费者和企业创造价值的新兴趋势。咱们认为AI是计算领域的一次革命,其重要性甚至远远超过移动或云计算。“这实在难以用言语表达,”亚马逊CEO Jeff Bezos写道:“将来20年里,人工智能对全社会产生的影响将大到不可思议。”但愿本文能够破除各类喧嚣炒做,向消费者或企业高管,以及创业者和投资人解释这一新兴趋势如此重要的缘由。安全
“人工智能(AI)”这个词由达特茅斯大学助理教授John McCarthy在1956年提出,做为一种统称,AI可用于指代可体现出智能行为的硬件或软件。按照McCarthy教受的说法,这是一种“能够制造出智能的机器,尤为是智能的计算机程序的科学和工程。”网络
最基本的AI早在几十年前就已诞生,当时的AI可经过基于规则的程序,在某些特定情境中体现出最基本的“智能”。然而这类技术的发展一直受到各类限制,由于足以应对现实世界中各类问题所需的算法实在是太过复杂,很难由人工编程的方式实现。架构
这里所谓的复杂的活动包括作出医学诊断、预测机器故障时间或衡量某些资产的市值,这些行为中每每涉及数千种数据集和大量变量之间的非线性关系。这种状况下一般难以经过现有数据得到最佳效果,即对咱们的预测进行“优化”。对于其余一些状况,例如识别图片中的物体以及翻译语言,此时咱们甚至没法开发出用于描述所需“功能”的规则。例如,咱们该如何经过编写一系列规则,使得程序能在任何状况下描述出一只狗的外观?框架
若是能将作出各类复杂预测的困难工做,即数据优化和特征(Feature)规范?,从程序员身上转嫁给程序,状况又会怎样?这正是现代化人工智能带给咱们的承诺。dom
机器学习(ML)是AI的一个子集。全部机器学习都是AI,但并不是全部AI都是机器学习(图上图1)。当今人们对AI的兴趣主要体如今对机器学习技术的关注中,使得这一技术快速得到了显著进步。机器学习
机器学习使得咱们能够将某些沉重的工做交给算法处理,进而解决相对于人类来讲过于复杂的问题。AI分支的先驱Arthur Samuel在1959年曾经写到,机器学习是“一种可以让计算机在无须进行有针对性的编程状况下,自行得到学习能力的学科领域。”
大部分机器学习技术的目标在于针对特定用例开发一种预测引擎。算法负责接收有关特定领域(例如某人过去看过的全部电影)的信息,经过对输入的信息进行权衡作出有用的预测(此人将来观看其余种类电影的可能性)。经过实现让“计算机自行学习的能力”,咱们能够将优化方面的任务,即对可用数据中的不一样变量进行权衡,进而面向将来作出精确的预测,交给算法负责。有时候甚至能够更进一步,将“须要考虑的将来”这种初步决策也交给程序处理。
机器学习算法可经过训练进行学习。最开始,能够为算法提供输出结果为已知的样本数据,并将实际结果与预测结果的差别进行对比,随后对所输入内容的权重进行调优,借此改善预测结果的精确度,直到最终得到优化。所以机器学习算法的界定性征(Defining characteristic)就在于经过经验对预测结果进行改善所能取得的质量。咱们提供的数据越多(一般大到某种临界点),就能建立出越好的预测引擎(以下图2和图3,须要注意,所需数据集的规模严重取决于具体情境,但没法从下列范例中加以归纳。)
目前机器学习方法已经超过15种,每种均可以使用不一样的算法结构经过收到的数据对预测进行优化。做为其中的一种方法,“深度学习”在不少全新领域实现了突破性的结果,下文将详细介绍。算法其实还有不少,其余算法虽然不像深度学习那样得到了最为普遍的关注,但也有本身的价值,由于能够适用于更普遍的用例中。除了深度学习,其余最实用的机器学习算法还包括:
每种方法各有利弊,并能混合使用(一种“综合”方法)。针对特定问题选择哪一种算法,主要取决于各类因素,包括可用数据集的本质特征等。实际上开发者一般趋向于经过多种实验肯定最佳算法。
机器学习技术的用例因具体需求和想象力而各不相同。只要有合适的数据,咱们就能够为无数用途构建所需的算法,例如:根据购买记录推荐顾客可能愿意购买的产品,预测汽车组装流水线上的机械手何时会故障,预测邮件地址是否输入有误,估算某笔信用卡交易存在欺诈状况的可能性等。
就算借助通用用途的机器学习(随机丛林、贝叶斯网络、支持向量机等),编写能良好执行某类任务的程序这也是一项困难的工做,从语言的理解到图片中物体的识别不出其外。为何?由于咱们没法用足够实用而且可靠的方式明确指定所要优化的特征。举例来讲,若是但愿编写能识别车辆图片的计算机程序,咱们根本不能经过为算法指定车辆特征的方式确保在任何状况下均能得到正确的识别结果。车辆有着不一样的外形、尺寸和颜色,车辆的位置、朝向以及具体形态也多种多样。背景、光照,以及众多其余因素都会对物体的外观产生影响。此时若要编写规则,须要考虑的变化实在是太多了。就算能够作到这一切,整个解决方案的缩放能力也会受到极大限制:咱们必须为打算识别的每一个类型的物体分别编写一套程序。
拥抱深度学习(DL)吧,该技术让人工智能领域产生了脱胎换骨的革新。深度学习是机器学习的一个子集,也是超过15种不一样方法之一。全部深度学习均为机器学习,但并不是全部机器学习均为深度学习(见下图4)。
深度学习颇有用,避免了程序员不得不自行处理特征规范(定义要在数据种分析的特征)或优化(如何对数据进行权衡以提供更精确的预测)的麻烦,这些可交给算法来作。
这是如何实现的?深度学习的突破之处在于对大脑,而非整个世界进行建模。人类的大脑会学着作各类困难的事,例如理解语音和识别物体,这并非经过事无巨细的规则实现的,而是经过各类实践和反馈实现。孩提时期,咱们会逐渐开始探索整个世界(例如看到一张汽车的图片),作出预测(“看,汽车!”),并收到反馈(“你说的没错!”)。并不须要各类琐碎的规则,咱们能够经过训练自行学习。
深度学习使用了相似的方法。人工制造的仅仅是基于软件的计算器,借此模拟出与大脑中神经元相互链接后所实现的相似功能。经过这种计算机组成一个“神经网络”,接受输入(继续上文的例子,一张汽车的图片),对输入的内容进行分析进而作出判断,并了解本身的判断是否正确。若是输出结果是错误的,将由算法对神经元之间的链接进行调教,进而改变后续的预测。最初这个网络可能会常常犯错,但随着咱们向TA提供数百万个样本,神经元之间的链接将得到调优,使得整个神经网络能在几乎全部状况下作出正确的判断。实践出(近似的)真知。
经过这种过程,随着效果日渐好转,如今咱们已经能够:
深度学习并不能用来解决全部问题。这种方式一般须要用极大量的数据集进行训练。神经网络的训练和运行须要投入大量计算处理能力,此外这种方法还存在“可解释性”方面的问题:可能很难知道某个神经网络的预测能力是如何发展起来的。但由于能将开发者从复杂的特征规范任务中解脱出来,深度学习已经能够为各类重要问题提供很是成功的预测引擎。所以深度学习已经成为AI开发者手中一款强大的利器。
鉴于其重要性,咱们有必要对深度学习的工做原理有所简单理解。深度学习须要使用人造的“神经网络”,这是一种相互链接的“神经元”(基于软件的计算器)的集合。
人造的神经元能够接受一种或多种输入。神经元会针对输入结果执行数学运算,并产生可输出的结果。输出的结果取决于每类输入的“权重”以及神经元的“输入-输出函数”配置(见下图5)。输入-输出函数各异。神经元能够是:
多个神经元相互链接组成了神经网络,一个神经元的输出能够成为另外一个神经元的输入(见下图6)。
神经网络可经过组织整理呈现为多层次神经元(这也是“深度”这个词的由来)。其中“输入层”负责接收将由网络处理的信息,例如一组图片。“输出层”负责提供结果。输入和输出层之间还有“隐藏层”,大部分活动均在这一层中发生。一般来讲,神经网络上每一层神经元的输出内容都可成为下一层神经元的输入内容之一(见下图7)。
用图像识别算法做为例子来看看吧。假设要识别图片中的人脸。将数据装入神经网络后,第一层负责识别局部对比模式,例如图片边缘,这是一种“底层”特征。随着图片在整个网络中流动,逐渐提取出“高层”特征,例如从边缘到鼻子,再从鼻子到面孔(见下图8)。
在输出层方面,根据训练效果,神经网络会就图片是每种特定类型的可能性给出几率(人脸:97%;气球:2%;树叶:1%)。
一般来讲,神经网络的训练过程须要使用大量已经进行过度类的样本。随后算法会经过检测出的错误和神经元之间的链接权重进行调整,借此改善效果。优化过程的重复性极高,训练完成后便可部署系统并对未分类图片进行评估。
上文描述的是一种很简单的神经网络,实际上神经网络的结构可能各异,而且大部分都很是复杂。各类常见变体包括:同层神经元之间的不一样链接,每层神经元数量的变化,以及将神经元的输出结果流向前一层网络(“递归”神经网络)的链接。
神经网络的设计和完善须要投入至关多的技能。例如针对特定应用调整网络结构,提供适宜的训练数据集,根据进展调整网络结构,以及多种方法的混合使用等。
AI如此重要,缘由在于这种技术能够顺利解决以往看来极为困难的问题,而这些问题的解决方案可以应用于关乎人类福祉的重要领域:健康、教育、商业、运输、公共事业、娱乐…… 自二十世纪五十年代开始,人们对AI的研究主要侧重于下列五大领域的“查询”:
AI蕴含着重大的价值,由于在不少情境下,这些能力方面取得的最新进展每每能催生出颠覆性(Revolutionary),而不只仅是逐渐演变而来(Evolutionary)的其余能力。例以下文列举了AI的部分(远非所有)应用范例:
将来几年里,机器学习能力将被运用于几乎全部领域的各类过程当中。以企业中的某一个职能为例,例如公司内部的人力资源(HR)活动,便可在下列不一样过程当中运用机器学习技术:
随着时间的发展,咱们期待着机器学习能变成常态。机器学习早晚会成为开发者人手必备的工具,最初也许只能对现有过程进行改善,但有朝一日将实现完全的革新。
机器学习的深远影响远远赛过这些直接产生的影响。深度学习已经让计算机视觉得到了日新月异的提升,例如目前的自动驾驶机动车(轿车和卡车)均已变为现实。但会产生怎样的影响?以目前的英国为例,90%的人员和80%的货物运输是在道路上进行的,仅自动驾驶机动车自己就能产生下列影响:
有关AI的研究始于二十世纪五十年代,经历过数次虚假的“黎明期”后,为什么如今才迎来拐点?因为新算法的陆续完善,所适用数据的大幅丰富,用于训练的硬件日益强大,以及云服务对开发者接受度的逐渐催化,AI的实际运用效果在近些年有了大幅改进。
虽然深度学习算不上一种新技术(早在1965年就有人提出了第一个实际有效的多层神经网络规范?),但最近十年来深度学习算法的革新催生出了大相径庭的结果。
识别图像中物体的能力随着卷积神经网络(CNN,Convolutional Neural Network)的发展产生了日新月异的提升(以下图9)。受到动物视觉脑皮层工做原理启发设计而来的CNN中,神经网络中的每一层都可充当判断特定模式是否存在所用的筛选器。2015年,微软基于CNN的计算机视觉系统在对图片中物体进行识别方面实现了比人类更高的准确度(计算机:95.1%;人类:94.9%)。“据咱们所知,”他们写到:“咱们的测试结果是计算机打败人类的首例。”CNN还可应用于视频和语音识别等更普遍的领域。
与此同时,随着递归神经网络(RNN,Recurrent Neural Network)的诞生,语音和手写识别方面也取得了飞速进展(见下图10)。不一样于卷积神经网络仅“向下馈送”的运做方式,RNN可经过反馈链接让数据呈环路流动。RNN还出现了一种更强大的新类型:长短时间记忆(LSTM,Long Short-Term Memory)模型。在额外的链接和内存“细胞(Cell)”的帮助下,RNN能够“记住”本身在数千步操做以前看到的数据,并使用这些数据对后续须要关注的内容进行解释:这一特性对语音识别产生了巨大的帮助,由于对下一个词的理解一般会受到以前所处理词汇的影响。从2012年开始,谷歌就在使用LSTM驱动Android中的语音识别系统。就在六周前,微软工程师称他们的系统实现了低至5.9%的单词错误率,这是有史以来首次接近人类能力的水平。
图形处理器(GPU)是一种特殊设计的电子电路,可大幅缩短为深度学习训练神经网络所需的时间。
现代化的GPU最初诞生于二十世纪九十年代末,当时主要是为了为3D游戏和3D开发应用程序进行加速。在3D环境中平移或缩放镜头须要重复用到一种名为矩阵计算的数学运算过程,串行架构的微处理器,包括当今大部分计算机所用的CPU很不适合用来处理此类任务。为了更高效地执行矩阵计算,GPU一般会使用大规模并行架构来制造(Nvidia M40包含3,072个内核)。
神经网络的训练会涉及大量矩阵计算。所以人们发现本来针对3D游戏设计的GPU其实很适合用来对深度学习过程加速。这样作得到了巨大的收效:一颗GPU便可让神经网络的训练时间缩短5倍,针对一些比较大规模的问题甚至可实现10倍甚至更高的加速。在配合针对深度学习框架进行优化的软件开发工具包以后,甚至还能够进一步加快训练速度(见下图11)。
深度学习所用的神经网络一般须要用大量数据集进行训练,样本数量从数千起步,甚至可高达数百万。好在数据的建立速度和可用性也经历了指数形式的增加。今天,随着咱们步入“第三波”数据时代,人类平均天天会生成2.2EB(23亿GB)数据,全球数据总量中有90%是过去24个月内建立的。
“第一波”的数据建立时代始于二十世纪八十年代,当时建立的主要是文档和事务数据,这一时期还在可联网台式计算机的普及过程当中得到了催化。随后“第二波”数据时代,在可联网智能手机的推进下,诞生了大量非结构化媒体数据(邮件、照片、音乐、视频)、Web数据,以及各类元数据。今天咱们正在步入数据的“第三个时代”,工业设施和家庭中部署的机器传感器创造了更多监视用数据、分析用数据,以及更多元数据。
考虑到今天咱们所建立的大部分数据都会经过互联网传输,日益膨胀的互联网流量也开始充当人类海量数据生成过程当中的代理。1992年,全人类天天平均传输100GB数据,但到2020年,咱们将每秒传输61,000GB数据(见下图12,请注意尺度的变化)。
除了通用数据的富足,专用数据资源也在机器学习的推进下与日俱增。例如ImageNet是一个免费提供的数据库,其中已经包含超过1千万张手工分类的图片。该资源的诞生也对深度学习算法物体分类能力的发展起到了推波助澜的效果。
开发者对机器学习的运用还受到云端机器学习基础架构和业界领先云供应商所提供服务的推进。
谷歌、亚马逊、微软,以及IBM均提供了云端基础架构(用于构建和迭代模型的环境,提供可缩放“GPU即服务”产品,并提供其余相关托管服务),这也使得机器学习能力的开发成本和难度大幅下降。
此外他们还提供了正在飞速发展的一系列云端机器学习服务,开发者可将其(从图像识别到语言翻译)直接用于本身的应用程序内。谷歌的机器学习服务针对下列领域提供了易于访问的服务:视觉(物体识别、显性内容检测、人脸检测、图像情绪分析);语音(语音识别和语音到文字转换);文字分析(实体识别、情绪分析、语言检测和翻译);以及职员工做搜索(机会呈现和基于资历的匹配)。微软认知服务也提供了涵盖视觉、语音、语言、知识和搜索等领域的超过21种服务。
公众对AI的兴趣在过去五年里增长了六倍(见下图13),风投公司对AI公司的注资金额也有了显著增加(见下图14)。咱们已经进入了一种良性循环的境地,机器学习的进一步发展正在继续吸引投资、创业者,以及社会各界的关注。尤为是后者,对机器学习的将来发展意义重大。
机器学习能带来数量众多、意义重大的收益。不少收益是看得见的,从无人驾驶机动车到新的人机交互方式等。还有一些收益虽然不那么明显,但也会对平常业务流程和消费者服务提供更强大的能力和效率。
与任何范式转变过程同样,有时太高的指望可能会超出短时间内所能实现的潜力。咱们期待着将来某一时刻,人们对AI的幻想可以完全幻灭,随之而来的将会是长期、持续的价值承认,由于机器学习已经被用于改善并革新现有的系统。
在历史上,工业革命曾经过新的电力和传送方式改变了生产和交流方法。第一次工业革命在十八世纪八十年代使用蒸汽机驱动了机械化的生产过程;第二次工业革命在十九世纪七十年代使用电力推进了商品的大规模量产;第三次工业革命在二十世纪七十年代使用电子和软件技术实现了生产和交流的自动化。今天,随着软件逐渐“蚕食”整个世界,咱们创造价值的主要来源已成为信息自己的处理。经过用更智能的方式完成这样的工做,机器学习将低调地为咱们带来效益和历史意义。
做者:David Kelnar,阅读英文原文:The fourth industrial revolution: a primer on Artificial Intelligence (AI)