徽帮棋友会

 找回密码
 立即注册
搜索
热搜: 围棋
查看: 2612|回复: 0
打印 上一主题 下一主题

口述史 我的围棋往事(26)刘知青:围棋人工智能的探秘者

[复制链接]

2717

主题

6287

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
18126
跳转到指定楼层
楼主
发表于 2022-4-14 11:31:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
个人档案:


刘知青,男,生于 1966 年。1989 年毕业于清华大学计算机系,1994 年 12 月毕业于美国纽约大学计算机科学系,获博士学位。现任北京邮电大学教授、北邮九鼎计算机围棋研究所所长、南京工业大学浦江学院围棋学院客座教授。主要研究方向:函数化程序语言、操作系统。同时致力于围棋人工智能研究。其研制的计算机围棋程序多次获全国计算机围棋大赛的冠军。著有《计算机围棋基础》《对面千里》等。






01   求学生涯




何云波(以下简称何):做围棋口述史,不光是在棋界,做学术的、经商的、普通的棋迷都有不同的人生与围棋经历,然后会有不同的视角。刘教授,正好你是做计算机围棋的,代表了围棋的一个重要方面——所谓古老文化与现代科技的联姻。请问你是什么时候开始学的棋?
刘知青(以下简称刘):我学棋学得很晚,是在清华读大学的时候学的。我在清华读计算机科学与技术专业。我是 1966 年出生在北京的,大学是 1984 级的,也就是聂卫平擂台赛的时候。我从小对象棋感兴趣。我三四岁时,有次去我姥姥家玩,到了中饭的时候,大人一看,这个孩子还没回来,所以就全家出动去找我,怎么也找不到,最后发现我在大人堆里面,看大人们下象棋。也没人教过我,但我对下棋这种事还是挺有兴趣的。我跟父亲和邻居下过象棋。
我妈妈是在军队里做无线电通讯的。当时我妈的指导员也爱下象棋,就跟我下,那时候我可能也就刚上学。他输在我手里了,非常恼火,觉得有点丢面子。所以我当时象棋还是下得挺好的。我小时候一直只接触到象棋。后来也打过桥牌,高中的时候开始打的,跟班里同学一起打。有些同学在读大学以后代表中国参加过世界级的桥牌比赛,可能他们家庭里也有点桥牌的背景,所以桥牌打得非常好。


到了大学以后,可能受到擂台赛的影响,更主要是因为班里面有个同学是下围棋的,我开始喜欢上围棋。现在看上去他水平不是很高,也就是业余初段的水平,但是当时对于我们从不下围棋的人来说已经是高不可攀了。我们班上当时除了这个人以外,还有一两个人会下围棋。最后形成了一定的风气,班上可能有五六个人会下围棋,甚至其他班的人也跟着学围棋。水平也是参差不齐,有的人明显要差一点,我都能让他们九个子。不过我跟业余初段的人比还是有差距的。我也偶尔打打桥牌,因为打桥牌是当时的风气。但我主要的课外时间是花在围棋上面了。


何:你读书的时候,清华大学的围棋风气浓吗?
刘:总体来说还可以,学校整体的气氛还是比较宽松的。当时是 20 世纪 80 年代中期,社会的气氛还是积极向上的。我在清华大学读了 5 年,时间上比较充裕。清华曾经是六年制的,到了我们这一届的时候是五年制,最后改成四年制了。早期没有研究生教育,可能学校认为既然上了清华了,就让学生多学习一两年。我在清华有很多的机会学一些课程之外的东西。我当时也接触到了比如文学、历史、艺术等,包括围棋。
何:你大学毕业的时候,围棋达到了一个什么样的水平?
刘:我一直都不知道自己确切的围棋水平,我也不是正式学围棋的。当时有一些从日本翻译过来的围棋书,有些讲定式怎么走,定式之后该怎么进行之类。我也没有很系统地看围棋书,拿到什么就看什么,从来没经过正式的围棋培训。
大学毕业后,过了一年,也就是1990 年,我就去美国读书了。我在美国纽约大学,读的也是计算机科学。我的计算机科学的东西主要还是 1990 年以后在美国学的,在清华学了一些基本的东西。当时美国已经有互联网了,可以发 E-mail 了,可以做简单的计算机与计算机之间的即时通讯,而且计算机的即时通讯在美国大学里面已经比较普遍了。互联网最基本的体系架构都已经有了。互联网围棋的思想已经初步成形。


到了 1990 年还是 1992 年,第一个互联网围棋服务器就已经架构好了,叫做 IGS(Internet Go Server,中文直译为互联网围棋服务器)。当然,这个服务器后来换了些名字,也换了位置,最后放在了日本。日本现在的 Pandanet (熊猫网),最早的原型其实就是互联网围棋服务器。下棋时,下了命令就会回显过来。棋盘完全是使用字符做的,黑点用一个大 X 来代替,白点是用大 O 来代替,用+号代表这是个空点。屏幕是 24×80 的,棋盘 19×19,加上框,就是 21×21,可能还有一两行可以写其他东西。可以 say,就是跟对方说句话;可以 kibitsu(是从日语转成英语的词),就是两个人在下棋的时候,第三个人可以评论;可以一开始就设定好时间,还可以给对方加时,任何时候都可以给对方加时,但不能给自己加时,要想让对方给自己加时,首先得说服对方。所以,基本结构都已经形成了。


那时互联网的速度还挺慢,我们用的是modem(调制解调器)。如果我没记错的话,刚开始的网络带宽是 24kB 的。首先 terminal(计算机终端)连到学校的服务器上来,再通过学校的服务器连到 IGS 的服务器上来。后来我学了不少词汇,有不少日文的词汇。因为日本人前期做了不少推广工作,用的很多词汇都是日文的词汇。


何:你做计算机研究是从什么时候开始的?
刘:我回到北京以后才开始的。1995年 1 月我在纽约大学拿到了博士,然后我又去了AT&T 贝尔实验室做了研究员。贝尔实验室在新泽西,离纽约不远,约 40 分钟的车程。我在贝尔实验室待了两年半。后来我还是想着去学校里面,因为得了博士,有一点点野心和目标了,还是希望做一些学术上的工作。我就申请到印第安纳的普渡大学去教书,教的计算机与信息科学。那个地方在美国的中部,相对来说比较保守,学校也没有纽约大学那么好。当时,围棋也是时断时续地在下。我回国是在 2002 年底 2003 年初的时候,回来就去北邮了。
何:为什么会选择北邮?
刘:北邮给了我一个教授的职位,这个可能是最重要的原因。还有,北邮当时的计算机科学也还不错。
何:在美国的时候有机会下棋吗?
刘:面对面的下棋很少,在互联网上下棋要多一些。从 1995 年我博士毕业到 1999 年,互联网有个泡沫,之前一直在快速发展。当时,互联网浏览器这个东西已经非常普及了。当时有一个叫作 Netscape 的公司,在做浏览器。那时候还没有微软(Microsoft)的浏览器,微软还在专注地做操作系统 Windows。Netscape 这个公司出的浏览器也叫 Netscape,在上面可以跑脚本,也就是说可以跑一些简单的程序。当时,对于普通用户来讲,电脑对于他们来说,也就是利用浏览器看看网页上的新闻。那么无论是苹果的操作系统,还是 Windows 操作系统,甚至是 Unix 操作系统,对于当时的用户来讲并没有什么区别。
所以微软就面临了一个风险,它的 Windows 没有自己的浏览器,与其他操作系统并没有太大区别。所以微软就开始开发自己的浏览器了。开发浏览器本身也不是很难的东西,难就难在别人已经占领了市场了,你怎么去推广自己的产品。微软当时有一个策略,电脑厂商预装 Windows 操作系统时也要预装微软的浏览器。很快,Netscape 就不行了,因为 Netscape 是一个第三方的应用,用的时候必须去下载它,这个过程对于有技术的人来讲不是太复杂,但是对于普通的用户来讲没必要走这个途径。而且从产品质量上来讲,微软的浏览器和 Netscape 几乎没什么区别。最后 Netscape 就被微软给彻底打败了。


后来 IGS 做了一个图形界面,底层和服务器的连接还是通过命令来做的,底层的命令是完全一致的。过去用户必须手工地把这些命令输入进来,比如 say,再跟对方说话,现在只要在对话框里面直接输入想说的话就行了。底层的命令还是一样的,只是后来有了图形界面,有了鼠标,等等。据说,IGS 在日本还是收费的,因为日本毕竟是一个围棋氛围很浓厚的国家。对于欧美来讲,为了吸引客户,IGS 还是免费开放的。


何:你回国的时候整个互联网是处在什么样的状态?
刘:曾经互联网兴盛的时候,大家对互联网有一个非常高的期待值,认为互联网可以改变所有的一切。很多人向互联网投资了很多很多钱,有的人就一夜暴富了。有好多公司说:你到我们公司来,每个人发一辆宝马汽车。但是互联网最后无法满足投资者的期望了。其间,有一个很重要的公司最后就倒闭了,这个公司叫做 Sain Microsistein。它是一个斯坦福大学的教授创办的。这个公司首先做硬件,自己做工作站,做服务器。我在纽约大学读书时以及在印第安纳教书时的工作站、服务器,清一色都是他们做的。Sain 公司还买了 Unix 的商业许可,做了一系列的增强。最后,美国基本上所有学校都用 Sain,华尔街也用 Sain。Sain公司甚至宣传只要用到互联网都要用 Sain。
可是到了互联网泡沫的时候,Sain 公司倒闭了。但有些 Sain 公司出的硬件还是可以卖钱。我刚买的 Sain 公司的机器,本来可以用两年的,刚用了半年,我就按 30% 的价格把它卖掉了。全新的机器就没有人买了。Sain 公司做了一系列的创新,但是遇到了互联网的泡沫,就失败了。


到了 2002 年、2003 年的时候,互联网泡沫之后,在计算机围棋方面,我一直就只是个用户而已,对于当时互联网围棋发展到什么地步并没有太深入的直接的体验。当时有很多人在网上下围棋了,所使用的围棋软件都是图形界面了。社会上也开发了一些互联网围棋的文化。当时使用 IGS 的,主要还是欧美人和日本人,总体素质还是可以的。




02   计算机围棋研究


何:那你是什么时候开始做计算机围棋研究的?
刘:是我回到北邮以后。我曾经做的研究在比较传统的计算机科学领域。我的博士论文是做一个程序云,挺高级的一个程序云。在欧美存在着大量的程序云。每个语言有自己不同的功能特点,程序云可以说是计算机发展的一个支柱,从一开始比较低级的汇编语言、机器语言到高端的编程语言,是一种人对于计算机指令的表示方式。我做的工作还有一个是计算机编译。编译就是把一种语言翻译为另外一种语言,一般是翻译为计算机直接能够明白的语言。我做的还是比较底层的工作,从博士论文到后面的研究都是做这些工作。回到北邮以后,其一,由于技术的发展,我做的这些东西成为经典,而不是最新的课题;其二,国内的环境也不太允许我做这些东西。正好那时北邮在举办富士通杯大学生围棋赛。北邮知道我会下围棋,富士通杯也需要一些北邮的老师参与其中。有一些日本的朋友、棋院的朋友过来参加富士通杯,北邮都是让学校的体育部去接待。北邮希望由会下围棋的老师来招待这些人,就把我请去了。我因此见到了林金桐校长。他知道我是从美国回来的,就问我是否愿意做计算机围棋。我当时没有立即答应他,因为做计算围棋是有风险的。当然,有校长的支持肯定是一件好事,但是这个任务实在是太大了。
林金桐校长见到我之前曾经问过另外一个人——许峰雄,许峰雄是“深蓝” 的主要设计者。反正这个事情没有谈成,具体的原因我就不知道了。后来我遇到过许峰雄,他在微软的时候还试图去解一解围棋的问题,但是最后没有成功。他解围棋的方式还是与他早期解国际象棋的方式是一致的,就是用马力计算的方式。马力计算是一个全面的搜索,用了大量的硬件加速器来支持这个计算。


后来棋院的院长华老(华以刚)跟我讲了一件事。微软的比尔·盖茨是下围棋的,他就托微软亚洲研究院的院长张亚勤(张亚勤是业余 6 段,也是美国大学的博士)找到中国棋院,说微软可以给钱,能不能找中国的技术团队去做计算机围棋这件事情。华老没有讲具体多少钱,但是我觉得这钱应该不少。中国棋院找到了清华的老师,但清华的老师拒绝了。拒绝的理由:第一,太难了;第二,有各种各样的压力,比如发表论文、评职称等。虽然有经费支持,但是很可能未来的十年二十年都会耗费在研究计算机围棋上。


我在美国读博士的时候,我们系有个教授曾指导一个学生写计算机围棋程序,还有个教授做过围棋复杂度的研究。围棋不管从空间上来说还是从时间上来说,都是一个非常难的问题。对围棋在西方学术界的重要性,我有清晰的认识,它难的地方我也是知道的。我后来做了个权衡,觉得计算机围棋还是可以做的,原因有几点:第一,2005 年的时候我已经是正教授了;第二,有校长的支持,还有一笔大概三四十万的研究经费;第三,更重要的是,这个项目是有意义的,而且我对围棋还是挺感兴趣的。
何:你们那个计算机围棋研究所叫九鼎,是吧?
刘:对。应该是 2005 年 11 月就成立了北邮九鼎计算机围棋研究所。经费其实是由台州的九鼎房地产公司提供的,学校没有给经费。这个公司现在已经破产了。当时这笔经费还算是可以的,但也不是特别多。棋院的人也比较支持。但所有人都觉得这东西挺难的。
正好 2006 年的时候一个新的技术出现了,就是 AlphaGo 出现之前的蒙特卡洛算法。蒙特卡洛算法之前的研究计算机围棋的方法,叫作专家系统,陈志行的“手谈”就是专家系统的一个代表。专家系统就是把围棋的规则、知识、经验用代码的方式输入电脑,所有的代码都要人工输入。当然,输入者围棋水平越高,代码的准确性就会越高。陈志行的围棋水平还是很高的,我觉得应该有业余 6 段,在当时所有涉及计算机围棋的人里面是最高的。他是学化学出身的,但是他的工作跟化学没什么关系。他喜欢研究计算机化学,他在退休之前用计算机一直在做一些化学的分析。


当时美国人、英国人研究计算机围棋也是采取完全一样的方法。这里面有一些基本的东西。比如影响函数,就像扔一颗石子在湖里面,会有水波逐渐地扩散出去。这个波的高低会有一个衰减,离中心近就高一点,往外就逐渐有个衰减过程,衰减多少就由一个参数来定。棋子在棋盘上也可以这么看,每放一个棋子,会对周围的棋子产生影响。如果把棋盘上的一个点作为基准,假设白子是正的影响,那么黑子就是负的影响。如果一个子正好在白子和黑子之间,那么黑和白正好抵消。如果周边都是白的,那么就会正得很厉害。大概就是这么一个基本思想,这个 20 世纪 70 年代时候就有了。


后来俞斌来我这读本科的时候,他的毕业论文就是设计一个计算机围棋程序。方法也是一样的,就是把他的围棋知识转化为代码。到了毕业的时候,这个程序还是没有完全写完,因为那时候他已经是国家围棋队的总教练了,他在飞机上和酒店里才有时间写。他说,他可以写得比“手谈”还好,因为他的水平要比陈志行的水平要高,所以他对围棋的理解更深一些。但是他又说了,他看到了这种方法的一个本质的弱点,它不可能超出某一个天花板。现在蒙特卡洛算法已经完全超越了专家系统这种方法了。我们用的也是蒙特卡洛算法。
何:蒙特卡洛算法最核心的东西是什么?
刘:我说下专家系统的弱点吧。比如说你下了一步棋,虽然合乎棋理,但跟最后的胜负没有直接的关系,两者无法建立可靠的联系。用数学的话来讲,就是你无法去验证你下的这步棋是否使你离胜利更近了。为了解决这个问题,就要引入一个数学的方法和思维方式,这就是蒙特卡洛。它是按照胜率来评估每一步棋价值的。蒙特卡洛算法还要采样。从当前的未知盘面通过随机下棋,到了最终的可以看出胜负的情况,我们叫作一次采样。现在 AlphaGo 是展开的,其实这个思想是一致的。所谓展开就是,面对一个结果未知的情况,我们可以把它铺开,每一步铺开都有一个随机性,到了某一个终点的时候会有一个黑棋或者白棋。
何:你们当时做计算机围棋研究,除了蒙特卡洛算法,还运用了一些什么方法?
刘:首先蒙特卡洛是一个核心的算法,它给了计算机围棋一个很强的数学基础作为支撑。
何:原来都说围棋里面最难的就是需要做选择的地方太多,要用穷举法是不可能的。你们是怎么解决这个问题的?
刘:穷举法是永远不可能的,刚刚说的蒙特卡洛算法就是给你一个评估盘面是好还是不好的方式。虽然它未必是准确的,但比没有要强得多。蒙特卡洛算法出现的时候,陈志行还在,我还专门去中山大学拜访过他。他是早期计算机围棋的专家。他也知道蒙特卡洛算法,但是对蒙特卡洛算法抱着怀疑的态度,他不认为能够通过随机方法解决人类诸多经验都解决不了的问题。
蒙特卡洛算法是 AlphaGo 的一个核心基础,但是光有这个还不够。第二个技术突破是叫作 UCB 的一种方法。比如,在赌场里,拉一下角子机就会给你一个回报,回报有可能是 0,也可能是掉出几块钱来,而你拉一下角子机并不需要钱。现在围棋里面有三百多个角子机,每一个落子点代表一个角子机,你在这个地方落子了,表示你认为这个角子机给你的回报很高。每一个角子机最后给你的回报是不一致的,那我们怎么去选出回报最高的那个角子机?也就是说围棋里面有这么多落点,我下在哪个点上胜率才是最高的?其一,你要探索一下,因为它们对你来说都是未知的。其二,你要利用已知的回报。比如这个地方已经拉了五下了,有四次都掉出一块钱来,那边拉了一下就掉出一块钱来,下次你要拉哪个?如果这边拉了五次,掉了四块,那边拉了一次,什么都没掉出来。下次你可能愿意拉五次掉了四块的这边,因为 80% 的概率会得到回报;也可能愿意拉只拉了一次的那边,因为它还存在很多未知的可能性。UCB算法就是平衡这种矛盾的方法。它会趋向胜率比较高的下法,同时也会照顾一下尝试次数比较少的下法,因为这些下法里面还有未知因素,还值得测一测。


何:这个方法是你们做研究时采用的方法吗?
刘:这个是一个独立做出来的东西,在我们做研究之前就有了。为什么这个东西重要呢?就是说当你有 N 个选择的时候,你不要把你的资源平均分配,你要把你的资源主要放在那些回报比较高的地方。
我们做的程序叫做“本手”,武坤教授做的程序叫“MyGo”(我的围棋)。我第一次见到武坤教授,是在我组织的计算机围棋比赛中,这个比赛每年搞一次。他第一次做计算机围棋程序,用的还是陈志行的方法,大概是在 2010 年或 2011 年。我见到武坤后,我就告诉他应该用新的方法。武坤围棋也下得很好,下棋下得很好的人更愿意把自己的围棋知识告诉计算机。我可能是一个以数学为背景的人,更依赖于用数学的方法来做这些事情,而且这些数学方法也是现在普遍使用的一些方法。他回去后就改写了程序。我 2011 年写了本书,就是把蒙特卡洛算法详细地介绍了一下。他后来也看了这本书,就用了这种方法。
何:武坤教授曾提出势函数的概念。
刘:势函数就是刚才我说的“扔一个棋子下去”的例子,本质的思想是一致的。这种思想在 20 世纪 70 年代就有了,而且这个东西是普遍被使用在其他领域的。比如你现在用新浪、弈城对弈的时候,不是有个形势判断吗?其实形势判断的第一个步骤就是能量场(波)。比如立二拆三,虽然这两个子没有连在一起,中间是空的,但相互之间的影响还是足够强大,你可以认为这两个子的中间就是你控制的区域。
何:那是不是你们做程序的方法大致是一样的?
刘:用的这些东西都是一致的。但是这些方法本身是存在弱点的。比如立二拆三,也取决于周围是不是还有对方的棋。如果对方两边都逼住你了,他是不是就可以打入到你那边去?所以这种参数已经存在弱点了。
何:这种参数有没有可能通过建立一系列模型,比如说在什么样的情况下会出现危险,然后用数学模式描述出来?
刘:我觉得这也是可以的。但是,这个参数在这个模型下面是有效的,可能换了另外一个模型就失效了。到后面,你会发现模型越来越多,已经无法穷举了。还有,各种模型都存在例外,各种各样的例外。
何:你们用的这些程序最大的弱点是什么?
刘:比如刚才说的蒙特卡洛算法。给我一个当前盘面,我随机地做出一个终局,然后判断输赢,我就可以以此来做一个统计,比如 80% 黑赢。问题就是从当前盘面到终局的这个过程中,完全做成随机的肯定是有问题的。比如说,我正好有个直四,你点了我一下子,我肯定要把我的眼护住,然后做成两个眼。我几乎没有什么可能不去做这件事情。但是如果是随机的话,你点了我,我可能就不做这件事情,甚至我在边上下一个子,变成直三了,然后你一点中间就把我吃死了。这种意外是存在的,但是实际对弈是没有这种可能的。
还有做蒙特卡洛评估的时候,有这么一个规则,你打吃了我,我应该粘上,不让你吃掉。但是有的时候有这种例外,就是你打吃了我,我首先要把你吃掉,而不是先填我自己,因为我填上的时候就等于填了我的眼,我吃了你以后把我的眼保留住了。反正里面有一系列的围棋知识需要放进去。所以,实质上所谓的蒙特卡洛评估有一定的随机性,需要把围棋的知识也输入里面,要做大量的手工的输入工作,才能让评估较为准确。




03   AlhaGo的创新


何:那后来 AlphaGo 是怎么解决这个问题的?
刘:当你使用手工输入把你的围棋知识表现在你的程序里以后,你所做的工作都是有局限性的,所以应用性就差了很多。AlphaGo 就不需要把围棋知识手工输入程序,它的知识是通过数据自己学出来的,也就是说你不用告诉它什么情况下该走什么棋,它通过看人家的棋谱就能学会。可能它偶尔也会填一下眼,但是概率非常非常低。因为人只有在特定情况下才会这么做,但正常情况下都不会这么做。它完全就是依靠人类的棋谱来学会该怎么落子的。当你做随机模拟的时候,它也是按照这个东西来做的。比如说,你小飞,它高挂,你托了以后它扳你退,它可以虎也可以粘上面,人会的,它也会。所以它的随机性反映的完全是人类的随机性。
何:除了这个方法以外,AlphaGo 还运用了一些什么方法?
刘:我觉得 AlphaGo 的核心突破就是深度学习神经网络。人工神经网络模拟了人脑皮层的组织结构,但不是使用真正的脑细胞,而是用计算机模拟的。过去的话,这个网络只有两三层,现在就有很多层了。比如 AlphaGo 对于怎么落子这个选择,它用了十三层网络,相对于以前是更深了,将来或许还会更深。另外 AlphaGo 完全是以图像的形式来处理数据的。它看棋谱的时候,并没有把棋谱抽象出来,棋谱完全是一个 19×19 的图像,每个图像上有三种颜色,黑的、白的、棋盘的。
何:做一个 19×19的图像的话,图像里面它还继续分块吗?
刘:它不分块了,什么都不分。深度学习神经网络主要有两个网络:一个叫作策略网络。就是说给你一个棋盘,它会告诉你在不同的位置落子的概率,每个点都有概率。策略网络其实就是给你一个盘面,你可以给出一系列的应对策略。另外一个是价值网络,就是说给你一个盘面,价值网络告诉你胜负的可能性。比如说 0 代表白胜,1 代表黑胜,0.5 代表双方胜的胜率一样。它自己跟自己下了三千万盘棋,每盘棋都有一个棋谱,也有最后胜负的结果。价值网络是 AlphaGo 的独创。前面的方法大家已经都在用了,比如 Facebook 就曾经用过一些深度学习神经网络。
何:也就是说 AlphaGo 最核心的创新就是价值网络。
刘:对。而且后来哈萨比斯在他的评论中也说价值网络是他最核心的突破,
AlphaGo 的强大也是依赖于价值网络。
何:那之前它输给李世石,主要原因是什么?
刘:我觉得还是它的价值网络还没有完全做好,也就是说它没有预测到白棋会挖那一下,也就没有预测到这会导致黑棋不好的情况,也就是说当时它的价值网络对于这个选点不敏感。当时是存在这个弱点的,据说最近已经解决这个问题了。
何:这个问题解决了,从价值网络这个角度来说,它就越来越没有
漏洞了吗?
刘:是的。AlphaGo 应该还在一个逐渐强大的过程中,强大的原因就是逐渐地增强了价值网络的正确性。价值网络特别重要,因为它能预测到这步棋不好,就不会下这步棋了。
何:最近日本也出了一个计算机围棋人工智能程序,叫作 Zen。它现在好像变得比以前强大了,是什么原因?
刘:Zen 也是借鉴了神经网络。在 AlphaGo 之前,日本方面已经宣布找到了赞助的商家,要做 DeepZenGo。我估计,现在Zen 的强大是因为他们把深度学习的一些阶段性结果放到里面来了。可能Zen 还没有达到 AlphaGo 的水平,但是在逐渐地接近 AlphaGo。
何:那你觉得整个人工智能的发展会给围棋带来什么样的影响?
刘:我看到的是比较积极的影响,但是不同的人看到的不太一样。我觉得人工智能增加了围棋的魅力。首先,关于 AlphaGo 的报道很多。人机大战的时候,据谷歌的统计,全球有二亿八千万人看了这个比赛。第一场比赛的中国观众就有六千万。二亿八千万人说明这是一个非常大的事件了,比美国美式橄榄球总决赛(超级碗)的观众人数还多。据谷歌统计,与人机大战相关的有三万五千份独立的媒体报道,还不包含转发的东西。围棋棋具的国际销售量上涨了十倍,当时有些地方的围棋棋具都脱销了。很多人认为这个影响不亚于当年聂卫平在中日擂台赛上战胜日本人的影响。
其次,围棋规则简单,但是变化无穷。AlphaGo在人机大战中的表现更证明围棋是变化无穷的了。过去人们觉得无法想象的事情,现在变得可以实现了。AlphaGo 开阔了我们对围棋的见解和认识,让我们发现了围棋的更多可探索的空间。原来我们认为三路是控制地的,四路是控制外面的,很少会有人在五路上去下子。AlphaGo 有一手却在五路尖冲。当时有个英国人在英语频道上解说,他的第一感觉这步棋是棋手摆错了位置,后来他才确认这是 AlphaGo 的下法,很明显这是一个很令人吃惊的下法。哈萨比斯也在他的报告上面说,AlphaGo下了这步棋以后,李世石去卫生间待了 15 分钟,这也是让李世石感到很吃惊的一手棋。所以 AlphaGo 开阔了我们对围棋的认识,原来我们认为围棋只能这么下,但现在我们发现围棋还可以那么下,可能性更多了。


我觉得在这个意义上AlphaGo 是增加了围棋的魅力。


何:这个事当时让很多人接受不了,特别是职业棋手。大家都说围棋是人类智慧最后一个不可被攻破的堡垒,职业棋手头上也就有了这么一个神圣的光环。职业棋手可能不能接受这个光环一下子就被人工智能打破了。
刘:是。人机大战的结果对于围棋的神秘性是有很大冲击的。原来围棋是一项非常特殊的挑战,现在看上去可能还有比围棋更大的挑战。比如说,我们对于病理、生命的理解,我觉得这肯定是比围棋更难解决的一些问题。围棋毕竟还是一个有限空间,是规则非常明确的一个游戏。现实生活中的许多问题还存在更多的未知变量,你很难去将其抽象出来,使其成为一个边界很确定的问题。现在看来,当问题的边界很确定、目标很明确的时候,用计算机解决都是很容易的。我觉得还是不能给围棋太多的负担,把它说成人类智慧最终的目标,这就有点过了。




04   围棋人工智能给我们带来什么


何:人工智能最有可能应用于围棋之外的哪些领域?
刘:DeepMind 团队其实也说了,他们要把人工神经网络运用到与人类更密切相关的、能改变人类生活的一些重要领域里来。其中,医学是他们很重要的一个运用领域。最近有些北京的医生联系我,希望用类似的方法去做医学上的研究。其实 DeepMind 团队就在做疾病的早期诊断。有些疾病是不太容易早期诊断的,他们举的一个例子叫作急性肾损伤。这种病第一很普遍,第二很致命,第三诊断起来很困难。怎么诊断呢?一般是看尿量和检验结果。但是即使是两个肾都坏掉了,检验出急性肾损伤可能还是需要 24 小时。所以需要运用人工智能改进诊断方法。人工神经网络本身是个中性的技术,是一个与利益无关的技术,只要有相关的数据,都是可以做的。未来,人工神经网络可以用作医疗诊断,也可以用作智能助手。比如说每个人都有不同的生活习惯,当人工智能对你的生活方式有足够多的了解后,人工智能可以比较准确地预测出你下一步的动作。你可能只需要做一个很小的动作,它就知道你要往哪走了。
何:我们在编撰《围棋学》,书里面有一部分就是围棋形态论。我把棋分成了棋局(或者作品)、棋手、观众(或者读者)。其实棋局本身就有一套语言的系统,一个棋子就相当于一个字,两个字组成一个词,两个棋子的组合,可以是小飞、大飞,或者立、跳。这样,这个词就有了意义,词汇和词汇组合之后就构成了一个棋形,就相当于成了一个句子。最后,一盘棋下完就相当于一篇文章完成了。所以围棋是存在一套语言系统的。
我们现在对语言学的研究已经非常成熟了,从组词、造句、段落到篇章的联系都研究得很透彻了。但我们现在对围棋的研究,始终还停留在一个直观判断的基础上,永远只把飞、跳当作一种术语,很少有人去描述清楚每一个“词”的功能。那么有没有可能用一套系统,把围棋里面核心的东西去作一个描述?


刘:我可以理解你的想法,有积极的一面也有消极的一面。从积极的一面来看,我也同意围棋具有语言学的特征。我们在 2008 年的时候就写过这样一篇文章,在国际学术刊物上发表了。语言有一个好玩的地方,就是词汇使用的频率和它的顺序符合一个定律,叫做 Zipf's law。这个定律是以 20 世纪 50 年代哈佛大学的一个教授的名字命名的。它是以英语为样本的。在一个文本里面,统计每个词出现的频率,然后按照这个频率排序,就会有一个指数型的下降。前面 20% 的高频率的这些词,最后它们使用的总次数占了总体的 80%;那么后面 80% 的低频率的这些词,加起来只占了总体的 20%。语言都符合这么一个分布关系。当时我们就按照类似的理论做了一个围棋中的分词研究。怎么看分词呢?比如你落了一个点,看这个点跟周围棋子之间的关系,范围可以定得稍微大一点,也可以稍微小一点。以这样的东西来做统计的时候,就按照出现的概率排一个序,它也符合 Zipf's law 的趋向。就是说某些形状非常容易出现,而很多形状偶尔才出现一次。这是通过职业选手上万个棋谱来做的统计分析。这是我们 2008 年观察到的一个结果。
何:可不可以理解为,一个句子就相当于一个定式或者一个局部的棋形?
刘:对。就看你怎么去定义这个句子在哪结束,当然这是形式上的问题,没有考虑句子的意义,但句子背后还是有想要表达的思想的。这个东西跟语言学是有关系的,我们前期做的只是第一步,就是从围棋词汇出发,研究围棋词汇的语言特征。后面的词组、段落、整体章节、语意,都还没有做。
何:下棋是两个人在对话,两个人对话始终在限制与反限制之间。当然,语言学也可以理解为两个人处在辩论的状态,辩论的状态是我永远在批驳你。所以,我不知道有没有可能把围棋做出这种语言学的描述。如果做这种描述,那计算机围棋给这种描述能带来什么样的帮助?
刘:我的态度是积极的,我觉得这个事是可以做的,但是这个事情挺复杂的。它要用到一些最基本的工具,比如刚才我们做的一个统计上的分析,是计算机可以做的。我前期是做程序语言这种工作的,程序语言有词法、语法、语意之类的一系列的工作,那么自然语言也有词法、语法、语意这些东西。我觉得围棋可以参照这些东西,就是通过语义学来做。语义学有两个派别,一种是语法派,另外一个就是统计学派。统计学派并不在乎语法是什么样的,它更注重的是人类使用语言的习惯。我觉得围棋更适合用统计学来分析。但是,具体地做下去可能还是一件挺复杂的事情。
何:计算机做出描述之后,是不是要转化为人类语言才能让一般人理解计算机的那种思维?
刘:可能还是比较困难。计算机可以给你展现一棵树,也可以预测一盘棋中的下一步棋,甚至可以预测到之后的十步二十步。但是它目前还缺乏自然语言的表述方式。
何:也就是说,我们要解读 AlphaGo 的每一个棋谱,要把它的程序语言转化为自然语言,现在还是有很大难处的。
刘:对。机器本身没有办法把棋谱描述出来,人也没有办法,人只可以看到它对胜率的描述。它会把变化以非常具体的围棋的方式来告诉你,但是它无法明确地用人类的语言去描述。
何:也就是说,我们只能去揣测它的意图,但它本质的意图现在是没法知道的,我们是无法知道计算机是怎样思考的。
刘:它不是用语言来思考的,所以它无法用语言来表达它的情感,它只能用胜率的方法来表达。它可以说谁的胜率高,甚至可以说那两个残子活下来的概率比较大,这些都是我们可以看到的。但是,人要主动地去做这些联系,计算机是用数字思考的,但是这些数字对于我们来说,其意义就不是特别容易理解。
何:但是事实上,我们解读棋局,就像解读古人的一个棋谱,我们照样也只能去揣测古人下这步棋的意图是什么,为什么会做出这种选择。古人是怎么想的,我们永远也没办法知道。古人也不可能每一局棋谱都有自战解说,即使有自战解说,其作用也是有限的。在没有自战解说的情况下,我们面对着古人的棋谱,跟面对 AlphaGo 下出来的棋,其实是同一个状态。
刘:本质上是一致的,但它们有一个细微的差别。我们一般认为我们的围棋技艺要比古人强大一点。因为我们比他们强,我们就能更好地去理解他们表述的方式,也能看出他的弱点来。AlphaGo 比我们每个人都强大,我们试图解释一个比我们更强大的事物的时候,可能存在着理解上不充分的情况。
何:事实上我们要去做一个棋谱的解读时,也有可能按照这种方式去揣测,至少按照我们的方式去做一种描述。这种描述有没有可能达到一种理想的状态——就是把整个过程给准确地描述出来。
刘:我觉得是有可能的。现在我们可以看出来一点点,就是 AlphaGo 本身可能更重视外势。这些东西都表示了它一定的偏好,还是可以总结出来的。
何:现在的围棋研究,一个方面是传统的文化研究的方式;另外一个方面,随着科学的介入,确实给我们提供一种科学的思维和方法。中国古代大部分人还是从传统的角度去理解围棋,把它当作一种玄而又玄的形而上之道。事实上,围棋非常能够体现中国传统里面所缺乏的一个东西,这就是数理思维。这种思维在中国古代一直处在被遮蔽的状态。我在《中国围棋思想史》中就说,世人一直认为中国古人缺少数理思维。我说古人是有数理思维的,只不过它处在被遮蔽的状态。古人一直在强调玄象思维、系统思维、模糊思维那些东西。中国古人对围棋的描述永远只是“好”“不好”或者“妙”这种词。后来到了清代后期,在《官子谱》里面,也出现了这手棋亏了几目的描述。开始有了一个对围棋的量化的判断。这种量化的描述在中国古人看来是很迂腐的,甚至沈括解释围棋有许多复杂变化时,反而在别人眼里是一种迂腐的表现。
20 世纪,围棋走的就是日益精细化的道路,开始用数字去做一些判断。从技术这个角度来说,这是一种进步。围棋走到今天,其所体现的数理思维,随着计算机围棋的出现,有可能被描述得更加清晰。我始终在想,有没有可能引入语言学研究的这种模式,然后对棋局做出一种描述,从而构成围棋的一个独立的知识系统。我觉得我们现在最需要做的就是这一步,而这一步恰恰是文化研究者与科学研究者共同努力的一个方向。
刘:但是这个也取决于人类对人工智能的自然语言处理能力的提升。现在我们看到了人工智能做了很多很多的事情,但是它对自然语言的理解还是和人类有很大差距的。我相信在不久的将来,随着人工智能的自然语言处理能力的提高,人工智能和对弈系统相结合,有可能产生某种人类语言描述,也可能让人类看到人工智能内部的思维过程。
何:李喆在做七路盘的最优解。光靠人力,可能七路盘、八路盘的最优解就是极限了。
刘:即使李喆在七路盘上给出了一个最优解,从数学角度而言,这个最优解还是不完备的。比如第一步棋下在天元上面,那么从数学角度而言,为什么下在三路不行,你能给我一个确切的证明么?他都无法证明下在一路上面是最差的,他说一路上不可以下,就把一路给抹去了。但是对于数学证明来讲,我们必须穷尽所有的可能性。用计算机寻找最优解在现阶段还是比较困难的,现在计算机连三十个点的棋盘的最优解都没有证明。七路盘是四十九个点,这个离用计算机进行数学证明还很远。
何:从语言学角度对围棋语言进行解读,或者对围棋知识系统记性描述,完全有可能把它做成一个研究课题。有人把围棋讲得玄妙得不得了,我有些不以为然。
我们做“围棋学”,首先是对围棋知识系统进行描述,让它能够自成体系。包括我前面提到的《围棋文化教程》,我把三个核心词拿了出来——气、地、形,它们代表了围棋的棋子如何生存,如何活得更好,如何才能活出品味这样一个过程。这样一来它们才有了逻辑的联系。我们过去描述围棋时,永远把它分成定式、官子、死活等。为什么这么分?我们没人追究过这个问题。所以我们一定要建构一套围棋自己的知识系统。


刘:这么看,琴、棋、书、画,除了棋以外,它们都借鉴了西方的方式来分析思考。比如音乐,我估计现在的音乐学院的音乐课程、音乐大纲都掺入了西方的东西,绘画也是这样的。但是西方没有围棋这个东西,所以这在一定程度上制约了我们。我觉得围棋不比音乐、绘画差,但是怎样才能够做成一个大的体系?古人也有优点,当然也有很明显的弱点。我们可能要引入一些西方的方法系统地把围棋梳理一下。
何:所以我们建构“围棋学”的基本理论,首先需要把这套知识系统先建构起来。当然,我们的建构未必就是唯一的,但是至少先给人们一个可以讨论的案例。
围棋最有可能把西方的科学思维跟东方的传统思维结合起来。就像我们做文学研究,有人觉得这完全是走西方的路子,对文学进行语言学式的批评描述之后,文学本身的魅力反而减弱了很多。就像一首诗,本来好就是好,美就是美,但是你一定要做出那么多分析,反而离诗意越来越远。所以西方的方法也不是万能的,但这两种方法完全有可能结合,围棋研究也应该是这样。


刘:是的,这就需要我们做科学研究的跟做文化研究的学者共同密切合作、共同努力了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

徽帮棋友会 ( 苏ICP备2022041640号-1

GMT+8, 2024-11-28 13:52 , Processed in 0.585273 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表