打字猴:1.700045266e+09
1700045266 机器学习技术听起来自然而然——软件自主学习模式以识别和解决某些问题——事实上发生的是:一个从海量数据中统计并寻找规律的分析算法。该算法使用已有数据模式来搭建数学模型,数学模型会把各种各样的输出结果根据可能性高低排行,最终得出预判或结论。接着,算法会把这些结果应用到新的、尚未正式的数据上来测试,核实之前的预判是否准确(决策是否合适用)。如果出现错误,就返回更新模型。这样一来,机器学习项目就能提供从“学习”到“体验”整个过程的数据,并且这一切都在项目管理人员的监管下进行。他们的工作内容包括选择相应的算法、提供数据和反馈正误。
1700045267
1700045268 棋牌游戏一直以来都是人工智能研究人员,展示新逻辑技术时最喜欢的方式,机器学习也不例外。在20世纪50年代机器学习技术的发展刚刚开始起步,计算机有限的能力极大地限制了可供选择的桌游应用范围。由于那个年代的计算机还不能处理国际象棋所用的计算,研究人员于是用西洋跳棋(checkers)来代替。
1700045269
1700045270 1949年,IBM公司的新员工阿瑟·塞缪尔(Arthur Samuel)想要证实计算机能执行复杂的智能任务。塞缪尔入职那年,IBM还只是一所主要以生产老式计算机著称的公司。塞缪尔对于如何提高公司的知名度很有自己的想法。他认为,如果能研发出某种只适用于计算机,而不适用于老式加法机的应用,那么他就能展现IBM第一台商业计算机IBM 701的高超分析能力。
1700045271
1700045272 再没有比西洋跳棋更适合证明计算机的认知能力的方式了。塞缪尔的目标是提升计算机的西洋跳棋水平,达到世界大师的级别!如果选择用当时主流的人工智能模式来解决问题,他需要写出大量的计算机程序指令用来预测、指导计算机处理可能出现的棋盘布局。
1700045273
1700045274 根据经验推测,使用这种规则库方法将会是一项艰巨的任务,因为每一种可能出现的棋盘布局,都需要预先设置好该情形所对应的规则。应用情形如下:一项规则指示“先去吃掉对方的棋子”,另一项规则指示“先移动靠近对手后方的棋子”。
1700045275
1700045276 塞缪尔很快察觉这类人工智能的缺陷,下好一盘棋需要使用大量的数据,还有一串长长的难以管理的指令名单。更大的问题是,就算有人给每一处棋盘位置都列出对应的规则,计算机再怎么跟着这些死板的规则来下棋,最终也只能成为一个中规中矩的棋手。这就好比一个初出茅庐的新手,仅仅接受死板僵化的战术指导,培养不了“棋感”,计算机也是一样,它对棋局缺乏全局性的洞察力和一个伟大棋手身上的特质。
1700045277
1700045278 当时许多人工智能专家的研发都取得了很大进展,他们通过编译一系列复杂的指令,刻苦钻研意外案例和“伪随机性(Psuedorandom)”的下棋点,这样计算机看起来似乎运用策略在下棋。塞缪尔却另辟蹊径,他选择了机器学习的方式。因为只有这种方式,计算机才真正以自己的下棋经验为基础学习棋艺,而不是跟在一堆指令后面亦步亦趋。
1700045279
1700045280 人类棋手的成功之路不是从计算各种可能性的输出开始的,而是通过观察和记忆典型的棋局,记住那些精髓。人类棋手会牢牢记住关系成败的那一步棋。塞缪尔决定让计算机学习资深棋手,边下棋边学习如何识别典型的棋局模式,尤其是那些经典制胜棋局。
1700045281
1700045282 塞缪尔让计算机从随意乱走开始,并拷贝了一份同样的软件作为其对手。有时候原始版本的计算机程序会赢,有时候会输。每一局结束后,计算机把所有的数据存储到数据库里,无论是胜局还是败局的下法。这个过程就是计算机积累实战经验的过程。
1700045283
1700045284 迎战下一个棋局前,计算机已经有了相对丰富并持续增长的实战经验,这样软件系统在每走一步之前,会在数据库里找到对应的棋局。通过这种途径,它能找出之前是否遇到相似的棋局,如果曾经遇到它能顺利找到通往胜利的下一步棋。如果软件从未见过这种棋局,软件会随机地按照下棋规则移动一步棋,并把那步棋的结果才储存下来。
1700045285
1700045286 刚开始塞缪尔的计算机随意地下棋,就像小孩子懵懂地开始下他人生的第一盘棋。下了上千局棋以后,数据库存储了丰富的各式棋着。经过这些棋局之后,计算机才形成了自己的方法——某些观察家口中的“策略”。多数情况下,走一步棋并不能马上定胜负,成败是由持续的走步策略逐渐决定的。因此,数据库不仅仅记录每一步棋的“输/赢”输出,它记录的是每走一步通往成功的可能性大小。换句话说,数据库本质上是一个巨大数据模型。软件学到这个程度以后,它会在自己和自己对弈中投入大量的时间,积累了人类棋手一辈子都不可能获得的、数不胜数的实战经验。
1700045287
1700045288 随着数据库的扩张,缪赛尔必须研发出更为高效的配套数据检索方法,比如至今仍在大型数据库里应用的散列表法(hash table)。缪赛尔的另一项创新是利用数据库来推算出对手的下一步棋会怎么走,这就是今天的极小化极大算法(minimax)。
1700045289
1700045290 最终,缪赛尔成功了。他的计算机下棋程序走出实验室,对全世界造成了非同寻常的影响。若干年后,缪斯尔在实验室里通过电视直播的方式为观众展示了计算机下棋的精妙。1962年,IBM公司的计算机一举击败了世界级西洋跳棋大师罗伯特·尼尔利(Robert Nealey)。一夜之间,IBM公司的股票飙升了15%。
1700045291
1700045292
1700045293
1700045294
1700045295 图7.2  缪赛尔在IBM 7090计算机上下棋,摄于1956年2月24日
1700045296
1700045297 来源:IBM档案馆
1700045298
1700045299 计算机击败西洋跳棋大师之举令人印象深刻,但更令人诧异的是这套下棋程序还战胜了它的开发者缪赛尔。通常来说,基于规则的人工智能程序会受限于开发者的专业水平。然而,缪赛尔赋予了这套程序一种特殊的能力:如何学习。
1700045300
1700045301 许多人无法接受机器或计算机具备学习能力的说法。我们经常听到一些误解:“计算机程序无法比程序员更智能。”这种说法植根于我们对于计算机的陈旧观点,认为机器的自动化等同于去执行一系列预先设定的指令。但缪赛尔的机器学习设计,让计算机像人类一样具备汲取知识的能力,从自己的成败经历中学习。正如孩童能比父母的知识渊博,学生可能超越老师,运动员能战胜教练,计算机同样能比它的程序员更出色。
1700045302
1700045303 部分曾与计算机对弈的专家表示,在下棋的过程中,他们能感觉到软件对手下得专注、讲究谋略,甚至还有情绪。例如,加里·卡斯帕罗夫(Garry Kasparov)曾在国际象棋比赛中击败缪赛尔程序算法的伟大子孙——IBM深蓝超级电脑。1996年在《时代周刊》的采访中,卡斯帕罗夫说:“我能感觉到,对面坐的是一个拥有智能的家伙。”稍后他补充道:“虽然我认为自己发现了一些拥有智能的迹象,但那是一种怪异的智能,效率较低并且缺少韧性。我想电脑要想真正打败我,还得再等几年。”不过,卡斯帕罗夫错了。在第二年,也就是1997年,深蓝计算机彻底击败了他,捧走锦标赛冠军。
1700045304
1700045305 深蓝这种“怪异,效率较低的新型智能”,核心是数据的应用。机器学习即令人着迷,又让人沮丧,这都源自它的晦涩。所以,部分工程师抵触机器学习,就是因为他们从未完全弄明白人工智能是如何得出结论的——机器学习最具争议,也最让人难以理解的特点是其用于产生预判的非常复杂的内部数学模型。由于人类检测员无法通过软件代码发现系统是否正常运作,所以只能通过输入新的测试案例,来检测系统得出的预判是否正确。
1700045306
1700045307 无人驾驶:人工智能将从颠覆驾驶开始,全面重构人类生活 [:1700043806]
1700045308 无限状态空间
1700045309
1700045310 尽管机器人研究专家使用机器学习技术长达几十年,可这些机器人一直在高度结构化的环境当中运作。机器学习在棋类比赛中运作得非常好,这是因为棋盘是个有限的状态空间,所能产生的下棋方法数量是有限的。塞缪尔的计算机下棋程序通过在数据库中的查找功能,使数据一一对应上棋盘的具体位置。每一个棋面布局都特征鲜明,定义清晰,因此容易进行数据存储。
1700045311
1700045312 下国际象棋比西洋跳棋的难度要高,因为每个棋局都有更多的未知可能性,这就是人工智能科学员所说的“高分支系数(higher branching factor)”。更复杂的情形还要数城市街道或是繁忙的高速公路,它们呈现的状态空间可能产生数不清的“下法”或“棋局”。在人工智能的研究中,能够为机器人提供无穷无尽新情形的环境被称为“无限状态空间(Infinite State Space)”。
1700045313
1700045314 无人驾驶汽车必须能够处理无限状态空间,因为它会不间断地遇到各种新情况。每一种情况都是全新的,不可能新建一个检索表来存储这些信息。不仅不可能把每一种新经验都归结为有限的可存储单位,而且即使能够生成,大量的存储数据还需要无比庞大的检索表才能迅速输出数据,这哪怕是现代最先进的计算机也无法做到。
1700045315
[ 上一页 ]  [ :1.700045266e+09 ]  [ 下一页 ]