![]()
内容推荐 何谓人工智能?何谓人类智慧?我们人类又是如何作出决策的?包括此刻正在阅读的你,究竟是如何做到理解文意的昵? 如果不是被特意追问,我们很少会留意这些问题。其实,只有对于这些问题进行探讨,我们才可以从更本质的角度来理解人工智能这一热门话题。 《你一定爱读的人工智能简史》的作者山本一成是世界人工智能领域的代表人物,他开发的“PONANZA”程序,与IBM公司的“深蓝”、谷歌公司的“阿尔法狗”并称人工智能史上的三大标杆。 在《你一定爱读的人工智能简史》中,作者将讨论的绝不是晦涩难懂的话题,而是以将棋、围棋为中心,继而探索机器学习、深度学习、强化学习——这三大人工智能核心技术的本质、历史与未来,并尽可能通俗地对其进行解读。 此外,作者将继续改进“PONANZA”的设计,并在本书中与大家同步分享设计过程中的直观感受。 目录 前言 第1章* 机器学习——人工智能寒冬期宣告结束 必须由将棋专家来编程吗? 计算+存储=电脑? 搜索+评估=智能? 将棋游戏中的搜索与评估 评估体系的建立 人工智能的“寒冬” 为什么杯子是杯子? 电脑将棋为何比电脑国际象棋晚了20年? 盘面复杂并不是输给人类的理由 对电脑来说,将棋的难点在于 于电脑而言,将棋与国际象棋的本质区别 电脑将棋中的机器学习 机器学习的缺点 PONANZA的成长 电王战 从程序员的环节毕业 第2章* 深度学习——人工智能的热潮已经到来 黑魔法的影响力似乎越来越强了 失败已成为家常便饭 黑魔法之一:懒散的并列性 深度学习下的人工智能热潮 深度学习的前世今生 脱离——深度学习的黑魔法 几乎,每天都有新技术发表 智能的本质即为图像? 还原主义科学的落幕 第3章* 强化学习——人工智能可以脱离人类模板吗? 人工智能已经完全超越人类? 人类无法直观地理解“指数级的成长” 人类将面对与职业棋手相同的经历 “守破离”——智能学习三阶段 什么是“强化学习”? PONANZA流派的诞生 “输给电脑了,真是没办法呀 阿尔法狗的隆重登场 为何围棋游戏如此特殊? 救世主蒙特卡洛法 骰子也有智能吗? 蒙特卡洛围棋的成长 阿尔法狗所揭示的道理:围棋是图像 阿尔法狗的三大武器 合奏效果 科学变为宗教的刹那 智慧的本质在哪里? 第4章* 当奇点出现时 智能与智慧 水平越高的人,越有能力进行正确的目标设定 意义和故事:只为人类所有? 越接近人脑,越容易成功 PONANZA 2045 人工智能已在模仿人类的伦理观 当奇点出现时 结束语 卷末附录* 世纪之战的意义何在? 战胜人类的阿尔法狗是怎样炼成的? 在图像识别上,电脑超越了人类 “这真是一个力气活儿” 阿尔法狗的第六感真是太强了 “对不起,没能讲解好这一局” 并非天生强大的终盘战斗力 所有人都开始承认阿尔法狗的实力 与人类不同,电脑的情绪是不会动摇的 “这种下法也太没品了” “之前明明那么强大,现在好像一下子变笨了!” “围棋的本质是快乐” 人工智能的无限可能 科幻漫画里的世界早就到来了
序言 回溯历史,从2008年至今,这10年时间或许可以说是 人工智能(Artificia Intelligence,简称AI)发展历程 中最重要的时期。 随着深度学习技术的大幅度发展,过去无法在计算机 领域内解决的问题逐步被纳入可计算的范围。一些曾被看 作天方夜谭的技术,如自动翻译、自动驾驶等,如今也正 在一步步走向现实。 同时,在这过去的10年里,电脑在围棋、将棋(又称 日本象棋)这类“象征智力”的游戏中多次创造了战胜人 类顶级棋手的辉煌战绩。 谷歌所开发的围棋机器人“阿尔法狗”与本人所开发 的将棋机器人“PONANZA”都是其中的杰出代表。 2016年,阿尔法狗在与世界顶级围棋手的对弈中一战 成名,举世瞩目。 PONANZA则在“将棋电王战”的出场权争夺赛中与来 自全世界的机器人选手进行对决,并豪取4连胜,赢得了出 场权。它更在随后的职业将棋选手赛“电王战”中交出了5 战5胜的惊人成绩单。2017年2月,PONANZA已当之无愧地 登上了“最强将棋程序”的宝座。并且PONANZA已确定,将 于接下来的4月对战顶级职业棋手佐藤天彦。 我所开发的PONANZA与谷歌公司的阿尔法狗从功能及 性质上来看并不相同。然而,不论是将棋还是围棋,其人 工智能都将致力于超越人类并不断升级至更高水平。从这 点上来说,二者又是相同的。 阿尔法狗(据我所知)自诞生之日起,不过数年时间 便取得了今日的成就。PONANZA虽诞生于10年前,然而其 飞跃性的发展却是在近几年才得以实现的。 那么,为何近几年人工智能的发展势头会如此迅猛呢 ?本书的目的之一,便是向读者揭示这一现象产生的原因 。 同时,我亦希望借此书向大家传达我(现阶段)关于 “什么是智能”这一问题的思考。 PONANZA在这10年里的不断成长给我带来了无数的惊 叹和喜悦,在这期间我多次问自己,究竟“何为智能”“ 何为智力”。 其实,我们每天都在用智力解决各种问题,不过我们 并没有刻意对此进行深入思考。 人类究竟是如何提升自己的将棋、围棋水平的呢? 人类究竟是如何作出决策的呢? 包括此刻正在阅读的你,究竟是如何做到理解文意的 呢? 只有在特意被问到时,我们才会觉得不可思议。但在 日常生活中,我们很少会留意这些问题。 在我每天为人工智能绞尽脑汁、魂牵梦萦的思考中, 我反而渐渐弄明白了另一个问题的答案——何为人类的智 慧。我认为,对这个问题的探讨可以让我们从更本质的角 度来理解人工智能。 本书将讨论的绝不是晦涩难懂的话题,请诸位放心阅 读。我们将以将棋、围棋为中心,继而探索“机器学习” “深度学习”“强化学习”这三大人工智能核心技术的本 质,并尽可能通俗地对其进行解读。此外,我将继续改进 PONANZA的设计,并在本书中与大家同步分享设计过程中的 直观感受,这将是绝无仅有的。 那么,让我们一起开始吧! 山本一成(2017年2月)
导语 东京大学尖端科技术中心研究员、将棋程序PONANZA设计者山本一成:从人类智慧的大视野,探索人工智能三大核心技术——机器学习、深度学习、强化学习的历史、本质与未来 人工智能历史上三大标志性事件(本书作者设计的将棋程序PONANZA是其中之一)—— 1997年,IBM公司开发的超级计算机“深蓝”击败了俄罗斯顶尖棋手、国际象棋世界冠军卡斯巴罗夫,这是人类历史上电脑战胜人类的首例。 2013年,日本Denso公司研发的PONANZA在“机器学习”技术上突发猛进,战胜现役将棋代表佐藤慎一,且之后四年无一败绩。 2016年,谷歌旗下的深度思考(DeepMind)公司开发的围棋电脑程序“阿尔法狗”,击败了世界顶尖围棋棋士李世石,引发了深度学习和强化学习技术的高潮。 后记 我在2017年2月至4月间完成了本书的底稿。在此期间 发生了两件事,于我、PONANZA及电脑将棋界而言都十分重 大。我将以此作为本书的结尾。 第一件事是,将棋首次实现了深度学习技术的实际应 用。在第2章中我们曾说到“PONANZA中并未使用深度学习 技术”,不过情况就在我写书的同时有了转变。 与围棋不同,我之所以认为深度学习在将棋及国际象 棋系的游戏中无法顺利进行是有原因的。相较于围棋,将 棋和国际象棋的合法棋更容易发生动态的变化。这个问题 非常深奥。在围棋中,只要是在空白处的出棋,几乎都是 合法棋。而在将棋和国际象棋中,前一秒还是合法棋的出 棋,在下一秒很可能就变成了不合规矩的出棋。若与王手[ 译者注:将棋术语,直接攻击对方的王将的一手棋]相关, 可以下的棋就变化得更快了。实际上,业界已有多篇关于 在国际象棋中尝试深度学习的论文,但这一尝试似乎进行 得并不顺利。同样,从多年前开始,我也曾尝试将深度学 习应用于将棋程序,但效果并不明显。 那么,如今它为何能得以实现呢?其理由之一是,数 据量增大、关于深度学习的最新知识也被纳入其中,自然 而然就实现了。加之,我们不再固执地沉湎于它,而是放 任深度学习自由发展。这一点也非常重要。 我曾绞尽脑汁想让深度学习学会合法手,不过事实证 明,这完全是徒劳。我的这份心于深度学习而言还不如说 是妨碍。 这是因为,只要深度学习可以学会下出最合适的棋, 它自然可以正确分辨哪些是合法手,哪些不是合法手。之 后,我既没有教它棋子的移动,也没有教它关于王手的事 ,更没有明确告诉它二步[译者注:将棋的禁招之一,指在 同一条竖线上投入两个步兵]的规则。我只是将对于某一盘 面来说最好的出棋拼命教给电脑。 最终,不知从何时起,深度学习早已领会了将棋的规 则。不过,这在某种意义上来说是理所应当的。当人类在 一定程度上习惯了将棋之后,自然也不会在下棋的时候多 此一举考虑哪些是合法手。“我现在下的这手棋是不是符 合规则?”——这是刚刚接触将棋的人才会特意思考的问 题。 PONANZA今后或许可以和阿尔法狗到达同样的高度。 具体来说,阿尔法狗是深度学习与既存的蒙特卡洛法的组 合,而PONANZA同样也在挑战深度学习与既存手法之间的结 合。目前,我们尚不知道二者结合后的潜力有多大。不过 ,我对于深度学习的未来充满信心。 写本书时发生的第二件事是,2017年4月1日, PONANZA在第二届电王战中战胜了现役“名人”棋士。 电王战最初的形式是职业棋手与将棋程序之间5对5的 团体战,如今,它已转变为了由淘汰赛脱颖而出的职业棋 手与将棋程序之间的巅峰对决。 在将棋界现今的七个头衔中,历史最悠久、段位最高 的头衔即“名人”。这个称号最初由德川家康授予棋士。 由于本次对战的职业棋手是佐藤天彦名人,因此,比赛第1 局的会场被定在了供奉着德川家康的日光东照宫。 我自然会出席PONANZA的对战现场。佐藤名人和我身 着和服,开始了这场世纪之战。 执先手的PONANZA所下的第一手是3八金将。这在职业 棋手的正式比赛中是极少见到的(正式比赛中,棋手通常会 以2六步兵或7六步兵为第一手)。当天比赛由niconico直 播间进行实时转播,许多人对这个开局表示了惊讶。但 PONANZA仿佛也正是在用这手棋告诉大家,“将棋的棋路比 我们想象得更自由”。而人们之所以对这手棋感到违和, 或许是因为被既存的将棋路数束缚得太久了。 PONANZA在第71手告捷。职业棋手之间的对决通常会 超过100手,因此,这场比赛只花了相对极短的时间就分出 了胜负。实际上若只看棋局内容,PONANZA也可以说是完胜 。 对于将棋世界来说,计算机首次打败拥有头衔的棋手 的这一天是值得纪念的一天,同时它也再次让人们重新认 识到了人类与人工智能之间的不同。我在本书中明确表明 了人工智能(PONANZA)的特征,以及习惯为世界寻找意义 、书写逻辑故事的人类思维方法的界限。 比赛现场,我在将佐藤名人的棋输入PONANZA的同时 ,追踪了它的调研轨迹。PONANZA会对每一手棋进行评估, 并将其评估结果数值化地呈现出来。在第53手也就是 PONANZA、所走的7四步兵时,其数值出现了特别大的下滑 (图5-1)。 这是一手可以被称为玄妙之手的棋。此时,正呈攻势 的佐藤名人手中并没有棋子。通常的将棋理论认为,在此 种情况下,棋手在推进棋局时不应将棋子让给攻击方。但 这里,PONANZA故意将步兵让给了佐藤名人。 在此棋局中,佐藤名人若走银将即可吃掉PONANZA的 步兵(图5-2)。通常来看,这对PONANZA是非常不利的,但 若仔细观察下图我们可以发现,这个形势对于PONANZA来说 ,与其说是不利,倒不如说其实相当有利。 通过让子来建立己方的防线——一般而言,考虑出棋 意义与故事的人类是绝不会这样下的。即使赛后复盘回顾 ,人们也不能很好地理解这手棋背后的意义,只能感慨: 不知道为什么这步棋 精彩页 1 必须由将棋专家来编程吗? 10年前,正在读大二的我不小心留了级,那时的我整日泡在东京大学的将棋俱乐部里消磨时间。 由于留级的缘故,我平时没有太多课,反而有很多的闲暇时间。我思考着未来,开始阅读此前从未接触过的编程类书籍,并为之深深着迷。要想开发出能打败将棋专家的程序,究竟应该怎么做呢? 必须由将棋专家来编程吗?把他关于将棋的所有知识一一录入电脑,这样的程序才有可能打败他自己,不是吗? 当时,我的将棋水平是在业余五段。虽不能与职业棋手相提并论,但在全国数百万的将棋爱好者中,我也可以跻身前1 000位。此外,我还曾获得关东地区学生赛的亚军,可以说实力尚可。 事实上,包括个人和团体在内,当时致力于电脑将棋开发的人员约有50人,我应该是所有人中将棋水平最高的。 因此,我理所应当地认为,我写出的程序即使尚不能战胜将棋专家,也一定是所有程序中最强大的。 虽然直到大三为止,我都还只是一个完完全全的理科生,对电脑的基本操作都不甚熟悉。但在下定决心以后,我迅速地投身于对人工智能与编程的学习中,渐渐地,我将所有的时间都花在了将棋程序的设计开发上。 数月后,我完成了初代将棋程序“PONANZA”的开发工作。 带着PONANZA,我向将棋俱乐部飞奔而去。俱乐部的成员一直都知道我在写将棋程序。事实上,当时业界最先进的电脑将棋已经逼近了业余高级棋手的水平,因此所有人都做好了迎接劲敌的准备。 我启动了PONANZA。 紧张的气氛随之弥漫开来。然而…… 我的PONANZA一败涂地。其水平之低远远超出了所有人的想象。我还曾在对弈中故意让PONANZA 8个子,人为制造了非常悬殊的战力差来进行对抗。(必) 然而,即使让了PONANZA 8个子,我还是赢了。我从未如此希望自己输掉这盘棋。我拼尽全力、倾注了所有热情编写的将棋程序,几乎是我那几个月全部生活目标的程序,惨遭失败。 当时我接触编程尚不足半年。不可否认,我的编程技术还十分稚嫩与笨拙,但这并不是问题的关键。 擅长下将棋的我误以为自己“真的懂将棋”了。但从某种意义上说,我其实对将棋一无所知。非但如此,当年的我对智能完全没有概念——智能究竟是什么呢? 2 计算+存储=电脑? 这个问题10年前就引起了我的注意,在本书对该问题进行深入展开前,我们先来了解一些基本的概念——什么是电脑,什么是编程? 在现代社会中,电脑是不可或缺的。小到人手一部的手机,大到飞机上的操控系统,生活中有着数不清的电脑装置。但从本质上讲,这些为丰富的活动提供支持、看似功能繁多的电脑装置实际上能做到的只有以下两点。 其一,“单纯的计算”。 在进行加减乘除及其他同级别的运算时,电脑的计算速度非常可怕,简单来说就是计算器的功能。其运作机制虽然简单,但光凭惊人的速度这一点,也足以满足很多需求了。 其二,“存储”。 大家对于电脑强大的存储功能并不陌生,它庞大的存储量可以帮助我们解决很多问题。例如电子词典,仅仅是将英语单词等相关内容存储进电脑,便可使我们的查询效率比翻阅纸质词典时更加高效。 除了不断重复“单纯的计算”和“存储”两大功能以外,电脑基本没有更多的功能了。我们之所以认为电脑有能力完成除此以外的更多任务,是因为程序员通过编写程序给电脑下达命令,使它能够更好地利用这两种功能去解决多样的问题。 那么,拥有此种特性的电脑在面对将棋时,该如何设计其程序呢?记录下所有职业棋手的棋局就可以变强吗? 遗憾的是,答案是否定的。与今天相比,10年前的电脑将棋虽然实力极弱,但要记录下所有职业棋手的对弈过程也并非难事。然而,不论10年前的电脑收录了多少棋谱,它都一直未能击败人类。 P2-7 |