人工对战简史:从国际象棋到德州扑克
作者:周晨晨
【嵌牛导读】:
2017年4月6日到10日,由卡内基梅隆大学开发的人工智能Libratus(“冷扑大师”)将在海南与六位中国的德州扑克选手进行为期五天,累计长达45个小时的德州扑克人机对战。这是继AlphaGo在围棋领域大杀四方之后,AI对人类新的挑战。
【嵌牛鼻子】:计算力,人工智能,神经网络,不完美博弈。
【嵌牛提问】:
二十多年的时间中,从国际象棋到德州扑克,人机对战经历了那些时间节点,AI又发生了什么样的变化。
【嵌牛正文】:
人工智能第一次与人类对战是在1992年2月的美国费城。一场在当时被称作“世纪大战”的较量。国际象棋世界棋王卡斯帕罗夫面对的挑战者,并不是人。卡斯帕罗夫的对手是IBM的超级国际象棋电脑“深蓝”,为了这次较量,后者早已做足了准备。在国际象棋每一个回合中,一个玩家可以有大约35种不同的行棋选择,这些选择推导结果是单线程的,从A到B到C的推导选择。随机不可控因素更小,也不存在局部的输赢影响整体战局的关系。对局双方的决策能够更直接地控制整个局面的走势。也就是说,国际象棋的比赛,很大程度上是棋手计算力的较量。为了能比对手——世界棋王卡斯帕罗夫——多算准一步,深蓝中,用C语言输入了一百多年来优秀棋手的两百多万场对局。这台电脑重1270公斤,有32个节点,每个节点有8块专门为进行国际象棋对弈设计的处理器,运行速度达一亿次每秒。然而深蓝最终以2:4告负。
之后在2016年3月,谷歌的AlphaGo程序突破了传统电脑的“固定”程序逻辑,融入了深度学习和神经网络的能力。这个深度神经网络由策略网络和值网络两部分组成,策略网络负责减少搜索的宽度——面对眼前的一盘棋,有些棋步是明显不该走的。这样AI就可以重点分析那些有戏的棋着。值网络负责减少搜索的深度——AI会一边推算一边判断局面,局面明显劣势的时候,就直接抛弃某些路线,不用一条道算到黑。AlphaGo利用这两个工具学习了人类所有的棋谱。经过几千万次的自我博弈和学习,不仅能够模仿人类棋手的思考,甚至已能够超越。最终在这次战役中,来自韩国的世界围棋冠军李世石以1:4告负。
最后在2017年1月11日至1月30日,美国卡内基梅隆大学开发的人工智能Libratus(“冷扑大师”)与4名人类顶尖德州扑克选手之间的“人机大战”在美国匹兹堡进行,经过了为期20天,总计对战12万手牌的赛程,最终人工智能取得胜利。
与之前和人类在棋类的竞赛中比拼智力不同,AI在德州扑克项目上挑战人类反映了AI更值得关注的进化方向。围棋、国际象棋比赛中双方所有信息一览无余,本质上是对称信息的博弈,而德州扑克是信息不对称的博弈,每个选手只能看到自己的手牌。这就决定了人工智能首先需要面对大量不完整的信息。因此,德扑背后是一个大型的AI谈判算法。“冷扑大师”并不基于大数据、深度学习、强搜索等传统AI方法;而是基于博弈论,直接在比赛同时动态优化胜率最高的数学模型。这其中不仅包含了概率统计和运筹策略,也包含了巨大的信息处理计算量。CMU计算机学院院长Andrew Moore在接受采访时说道:“冷扑大师的程序如果要让人类去计算,大概得花人类1000万个小时。”与此同时,冷扑大师也面临着挑战。德州扑克更接近人性,因为信息是有隐藏的,牌手可以诚实地表达,也可以欺骗地表达,即德州扑克中的诈唬(bluff)技术。而机器明显无法通过对手的动作表情判断对手牌的强弱,也无法通过肢体、神态表演来蒙蔽对手。百度首席科学家吴恩达(Andrew Ng)就曾指出,“扑克(不完美信息博弈)是人工智能最难攻克的游戏之一。每一步没有所谓的最优解,人工智能要采取随机的策略,这样它诈唬的时候对方才会吃不准。”相比围棋AI,德州扑克AI应用空间更广泛。现实世界中,不完美信息博弈才是常态,例如在商业谈判、医疗方案制定等领域,这些过去被认为人类拥有独特优势的领域,未来都会面临机器的挑战。