Vector Quantized Models for Planning

Sherjil Ozair, Yazhe Li, Ali Razavi, Ioannis Antonoglou, Aäron van den Oord, Oriol Vinyals

Introduction

Making predictions about the world may be a necessary ingredient towards building intelligent agents, as humans use these predictions to devise and enact plans to reach complex goals (Lake et al., 2017). However, in the field of reinforcement learning (RL), a tension still exists between model-based and model-free RL. Model-based RL and planning have been key ingredients in many successes such as games like chess (Shannon, 1950; Silver et al., 2017a), Go (Silver et al., 2016b, 2017b), and Poker (Moravčík et al., 2017; Brown et al., ). However, their applicability to richer environments with larger action and state spaces remains limited due to some of the key assumptions made in such approaches. Other notable results have not used any form of model or planning, such as playing complex video games Dota 2 (OpenAI et al., 2019) and StarCraft II (Vinyals et al., 2019), or robotics (OpenAI et al., 2018).

In this work we are motivated by widening the applicability of model-based planning by devising a solution which removes some of the key assumptions made by the MuZero algorithm (Schrittwieser et al., 2019). Table 1 and Figure 1 summarize the key features of model-based planning algorithms discussed in this paper. MuZero lifts the crucial requirement of having access to a perfect simulator of the environment dynamics found in previous model-based planning approaches (Silver et al., 2017a; Anthony et al., 2017). In many cases such a simulator is not available (eg., weather forecasting), is expensive (eg., scientific modeling), or is cumbersome to run (e.g. for complex games such as Dota 2 or StarCraft II).

However, MuZero still makes a few limiting assumptions. It assumes the environment to be deterministic, limiting which environments can be used. It assumes full access to the state, also limiting which environments can be used. The search and planning is over future agent(s) actions, which could be millions in environments with complex action spaces. The search occurs at every agent-environment interaction step, which may be too fine grained and wasteful.

Largely inspired by both MuZero and the recent successes of VQVAEs (van den Oord et al., 2017; Razavi et al., 2019) and large language models (Radford et al., ; Brown et al., 2020), we devise VQ models for planning, which in principle can remove most of these assumptions.

Our approach uses a state VQVAE and a transition model. The state VQVAE encodes future observations into discrete latent variables. This allows the use of Monte Carlo tree search (MCTS, (Coulom, 2006)) for planning not only over future actions, but also over future observations, thus allowing planning in stochastic or partially-observed environments.

We also propose a “pure” version of our model which encodes both future observations and actions into discrete latent variables, which would allow planning entirely in discrete latent variables. These discrete latent variables can be designed to have cardinality and time granularity independent of the actions, thus enabling planning in large action spaces over longer time horizons.

To demonstrate that the proposed solution works well in practice, we devise two evaluation frameworks using the game of chess. The first is the classic two-player chess framework where agents get to observe and plan over both their own and their opponent’s actions. This is the framework used by techniques like MuZero and its previous iterations. In this setting, all four assumptions above perfectly hold, i.e. action and time granularity is already at the right level of abstraction, there is no stochasticity, and agents observe the full board. Then we remove the ability to enumerate opponent actions, and make the opponent’s move part of the environment dynamics. That is agents can only observe their own states and actions. This makes the environment stochastic, since the transition is not a deterministic function but depends on an unknown opponent’s action from a potentially stochastic policy. We refer to this framework as single-player chess.

We show that MuZero’s performance drops catastrophically on single-player chess compared to two-player chess, demonstrating that MuZero depends on access to data from the opponent’s perspective. Our approach which only uses player perspective data at training and playing time performs as well on single-player chess as MuZero does on two-player chess. This suggests that our approach is a promising way to generalize MuZero-style planning to partially-observable and stochastic environments.

To investigate how well our approach can scale, we also evaluate on DeepMind Lab (Beattie et al., 2016), which has a complex observation and action space with partial observability and stochasticity, showing that VQ planning models capture the uncertainty and offer the best results among all planning models we compare against.

Related Work

Oh et al. (2015); Chiappa et al. (2017); Kaiser et al. (2019) use video prediction models as environment simulators. However, such models are not feasible for planning since they require observation reconstruction which would make planning prohibitively slow. van Hasselt et al. (2019) argue that experience replay can be regarded as a non-parametric model and that Dyna-based methods are unlikely to outperform model-free methods. Schrittwieser et al. (2019); Oh et al. (2017) learn an implicit deterministic sequence model by predicting future reward, value and policy from current states and future actions. However, these models are in principle limited to deterministic or weakly stochastic environments such as Atari (Machado et al., 2018).

Stochastic models promise to capture uncertainty. PILCO (Deisenroth & Rasmussen, 2011) used Gaussian processes for transition model and achieves remarkable sample efficiency by capturing model uncertainty. However, it is not scalable to high dimensional state spaces. Depeweg et al. (2016) model uncertainty of the transition function with Bayesian neural networks (BNNs). Kurutach et al. (2018); Chua et al. (2018) use model ensembles to capture epistemic uncertainty that arise from scarcity of data. Variational autoencoders (VAE, Kingma & Welling (2013); Rezende et al. (2014)) have fuelled a range of stochastic models for RL. Moerland et al. (2017) builds models for RL with conditional VAE (Sohn et al., 2015). Buesing et al. (2018) investigate stochastic state-space models. Ha & Schmidhuber (2018) train a VAE to compress the observation into continuous latent variables and use an RNN to serve as the predictive model. Hafner et al. (2018, 2019) learn a full forward model using VAE framework. They incorporate multi-step prediction (“latent overshooting”) to minimize compounding errors, which changes the optimization objective, while our approach uses data likelihood as the only objective. Hafner et al. (2020) propose a discrete autoencoders model and learn it with straight-through gradients. This is perhaps the most similar to our approach. However, the model is used to generate synthetic data and not used for planning. Lastly, Rezende et al. (2020) study environment models from a causal perspective. They propose adding stochastic nodes using backdoors (Pearl et al., 2016). This approach requires the backdoor variable to be observed and recorded during data generation. Our approach doesn’t alter the data generating process, therefore works in offline RL setting.

Models can be used in different ways to materialize a policy. Oh et al. (2015); Kaiser et al. (2019) use environment models in the Dyna (Sutton & Barto, 2018) framework, which proposes to learn a policy with model-free algorithms using synthetic experiences generated by models. However, the accumulated error in synthesized data could hurt performance compared to an online agent. This loss of performance has been studied by van Hasselt et al. (2019). Ha & Schmidhuber (2018); Hafner et al. (2018) do policy improvement through black-box optimization such as CMA-ES, which is compatible with continuous latent variable models. Henaff et al. (2017) extends policy optimization to discrete action space. Following AlphaGo (Silver et al., 2016b) and AlphaZero (Silver et al., 2017a), Schrittwieser et al. (2019) prove that MCTS is scalable and effective for policy improvement in model-based learning. Our approach is a generalization of MuZero that is able to incorporate stochasticity and abstract away planning from agent actions. Continuous action spaces and MCTS have also been combined with some success, e.g. (Couëtoux et al., 2011) and (Yee et al., 2016). However, our choice of discrete latent space makes it possible to leverage all the recent advances made in MCTS. In a specific multi-agent setup, where the focus is to find policies that are less exploitable, models can be used with counterfactual regret minimization (Moravcík et al., 2017) or fictitious play (Heinrich & Silver, 2016) to derive Nash equilibrium strategy.

While our model-based approach is applicable generally, we evaluate it in the offline RL setting. Previous model-based offline RL approaches (Argenson & Dulac-Arnold, 2020; Yu et al., 2020; Kidambi et al., 2020) have focused on continuous control problems (Tassa et al., 2020; Gulcehre et al., 2020). Our work focuses on environments with large observation spaces and complex strategies which require planning such as chess and DeepMind Lab (Beattie et al., 2016).

Background

(VQVAE, van den Oord et al. (2017)) make use of vector quantization (VQ) to learn discrete latent variables in a variational autoencoder. VQVAE comprises of neural network encoder and decoder, a vector quantization layer, and a reconstruction loss function. The encoder takes as input the data sample x\mathbf{x}, and outputs vector zu=f(x)\mathbf{z}_{u}=f(\mathbf{x}). The vector quantization layer maintains a set of embeddings {ek}k=1K\{\mathbf{e}_{k}\}_{k=1}^{K}. It outputs an index cc and the corresponding embedding ec\mathbf{e}_{c}, which is closest to the input vector zu\mathbf{z}_{u} in Euclidean distance. The decoder neural network uses the embedding ec\mathbf{e}_{c} as its input to produce reconstructions x^\hat{\mathbf{x}}. The full loss is Lt=Lr(x^,x)+β∥zu−sg(ec)∥2\mathcal{L}^{t}=\mathcal{L}^{r}(\hat{\mathbf{x}},\mathbf{x})+\beta\|\mathbf{z}_{u}-sg(\mathbf{e}_{c})\|^{2}, where sg(⋅)sg(\cdot) is the stop gradient function. The second term is the commitment loss used to regularize the encoder to output vectors close to the embeddings so that error due to quantization is minimized. The embeddings are updated to the exponential moving average of the minibatch average of the unquantized vectors assigned to each latent code. In the backwards pass, the quantization layer is treated as an identity function, referred to as straight-through gradient estimation (Bengio et al., 2013). For more details, see van den Oord et al. (2017).

(MCTS, Coulom (2006)) is a tree search method for estimating the optimal action given access to a simulator, typically used in two-player games. MCTS builds a search tree by recursively expanding the tree and assessing the value of the leaf node using Monte Carlo (MC) simulation. Values of leaf nodes are used to estimate the Q-values of all the actions in the root node.

The policy for child node selection during expansion is crucial to the performance of MCTS. The most popular method for this is UCT (stands for “Upper Confidence Bounds applied to trees”, Kocsis & Szepesvári (2006)), which is based on Upper Confidence Bound (UCB, Auer et al. (2002)). UCT suggests that this problem can be seen as a Bandit problem where the optimal solution is to combine the value estimation with its uncertainty.

AlphaGo (Silver et al., 2016a) combined MCTS with neural networks by using them for value and policy estimations. The benefits of this approach are twofold: value estimation no longer incurs expensive Monte Carlo simulations, allowing for shallow searches to be effective, and the policy network serves as context for the tree expansion and limits the branching factor.

At each search iteration, the MCTS algorithm used in AlphaGo consists of 3 steps: selection, expansion and value backup. During selection stage, MCTS descends the search tree from the root node by picking the action that maximizes the following upper confidence bound:

and N(s,a)N(s,a) is the visit counts of taking action aa at state ss, N(s)=∑bN(s,b)N(s)=\sum_{b}N(s,b) is the number of times ss has been visited, c1c_{1} and c2c_{2} are constants that control the influence of the policy P(a∣s)P(a|s) relative to the value Q(s,a)Q(s,a).

Following the action selection, the search tree receives the next state. If the next state doesn’t already exist in the search tree, a new leaf node is added and this results in an expansion of the tree. The value of the new leaf node is evaluated with the learned value function. Finally, the estimated value is backed up to update MCTS’s value statistics of the nodes along the descending path:

Here Qtreet(s,a)Q^{t}_{tree}(s,a) is the action value estimated by the tree search at iteration tt; Nt(s,a)N^{t}(s,a) is the visit count at iteration tt.

where hmh^{m} is the hidden state on the planning path. Lπ(am,π(hm)){L}^{\pi}(a^{m},\pi(h^{m})) is the cross entropy loss between the action and learned parametric policy π\pi. Lv\mathcal{L}^{v} is the value loss function, vtargetv_{target} is the value target and vv is the value prediction. Lr\mathcal{L}^{r} is the reward loss function, renvr_{env} is the environment reward and rr is the reward prediction. α\alpha and β\beta are the weights.

During search, π\pi is used as the prior for action selection; rr gives the reward instead of using reward from the simulator; vv estimates the value of the leaf state rather than using Monte Carlo rollouts.

Comparing to AlphaZero, MuZero model eliminates the need of a simulator to generate the groundtruth state along the planning path. In two player games, MuZero’s planning path interleaves the player’s action and opponent’s action. Whereas in single player version, only player’s actions are seen by the model.

Model-based Planning with VQVAEs

Our approach uses a state VQVAE model and a transition model. We refer to the full model as VQ Model (VQM), and the resulting agent when combined with MCTS as VQM-MCTS.

We first describe the components of VQM in detail. Then, we explain how the model is used with MCTS.

Our VQ model is trained with a two-stage training processTraining the full model end-to-end is a promising future research direction.. We first train the state VQVAE model which encodes the observations into discrete latent variables (3(a)). Then we train the transition model using the discrete latent variables learned by the state VQVAE model (3(b)).

We use sts_{t}, ata_{t}, and rtr_{t} to denote the state at time tt, the action following state sts_{t}, and the resulting reward, respectively. An episode is a sequence of interleaved states, actions, and rewards (s1,a1,...,st,at,...,sTs_{1},a_{1},...,s_{t},a_{t},...,s_{T}).

The purpose of the state VQVAE is to encode a sequence of states and actions into a sequence of discrete latent variables and actions that can reconstruct back the original sequence. This is done by learning a conditional VQVAE encoder-decoder pair. The encoder takes in states s1,...,st,st+1s_{1},...,s_{t},s_{t+1} and actions a1,...,ata_{1},...,a_{t}, and produces a discrete latent variable kt+1=fenc(s1:t+1,a1:t)k_{t+1}=f_{enc}(s_{1:t+1},a_{1:t}). The decoder takes in the discrete latent variable and the states and actions until time tt and reconstructs the state at time t+1t+1, i.e. s^t+1=fdec(s1:t,a1:t,kt+1)\hat{s}_{t+1}=f_{dec}(s_{1:t},a_{1:t},k_{t+1}). Thus, kt+1k_{t+1} represents the additional information in the state st+1s_{t+1} given the previous states and actions.

The state VQVAE is trained using the VQVAE technique introduced in van den Oord et al. (2017) (reviewed in Section 3). The cardinality of the discrete latent variable is a design choice. Larger values are more expressive but potentially expensive at search time. Lower values would lead to lossy compression but could potentially yield more abstract representations. We show the effect of cardinality size on reconstruction quality in the supplementary material. Figure 2 depicts the state VQVAE.

We obtain latent variable ktk_{t} from state sts_{t} using the state VQVAE. We construct a planning path which comprises of a state followed by a sequence of interleaved actions and latent variables until a maximum depth MM is reached, i.e. s,a0,k1,a1…,aM−1,kMs,a^{0},k^{1},a^{1}\dots,a^{M-1},k^{M}. Thus, instead of planning over only the agent’s actions, this allows us to also plan over the outcomes of those actions.

Similar to the environment model of MuZero, our transition model predicts reward and value function at every step. Unlike MuZero, our model not only has a policy head π\pi but also a discrete latent code head τ\tau. We alternate the prediction of action and discrete latent code along the sequence. Note that the value prediction after the discrete latent code corresponds to an estimate of the state value functions, while value prediction after the action corresponds to an estimation of the Q-function.

To train all the components, and again following MuZero, we use teacher forcing of trajectories generated by a behavior policy (human experts or other agents in all our experiments) based on the observed states ss, actions aa, and latent variables kk. The total loss combining all the prediction losses is

where CE is the cross entropy loss. The total loss is similar to MuZero loss. The main difference is that we also predict latent variables at every odd timestep.

Throughout this Section, we explain our VQM-MCTS based on the VQHybrid planning path (1(d)). However, VQHybrid is not the only choice available. Depending on the information encoded by the state VQVAE, the planning path can be structured differently.

VQPure (1(e)) requires a factorized state VQVAE which provides two sets of latent space: one for environment stochasticity, same as in VQHybrid, and the other for the agent’s actions. VQPure allows the transition model to decouple from the action space and unroll purely in discrete latent spaces. In contrast, VQHybrid interleaves between state latent variables and actions. For VQJumpy (1(f)), the state VQVAE makes a jumpy prediction of the state st+ms_{t+m} instead of predicting the immediate state st+1s_{t+1}.

This enables “temporal abstractions” during planning and provides a principled way to unlock planning in a stochastic environment and decoupling the action space tied to environment both in branching and in time. Although we provide some result for VQPure in our chess experiment, these two planning path alternatives remain largely unexplored and left for future works.

2 Monte Carlo Tree Search with VQ Planning Model

In order to use the VQ planning model, we modify Monte Carlo Tree Search (MCTS) algorithm to incorporate the VQ “environment action”. The main difference with the MCTS used in MuZero (reviewed in Section 3) is that, instead of predicting agent (or opponent) actions, our MCTS also predicts next discrete latent variables kk given the past. Unlike classical MCTS which anchors in the real action space and imposes an explicit turn-based ordering for multi-agent environment, our MCTS leverages the abstract discrete latent space induced by the state VQVAE.

The search tree in MCTS consists of two types of nodes: action node and stochastic node. During selection stage, MCTS descends the search tree from the root node: for action nodes, Equation 1 is used to select an action; for stochastic nodes,

is used to select a discrete latent code. We obtain U(s,k)U(s,k) by replacing aa with kk in U(s,a)U(s,a) from Equation 1. P(k∣s)P(k|s) is computed with the learned policy τ\tau of the discrete latent code. Q^(s,k)\hat{Q}(s,k) can be for a neutral environment, Q(s,k)Q(s,k) if the environment is known to be cooperative or −Q(s,k)-Q(s,k) if the environment is known to be adversarial. When Q^(s,k)=0\hat{Q}(s,k)=0, our algorithm is similar to Expectimax search (Michie, 1966; Russell & Norvig, 2009) where the expectation of children’s Q-value is computed at the stochastic nodes. In zero-sum games like Chess and Go, we can use the adversarial setting. As we will see in Section 5.1, adding this prior knowledge improves agent performance.

Experiments

Our experiments aim at demonstrating all the key capabilities of the VQ planning model: handling stochasticity, scaling to large visual observations and being able to generate long rollouts, all without any performance sacrifices when applied to environments where MCTS has shown state-of-the-art performance.

We conducted two sets of experiments: in Section 5.1, we use chess as a test-bed to show that we can drop some of the assumptions and domain knowledge made in prior work, whilst still achieving state-of-the-art performance; in Section 5.2, with a rich 3D environment (DeepMind Lab), we probe the ability of the model in handling large visual observations in partially observed environment and producing high quality rollouts without degradation.

Chess is an ancient game widely studied in artificial intelligence (Shannon, 1950). Although state transitions in chess are deterministic, the presence of the opponent makes the process stochastic from the agent’s perspective, when the opponent is considered part of the environment.

To evaluate our approach, we follow the two-stage training of VQM and use MCTS evaluation steps illustrated in Section 4. We use the offline reinforcement learning setup by training the models with a fix dataset. We use a combination of Million Base dataset (2.5 million games) and FICS Elo >2000 dataset (960k games)https://www.ficsgames.org/download.html. The validation set consists of 45k games from FICS Elo>2000 from 2017. The histogram of player ratings in the datasets is reported in the supplementary material.

1.2 Model Architectures

The state VQVAE uses feed-forward convolutional encoder and decoder, along with a quantization layer in the bottleneck. The quantization layer has 2 codebooks, each of them has 128 codes of 64 dimensions. The final discrete latent is formed by concatenating the 2 codes, forming a 2-hot encoding vector.

The transition model consists of a recurrent convolutional model which either takes an action or a discrete latent code as input at each unroll step. The model predicts the policies over action and discrete latent code, as well as the value function. We use Monte Carlo return of the game as the target value for training.

1.3 Evaluations

The performance of our agent is evaluated by playing against:

Stockfish version 10 (T. Romstad, ) (44 threads, 32G hash size and 15s per move);

Q-value agent: Action with the highest Q value is picked. The Q value is computed by unrolling the model for one step and using the learned value function to estimate the value of the next state.

Imitation agent: Agent chooses the most probable action according to the learned policy.

MuZeroChess agent: MuZero with the same backbone architecture as VQ planning model.

Each agent is evaluated for 200 games playing as white and black respectively for 100 games. We present results for both the worst case and neutral scenario of VQM-MCTS with VQHybrid and VQPure planning path.

1.4 Results

Figure 5 reports our main results. Performance of Single-player MuZeroChess (which doesn’t observe opponent actions) is considerably worse than two-player MuZeroChess. In addition, Figure 6 shows that using more MCTS simulations hurts single-player MuZeroChess performance, because the model is not correctly accounting for the stochasticity introduced by the unobserved opponent’s actions. Both VQHybrid and VQPure agents with worst case chance nodes are able to recover the performance to the same level as the two-player MuZeroChess agent. We then further remove the assumption of the adversarial environment by using neutral case chance nodes during MCTS. The resulting agents, VQHybrid Neutral and VQPure Neutral, don’t perform as well as VQHybrid and VQPure. This shows that prior knowledge of the environment can indeed help the agent perform better.

We also note that when assuming the environment is neutral, increasing the simulation budget doesn’t seem to improve the performance (Figure 6). This is because MCTS searches over the expected behavior of players from a broad range of Elo ratings as human data is used for training. This expectation could deviate significantly from the Stockfish agent, especially for higher skill levels. The full results for the agents can be found in the supplementary material.

In Figure 5, we report win and draw rates of a VQHybrid agent playing against other baseline agents. The results confirm that the VQ agent’s performance is on par with two-player MuZeroChess: VQHybrid and MuZeroChess achieve very similar performance playing against the same imitation agent; when playing directly against each other, VQHybrid and MuZeroChess reach similar win rate.

2 DeepMind Lab

DeepMind Lab is a first-person 3D environment that features large and complex visual observations, and stochasticity from procedural level generation and partial observability. Due to these properties, it makes for a good environment to test the scalability of our VQ planning model.

We used an A2C agent (Mnih et al., 2016) to collect a dataset of 101,325,000101,325,000 episodes from the explore_rat_goal_locations_small level in DeepMind Lab, 675,500675,500 of which is held out as the test set. Each episode has 128 timesteps in which the agent is randomly spawned in a maze-like environment, which it observes from first-person view. The agent is rewarded when it captures one of the apples that are randomly placed in the environment, at which point it is transported to a new random location in the map. The collection of episodes is started with a randomly initialized agent and is continued as the training of the agent progresses and it learns about the environment. The collected dataset thus comprises a variety of episodes corresponding to different experience level of the A2C agent.

2.2 Model Architecture and Training

In addition to the approach described in Section 4, we add a frame-level VQVAE training stage at the start, which uses feed-forward convolutional encoder and decoder trained to map observed frames to a frame-level latent space. The codebook has 512 codes of 64 dimensions. Then as discussed in Section 4, in the second stage, we train the state VQVAE on top of the frame-level VQ representations. This model captures the temporal dynamics of trajectories in a second latent layer, consisting of a stack of 32 separate latent variables at each timestep, each with their separate codebook comprising of 512 codes of 64 dimensions. The architecture for this component consists of a convolutional encoder torso, an encoder LSTM, a quantization layer, a decoder LSTM and finally a convolutional decoder head that maps the transition discrete latents back to the frame-level VQ space. Finally in the third stage, we fit the transition model with a hybrid “planning path” using a deep, causal Transformer (Vaswani et al., 2017).

To generate new samples from the model, we first sample state latent variables from the prior network. These are then fed to the state VQVAE decoder for mapping back to the frame-level discrete latent space. The resulting frame-level codes are mapped to the pixel space by the frame-level VQVAE decoder.

2.3 Baselines

We compare our proposed approach based on VQM with several baselines. As the simplest baseline, we train a deterministic next-frame prediction model with an LSTM architecture closely mimicking the state VQVAE architecture except for the quantization layer. The network is trained to reconstruct each frame given the preceding frames with mean-squared-error (MSE). Additionally, we train several sequential continuous VAE baselines with different posterior and prior configurations to compare our discrete approach with continuous latent variables. We use GECO (Jimenez Rezende & Viola, 2018) to mitigate the well-known challenges of training variational autoencoders with flexible decoder and prior models. In particular, we assign a target average distortion tolerance for the decoder and minimize, using the Lagrange multiplier method, the KL-divergence of the posterior to the prior subject to this distortion constraint, as described in Jimenez Rezende & Viola (2018). We choose two different distortion levels of 25dB and 33dB PSNR. The former is based on our experiments with the deterministic LSTM predictor (the first baseline described above), which achieves reconstruction PSNR of about 24dB, and the latter is set slightly higher than the reconstruction PSNR of our frame-level VQVAE decoder at 32dB.

2.4 Evaluation Metric

For every trajectory in the test set we take k(=1000)k(=1000) sample episodes from the model using the initial prefix of T0(=16)T_{0}(=16) frames from each ground-truth trajectory. For each ground-truth trajectory, we find the sample with minimum (cumulative) reconstruction error (measured as Mean Squared Error or MSE) from the end of the prefix up to a target timestep t(=128)t(=128), and average the error for this best-match sample over the test trajectories. We refer to this metric as Mean Best Reconstruction Error or MBRE defined as

where GG is a set of ground-truth trajectories, and SS is a set of sampled episodes–kk episodes sampled using the initial T0T_{0} frames of each ground-truth episode GiG_{i} as prefix. We compare sampled episodes with their corresponding ground truth episode at the target frame TT. An ideal model that generalizes well to the test set would place a non-negligible probability mass on the ground-truth trajectory, and thus an episode close to the ground-truth should be sampled given a sufficiently large number of trials.

2.5 Results

Rollouts generated by the model can be seen in Figure 7. Figure 8 shows the results of evaluating MBRE for our proposed approach against the aforementioned baselines. The LSTM baseline performs significantly worse than all latent variable models. This is expected because the generative model is not expressive enough for stochastic and multi-modal data, and as a result predicts the mean of all possible outcomes, which results in poor best matches against ground-truth. Comparisons with the two sequential VAE baselines demonstrate the trade-off between the reconstruction quality of a model and its predictive performance as measured by MBRE. Furthermore, it shows that our VQM approach is able to achieve competitive performance with respect to both reconstruction quality and long range predictive performance.

Conclusion

In this work, we propose a solution to generalize model-based planning for stochastic and partially-observed environments. Using discrete autoencoders, we learn discrete abstractions of the state and actions of an environment, which can then be used with discrete planning algorithms such as MCTS (Coulom, 2006). We demonstrated the efficacy of our approach on both an environment which requires deep tactical planning and a visually complex environment with high-dimensional observations. Further we successfully applied our method in the offline setting. Our agent learns from a dataset of human chess games and outperforms model-free baselines and performs competitively against offline MuZero and Stockfish Level 15 while being a more general algorithm. We believe the combination of model-based RL and offline RL has potential to unlock a variety of useful applications in the real world.

Acknowledgements

We’d like to thank Ivo Danihelka and Nando de Freitas for providing valuable feedback on early drafts of the paper. We’d like to thank Julian Schrittwieser for helping with the MuZero baselines. We’d also like to thank Sander Dielman, David Silver, Yoshua Bengio, Jakub Sygnowski, and Aravind Srinivas for useful discussions and suggestions.

References

Appendix A Appendix

The histogram of Glicko-2 ratings (Glickman, ) of the players in the training set is shown in Figure 9.

A.2 Details for Chess Experiments

We use symbolic representation for the chess board where each piece is represented as an integer. Following the same protocol as Silver et al. (2017a), the action space is represented as 8×8×738\times 8\times 73 discrete actions.

A.2.2 Baseline Models

The baseline MuZeroChess model is similar to that of the MuZero (Schrittwieser et al., 2019). In stead of using a deep convolutional network extracting features from the board state, we simply embed the board state to get the initial state ss. The dynamics function is consist of 2 convolutional networks gg and ff. It works as follows: set z0=sz^{0}=s for the initial state; zm+1=g(zm,am)z^{m+1}=g(z^{m},a^{m}), gg takes in the embedded action input ama^{m} and previous state zmz^{m} and outputs the next state zm+1z^{m+1}; hm+1=f(zm+1)h^{m+1}=f(z^{m+1}), ff produces the final state for prediction heads. We have two prediction heads vv and π\pi for value and policy respectively. Both gg and ff are 20-layer residual convolution stacks with 1024 hiddens and 256 bottleneck hiddens. All the heads have a hidden size 256. The action predictor uses kernel size 1 and strides 1 and its output is flattened to make the prediction.

We train with sequence length 10. If the training sequence reaches the end of the game, then after game terminates, we pad random actions and target value, as well as mask the action prediction loss.

We use a batch size of 2048 for training and use Adam optimizer (Kingma & Ba, 2014) with learning rate 3e−43e^{-4} and exponential decay of with decay rate 0.9 and decay steps 100000. To stabilize the training, we apply gradient clipping with maximum clipping value 1. The model is trained for 200k steps.

The same MuZeroChess model as described above is used. For Q-value agent, we unroll the dynamics function for 1 step with each legal action. The estimated action value of the Q-value agent is the value prediction of the next state. For imitation agent, we use the policy prediction of the model as the imitation agent’s policy.

A.2.3 VQ Model

The state VQVAE for chess has a encoder and a decoder, which are both 16-layer residual convolution stack with 256 hiddens and 64 bottleneck hiddens. The quantization layer has 2 codebooks, each of them has 64 codes of 256 dimensions. Before feeding into the quantization layer, we apply spatial mean pooling on the features. The reconstruction of the board state is cast as a classification problem where the model predicts the piece type at each position. Therefore, the reconstruction loss is the cross entropy loss. The training batch size is 1024. We use Adam optimizer (Kingma & Ba, 2014) with learning rate 3e−43e^{-4} and exponential decay of with decay rate 0.9 and decay steps 100000. The model is trained for 1.2 million steps.

Our transition model for chess is similar to the model used for MuZeroChess. In addition to the dynamics function gg which takes the action as input at each step, we introduce another dynamics function g′g^{\prime} which takes the input of discrete latent codes. At alternating steps, instead of using gg, we obtain the next state by z2m+1=g′(z2m,k2m)z^{2m+1}=g^{\prime}(z^{2m},k^{2m}) where m>0m>0. We also introduce an additional prediction head τ\tau to predict the discrete latent codes. The additional function g′g^{\prime} is a 30-layer residual convolution stack with 1024 hiddens and 256 bottleneck hiddens. Unlike for actions, discrete latent codes after termination of the game don’t need random padding or masking.

We use the same training setup and optimizer parameters as MuZeroChess. VQHybrid model is trained for 200k steps; VQPure model is trained for 400k steps.

The hyperparameters used for the MCTS are the same for baseline MuZeroChess and VQM-MCTS: discount=1.0discount=1.0, UCB parameters cbase=19652.0c_{base}=19652.0 and cinit=1.25c_{init}=1.25. No temperature is applied on the acting visit count policy. Same as MuZero (Schrittwieser et al., 2019), we limit the agent action to all legal moves. MuZeroChess and VQHybrid agents don’t have terminal state. VQPure agent reaches terminal state when the same VQ code is taken for 10 consecutive steps in the search tree branch.

For experiments where VQ agent is playing against Q-value, imitation and MuZeroChess agents, we employ similar strategy used for data generation in Schrittwieser et al. (2019). This is because both agents are deterministic, playing among them would result in deterministic games making the evaluation less meaningful. Specifically, instead of selecting the action with the highest visit count at the end of the tree search, we use a stochastic variant. We keep a pool of possible actions which have an action count of at least 1% the total count A={a:N(a)>0.01Nmax}\mathcal{A}=\{a:N(a)>0.01N_{max}\}, and sample an action aa according to the probability induced by visit counts p(a)=N(a)∑a′∈AN(a′)p(a)=\frac{N(a)}{\sum_{a^{{}^{\prime}}\in\mathcal{A}}N(a^{{}^{\prime}})}. This stochastic variant of the tree policy is used for the first 30 steps of the game for all MCTS-based agents.

A.3 Quasirandom Sampling

As explained in Section 4.2, our MCTS implementation takes the following form:

If we assume the environment to be neutral, the empirical distribution of the selected discrete latent codes at planning time should match the estimated distribution of codes P(k∣s)P(k|s). A straightforward way to obtain such a distribution is to sample i.i.d from the estimated distribution. However, in practice, we found that using the above equation with Q^(s,k)=0\hat{Q}(s,k)=0 works better. This corresponds to a quasi-random Monte Carlo sample of a multinomial distribution pip_{i} where we simply select the value which has the largest value of piN(i)+1\frac{p_{i}}{N(i)+1}, where NN is the number of times ii has been sampled already.

A.4 Chess Agents Performance against Stockfish

Because VQ Models have a pre-training phase, a confounding factor for the performance comparison is the amount of computational resources required. We increase the computational resources for MuZeroChess baselines for 3 times. We call the resulting agents MuZeroChess@600k and MuZeroChess Single@600k. This increase is more than that of the pre-training phase since our state VQVAE is trained on a pair of observations whereas the transition model is trained on a sequence of 10 steps. Figure 11 reports the full results of MuZeroChess and VQ agents playing against Stockfish. As Figure 11 shows, with the increase of computational budget, MuZeroChess agent does have a slight performance improvement. However, this is not significant enough to affect the conclusions. Most importantly, MuZeroChess Single agent does not perform better even with significantly more compute. In fact, we see a decrease in win rate across all the Stockfish levels with 1200 simulations.