人工智能和深度学习导论
上QQ阅读APP看书,第一时间看更新

1.5 人工智能和博弈

自20世纪中叶计算机问世以来,通过训练计算机进行复杂的棋类博弈,计算机科学和编程技术取得了重大进展。一些有计算机参与的博弈(例如国际象棋、跳棋、围棋和黑白棋)已经使人们受益于人工智能给出的独特方案。

博弈刺激了人们对人工智能的兴趣和人工智能的发展。Arthur Samuel在1959年对跳棋的研究是早期努力的一个亮点。他的程序基于一个含有50个启发式方法的表格,可以在自身的不同版本间博弈。在一系列比赛中,失败的程序将采用获胜程序的启发式方法。这个程序很擅长下跳棋,但从未达到大师级水平。

几个世纪以来,人们一直试图训练机器下国际象棋。对国际象棋机器的迷恋可能源于一种普遍接受的观点,即只有拥有智能才能下好棋。

1959年,Newell、Simon和Shaw开发了第一个真正的计算机国际象棋程序,该程序遵循香农-图灵(Shannon-Turing)范式。Richard Greenblatt编写了第一个俱乐部级别的计算机国际象棋程序。计算机国际象棋程序在20世纪70年代稳步发展,直到70年代末,程序达到了专家水平(相当于国际象棋锦标赛排名前1%的选手)。

1983年,Ken Thompson的Belle是第一个正式达到大师级水平的程序。随后,来自卡内基·梅隆大学的Hitech取得了成功,作为第一个特级大师级(等级分超过2400分)程序,它成为一个重要的里程碑。此后不久,同样来自卡内基·梅隆大学的“深思”(Deep Thought)被开发出来,并成为第一个能够稳定击败国际象棋特级大师的程序。

当IBM在20世纪90年代接管该程序时,“深思”演化成了“深蓝”(Deep Blue)。在1996年的费城,深蓝与世界冠军Garry Kasparov进行了6场比赛,最终Kasparov获胜,从而“拯救了人类”。然而1997年,在对阵深蓝的继承者——“更深的蓝”(Deeper Blue)时,Kasparov输了,震动了整个棋坛。

在随后与Kasparov、Kramnik和其他世界冠军级别选手的6场比赛中,程序表现出色,但这些比赛不是世界锦标赛。尽管人们普遍认为这些程序可能仍然比不上最优秀的人类棋手,但大多数人还是愿意承认顶级程序和最有成就的人类棋手难分伯仲(这让人想到了图灵测试)。

1989年,位于埃德蒙顿的阿尔伯塔大学的Jonathan Schaeffer开始了他的长期目标——用他的程序Chinook征服跳棋游戏。在1992年的一场40回合比赛中,在对战跳棋世界冠军Marion Tinsley时,Chinook以2胜33平4负的成绩输了。1994年,他们再次比赛,6场打平,之后Tinsley因健康原因不得不退出比赛。从那以后,Schaeffer和他的团队一方面努力求解残局(只有8枚或更少棋子的残局),另一方面试图解决从开局开始的跳棋问题。

其他使用人工智能技术的博弈包括西洋双陆棋、扑克、桥牌、黑白棋和围棋(通常被称为“人工智能的新果蝇”)。

AlphaZero的成功

谷歌开发了AlphaZero,这是一个基于人工智能的软件程序,它使用自我对局的方式学习如何玩游戏。AlphaZero是AlphaGo的后继产品,后者在2016年击败了人类顶尖棋手。AlphaZero在围棋比赛中轻松击败了AlphaGo。

而且,在学习了国际象棋的规则之后,AlphaZero进行了自训练(再次使用自我对局),并在一天之内成为世界上的顶尖棋手。AlphaZero可以打败任何人类棋手及任何下国际象棋的计算机程序。

真正有趣的一点是,AlphaZero发明了自己的下棋策略,这种策略不仅不同于人类,还涉及一些被认为违反直觉的棋步。

遗憾的是,AlphaZero无法告诉我们它是如何发明出一种优于任何以前发明的下棋方法的策略的。既然AlphaZero完全依靠自学成为世界排名第一的棋手,那么AlphaZero算不算有智能?