更新时间:2023-12-19 23:58
MuZero,DeepMind开发的人工智能。MuZero在没有学习过游戏规则的情况下,不仅能下围棋、将棋和国际象棋,还在30多款雅达利游戏中展示出了超人类表现(superhuman performance)。2019年推出,2020年发表于《自然》。研究人员将MuZero描述为“在追求通用算法方面迈出的重要一步”。
即使在1997年IBM的“深蓝”(Deep Blue)击败当时的国际象棋冠军卡斯帕罗夫之后,棋类AI的发展仍步履维艰。以围棋为例:2013年,AI在不让子的情况下几乎无法击败人类职业选手。
2016年,AlphaGo横空出世,以4:1击败韩国选手李世石,并在2017年的乌镇围棋峰会上击败了世界第一棋手柯洁。中国围棋协会当即授予AlphaGo职业围棋九段的称号。
如果说AlphaGo的成功确立了AI的“围棋霸权”,随后的AlphaGo Zero和AlphaZero则进一步揭示了“棋类霸权”的可能性。作为AI算法,不论是AlphaGo还是其继位者,都需要大量的训练。AlphaGo依赖于专家棋法(expert moves)数据集,而AlphaGo Zero舍去了这一步,直接与自己对战以为训练提供数据。AlphaZero则除了围棋,更学会了日本象棋(将棋)和国际象棋。值得一提的是,2018年底发布的AlphaZero,从第一次见到棋盘,到成为世界级棋类大师,只用了24小时。
2020年,DeepMind发表了MuZero。
自古以来,哲学家和科学家都幻想着有朝一日能造出“人工通用智能”(artificial general intelligence)。简单地说,人工通用智能需要有极高的可塑性(flexibility),从而适应(甚至精通)各式不同的任务:一个能下棋、玩游戏、做家务、开飞机的AI。然而在此之前,最好的AI算法也只能精通数个同类任务;会下围棋、将棋和国际象棋的AlphaZero就是一个例子。
这种限制,在很大程度上来自AI算法对规则的依赖性。要想让AlphaZero下好各种棋,人类需要明确地教它各种棋的规则。以国际象棋为例,AlphaZero知道象只能斜着走,还不能跨过障碍物,而马可以跨过障碍物,但需要走“日”字。AlphaZero也知道什么是输赢和平局。可是一旦更换棋种,人类就需要将新棋种的规则从头教给AlphaZero。
既然这种依赖性限制了目前AI算法的应用范围,那最简单的解决方案,就是去除这种依赖性:人类可以不教AI下棋,只给它一个棋盘。每当AI选择了下一步该如何走时,人类才告诉它这一步合不合法,并且是否导致了输赢或平局。
——这就是MuZero面临的情境。对于任何一个游戏或任务,MuZero所掌握的只有一套“思考方式”,并没有该任务的“行为准则”。它不知道国际象棋里的马该怎么走,也不知道将棋中如何达成“王手”。如同第一次见到电脑的小孩,MuZero具有作出推理论断的“思维工具”,但不知道如何才能赢得“扫雷”。
跟人类一样,MuZero的秘诀,在于摸着石头过河,为外部世界建立一个只属于自己的“模型”(internal model)。在这个内部模型中,MuZero舍弃了一切表面上的规则,只留下对决策有用的信息:价值(value,即当前决策“有多好”)、策略(policy,即最好的“下一步”是什么)和奖励(reward,即上一步“有多好”)。
要明白这种策略的特殊和有效性,我们可以拿MuZero和AlphaZero的神经网络作对比:
任何深度学习算法在面对棋盘时,第一步总是观察。AlphaZero能观察当前棋局(S0),并直接利用S0计划未来的棋步。这要多亏了它所知道的棋类规则:它明白做出一个动作(action)后的下一个棋局长什么样,并可以在下一个棋局的基础上继续规划棋路,“想象”并评估各种不同的可能性。这样的规划方式,在深度学习上称为“蒙特卡洛树搜索”(Monte Carlo tree search,MCTS)。MCTS允许算法探索不同的可能性,并从中择出最优的动作。因此,熟知规则的AlphaZero要想精通棋类,只需要一个“神经网络”(neural network),即“预测网络”(prediction network)f,给f输入一个状态,它就能给出这个状态的价值(v)和潜在策略(p);通过评估各个可能性,AlphaZero就能得知当前最好的棋步。
MuZero则没有这种“奢华待遇”:它需要摸索出棋盘上各个子的合法(legal)走法,还需要弄清输赢的概念;当然,它的目标与AlphaZero一样,赢就好了,越多越好。但在不清楚规则的情况下,MuZero需要另辟蹊径,利用“表征网络”(representation network)h,将观察到的棋盘状态转换成只属于自己的隐藏状态(hidden state)。我们将当前的棋盘状态称为“O”(observation,即观察),MuZero的当前隐藏状态称为S0。但这时,MuZero遇到了第二个大难题:如何像AlphaZero一样评估未来的各种可能性呢?
不像AlphaZero,不知道棋盘规则的MuZero不能预测棋盘的各种可能状态,因此,MuZero需要从零开始,创造自己对棋路的内部模型。幸运的是,有了隐藏状态S0之后,MuZero就能算出S0状态下可以做出的各种行动(经过学习,MuZero得出的可能行动会越来越符合规则),并能通过“动态网络”(dynamic network)g,利用MuZero选择的行动和当前潜在状态S0,推演出S1。在每一个真实世界的时间点内,MuZero都能利用自己的内部模型和MCTS选择出这一个时间点的最佳行为,并将其应用于真实世界中。在实际做出了一个最佳行为后,这个行为又能再“回收”,用于训练动态网络g(从而改进MuZero的内部模型)。
图为AlphaZero和MuZero MCTS方法的并列对比。熟知规则的AlphaZero能由一个真实状态和可能行为,推测下一个真实状态。而MuZero由于不知道游戏规则,只能将真实状态表征为隐藏状态,学会建立自己的内在模型。
也就是说,由于AlphaZero对规则的掌握,它只需要一个预测网络f就能精通棋类。而不能预先知晓规则的MuZero,则需要利用动态网络g和表征网络h,自己学习并建立一个内在模型,从而学会下棋。在建立内在模型的过程中,人类不会给MuZero设置任何限制:MuZero可以舍弃任何信息,只保留有用的元素(即价值、策略和奖励)。
就这样,MuZero这样一个“无师自通”的算法,竟然在AlphaZero引以为傲的棋类游戏中轻松与后者打成了平手。
在国际象棋、将棋和围棋中,MuZero的表现(蓝线)达到甚至超过了AlphaZero(橙线)。而在雅达利游戏“吃豆人小姐”中,MuZero的表现(蓝线)远超此前表现最佳的R2D2算法得分(橙线)。
在国际象棋、将棋和围棋中,MuZero都能达到AlphaZero的水平,甚至在围棋中稍稍胜过了AlphaZero。这表明MuZero“自学成才”建立的内部模型,或许比AlphaZero的“循规蹈矩”更接近围棋的要义。在雅达利游戏中,MuZero的表现也非同寻常。以“吃豆人小姐”(Ms. Pac-Man)为例,MuZero的得分为243401.10,相比之下,人类的最高分只有6951.60,是MuZero的1/35。在57个测试用的雅达利游戏中,MuZero在37个中取得了历史最高分,而人类则仅在5个游戏中保持着最佳成绩。
在利用AlphaZero和其他算法攻破了这些游戏后,反而对MuZero隐藏起规则,让它“闭上眼”下棋、“背着手”玩游戏的目的是什么呢?
DeepMind和整个AI领域一样,并不在乎国际象棋和雅达利游戏本身。这是一场事关智能的征途,目标是理解智能本身。牙牙学语的婴儿并不明白动名词的区别,却能在短短几个月内连词成句,甚至创造出只属于他们的句子。生物学家也并非生来就知晓细胞的各种秘密,而是在实验和失败中,一步步对生物世界建立了理论和模型,从而获得深刻洞见。
事实很残酷:循规蹈矩不是智能。事先熟知规则再精通下棋,与先摸索规则、建立内部模型再精通棋路是全然不同的。前者只能困于“棋”中,后者则能将一套“思考方式”搬到各种任务上。前者的例子包括AlphaGo到AlphaZero的各种棋类AI,后者则包括MuZero和于尔根·施密德胡波(Jürgen Schmidhuber)著名的“循环世界模型”(Recurrent World Model)。
为外界建立内部表征是人类最引以为傲的能力之一。如今在AI身上,这个能力再次证明了自己的价值。MuZero不仅让人类看到了创造人工通用智能的可能性,还为我们打开了一扇通往智能本身的大门。