人工智能发展史_人工智能的夏天-程序员宅基地

技术标签: 公众号阅读  

转自 微信公众号 纯洁的微笑

人工智能的诞生:1943 - 1956

在20世纪40年代和50年代,来自不同领域(数学,心理学,工程学,经济学和政治学)的一批科学家开始探讨制造人工大脑的可能性。1956年,人工智能被确立为一门学科。

1956年的夏天,香农和一群年轻的学者在达特茅斯学院召开了一次头脑风暴式研讨会。会议的组织者是马文·闵斯基,约翰·麦卡锡和另两位资深科学家Claude Shannon以及Nathan Rochester,后者来自IBM。与会者包括Ray Solomonoff,Oliver Selfridge,Trenchard More,Arthur Samuel,Newell和Simon,他们中的每一位都将在AI研究的第一个十年中作出重要贡献。

会议虽然叫做“达特茅斯夏季人工智能研究会议”,其实它不同于今天我们召开几天的学术会议,因为一来没有什么可以报告的科研成果,二来这个会议持续了一个暑假。事实上,这是一次头脑风暴式的讨论会,这10位年轻的学者讨论的是当时计算机尚未解决,甚至尚未开展研究的问题,包括人工智能、自然语言处理和神经网络等。

会上纽厄尔和西蒙讨论了“逻辑理论家”,而麦卡锡则说服与会者接受“人工智能”一词作为本领域的名称。1956年达特矛斯会议上人工智能的名称和任务得以确定,同时出现了最初的成就和最早的一批研究者,因此这一事件被广泛承认为人工智能诞生的标志。

黄金年代:1956 - 1974

达特茅斯会议之后的数年是大发现的时代。对许多人而言,这一阶段开发出的程序堪称神奇:计算机可以解决代数应用题,证明几何定理,学习和使用英语。当时大多数人几乎无法相信机器能够如此“智能”。研究者们在私下的交流和公开发表的论文中表达出相当乐观的情绪,认为具有完全智能的机器将在二十年内出现。ARPA(国防高等研究计划署)等政府机构向这一新兴领域投入了大笔资金。

第一代AI研究者们非常乐观,曾作出了如下预言:

  • 1958年,H. A. Simon,Allen Newell:“十年之内,数字计算机将成为国际象棋世界冠军。” “十年之内,数字计算机将发现并证明一个重要的数学定理。”

  • 1965年,H. A. Simon:“二十年内,机器将能完成人能做到的一切工作。”

  • 1967年,Marvin Minsky:“一代之内……创造‘人工智能’的问题将获得实质上的解决。”

  • 1970年,Marvin Minsky:“在三到八年的时间里我们将得到一台具有人类平均智能的机器。”

早期,人工智能使用传统的人工智能方法进行研究,什么是传统的人工智能研究呢?简单的讲,就是首先了解人类是如何产生智能的,然后让计算机按照人的思路去做。因此在语音识别、机器翻译等领域迟迟不能突破,人工智能研究陷入低谷。

第一次AI低谷:1974 - 1980

由于人工智能研究者们对项目难度评估不足,这除了导致承诺无法兑现外,还让人们当初的乐观期望遭到严重打击。到了70年代,人工智能开始遭遇批评,研究经费也被转移到那些目标明确的特定项目上。

1972年康奈尔大学的教授弗雷德.贾里尼克(Fred Jelinek)被要求到IBM做语音识别。在之前各个大学和研究这个问题已经花了20多年的时间,主流的研究方法有两个特点,一个是让计算机尽可能地模拟人的发音特点和听觉特征,一个是让计算机尽可能的方法理解人所讲的完整的语句。对于前一项研究,有被称为特征提取,后一项的研究大都使用传统人工智能的方法,它基于规则和语义。

贾里尼克任务,人的大脑是一个信息源,从思考到找到合适的语句,再通过发音说出来,是一个编码的过程,经过媒介传播到耳朵,是一个解码的过程。既然是一个典型的通讯问题,那就可以用解决通讯方法来解决问题,为此贾里尼克用两个数据模型(马尔科夫模型)分别描述信源和信道。然后使用大量的语音数据来训练。最后,贾里尼克团队花了4年团队,将语音识别从过去的70%提高到90%。后来人们尝试使用此方法来解决其他智能问题,但因为缺少数据,结果不太理想。

在当时,由于计算机性能的瓶颈、计算复杂性的指数级增长、数据量缺失等问题,一些难题看上去好像完全找不到答案。比如像今天已经比较常见的机器视觉功能在当时就不可能找到一个足够大的数据库来支撑程序去学习,机器无法吸收足够的数据量自然也就谈不上视觉方面的智能化。

项目的停滞不但让批评者有机可乘——1973年Lighthill针对英国人工智能研究状况的报告批评了人工智能在实现其“宏伟目标”上的完全失败,也影响到了项目资金的流向。人工智能遭遇了6年左右的低谷。

繁荣:1980 - 1987

在80年代,一类名为“专家系统”的AI程序开始为全世界的公司所采纳,而“知识处理”成为了主流AI研究的焦点。1981年,日本经济产业省拨款八亿五千万美元支持第五代计算机项目。其目标是造出能够与人对话,翻译语言,解释图像,并且像人一样推理的机器。

受到日本刺激,其他国家纷纷作出响应。英国开始了耗资三亿五千万英镑的Alvey工程。美国一个企业协会组织了MCC(Microelectronics and Computer Technology Corporation,微电子与计算机技术集团),向AI和信息技术的大规模项目提供资助。DARPA也行动起来,组织了战略计算促进会(Strategic Computing Initiative),其1988年向AI的投资是1984年的三倍。人工智能又迎来了大发展。

专家系统是一种程序,能够依据一组从专门知识中推演出的逻辑规则在某一特定领域回答或解决问题。最早的示例由Edward Feigenbaum和他的学生们开发。1965年起设计的Dendral能够根据分光计读数分辨混合物。1972年设计的MYCIN能够诊断血液传染病。它们展示了这一方法的威力。专家系统仅限于一个很小的知识领域,从而避免了常识问题;其简单的设计又使它能够较为容易地编程实现或修改。总之,实践证明了这类程序的实用性。直到现在AI才开始变得实用起来。

专家系统的能力来自于它们存储的专业知识。这是70年代以来AI研究的一个新方向。Pamela McCorduck在书中写道,“不情愿的AI研究者们开始怀疑,因为它违背了科学研究中对最简化的追求。智能可能需要建立在对分门别类的大量知识的多种处理方法之上。” “70年代的教训是智能行为与知识处理关系非常密切。有时还需要在特定任务领域非常细致的知识。”知识库系统和知识工程成为了80年代AI研究的主要方向。

1982年,物理学家John Hopfield证明一种新型的神经网络(现被称为“Hopfield网络”)能够用一种全新的方式学习和处理信息。大约在同时(早于Paul Werbos),David Rumelhart推广了反向传播算法,一种神经网络训练方法。这些发现使1970年以来一直遭人遗弃的联结主义重获新生。

第二次AI低谷:1987 - 1993

“AI之冬”一词由经历过1974年经费削减的研究者们创造出来。他们注意到了对专家系统的狂热追捧,预计不久后人们将转向失望。事实被他们不幸言中:从80年代末到90年代初,AI遭遇了一系列财政问题。

变天的最早征兆是1987年AI硬件市场需求的突然下跌。Apple和IBM生产的台式机性能不断提升,到1987年时其性能已经超过了Symbolics和其他厂家生产的昂贵的Lisp机。老产品失去了存在的理由:一夜之间这个价值五亿美元的产业土崩瓦解。

XCON等最初大获成功的专家系统维护费用居高不下。它们难以升级,难以使用,脆弱(当输入异常时会出现莫名其妙的错误),成了以前已经暴露的各种各样的问题的牺牲品。专家系统的实用性仅仅局限于某些特定情景。到了80年代晚期,战略计算促进会大幅削减对AI的资助。DARPA的新任领导认为AI并非“下一个浪潮”,拨款将倾向于那些看起来更容易出成果的项目。

1991年人们发现十年前日本人宏伟的“第五代工程”并没有实现。事实上其中一些目标,比如“与人展开交谈”,直到2010年也没有实现。与其他AI项目一样,期望比真正可能实现的要高得多。

走在正确的路上:1993 - 2005

现已年过半百的AI终于实现了它最初的一些目标。它已被成功地用在技术产业中,不过有时是在幕后。这些成就有的归功于计算机性能的提升,有的则是在高尚的科学责任感驱使下对特定的课题不断追求而获得的。不过,至少在商业领域里AI的声誉已经不如往昔了。

“实现人类水平的智能”这一最初的梦想曾在60年代令全世界的想象力为之着迷,其失败的原因至今仍众说纷纭。各种因素的合力将AI拆分为各自为战的几个子领域,有时候它们甚至会用新名词来掩饰“人工智能”这块被玷污的金字招牌。AI比以往的任何时候都更加谨慎,却也更加成功。

第一次让全世界感到计算机智能水平有了质的飞跃实在1966年,IBM的超级计算机深蓝大战人类国际象棋冠军卡斯伯罗夫,卡斯伯罗夫是世界上最富传奇色彩的国际象棋世界冠军,这次比赛最后以4:2比分战胜了深蓝。对于这次比赛媒体认为深蓝虽然输了比赛,但这毕竟是国际象棋上计算机第一次战胜世界冠军两局。时隔一年后,改进后的深蓝卷土重来,以3.5:2.5的比分战胜了斯伯罗夫。自从1997年以后,计算机下棋的本领越来越高,进步超过人的想象。到了现在,棋类游戏中计算机已经可以完败任何人类。

深蓝实际上收集了世界上百位国际大师的对弈棋谱,供计算机学习。这样一来,深蓝其实看到了名家们在各种局面下的走法。当然深蓝也会考虑卡斯伯罗夫可能采用的走法,对不同的状态给出可能性评估,然后根据对方下一步走法对盘面的影响,核实这些可能性的估计,找到一个最有利自己的状态,并走出这步棋。因此深蓝团队其实把一个机器智能问题变成了一个大数据和大量计算的问题。


越来越多的AI研究者们开始开发和使用复杂的数学工具。人们广泛地认识到,许多AI需要解决的问题已经成为数学,经济学和运筹学领域的研究课题。数学语言的共享不仅使AI可以与其他学科展开更高层次的合作,而且使研究结果更易于评估和证明。AI已成为一门更严格的科学分支。

Judea Pearl发表于1988年的名著将概率论和决策理论引入AI。现已投入应用的新工具包括贝叶斯网络,隐马尔可夫模型,信息论,随机模型和经典优化理论。针对神经网络和进化算法等“计算智能”范式的精确数学描述也被发展出来。

大数据:2005 - 现在

从某种意义上讲,2005年是大数据元年,虽然大部分人感受不到数据带来的变化,但是一项科研成果却让全世界从事机器翻译的人感到震惊,那就是之前在机器翻译领域从来没有技术积累、不为人所知的Google,以巨大的优势打败了全世界所有机器翻译研究团队,一跃成为这个领域的领头羊。

就是Google花重金请到了当时世界上水平最高的机器翻译专家弗朗兹·奥科 (Franz Och)博士。奥科用了上万倍的数据来训练系统。量变的积累就导致了质变的发生。奥科能训练出一个六元模型,而当时大部分研究团队的数据量只够训练三元模型。简单地讲,一个 好的三元模型可以准确地构造英语句子中的短语和简单的句子成分之间的搭配,而六元模型则可以构造整个从句和复杂的句子成分之间的搭配,相当于将这些片段从一种语言到另一种语言直接对译过去了。不难想象,如果一个系统对大部分句子在很长的片段上直译,那么其准确性相比那些在词组单元做翻译的系统要准确得多。

如今在很多与“智能”有关的研究领域,比如图像识别和自然语言理解,如果所采用的方法无法利用数据量的优势,会被认为是落伍的。

数据驱动方法从20世纪70年代开始起步,在八九十年代得到缓慢但稳步的发展。进入21世纪后,由于互联网的出现,使得可用的数据量剧增,数据驱动方法的优势越来越明显,最终完成了从量变到质变的飞跃。如今很多需要类似人类智能才能做的事情,计算机已经可以胜任了,这得益于数据量的增加。

全世界各个领域数据不断向外扩展,渐渐形成了另外一个特点,那就是很多数据开始出现交叉,各个维度的数据从点和线渐渐连成了网,或者说,数据之间的关联性极大地增强,在这样的背景下,就出现了大数据。

大数据是一种思维方式的改变。现在的相比过去大了很多,量变带来了质变,思维方式、做事情的方法就应该和以往有所不同。这其实是帮助我们理解大数据概念的一把钥匙。在有大数据之前,计算机并不擅长解决需要人类智能来解决的问题,但是今天这些问题换个思路就可以解决了,其核心就是变智能问题为数据问题。由此,全世界开始了新的一轮技术革命——智能革命。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/carolynlmk/article/details/75043875

智能推荐

vue3之异步组件与代码分包_vue 异步组件的打包-程序员宅基地

文章浏览阅读781次。目录vue3之异步组件与代码分包模拟请求public / data.jsonserve.ts组件 B.vue使用 异步 组件 B.vuevue3之异步组件与代码分包使用yarn build | npm run build之后会产生一个dist的包正常的三个文件 介绍若是再页面都是使用同步组件的形式,那么再index.js 这个主包 里 打包的文件也就也来越多,这样导致页面加载速度的缓慢,因此可以把组件拆分为异步组件,代码拆分打包,有利于页面的加载模拟请求public / data.j_vue 异步组件的打包

无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请_无法将npm识别为cmdlet,函数,脚本文件-程序员宅基地

文章浏览阅读4.4w次,点赞21次,收藏4次。CMD可以执行npm命令,但是VSCode终端中不能执行。解决办法:VSCode以管理员方式运行、_无法将npm识别为cmdlet,函数,脚本文件

Jmeter接口测试+压力测试_jmeter进行接口压力测试-程序员宅基地

文章浏览阅读1.4k次。jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。jmeter可以做接口测试和压力测试。_jmeter进行接口压力测试

react-native onEndReached 频繁调用_rn flatlist onendreached 会自动调用的问题-程序员宅基地

文章浏览阅读3.7k次。自己封装FlatList 上拉加载的时候,数据比较少的时候onEndReached 频繁调用,直到加载完所有数据,,按照这篇文章FlatList上拉加载写了一个发现了问题,如果数据比较少,不能满屏的话,onEndReached 就会频繁调用, 也有人说是应该用这种方式绑定 this.onEndReached.bind(this), onEndReached:当所有的数据都已经渲染过,并且列..._rn flatlist onendreached 会自动调用的问题

Python 如何在Vscode里面添加代码注释_vscode python 添加注释-程序员宅基地

文章浏览阅读1.5k次。作为一个全干工程师,我学过Java,C#,JS。其实语言这个东西都是一通百通的,尤其是静态语言到动态语言。静态语言和动态语言的区别就是:属性能不能变化。静态语言适合写复杂的功能,动态语言适合写简单的功能。当然这只是相对来说,只要你代码管理的好,其实差不多。硬要说差别的话就是静态语言效率会高一点。其实你只要接触过JS之后,你上手Python其实很快的,但是我还是不习惯Python的不命名直接用,感觉写多了会很容易出Bug,而且动态语言你要对作用域和代码命名有极高的敏感度,不然后面Debug会很折磨。_vscode python 添加注释

大学生bootstrap框架网页作业成品 bootstrap响应式网页制作模板 学生家乡网页bootstrap框架网站作品 html静态网页设计制作 dw静态网页成品模板素材网页-程序员宅基地

文章浏览阅读754次,点赞25次,收藏17次。网页作品编辑作品下载后可使用任意HTML编辑软件(如:`DW、HBuilder、NotePAD 、Vscode 、Sublime 、Webstorm、 Notepad++ 等任意HTML软件编辑修改网页)网页作品技术:Div+CSS、鼠标滑过特效、Table、导航栏效果、banner、表单、二级三级页面等,视频、 音频元素 、Flash,同时设计了logo(源文件),基本期末作业所需的知识点全覆盖。

随便推点

android手机音乐播放器实现歌词同步_android 音乐播放和乐谱同步-程序员宅基地

文章浏览阅读1.7k次。From:http://www.cr173.com/html/20184_1.html_android 音乐播放和乐谱同步

ASP.NET MVC应用迁移到ASP.NET Core及其异同简介-程序员宅基地

文章浏览阅读4.4k次。ASP.NET Core是微软新推出支持跨平台、高性能、开源的开发框架,相比起原有的ASP.NET来说,ASP.NET Core更适合开发现代应用程序,如跨平台、Dork..._.net mvc转.net core

2023年最新版潮乎盲盒源码含搭建教程_一生相随博客-程序员宅基地

文章浏览阅读552次。环境配置: php7.4 + mysql5.6+ + nginx1.22+ + redis(建议宝塔面板或 lnmp)后台开发语言:后端 Laravel 框架开发。前端开发框架:uniapp+vue。源码获取请自行百度:一生相随博客。_一生相随博客

Qt应用开发(基础篇)——文本编辑窗口 QTextEdit_如何向qt界面添加文本窗口并显示内容-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏8次。QTextEdit类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,用来显示富文本和纯文本的窗口部件。框架类 QFrame滚屏区域基类 QAbstractScrollAreaQTextEdit是一个先进的所见即所得的查看器/编辑器,支持使用html样式标签或Markdown格式的富文本格式。它经过优化,可以处理大型文档并快速响应用户输入。_如何向qt界面添加文本窗口并显示内容

Spring注解@Scope_@scope注解-程序员宅基地

文章浏览阅读3.9k次,点赞5次,收藏7次。Spring注解@Scope一、@Scope注解1、@Scope注解作用@Scope注解用于设置实例的作用域。默认值是单实例,即当IOC容器启动后就调用该方法创建对象放到IOC容器中,以后每次获取就是直接从容器中获取。2、@Socpe注解的值 多实例:IOC容器启动并不会调用方法创建对象放在容器中。每次获取的时候才会调用方法创建对象 @see ConfigurableBeanFactory#SCOPE_PROTOTYPE -> prototype 单实例(默认值):I_@scope注解

移动端输入框固定在底部键盘抬起时遮挡住输入框-程序员宅基地

文章浏览阅读333次。移动端开发时输入框使用fixed固定在底部时,抬起键盘会遮挡住输入框监听输入框获得焦点$(function(){$("#pinglun").focus(function(){ //输入框获得焦点var tHeight = $(document).height(); //获取当前屏幕高度,没用到co..._移动端 使用fixed定位到底部时,软键盘弹起会被遮挡

推荐文章

热门文章

相关标签