/ Модель

Характеристики

Лицензия
MIT
Библиотека
pytorch
Опубликована
4 июл 2026

world-models-carracing-v3

Обучение с подкреплением3 профессии

Модель World Models на PyTorch управляет автомобилем в CarRacing-v3, используя VAE, предсказывающую динамику MDN-RNN и контроллер, оптимизированный CMA-ES.

22скачиваний за 30 дней0лайковвеса обновлены4 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель flydexo/world-models-carracing-v3 — воспроизведение World Models Ха и Шмидхубера для управления автомобилем в среде CarRacing-v3. Реализация на PyTorch делится на три части: β-VAE кодирует кадры 64×64×3 в латентный вектор размерности 32, MDN-RNN на базе LSTM с 256 скрытыми элементами предсказывает следующий латентный вектор по текущему состоянию и действию, а линейный контроллер выбирает действие по латентному вектору и состоянию RNN. Контроллер оптимизирован методом CMA-ES; VAE и RNN обучаются отдельно и затем фиксируются.

В README сообщается средняя награда лучшего агента 915,9 за 100 эпизодов, сопоставимая с результатом 906 ± 21 из исходной работы. Модель предназначена для запуска агента в CarRacing-v3 и экспериментов с обучением моделей мира и управлением на основе предсказания динамики. Репозиторий содержит веса в формате PyTorch. Лицензия — MIT.

Сценарии применения

  • управление автомобилем в среде CarRacing-v3
  • воспроизведение эксперимента World Models
  • исследование предсказания динамики среды с помощью MDN-RNN
  • сравнение стратегий оптимизации контроллера методом CMA-ES

Ограничения

Предназначена для среды CarRacing-v3 и выдаёт действия для управления агентом; результаты в других средах не описаны. README сообщает результат лучшего агента, но не приводит сведений о разбросе качества этой версии.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

🏎️ World Models — CarRacing-v3

A faithful reproduction of Ha & Schmidhuber's World Models on CarRacing-v3. The agent factorises into three parts — Vision, Memory, Controller — trained in that order:

  • V — a β-VAE that compresses each 64×64×3 frame into a 32-d latent z
  • M — an MDN-RNN (LSTM-256, 5-mixture density head) that predicts the next latent p(z′ | z, a, h)
  • C — a single 867-parameter linear layer mapping [z; h] → action, evolved with CMA-ES

Only the controller ever touches the reward; V and M are trained once, self-supervised, then frozen.

🎯 Result

MetricThis modelPaper (Ha & Schmidhuber)
Best-agent reward (avg / 100 rollouts)915.9906 ± 21

Controller-driven episode

left: what the car sees · middle: the frame round-tripped through V · right: the next frame as M predicts it, one step ahead.

Files

FileModuleArchitecture
vae.ptVAutoEncoder — 4× stride-2 conv encoder [32→64→128→256], mirror deconv decoder, 32-d latent, β-VAE with free-bits floor (λ = 0.5/dim)
rnn.ptMRNN — LSTM (hidden 256) over [z; a] (35-d) + MDN head, 5 Gaussians × 32 dims
controller.ptClinear [z(32); h(256)] → a(3), 867 params, CMA-ES (popsize 64, avg 16, σ 0.3)
model.py—the module definitions
config.yaml—hyperparameters for instantiation

Usage

import torch
from omegaconf import OmegaConf
from huggingface_hub import hf_hub_download
from model import AutoEncoder, RNN  # model.py from this repo

repo = "flydexo/world-models-carracing-v3"
cfg = OmegaConf.load(hf_hub_download(repo, "config.yaml"))

vae = AutoEncoder(cfg)
vae.load_state_dict(torch.load(hf_hub_download(repo, "vae.pt"), map_location="cpu"))

rnn = RNN(cfg)
rnn.load_state_dict(torch.load(hf_hub_download(repo, "rnn.pt"), map_location="cpu"))

# Controller: a plain linear [z; h] -> action
ctrl = torch.nn.Linear(cfg.controller.state_dim + cfg.controller.hidden_dim,
                       cfg.controller.action_dim)
ctrl.load_state_dict(torch.load(hf_hub_download(repo, "controller.pt"), map_location="cpu"))

Rollout loop: encode obs → z, concat [z; h] → controller → action, step env, feed [z; a] through the RNN to advance the hidden state h.

Reproduction notes

The gap between a naïve implementation (~600) and the paper (~906) came down to a few details:

  • VAE — sum-reduced reconstruction paired with a free-bits KL floor (λ = 0.5/dim), KL scaled consistently against the recon term. No posterior collapse — all 32 latents stay alive.
  • MDN-RNN — trained on z ~ N(μ, σ) sampled every batch (not the mean μ); softmax temperature applied only at sampling, never inside the training loss; correct mixture sampling.
  • Controller — input is [z; h] (latent plus the RNN hidden state).
  • CMA-ES — population 64, 16 rollouts averaged per candidate, σ = 0.3.

Links

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

RL-агенты не запускаются как сервис инференса.

Ревизия весов
6b4b3a1

0 моделей