Прокомментированная и задокументированная реализация Muzero на основе бумаги Google DeepMind (Schrittwieser et al., Nov 2019) и связанного псевдокода. Он предназначен для того, чтобы быть легко адаптируемым для каждых игр или подкрепления обучения (например, в спортзале). Вам нужно только добавить файл игры с гиперпараметрами и классом игры. Пожалуйста, обратитесь к документации и примеру. Эта реализация в основном для образовательных целей.
Пояснительное видео о Музеро
Muzero - это современный алгоритм Art RL для настольных игр (шахматы, Go, ...) и Atari Games. Это преемник Alphazero, но без каких -либо знаний о среде, лежащей в основе динамики. Muzero изучает модель среды и использует внутреннее представление, которое содержит только полезную информацию для прогнозирования вознаграждения, стоимости, политики и переходов. Muzero также близок к сетям прогнозирования стоимости. Посмотрите, как это работает.
Вот список функций, которые можно было бы добавить, но которые не находятся в бумаге Музеро. Мы открыты для вклада и других идей.
Все выступления отслеживаются и отображаются в режиме реального времени в Tensorboard:

Тестирование Лунного Сандера:

Тесты выполняются на Ubuntu с 16 ГБ ОЗУ / Intel I7 / GTX 1050TI MAX-Q. Мы обязательно получили прогресс и уровень, который гарантирует, что он узнал. Но мы систематически не достигаем уровня человека. Для определенных среду мы замечаем регрессию через определенное время. Предлагаемые конфигурации, безусловно, не являются оптимальными, и мы пока не фокусируемся на оптимизации гиперпараметров. Любая помощь приветствуется.

Сводка сети:

git clone https://github.com/werner-duvaud/muzero-general.git
cd muzero-general
pip install -r requirements.lockpython muzero.pyЧтобы визуализировать результаты обучения, запустите в новом терминале:
tensorboard --logdir ./results Вы можете адаптировать конфигурации каждой игры, редактируя класс MuZeroConfig соответствующего файла в папке Games.
Пожалуйста, используйте этот Bibtex, если вы хотите привести этот репозиторий (Master Branch) в своих публикациях:
@misc{muzero-general,
author = {Werner Duvaud, Aurèle Hainaut},
title = {MuZero General: Open Reimplementation of MuZero},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = { u rl{https://github.com/werner-duvaud/muzero-general}},
}