# 人工智能概述 人工智能(AI,Artificial Intelligence),是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 说人话就是用来模拟人脑代替人类的一门科学,一般认为属于计算机科学的一个分支。 计算机发明之初科学家就开始畅想人工智能的未来,之所以一直没有取得关键性突破主要是被计算机算力限制, 随着芯片技术,数据量提升和新算法的发明,目前,人工智能已经开始应用到我们的生活中。 个人对人工智能的未来表示悲观,随着技术的发展,人工智能未来一定会对人类形成威胁,甚至取代人类。 ## 人工智能体系结构 在人工智能领域,我们经常会被一些近似的概念迷惑,常见的深度学习,神经网络,人工智能,机器学习等,这些关系 关系可以粗略的用下图来表示: ![深度学习,机器学习和人工智能的关系](./pic/ml_relation.jpg) ## 人工智能三大学派 ### 符号学派 我们把人工智能看作一个会思考的盒子,或者叫黑箱,因为我们不能考察它内部的运作方式。 这一学派不关注黑箱内部情况,终点关注黑箱的行为和表现, 只要黑箱的表现符合一定标准,比如通过图灵测试, 就认为实现了人工智能。 因此这一学派被命名为“物理符号系统假说”(PhysicalSymbolicSystemHypothesis)。 符号学派将人工智能看成是一个软件,重点关注人工智能的表现结果表现。 ### 行为学派 行为学派的出发点与符号学派不同,他们关注点是人工智能表现出的行为,聚焦在低等生命。 如果我们观察许多动物 的行为,可以发现某种“智慧”的表象。 例如单个蚂蚁或者蜜蜂只能说是一种普通的生物,但蚁群或者蜂群却表现出了很很智慧的形态。 它们构成了一个分工明确,指令清晰,高效沟通的群体甚至社会,这是我们人类所不能理解的“群体行为智力”。 行为学派受到了这种低等生物的启发,认为人工智能可以通过设计低等或者简单的智慧部件,并大量的这种 低等智慧部件相连接“涌现”出人工智能。 ### 连接学派 可以简单的认为这个学派是通过模拟大脑来实现人工智能。 大脑是由亿万的神经元通过复杂的连接构成的。 这个学派认为人工智能一个很简单的实现方式是,用相应电子元器件模拟脑细胞,大量这样的元器件 相互连接就模拟了一个物理大脑,所谓的智力活动就是相应的软件,通过软件驱动硬件,最终模拟 人类大脑的运转。 ## 人工智能常用软件/框架 ### Caffe(卷积神经网络框架,ConvolutionalArchitectureforFastFeatureEmbedding) - caffe是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook - 核心语言是C++,它支持命令行、Python和Matlab接口 - 既可以在CPU上运行也可以在GPU上运行 - Caffe的设计:Caffe follow了神经网络的一个简单假设 - 所有的计算都是以layer的形式表示的 - layer做的事情就是take一些数据,然后输出一些计算以后的结果 - 比如说卷积,就是输入一个图像,然后和这一层的参数(filter)做卷积,然后输出卷积的结果。 ### SciKit-learn - scikit-learn是老牌的开源 Python 算法框架 - 始于2007年的 GoogleSummerofCode 项目,最初由 David Cournapeau 开发 - 它是一个简洁、高效的算法库,提供一系列的监督学习和无监督学习的算法,以用于数据挖掘和数据分析 - SciKit-learn几乎覆盖了机器学习的所有主流算法 - 算法库建立在 SciPy (ScientificPython) 之上——你必须先安装 SciPy 才能使用 SciKit-learn 。它的框架中一共包括: - NumPy: 基础的多维数组包 - SciPy: 科学计算的基础库 - Matplotlib: 全面的 2D/3D 测绘 - IPython: 改进的交互控制器 - Sympy: 符号数学 - Pandas:数据结构和分析 - 命名的由来: - SciPy 的扩展和模块在传统上被命名为 SciKits - 而提供学习算法的模组就被命名为 scikit-learn - 与 TensorFlow 的主要区别是: - TensorFlow 更底层 - 而 SciKit-learn 提供了执行机器学习算法的模块化方案,很多算法模型直接就能用。 ### Keras - keras是一个最低限度的、模块化的神经网络库 - 可以使用Theano或TensorFlow作为后端 - Keras最主要的用户体验是从构思到产生结果将会是一个非常迅速的过程 - 包括state-of-the-art中针对优化(Adam,RMSProp)、标准化(BatchNorm)和激活层(PReLU,ELU,LeakyReLU) 最新的算法 - Keras也非常注重卷积神经网络,从计算机视觉的角度来看这是非常有价值的 ### Torch: - Torch是一个广泛支持机器学习算法的科学计算框架 - 易于使用且高效,主要得益于一个简单的和快速的脚本语言LuaJIT,和底层的C / CUDA实现 ### PyTorch: - PyTorch是美国互联网巨头Facebook在深度学习框架Torch的基础上使用Python重写的一个全新的深度学习框架 - 它更像NumPy的替代产物,不仅继承了NumPy的众多优点,还支持GPUs计算,在计算效率上要比NumPy有更明显的优势 - PyTorch还有许多高级功能,比如拥有丰富的API,可以快速完成深度神经网络模型的搭建和训练 - PyTorch一经发布,便受到了众多开发人员和科研人员的追捧和喜爱,成为AI从业者的重要工具之一。 ### Theano - 一个Python库 - 可以定义,优化以及对数学表达式求值, 尤其是多维数组(numpy的ndarray)的表达式的求值 - 对于解决大量数据的问题,使用Theano可能获得与手工用C实现差不多的性能 - 通过利用GPU,它能获得比CPU上的C实现快很多数量级 ### TensorFlow - TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。 - Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程 - TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统 - TensorFlow可被用于语音识别或图像识别等多项机器学习和深度学习领域, CNN,卷及神经网络 ### PaddlePaddle - 百度的 ## 人工智能简史 本章内容试图把人工智能的大致发展进行罗列。 我们把人工智能的发展划分为7个时期,本文以时间和事件为主线划分: ![人工智能的发展阶段](./pic/ai_stage.png) 下面对人工智能的各个发展阶段进行解读。 ### 人工智能I期:起源 可以不严谨的认为人工智能诞生需要三个条件: - 计算机 - 图灵测试: - 图灵(Alan Mathison Turing),计算机奠基人之一,因同性恋被英国迫害致死 - 图灵自杀死去的时候,他的桌上留有一个沾满氰化钾的毒苹果 - 图灵奖,计算机最高奖项,以图灵明明 - 传说乔布斯当年设定的被咬了一口的苹果标志,是纪念图灵 - 图灵测试是,人们通过设备和另外一个人进行聊天,可以是文字形式也可以是语音,聊天之后, 如果30%的人认为是在和一个真人聊天,而实际对方却是个机器, 那么我们就认为这个机器通过了图灵测试,它是具有智能的。 - 以现在的计算机人工智能技术来说,30%的比例定的有些低,近年来很多人工智能对话程序都已经能够通过图灵测试。 - 达特茅斯会议: - 1956年,达特茅斯学院,几个老头儿开了个会,畅想了下未来牛叉的计算机如何替代人类 - 就随便聊聊,最重要的成果是确定了AI这个词 - 被看作是人工智能元年 - 下面是这几个老头儿 - 最左边的是特伦查德摩尔,数学家和计算机科学家,曾在IBM的沃森研究中心工作 - 左数第二位是约翰麦卡锡,达特茅斯会议的发起人,1971年图灵奖得主,Lisp语言创始人 - 中间的是马文闵斯基,知名的认知科学家,曾在1951年建立了第一个神经网络,模拟了40个神经元 - 右数第二位是奥利弗赛弗里奇,被称为“机器感知之父”。 - 最右侧的是雷所罗门诺夫,经验概率理论的发明人。 ![达特茅斯会议](./pic/dartmouth.png) ### 人工智能II期:第一次繁荣(1956-1974) - 起源:科学家都说人工智能这么好,大家一起来呀 - 结果:好是好,然并卵 - 世界上第一个聊天程序ELIZA: - 麻省理工学院的人工智能学院在1964到1966年期间编写的 - 能够根据设定的规则,根据用户的提问进行模式匹配,然后从预先编写好的答案库中选择合适的回答。 - 第一个尝试通过图灵测试的软件程序 - 是计算机自然语言对话技术的开端 ![ELIZA](./pic/eliza.png) - 1959年 - 计算机游戏先驱亚瑟塞缪尔在IBM的首台商用计算机IBM 701上编写了西洋跳棋程序 - 这个程序顺利战胜了当时的西洋棋大师罗伯特尼赖 - “推理就是搜索”,是这个时期主要研究方向之一。 - 1967年 - 早稻田大学启动了WABOT项目 - 至1972年完成了第一代机器人产品WABOT-1,有双手双脚,有摄像头视觉和听觉装置。 - ![WABOT](./pic/wabot.png) - LISP语言 - 约翰麦卡锡开发了LISP语言 - 是以后几十年来人工智能领域最主要的编程语言 - 马文闵斯基对神经网络有了更深入的研究,也发现了简单神经网络的不足 - 多层神经网络、反向传播算法开始出现 - 专家系统也开始起步 - 第一台工业机器人走上了通用汽车的生产线 - 出现了第一个能够自主动作的移动机器人。 ### 人工智能III期:第一次低潮(1974-1980) - AI浪过头了,引起了人们的质疑,根本原因是遇到了算法和算力瓶颈 - 1973年,著名数学拉特希尔家向英国政府提交了一份关于人工智能的研究报告,对当时的机器人技术、语言处理技术和图像识别技术进行了严厉的批 评 - 各国政府和机构也停止或减少了资金投入 - 很多人工智能科学家开始发现,数学推理、代数几何这样的人类智能,计算机可以用很少的计算力轻松完成,而对于图像识别、声音识别和自由运动这样人类无须动脑,靠本能和直觉就能完成的事情,计算机却需要巨大的运算量才可能实现。 - 这个论调一方面让人怀疑早期神经网络算法的有效性和实用性 - 另一方面也导致人工智能技术向更加功利化、实用化方向发展,不再像黄金时代那样充满想象,充满对模拟通用人类智能的追求。 - 一度被非常看好的神经网络技术,因为过分依赖于计算力和经验数据量,因此长时期没有取得实质性的进展 - 1969年马文闵斯基与人合著的《感知器》,这本书阐明了神经网络现阶段的真实能力, 也表明之前很多过于乐观的预测是难以实现的理论,似乎从理论上宣判了神经网络死刑 - 1979年 - 斯坦福大学制造了最早的无人驾驶车Stanford Cart - 依靠视觉感应器能够在没有人工干预的情况下,自主的穿过散乱扔着椅子的房间 ![Stanford Card](./pic/stanfordcard.png) - 1978年 - 1978年,卡耐基梅隆大学开始开发一款能够帮助顾客自动选配计算机配件的软件程序XCON - 1980年真实投入使用,这是个完善的专家系统,包含了设定好的超过2500条规则,在后续几年处理了超过80000条订单 - 准确度超过95% - 专家系统的出现,是本阶段最后一个标志性事件,同时开启了下一个时代 ![XCON](./pic/xcon.png) ### 人工智能IV期:第二次繁荣(1980-1987) - XCON成为一个新时期的里程碑,标志专家系统开始在特定领域发挥威力 - 1965年,斯坦福大学,美国著名计算机学家费根鲍姆开发了第一个专家系统Dendral, 这个系统可以根据化学仪器的读数自动鉴定化学成分 - 80年代三分之二的世界500强公司开始开发和部署各自领域的专家系统 - 1982年 - 日本国际贸易工业部发起了第五代计算机系统研究计划 - 这个项目在十年后基本以失败结束 - 主要是当时低估了PC计算机发展的速度,尤其是intel的x86芯片架构在很快的几年内就发展到足以应付各个领域专家系统的需要。 - 然而,一方面第五代计算机计划极大的推进了日本工业信息化进程,加速了日本工业的快速崛起 - 另一方面,这开创了并行计算的先河,至今我们使用的多核处理器和神经网络芯片,都受到了20多年前这个计划的启发。 - 1982年英国科学家霍普菲尔德几乎同时与杰弗里·辛顿发现了具有学习能力的神经网络算法,这使得神经网络一路发展,在后面的90年代开始商业化,被用于文字图像识别和语音识别。 ![NN](./pic/nn01.png) - 1984年 - MCC1984发起了人工智能历史上最大也是最有争议性的项目,Cyc,这个项目至今仍然在运作 - Cyc项目的目的是建造一个包含全人类全部知识的专家系统,“包含所有专家的专家” - 截止2017年,它已经积累了超过150万个概念数据和超过2000万条常识规则,曾经在各个领域产生超过100个实际应用,它也被认为是当今最强人工智能IBM Woston的前身。 - Cyc受到了网络搜索引擎技术、自然语言处理技术以及神经网络等新技术的挑战,未来发展并不明朗 ![CYC](./pic/cyc.png) - 1986年,慕尼黑的联邦国防军大学,一辆梅赛德斯-奔驰面包车安装了计算机和各种传感器,实现了自动控制方向盘、 油门和刹车。这是真正意义上的第一辆自动驾驶汽车,叫做VaMoRs ![VaMoRs](./pic/vamors.png) ### 人工智能V期:第二次低潮(1987-1993) - 随着计算机硬件制造技术的提高,PC机性能稳步提升,逐步赶上甚至超越了人工智能专用LISP机器, 直到1987年,由于性价比等问题,专用LISP机器硬件销售市场崩溃,人工智能领域再一次进入寒冬。 - 专家系统无法自我学习并更新知识库和算法,后期维护问题等问题,导致专家系统没落 - 1988年 - 美国科学家朱迪亚·皮尔将概率统计方法引入人工智能的推理过程中,对后来人工智能的发展起到了重大影 - Candide项目: - IBM的沃森研究中心在这个项目中把概率统计方法引入到人工智能的语言处理 - 基于200多万条语句实现了英语和法语之间的自动翻译。同年,英国人工智能科学家卡朋特开发了Jabberwacky聊天程序,尝试更好的通过图灵测试,至今这个程序的后续版cleverbot仍然很多人在使用。 ![Judea Pearl](./pic/judeapearl.png) - 1992年 - 在苹果公司任职的华人李开复,设计了Casper,这也是二十年后Siri最早的原型 - 使用了统计学的方法,具有连续语音识别能力 - Casper可以实时识别语音命令并执行计算机办公操作,类似于语音控制做word文档。 - 1989年: - AT&T贝尔实验室的雅恩·乐昆和团队使用卷积神经网络技术,实现了人工智能识别手写的邮政编码数字图像 - 1993年: - 美国科幻小说作家弗诺·芬奇发布了《即将到来的奇点》一文 - 预言三十年内我们将发明超越人类的智能,人类社会将被终结 - 大拿曰:“现在看,这个牛逼吹的不算太过分” ![Vernor Vinge](./pic/Vernor.png) ### 人工智能VI期:稳健发展(1993-2011) - 本时期人工智能技术逐渐与计算机和软件技术深入融合,由于人工智能这个词过于科幻, 开始被 数据分析、商业智能、信息化、知识系统、计算智能等词汇代替, 研究成果或开发的功能往往也直接成为软件工程的一部分 - 在这个阶段,人工智能算法理论的进展并不多,发展依赖于计算机硬件的成就 - 1995年 - 理查德华莱士开发了新的聊天机器人程序Alice - 它能够利用互联网不断增加自身的数据集,优化内容 - Alice也并不能真的通过图灵测试 - 2013年奥斯卡获奖影片《her(她)》就是以Alice为原型创作的 ![Alice](./pic/alice.png) - 1997年,IMB的计算机深蓝Deep blue战胜了人类世界象棋冠军卡斯帕罗夫 - 1997年 - 德国科学霍克赖特和施米德赫伯提出了长期短期记忆(LSTM) - LSTM今天仍用于手写识别和语音识别的递归神经网络 - 对后来人工智能的研究有着深远影响。 ![LSTM](./pic/lstm.png) - 1998年,美国公司创造了第一个宠物机器人Furby - 2000年,本田公司发布了机器人产品ASIMO,目前已经是全世界最先进的机器人之一 - 2002年,iRobot面向市场推出了Roomba扫地机器人 - 2004年,《人工智能的未来》 - 美国神经科学家杰夫·霍金斯出版 - 深入讨论了全新的大脑记忆预测理论,指出了依照此理论如何去建造真正的智能机器 - 后来神经科学的深入研究产生了深刻的影响 ![人工智能的未来](./pic/onintelligence.png) - 2006年, 《Learning Multiple Layers of Representation》 - 杰弗里辛顿出版 - 奠定了后来神经网络的全新的架构 - 至今仍然是人工智能深度学习的核心技术 ![Hinton](./pic/hinton.png) - 2007年,ImageNet项目 - 斯坦福任教的华裔科学家李飞飞发起创建 - 为了向人工智能研究机构提供足够数量可靠地图像资料,ImageNet号召民众上传图像并标注图像内容 - ImageNet目前已经包含了1400万张图片数据,超过2万个类别 - 自2010年开始,ImageNet每年举行大规模视觉识别挑战赛, 全球开发者和研究机构都会参与贡献最好的人工智能图像识别算法进行评比 - 2012年由多伦多大学在挑战赛上设计的深度卷积神经网络算法,被业内认为是深度学习革命的开始 ![LiFeifei](./pic/feifei.png) - 2009年 - 吴恩达开始研究使用GPU而不是CPU进行大规模无监督式机器学习工作 - 尝试让人工智能程序完全自主的识别图形中的内容 - 2012年,吴恩达取得了惊人的成就,能够在自主观看数千万张图片之后,识别那些包含有小猫的图像内容。这是历史上在没有人工干预下,机器自主强化学习的里程碑式事件。 ![吴恩达](./pic/endrew.png) - 2004年开始,DARPA连续组织了多场自动驾驶汽车技术挑战赛,试图探索利用人工智能实现更强的军事自动化 - 2012年后,DARPA挑战赛转向机器人领域,希望在未来通过机器人技术提高作战效率 ![DRAPA](./pic/drapa.png) - 2009年,谷歌开始秘密测试无人驾驶汽车技术 ![无人车](./pic/aiaoto.png) - 2014年,谷歌就成为第一个在通过美国州自驾车测试的公司 - 2011年,在综艺竞答类节目《危险边缘》中,IBM的沃森系统与真人一起抢答竞猜,凭借其强大的知识库最后战胜了两位人类冠军而获胜 ![危险边缘](./pic/wastion.png) ### 人工智能VII期: ABC新时代(2012-) 由于技术,互联网和算力的发展,人们在人工智能领域能够以来强悍算力在互联网海量数据的训练下取得更好的成绩。 - 2008以后,随着互联网等的发展,人类积累的海量数据为以后AI的发展提供了更多的素材 - 2010年, 语音助手 - 亚马逊公司就开始研发语音控制的智能音箱 - 2014年正式发布了产品Echo - 随后谷歌、苹果都推出类似产品,国内厂商如阿里、小米、百度、腾讯等也都纷纷效仿 ![客厅入口控制](./pic/cortana.png) - 2014年, - 伊恩·古德费罗提出GANs生成对抗网络算法 - 是一种用于无监督学习的人工智能算法,这种算法由生成网络和评估网络构成, 以左右互搏的方式提升最终效果 - 这种方法很快被人工智能很多技术领域采用 ![Ian](./pic/Ian.png) - 2014年 - 在图灵测试诞生64年后,一台名为Eugene Goostman的聊天机器人通过了图灵测试 - 谷歌向自动驾驶技术投入重金,Skype推出实时语音翻译功能 - 2015年, 微软, 在图像识别ImageNet数据集达到人类水平 - 2016年和2017年,谷歌AlphaGo连续战胜韩国李世石以及中国的柯洁 ![Alphago](./pic/alphago.png) - 波士顿动力 - 谷歌2013年收购波士顿动力公司 - 2017年出售给日本软银公司 - 波士顿动力学崛起于美国国防部的DARPA大赛 - 生产的双足机器人和四足机器狗具有超强的环境适应能力和未知情况下的行动能力 ![波士顿动力](./pic/boston.png) - 2016年, 微软,在Switchboard对话语义识别达到人类水平 - 2017年, 在斯坦福问答数据集SQuAD上达到人类水平 - 2018年,微软,研发的机器翻译系统在通用新闻报道的中译英测试集上,达到了人类专业译者水平, 比预期提前了7年 - 2018年, 中国,大量交通枢纽人脸识别自动检票 - 2019年, 中东战场, 无人武器大规模应用在战场 - 2020年, 肺炎疫情,京东使用无人送货机器 - 2020年, 百度无人车量产