Paper · 2022-05-30 · cs.AI, cs.LG
Multi-Game Decision Transformers
One GPT-2-style transformer, trained offline on Atari trajectories from 41 games, predicts return, action and reward tokens from 84x84 frames cut into 14x14 patches. At play time it samples a high target return, then an action. Author-reported: 126% of human-normalised IQM across the 41 games, gains with model size, and fast fine-tuning to 5 held-out games.
Return-conditioned sequence modelingImitation learningMulti-task learningTransfer learningoffline-rldecision-transformeratarisequence-modelingscaling
arXivPDFCodeMarkdown15 min read
AI-compiled by claude-haiku-5-5 on 2026-10-18, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Most game-playing AI systems learn one game at a time. This paper asks whether one neural network can learn many old Atari video games at once, using only recordings of other players and without playing live while it learns.
The trick is to treat each game as a long sequence of tokens, the same way a language model treats text. Each step holds the picture cut into small squares, a target score to aim for, the action taken and the reward received. A transformer, the kind of model behind chat assistants, learns to predict the next token. When it plays, it first asks for a high but plausible target score, then picks an action that fits that target.
The authors report that bigger models do better, and that a model trained on many games can pick up a new game quickly from a small amount of data. They release the pre-trained models and code. All results are their own.
TL;DR
- Offline, single-set-of-weights agent for 41 training Atari games (46 in total, 5 held out), trained on DQN replay trajectories §3.3.
- Decision-transformer sequence model over image patches, return, action and reward tokens §3.1 §3.2.
- Expert-level behaviour comes from sampling a high target return before each action, a classifier-guided idea borrowed from language generation §3.4.
- Author-reported: 126% human-normalised IQM across 41 games, scaling with size, best fine-tuning among the methods tested §1 §4.5.
- Released code is inference-only and differs from the main text in several places. Read the Paper vs code section before reimplementing.
Problem
Offline RL normally needs one policy per task, and multi-environment training on Atari has been studied less than single-game or single-environment RL §1. Training data mixes expert and non-expert play §3.3. Plain behaviour cloning imitates that mix and rarely produces the best episodes §4.7. Temporal- difference (TD) methods such as C51 and CQL become unstable as the model grows in the multi-game setting §4.4. The authors want a single model that is trained on all data but can still act at expert level, and that scales §1.
Method
Sequence formulation §3.1. The agent sees observation o^t, emits action a^t and gets reward r^t. The model is a decoder-only transformer trained with next-token prediction over the sequence \langle ..., o^t_1, ..., o^t_M, \hat{R}^t, a^t, r^t, ... \rangle, where \hat{R}^t is the target return for the remainder of the episode §3.1. The order puts the return before the action, so the model can sample a return first and then an action. Observation patches are not predicted, because the authors judge them non-discrete and expensive to generate §3.1.
Tokenization §3.2 app. B.1.
- Each 84x84 grayscale frame app. B.1 is cut into a 6x6 grid of 14x14 pixel patches, giving M = 36 patches §3.2 app. B.1.
- Each patch is linearly projected and gets a trainable position encoding §3.2.
- Returns are uniformly quantised into integer bins from -20 to 100 §3.2.
- Actions are already discrete §3.2.
- Rewards are mapped to a ternary class {-1, 0, +1} §3.2. See Paper vs code for the four-class version in the release.
- One timestep is therefore 36 patch tokens, one return, one action and one reward token, 39 in all. Four frames make a 156-token sequence §4.1.
Attention mask app. B.1. Ordinary causal masking would block the patches of one frame from attending to each other. The authors allow full attention within the observation tokens of a timestep and keep causal masking across timesteps.
Training data §3.3. The data come from an existing set of Atari trajectories collected while DQN agents trained §3.3. Per training game there are 2 runs of 50 checkpoints, each with 1M environment steps §3.3. Across 41 games that totals 4.1 billion steps and about 160 billion tokens §3.3. There is no filtering or balancing §3.3. Five games are held out for transfer tests §3.3 app. B.2.
Training objective §3.1 §3.2. Cross-entropy on the next return, action and reward tokens. Training is ordinary next-token prediction and needs no change to the usual infrastructure. The expert-level inference step below only changes sampling at play time §3.4.
Expert action inference §3.4 alg. 1 app. B.3. The authors model "expert-level" as a binary variable whose probability grows with the return, P(\mathrm{expert}^t | R^t, ...) \propto \exp(\kappa R^t), with inverse temperature \kappa. Applying Bayes' rule to the learned return distribution gives a biased sampling rule. The biased logits add \kappa times a normalised return, (R - R_{\mathrm{low}})/(R_{\mathrm{high}} - R_{\mathrm{low}}) §3.4. The main text sets \kappa = 10 §3.4 app. B.3. The return is resampled at every step app. B.3, which avoids storing past target returns app. B.3.
# Expert return and action inference [alg. 1] [§3.4]
# Input: environment env, trained model; kappa = 10
# Output: one action per environment step
def play_episode(model, env):
# Start from the observation tokens and the history [alg. 1]
context = start_context(env)
while not env.done:
# Return logits over the 121 bins from -20 to 100 [alg. 1] [app. B.3]
return_logits = model.return_logits(context)
# Add kappa * normalised return to each logit [§3.4]
normalised = (return_bins + 20) / 120
biased = return_logits + kappa * normalised
# Sample a target return; top 85th percentile [app. B.3]
target = sample(biased, temperature=1, top_percentile=85)
# Sample an action conditioned on that target [alg. 1]
action_logits = model.action_logits(context, target)
action = sample(action_logits, temperature=1, top_percentile=85)
reward, observation = env.step(action)
# Slide the window; the history is regenerated, not stored [app. B.3]
context = slide(context, observation, action, reward)The authors also describe a simpler alternative. It draws N = 128 return samples from the model, keeps the largest one, and conditions the action on it app. B.3. This needs no \kappa. The reported settings for it are return temperature 0.75, no return percentile cut-off, and action logits in the top 50th percentile at temperature 1 app. B.3. The authors say the two choices perform similarly app. B.3. The released code implements this alternative, not the \kappa version (see Paper vs code).
Baselines §4.2 app. C. Behaviour cloning is the same transformer with the return token removed app. C. C51 is online multi-game DQN with an Impala CNN §4.2. CQL adds a behaviour-cloning term to C51's categorical loss §4.2. Representation baselines are CPC, BERT and ACL, each with its own pre-training objective and then a behaviour-cloning head §4.2 app. C.
Image augmentation app. B.5. Random crop (4 zero pixels of padding on each side, then crop back to 84x84) and random rotation worked best. The authors also tried channel permutation, pixel permutation and flips. The same random parameters are used for each window, and augmentation is applied in both pre-training and fine-tuning app. B.5.
Evaluation app. B.4. Atari 2600 with the preprocessing of Agarwal et al. 2020, 18 shared discrete actions, no sticky actions, and each game scored over 16 rollouts app. B.4. Observations are JPEG-compressed in the dataset and at evaluation app. B.4.
Hyperparameters
| Name | Value | Where | Notes |
|---|---|---|---|
| DT-200M architecture | 10 layers, d_model 1280, 20 heads, about 200M params | app. B.1 tab. 1 Multi_game_decision_transformers_public_colab.ipynb | Released model config matches. Heads = d_model/64 Multi_game_decision_transformers_public_colab.ipynb |
| DT-40M architecture | 6 layers, d_model 768, 12 heads | app. B.1 tab. 1 | Used for the expert-data and seed experiments §4.8 app. B.1 |
| DT-10M architecture | 4 layers, d_model 512, 8 heads | app. B.1 tab. 1 | |
| Training hardware | 64 TPUv4 per model; DT-10M 1 day, DT-40M 2 days, DT-200M 8 days | app. B.1 tab. 1 | Training time as reported |
| Sequence length | 4 frames, 156 tokens | §4.1 | 4 x (36 + 3) = 156 §3.2 |
| Patch size | 14x14, M = 36 (6x6 grid) on 84x84 grayscale | §3.2 [fn. 2] app. B.1 Multi_game_decision_transformers_public_colab.ipynb | Stride-14 convolution in the released code |
| Return vocabulary | 121 integer bins, -20 to 100, bin size 1 | §3.2 [fn. 1] Multi_game_decision_transformers_public_colab.ipynb Multi_game_decision_transformers_public_colab.ipynb | App. B.1 says 120 buckets; see Paper vs code |
| Reward tokens | 3 classes (ternary) per paper | §3.2 | Release uses 4 classes; see Paper vs code |
| Dropout | not stated in paper | Multi_game_decision_transformers_public_colab.ipynb | 0.1 in the released model definition |
| Pre-training optimiser | LAMB, betas 0.9 / 0.999 | §4.1 | Training code is not in the repository |
| Pre-training learning rate | 3e-4, 4000 linear warm-up steps | §4.1 | Decay after warm-up: not stated |
| Pre-training weight decay | none | §4.1 | |
| Pre-training gradient clip | 1.0 | §4.1 | |
| Pre-training batch size | 2048 | §4.1 | |
| Pre-training length | 10M steps | §4.1 | |
| Fine-tuning length | 100k steps | §4.1 | Same protocol for all methods §4.5 |
| Fine-tuning learning rate | 1e-4 | §4.1 | |
| Fine-tuning weight decay | 1e-2 | §4.1 | |
| Fine-tuning batch size | 256 | §4.1 | |
| Fine-tuning data | 1% of a held-out game, about 500,000 transitions | app. B.2 §4.5 | §4.5 says "1M steps"; see Pitfalls |
| Pre-training data for transfer | 41 training games, 100M steps each | §4.5 | |
| Held-out games | Alien, MsPacman, Pong, SpaceInvaders, StarGunner | §3.3 app. B.2 | |
| Training games | 41, from 46 selected for DQN outperforming random | §3.3 | Selection follows Gulcehre et al. 2020 |
| Action sampling | temperature 1, top 85th percentile of logits | app. B.3 | Code default is 50 (see Paper vs code) |
| Return sampling (main) | temperature 1, top 85th percentile, kappa = 10 | §3.4 app. B.3 | |
| Return sampling (alternative) | N = 128 samples, temperature 0.75, max, no cut-off | app. B.3 Multi_game_decision_transformers_public_colab.ipynb | Matches released code |
| Action sampling (alternative) | top 50th percentile, temperature 1 | app. B.3 Multi_game_decision_transformers_public_colab.ipynb | Matches released code |
| Expert-data share | top 10% of trajectories by episodic return, per game | §4.8 app. F | |
| Image augmentation | random crop (pad 4) and random rotation | app. B.5 | Applied in pre-training and fine-tuning |
| Evaluation rollouts | 16 per game, no sticky actions | app. B.4 | |
| Seeds | 1 for all main results; 5 for DT-40M | §4.1 app. B.1 | |
| CQL behaviour-cloning weight | 1 with full data, 4 with 1% fine-tuning | §4.2 | Following CQL recommendations |
| CQL pre-training | 1M gradient steps, per-replica batch 32, 32 cores (global 256), lr 0.00025 | app. C | Fine-tuning: 100k steps, batch 32, one CPU |
| C51 (multi-game) | multi-step n = 4; Impala 64/128/128 channels; batch 128; update period 256 | §4.2 | 15M gradient steps, about 4B env steps app. C |
| CQL scaling sizes | (5 blocks, 128 ch) 5M; (10, 256) 30M; (5, 512) 60M; (10, 512) 120M | §4.2 | Impala blocks x channels |
| CPC | two 512-unit MLP layers with ReLU; Impala CNN 16/32/32 channels; batch 256; lr 0.00025 | app. C | 1M representation steps; fine-tune every 50k; best reported |
| BERT and ACL | 2 self-attention layers, 4 heads of 256 units, feed-forward 512, k = 16 | §4.2 app. C | ACL adds an action-prediction loss |
Results
Author-reported. Setup: 41 training Atari games §3.3. Human-normalised score (HNS) and inter-quartile mean (IQM) across games §4.1 app. B.4. Baselines are behaviour cloning, online C51, offline CQL, and representation methods §4.2. Single training seed except for DT-40M app. B.1.
| Setting | Metric | Baseline | This paper | Source |
|---|---|---|---|---|
| Multi-game DT, all 41 training games (model size not named in the sentence) | IQM of HNS | Training dataset: 101% | 126% | §1 fig. 1 |
| Multi-game DT vs BC, per game | games where DT beats BC | BC | DT better in 31 of 41 | §4.7 fig. 8 |
| Multi-game C51 (online) vs Impala | median HNS | Impala median 70% (computed by the authors from published Impala results) | 68% | §4.3 |
| DT-40M, 5 seeds | median HNS, mean and sd | none (single runs elsewhere) | 0.79, sd 0.06 | app. B.1 |
| DT-40M, 5 seeds | IQM, mean and sd | none | 0.95, sd 0.05 | app. B.1 |
| Scaling with model size, training games | IQM | CQL | DT keeps improving over more than one order of magnitude; CQL does not improve and drops for larger models | §4.4 fig. 5 |
| Transfer to 5 held-out games, 1% data | per-game score after 100k steps | CQL from scratch on 1% | Pre-trained DT best on every held-out game; values in figure only | §4.5 fig. 6 |
| Expert data vs full data, 40M models | IQM | BC-40M trained on expert data | DT-40M trained on full data beats BC-40M on expert data; ordering only in text, values in figure | §4.8 fig. 9 |
| Beat the best demonstration | % over best dataset score (top-3 rollouts) | 0% (best dataset score) | Gains in a number of games; values in figure only | §4.6 fig. 7 |
Raw per-game scores for the best multi-game models (41 games) tab. 2 app. I. DT (200M), BC (200M), online DQN (10M) and CQL (60M), as reported:
| Game | DT (200M) | BC (200M) | Online DQN (10M) | CQL (60M) |
|---|---|---|---|---|
| Amidar | 101.5 | 101.0 | 629.8 | 4.0 |
| Assault | 2,385.9 | 1,872.1 | 1,338.7 | 820.1 |
| Asterix | 14,706.3 | 5,162.5 | 2,949.1 | 950.0 |
| Atlantis | 3,105,342.3 | 4,237.5 | 976,030.4 | 16,800.0 |
| BankHeist | 5.0 | 63.1 | 1,069.6 | 20.0 |
| BattleZone | 17,687.5 | 9,250.0 | 26,235.2 | 5,000.0 |
| BeamRider | 8,560.5 | 4,948.4 | 1,524.8 | 3,246.4 |
| Boxing | 95.1 | 90.9 | 68.3 | 100.0 |
| Breakout | 290.6 | 185.6 | 32.6 | 62.0 |
| Carnival | 2,213.8 | 2,986.9 | 2,021.2 | 440.0 |
| Centipede | 2,463.0 | 2,262.8 | 4,848.0 | 2,904.0 |
| ChopperCommand | 4,268.8 | 1,800.0 | 951.4 | 400.0 |
| CrazyClimber | 126,018.8 | 123,350.0 | 146,362.5 | 139,300.0 |
| DemonAttack | 23,768.4 | 7,870.6 | 446.8 | 1,202.0 |
| DoubleDunk | -10.6 | -1.5 | -156.2 | -2.0 |
| Enduro | 1,092.6 | 793.2 | 896.3 | 729.0 |
| FishingDerby | 11.8 | 5.6 | -152.3 | 18.4 |
| Freeway | 30.4 | 29.8 | 30.6 | 32.0 |
| Frostbite | 2,435.6 | 782.5 | 2,748.4 | 408.0 |
| Gopher | 9,935.0 | 3,496.3 | 3,205.6 | 700.0 |
| Gravitar | 59.4 | 12.5 | 492.5 | 0.0 |
| Hero | 20,408.8 | 13,850.0 | 26,568.8 | 14,040.0 |
| IceHockey | -10.1 | -8.3 | -10.4 | -10.5 |
| Jamesbond | 700.0 | 431.3 | 264.6 | 500.0 |
| Kangaroo | 12,700.0 | 12,143.8 | 7,997.1 | 6,700.0 |
| Krull | 8,685.6 | 8,058.8 | 8,221.4 | 7,170.0 |
| KungFuMaster | 15,562.5 | 4,362.5 | 29,383.1 | 13,700.0 |
| NameThisGame | 9,056.9 | 7,241.9 | 6,548.8 | 3,700.0 |
| Phoenix | 5,295.6 | 4,326.9 | 3,932.5 | 1,880.0 |
| Pooyan | 2,859.1 | 1,677.2 | 4,000.0 | 330.0 |
| Qbert | 13,734.4 | 11,276.6 | 4,226.5 | 11,700.0 |
| Riverraid | 14,755.6 | 9,816.3 | 7,306.6 | 3,810.0 |
| RoadRunner | 54,568.8 | 49,118.8 | 25,233.0 | 50,900.0 |
| Robotank | 63.2 | 44.6 | 9.2 | 17.0 |
| Seaquest | 5,173.8 | 1,175.6 | 1,415.2 | 643.0 |
| TimePilot | 2,743.8 | 1,312.5 | -883.1 | 2,400.0 |
| UpNDown | 16,291.3 | 10,454.4 | 8,167.6 | 5,610.0 |
| VideoPinball | 1,007.7 | 1,140.8 | 85,351.0 | 0.0 |
| WizardOfWor | 187.5 | 443.8 | 975.9 | 500.0 |
| YarsRevenge | 28,897.9 | 20,738.9 | 18,889.5 | 19,505.4 |
| Zaxxon | 275.0 | 50.0 | -0.1 | 0.0 |
Paper vs code
Official code: google-research/google-research/multi_game_dt, linked from the
authors' project page. The page is the project site named in the paper §1
[abstract, footnote]. The repository is Apache-2.0 LICENSE. The folder holds
a README (marked "work in progress"), an AUTHORS file and one Colab notebook
Multi_game_decision_transformers_public_colab.ipynb. The
notebook loads a pre-trained checkpoint from a Google Cloud Storage path
Multi_game_decision_transformers_public_colab.ipynb,
which was not downloaded for this card. code_commit is the head of the whole
google-research repository at clone time. The folder itself was not versioned
separately.
What is confirmed by the code:
- Architecture. The released model uses d_model 1280, 10 layers and
d_model // 64heads, which gives 20 heads. That matches DT-200M app. B.1 Multi_game_decision_transformers_public_colab.ipynb Multi_game_decision_transformers_public_colab.ipynb. - Patches. A stride-14 convolution gives a 6x6 grid of 36 patches on 84x84 inputs §3.2 Multi_game_decision_transformers_public_colab.ipynb.
- Causal mask. Observation tokens within a timestep attend to each other and the rest is causal app. B.1 Multi_game_decision_transformers_public_colab.ipynb.
- Alternative return selection. The released call matches the appendix alternative: 128 samples, return temperature 0.75, action top-50 percentile app. B.3 Multi_game_decision_transformers_public_colab.ipynb.
Differences:
- Main-text expert inference is not what is released. The paper's main
method uses \kappa = 10 and a top-85 action cut-off §3.4 app. B.3. The
released call sets the optional bias weight
opt_weight = 0, which disables it Multi_game_decision_transformers_public_colab.ipynb, and uses the appendix alternative instead. - The kappa term exists in code but is off. When
opt_weight > 0, the code addsopt_weighttimes a linear ramp from 0 to 1 over the return bins Multi_game_decision_transformers_public_colab.ipynb. With 121 bins this equals the normalised return in §3.4, soopt_weightplays the role of \kappa. - Action cut-off. The paper uses the top 85th percentile in the main method app. B.3. The released call uses 50 Multi_game_decision_transformers_public_colab.ipynb. The code keeps logits strictly above the given percentile Multi_game_decision_transformers_public_colab.ipynb.
- One return token per sequence. The paper puts a return token in every
timestep §3.1. The released model sets
single_return_token = TrueMulti_game_decision_transformers_public_colab.ipynb. The return mask keeps only the first return token Multi_game_decision_transformers_public_colab.ipynb and the return loss uses only that token Multi_game_decision_transformers_public_colab.ipynb. At inference only position 0 of the return sequence is written Multi_game_decision_transformers_public_colab.ipynb. The per-step resampling in Algorithm 1 is not what this code does. - Reward classes. The paper says three reward classes {-1, 0, +1} §3.2. The release embeds four classes: no reward, positive, terminal and negative Multi_game_decision_transformers_public_colab.ipynb Multi_game_decision_transformers_public_colab.ipynb. The encoder only emits 0, 1 and 3; class 2 (terminal) is not produced by it.
- Return definition. The Colab defines return-to-go as positive rewards minus negative rewards, with a terminal reward turning the value into -1 Multi_game_decision_transformers_public_colab.ipynb. §3.2 says returns are sums of future rewards §3.2 §3.1. The training data pipeline is not released, so the definition used in training is not verified.
- Return bins. Returns are clipped to [-20, 100] and shifted to 0..120, so 121 tokens Multi_game_decision_transformers_public_colab.ipynb. The paper says 120 buckets in appendix B.1 and 121 logits in Algorithm 1 app. B.1 alg. 1.
- Dropout. The released model sets dropout 0.1 Multi_game_decision_transformers_public_colab.ipynb. The paper does not state a dropout rate.
- Pixel scaling. Pixels are divided by 255 before the patch convolution Multi_game_decision_transformers_public_colab.ipynb. The paper does not state this.
- Training code and training hyperparameters. The repository has no training code, no Jaxline configuration, no optimiser code and no data pipeline. The LAMB settings, learning rates and batch sizes in §4.1 cannot be checked against code.
- Inference cost. The released
optimal_actioncalls the model twice per step, once for return logits and once for action logits Multi_game_decision_transformers_public_colab.ipynb Multi_game_decision_transformers_public_colab.ipynb.
No discrepancy was checked for the baseline implementations (C51, CQL, CPC, BERT, ACL, Impala); they are not in the repository.
Pitfalls
- Two inference recipes. Main text: kappa = 10, top-85 cut-off §3.4 app. B.3. Release: no kappa, max of 128 return samples at temperature 0.75, top-50 cut-off Multi_game_decision_transformers_public_colab.ipynb. The paper does not say which recipe produced the 126% headline or the per-game raw scores. Pick one and report it.
- Percentile semantics. Code keeps logits above the p-th percentile Multi_game_decision_transformers_public_colab.ipynb. Top 85th percentile therefore keeps about the top 15% of logits. A reader reading "top 85th percentile" as "keep the top 85%" would get a different policy.
- Return is written to position 0 only. The release writes one sampled return into position 0 Multi_game_decision_transformers_public_colab.ipynb. Algorithm 1 resamples the return at every step alg. 1. How the released wrapper carries the return between steps is not verified; it uses a window of return values Multi_game_decision_transformers_public_colab.ipynb Multi_game_decision_transformers_public_colab.ipynb.
- Return bins: 120 or 121. The paper says 120 buckets app. B.1 and 121 logits alg. 1. The code uses 121 Multi_game_decision_transformers_public_colab.ipynb. Use 121 for the closed interval -20..100.
- Fine-tuning data size. §4.5 says 1% is "1M steps" from a 50M-step dataset §4.5. App. B.2 says roughly 500,000 transitions app. B.2. 1% of 50M is 500,000, so B.2 is consistent with the dataset size and §4.5 is probably a typo.
- Single seed. Only DT-40M was rerun, over 5 seeds: IQM 0.95 with sd 0.05 app. B.1. All other results are single runs §4.1. The authors call the variance small compared with the gaps they report app. B.1; no significance tests are given.
- Expert data is a filtered subset. The expert set keeps the top 10% of trajectories by episodic return §4.8 app. F. It is used only for the expert-data comparison; the main method trains on all data §4.8.
- Reward tokens and the terminal convention. The reward embedding has four classes, and the return target can be -1 after a terminal reward (see Paper vs code). Copy the convention you train with; the paper does not define it.
- Dropout. A rate of 0.1 appears only in the released model Multi_game_decision_transformers_public_colab.ipynb. The paper says nothing about it.
- Context is short. Four frames per sequence in all experiments §4.1. No longer memory is evaluated.
- Compression. Observations are JPEG-compressed in the dataset and at evaluation app. B.4. Reproduced scores depend on this step.
- Compute. 64 TPUv4 per model, 8 days for DT-200M app. B.1 tab. 1. Reimplementation needs a large accelerator budget; the paper gives no single-GPU setting.
- Figure and equation numbers. The numbers here follow LaTeX source order, not the compiled PDF: figure 1 is the IQM figure, figure 2 the teaser, and appendix tables are 1 (model sizes) and 2 (raw scores). Check against the compiled PDF before quoting a number.
- Atari dataset. The training trajectories come from Agarwal et al. 2020 §3.3 app. B.4. The repository does not include them; they must be obtained separately.
- Expert action inference is independent of training. Only the sampling changes; a model trained with the usual cross-entropy can be used with either recipe §3.4. Keep the training objective and the inference recipe separate when you debug.
Lineage
- Builds on: decision transformer, treating offline RL as sequence modelling §3.1 (Chen et al. 2021, cited in the paper as chen2021decision; arXiv id not given in the source text). Upside-Down RL §2. GPT-2 architecture §4.1.
- Uses ideas from: discriminator-guided generation in language models (cited as krause2020gedi) for the expert classifier §3.4; nucleus sampling (cited as holtzman2019curious) for the action cut-off app. B.3.
- Compared against: C51 (Bellemare et al. 2017), CQL (Kumar et al. 2020), Impala (Espeholt et al. 2018), CPC, BERT, ACL, behaviour cloning §4.2.
- Concurrent work: Gato (cited as gato2022deepmind) trains a transformer generalist on near-optimal data and needs expert prompts at inference §2.
- Superseded by: not stated in content on this wiki.
Source and license
Adapted from “Multi-Game Decision Transformers” by Kuang-Huei Lee, Ofir Nachum, Mengjiao Yang, Lisa Lee, Daniel Freeman, Winnie Xu, Sergio Guadarrama, Ian Fischer, Eric Jang, Henryk Michalewski, Igor Mordatch (arXiv:2205.15241), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. Code citations refer to https://github.com/google-research/google-research/tree/master/multi_game_dt at commit 3ef52111c1fa (Apache-2.0). Any quoted code is shown under that license.