不知道规则也可以下棋玩游戏MuZero是

导读:本文介绍了MuZero的前世今生,简要介绍了应用在MuZero中的主要技术以及对比与AlphaGo家族中其他算法的主要区别。本文还着重探讨MuZero执行流程,以及对MuZero的实际应用做出思考。

AlphaGo家族

从年甚至更早开始,DeepMind公司便在全欧洲征集顶尖的围棋高手,并让他们和自己所开发的计算机程序对战。

这种人机对局并不奇怪,在上世纪90年代,IBM公司所开发的超级国际象棋电脑(深蓝)就发布了多代版本[1],并与国际象棋大师帕斯卡洛夫进行对决,最终于年战胜帕斯卡洛夫。

图1深蓝的一块处理器

深蓝所用到的算法是经过多次优化后的遍历搜索算法,依托不断进步的计算机算力,在维度较低的国际象棋中能够战胜人类。但是围棋棋盘是19*19的格子状空间[2],也就是说理论上用遍历搜索算法,每一步的棋盘状态表征都有2的19*19次方种,差不多个数位。显然这大大超出了目前大多数计算机的运算能力!

图2不同的搜索算法

当然,在设计程序的过程当中,肯定会去除很多重复情况(如动态规划算法),并且加入相关规则来减少状态表征维度。但即使这样,我们也没有那么多的内存来储存这么大的数据表格。好在我们能够使用函数拟合的方法来对数据进行保存,这类方法有很多,如核函数、神经网络等。

那么回到最开始,AlphaGo就是在这样的背景之下诞生了!其通过神经网络对状态传递关系进行表征,利用MCTS(蒙特卡洛树搜索)进行动作选取,辅以游戏规则和人类的经验数据[3]。最终于年击败围棋高手李世石。随后,DeepMind相继推出AlphaGoZero和AlphaZero,这两种算法不需要人类的经验数据,只需要定义游戏规则,就能实现棋类游戏的对决[4,5]。

图3AlphaGo家族不同算法的特点

对于上述的人类专家数据,规则等,在MuZero中统统都不需要!MuZero更强大的一点就是跳出棋盘游戏的桎梏,能够挑战更加复杂的Atari游戏。

MuZero核心思想

那MuZero到底是什么呢?从论文标题MasteringAtari,Go,chessandshogibyplanningwithalearnedmodel可以窥知一二,其重点就在于learnedmodel。所以说,MuZero就是一种基于模型(model-based)的方法。不同于以往的通过物理规则进行建模,或者利用数据对交互环境进行拟合。MuZero的模型有以下三种:

1.表征模型(presentation):

2.动力学模型(dynamic):

3.预测模型(prediction):

其中表征模型将可以将任一状态编译为,那么具体含义是什么呢?没有人类知道,所以我们将其称为隐藏层(hiddenstate)。在隐藏层里,机器能够理解它的含义到底是什么,并且可以为所欲为!比如执行蒙特卡洛树搜索。

比如,传统围棋无论怎么走,都会有胜负。如果胜负已定,那么树搜索到此便结束。但是在隐藏层里并不是这样,在隐藏层中动作可以一直执行下去,甚至执行规则中根本不允许的动作(比如在一个已经放了棋子的位置再放一颗棋子),只不过作为普通人类我们并不清楚其中的含义到底是什么意思。

图4在隐藏层中执行蒙特卡洛树搜索

可以看到,在隐藏层中执行MCTS的过程中,利用动力学模型g来获取下一状态,并获得相应奖励。并且,利用预测函数h,来预测得到对应状态的策略p以及状态价值v。

图5利用经验数据更新

MuZero利用它在与环境交互时收集的经验来训练其神经网络。上述经验包括来自环境的观察(observation)和奖励(reward),以及在决定最佳行动时执行的搜索结果。

图6实际更新过程中各模型的对应关系

在更新模型参数的过程中,模型与收集的经验一起展开遍历,在每一步预测前保存的信息:价值函数v预测观察到的奖励的总和(z),策略估计(p)预测先前的搜索结果(π),奖励估计r预测最后观察到的奖励(u)。那么更新的loss函数看重的就是:

1.价值函数v预测的奖励总和u和真实的奖励总和差距多大?

2.基于p的动作和实际搜索结果差距多大?

3.每一步的预测奖励r和实际奖励差距多大?

式中的l参数分别为对应的策略,价值,奖励损失,最后加了一个参数的L2正则项。

WhyMuZero?

MuZero最出彩的地方,就是其对于learnedmodel这个词的高度把握。为什么这么说呢?

众所周知,在工程问题当中,模型建立一直是一个让人头疼的过程。

基于物理的建模方式虽然可解释性很强,但是却存在着有时准确度低,且当模型过于庞大时运算效率低下的问题。基于数据驱动的建模方式虽然可以实现端到端的数据传递,但是其可解释性差,并且需要大量数据的特点也让其应用受到了不小的限制。

而MuZero这类架构则抓住问题的本质。所学习到的模型中,最关键的无非三样东西:

1.价值(value):模型能不能告诉我,当前状态是好还是不好?

2.策略(policy):模型能不能告诉我,当前状态我该怎么办?

3.奖励(reward):模型能不能告诉我,我刚执行的动作好还是不好?

换句话说,如果我们的模型只会告诉我这三点,那么在任何环境下我都可以畅通无阻,为所欲为了!

这种思考方式其实是和人类(大多数时候)的思考方式一样:看到天空下雨了,那直接带一把雨伞就好了,不需要去分析各种复杂的天气模型。肚子饿了,我们不需要对人体的饥饿响应进行分析,吃到饱就好(不考虑减肥)。

这一特性也是MuZero能够摆脱棋盘游戏桎梏的根本原因,让其有机会处理更加复杂且难以察觉明显规律的工程物理问题!

图7MuZero与AlphaZero的效果对比(前三张图),在Atari游戏中与当时最先进的R2D2算法的对比

最后,为什么MuZero叫“Mu“呢?

汉字“夢“,在日语中读作Mu(木),这正好和MuZero在想象的空间(learnedmodel)中进行预测,规划遥相呼应,如做梦一般。

而希腊字母μ,mu(缪),也常表示模型的含义。

汉字“無“,在日语中也同样读作Mu(木),又表示,没有经验,没有规则。所有的能力都是在从梦中般虚无中习得。

____________

参考文献

[1]IBM."DeepBlue–Overview".IBMResearch.Archivedfromtheoriginalon12December.Retrieved19August.

[2]中国围棋竞赛规则(版)

[3]Silver,D.,Huang,A.,Maddison,C.etal.MasteringthegameofGowithdeepneuralnetworksandtreesearch.Nature,–().

[4]Silver,D.,Schrittwieser,J.,Simonyan,K.etal.MasteringthegameofGowithouthumanknowledge.Nature,–().

[5]Silver,D.Hubert,T.Schrittwieser,J.etal.Ageneralreinforcementlearningalgorithmthatmasterschess,shogi,andGothroughself-play.Science,vol,-().

END

——————————————————————

肖秧,重庆理工大学车辆工程硕士研究生,主研方向为混合动力汽车智能优化算法与无人驾驶汽车定位感知。

预览时标签不可点收录于话题#个上一篇下一篇

转载请注明:http://www.180woai.com/afhzp/46.html


冀ICP备2021022604号-10

当前时间: