- 论文题目:Mastering Atari, Go, chess and shogi by planning with a learned model
所解决的问题?
规划planning一直都是人工智能研究领域中,人们追逐的一个比较难的研究点,基于树的规划算法,像AlphaGo这类算法已经取得了巨大的成功,然而基于树模型的规划算法需要一个完美的环境模型,这个条件在真实的世界中是很难被满足的。
背景
基于模型的强化学习方法先学一个环境模型,然后基于所学的这个环境模型去规划能够解决无法在真实环境交互过多的问题。以往的经典的规划算法往往都会依赖被控对象的模型,这样对于实际地落地就存在很大的阻碍。现在做的比较好的基于模型的强化学习算法,都不会聚焦在重建整个的环境,也就是说一般不会重构整个的观测序列。像abstract mdp和latent space这类方法都能够比较高效地做值函数的估计。
所采用的方法?
MuZero是基于AlphaZero的改进版本。MuZero扩展AlphaZero到单个智能体领域以及非终止奖励的控制对象上。
算法主要的思想是预测未来,主要是预测那些可以直接用来规划未来的数据,比如预测未来的值函数。之后就可以基于预测数据进行规划。
具体做法是:模型接收一个观测数据(比如游戏的一帧像素),然后将其编码到隐藏状态空间。在隐藏状态空间可以通过给定动作和自回归的方式进行学习和训练。在每一步,模型需要产生(或者说去预测)一个策略,一个值函数(预测的累计奖励),和一个即时奖励的预测(当前步的奖励预测)。模型端到端直接训练好,并且作者这里并不采用dreamer和planet学习环境模型的方法,认为模型没有必要具有从隐状态复原到原像素这种能力。隐状态只要能够去正确地估计策略、值函数和即时奖励即可。

如上图所示:图a:1. 给定一个隐藏状态sk−1和一个候选动作ak,动态模型g需要产生一个即时奖励rk和一个新的隐藏状态sk。2. 策略pk和值函数vk由预测函数f通过输入sk计算得到vk=fθ(sk)。动作at+1从搜索策略πt中采样得到。初始的状态s0是由过去的观测输入到表示函数h中得到的,比如输入空的棋盘。图b:动作at+1由搜索策略πt产生。环境接收到动作之后产生一个新的观测ot+1和即时奖励ut+1。图c:MuZero训练整个模型,基于a和b两步,我们已近能够采样到一些数据了。拿到这些数据就可以训练模型了:策略模型pk≈πt+k;值函数vk≈zt+k;和奖励模型rk=≈ut+k。
给定一个时间步t,对于每一步k=0,⋯,K步,一个带有θ参数的模型μθ,基于给定的过去的观测数据条件o1,⋯,ot和未来的动作at+1,⋯,at+k(其中K>0)来预测未来的:
策略
ptk≈π(at+k+1∣o1,…,ot,at+1,…,at+k)
值函数
vtk≈E[ut+k+1+γut+k+2+…∣o1,…,ot,at+1,…,at+k]
即时奖励
rtk≈ut+k
其中u是真实地观测奖励,π是策略,γ是折扣因子。
说白了就是拿到过去的观测数据,编码到当前的隐藏状态,然后再给定未来的动作,就可以在隐藏状态空间中进行规划了。
- 想要实现上述功能,与基于模型的算法一样,两部走;学环境模型和策略规划。
环境模型需要提供的是:1. 状态转移;2. 每个节点允许搜索的动作(减少搜索空间);3. 终止节点。用神经网络来做就好了,环境模型其实是由两部分组成,表示模型和动态模型gθ:
rk,sk=gθ(sk−1,ak)
表示函数hθ对过去的观测进行编码s0=hθ(o1,…,ot),得到当前根节点s0。给定这样一个模型之后,对于一个未来假设的轨迹a1,…,ak,和给定的过去的观测o1,…,ot。
- 策略用的是与
AlphaGo Zero一样的MCTS策略,需要搜索一个策略πt=P[at+1∣o1,…,ot]和一个值函数vt=E[ut+1+γut+2+…∣o1,…,ot]。loss由策略、值和奖励这三部分的loss组成:
lt(θ)=∑k=0Klp(πt+k,ptk)+∑k=0Klv(zt+k,vtk)+∑k=1Klr(ut+k,rtk)+c∥θ∥2
取得的效果?

所出版信息?作者信息?

Julian Schrittwieser谷歌大脑软件工程师!AlphaGo和AlphaZero 的项目组成员。