Deep RL Course: путеводитель по курсу
Карта курса Hugging Face по глубокому обучению с подкреплением: юниты и бонусы, порядок чтения вместе с модулем 6.0, что из практики запускать на своей машине без многочасового обучения и где лежат русские переводы.
Deep RL Course от Hugging Face — бесплатный открытый курс по глубокому обучению с подкреплением (deep reinforcement learning, Deep RL). Его основал Томас Симонини в 2018 году; здесь описана нынешняя версия курса — 2.0. Каждый юнит состоит из теории и практического ноутбука для Google Colab: вы обучаете агента, смотрите видео его игры и (по желанию) выкладываете модель на Hugging Face Hub. Исходники курса лежат на GitHub под лицензией Apache-2.0, поэтому самые важные юниты мы перевели полностью.
Что это за курс (перевод из юнита 0)
Заголовок раздела «Что это за курс (перевод из юнита 0)»Добро пожаловать в самую увлекательную тему искусственного интеллекта — глубокое обучение с подкреплением. Этот курс научит вас глубокому обучению с подкреплением от новичка до эксперта. Он полностью бесплатный и открытый.
В этом курсе вы:
- 📖 изучите глубокое обучение с подкреплением в теории и на практике;
- 🧑💻 научитесь пользоваться известными библиотеками Deep RL: Stable Baselines3, RL Baselines3 Zoo, Sample Factory и CleanRL;
- 🤖 обучите агентов в необычных средах — SnowballFight, собака Хагги (Huggy), ViZDoom (Doom) — и в классических: Space Invaders, PyBullet и других;
- 💾 будете одной строкой кода делиться обученными агентами на Hub и скачивать сильных агентов сообщества;
- 🏆 поучаствуете в состязаниях, где ваши агенты играют против агентов других команд, а вы сами можете сыграть против своих агентов.
В конце курса у вас будет прочный фундамент — от основ до самых современных (SOTA) методов.
Курс состоит из трёх частей: теория (понятие объясняется на пальцах, с картинками), практика (ноутбук Colab, к некоторым есть видео) и состязания (лидерборд и матчи «ИИ против ИИ»). Рекомендованный темп авторов — один юнит в неделю, 3–4 часа работы. Нужны только компьютер с интернетом, бесплатный Google Colab и аккаунт Hugging Face.
Карта курса
Заголовок раздела «Карта курса»Порядок — как в оглавлении курса. «Важность» — для нашего пути к RL для языковых моделей (PPO, GRPO): ★★★ — читать обязательно, ★★ — полезно, ★ — по интересу.
| Юнит | О чём | Практика: библиотека, среда | Перевод | Урок ChinaAI | Важность |
|---|---|---|---|---|---|
| 0 | Знакомство с курсом, сертификация, Discord | — | эта страница | — | — |
| 1 | Что такое RL: агент, среда, награда, отдача, политика, ценность | Stable-Baselines3 (PPO), LunarLander | теория, практика | 6.0.1, 6.3.1 | ★★★ |
| Бонус 1 | Собака Хагги учится приносить палку | Unity ML-Agents | путеводитель | — | ★ |
| 2 | Функции ценности, Беллман, Монте-Карло и TD, Q-learning | с нуля на NumPy, FrozenLake и Taxi | теория, практика | 6.0.1, 6.0.2 | ★★ |
| 3 | Deep Q-Learning: DQN, replay buffer, целевая сеть, Double DQN | RL Baselines3 Zoo, Atari (Space Invaders) | теория и практика | 6.0.2 | ★★ |
| Бонус 2 | Автоподбор гиперпараметров с Optuna | Optuna + SB3 | путеводитель | — | ★ |
| 4 | Методы на основе политики, теорема о градиенте политики, REINFORCE | с нуля на PyTorch, CartPole и Pixelcopter | теория, практика | 6.0.3, 6.3.1 | ★★★ |
| 5 | Unity ML-Agents, любопытство (curiosity) | ML-Agents, SnowballTarget и Pyramids | путеводитель | — | ★ |
| 6 | Дисперсия REINFORCE, actor-critic, преимущество, A2C | Stable-Baselines3 (A2C), panda-gym | теория и практика | 6.0.3 | ★★★ |
| 7 | Мультиагентное RL, self-play, рейтинг Эло | ML-Agents, SoccerTwos | путеводитель | — | ★ |
| 8, ч. 1 | PPO: отношение вероятностей, клиппинг, полный loss | PPO с нуля по CleanRL, LunarLander | теория, практика | 6.0.3, 6.3.2 | ★★★ |
| 8, ч. 2 | Асинхронный PPO в Sample Factory | Sample Factory, ViZDoom | практика | — | ★ |
| Бонус 3 | Продвинутые темы: RL с моделью, офлайн-RL, RLHF, Decision Transformer, языковые модели в RL | — | путеводитель | 6.3.2 | ★★ |
| Бонус 5 | Имитационное обучение в Godot RL Agents | Godot RL Agents | путеводитель | — | ★ |
Бонуса 4 в репозитории нет: нумерация в оглавлении курса так и идёт — 1, 2, 3, 5.
flowchart LR U1["Юнит 1: словарь RL"] --> U2["Юнит 2: Q-learning"] U2 --> U3["Юнит 3: DQN"] U1 --> U4["Юнит 4: REINFORCE"] U4 --> U6["Юнит 6: actor-critic"] U6 --> U8["Юнит 8: PPO"] U8 --> LLM["RLHF и GRPO: уроки 6.3–6.4"] U3 -.-> U8
Как совмещать с модулем 6.0
Заголовок раздела «Как совмещать с модулем 6.0»Модуль 6.0 «Основы обучения с подкреплением» даёт те же понятия строже: с вероятностями переходов, выводами формул и заданиями в браузере. Курс Hugging Face — нагляднее: мышка и сыр, пылесос и хомяки, ковбой и корова, и почти в каждом юните — живой агент на экране. Лучше всего они работают в паре: юнит курса как интуиция до урока, ноутбук курса как практика после.
-
Юнит 1 → урок 6.0.1 «MDP, отдача и функции ценности». Юнит даёт словарь (агент, среда, состояние, награда, отдача, γ, политика) без формул сложнее суммы. Практику юнита 1 — посадку лунного модуля — можно отложить до PPO: в ней обучение идёт «чёрным ящиком» Stable-Baselines3.
-
Юнит 2, первая половина (до «Промежуточного теста») → тот же урок 6.0.1. Функции и и уравнение Беллмана; в уроке к ним добавятся value iteration и policy iteration на мире-сетке.
-
Юнит 2, вторая половина, и практика FrozenLake/Taxi → урок 6.0.2 «Монте-Карло, TD и Q-learning». Здесь обе стороны пишут Q-learning с нуля: курс — на настоящем Gymnasium, урок — в браузере на своей мини-среде.
-
Юнит 3 (DQN) → конец урока 6.0.2 («От таблицы к нейросети: DQN» и локальный DQN на CartPole). Практику юнита 3 на Atari запускайте, только если хочется увидеть агента в игре: см. таблицу ниже.
-
Юнит 4 (REINFORCE) → начало урока 6.0.3 «Actor-critic, GAE и PPO полностью». Обязательно пройдите практику юнита 4: это первый агент на PyTorch, написанный своими руками, и тот же REINFORCE, что в уроке 6.3.1 обучает «игрушечную LLM».
-
Юнит 6 (actor-critic) → середина урока 6.0.3 (baseline, критик, преимущество). Урок идёт дальше курса: в юните 6 нет GAE, а в уроке 6.0.3 GAE выведен и посчитан.
-
Юнит 8, ч. 1 (PPO) → конец урока 6.0.3. Теорию юнита 8 читайте до раздела урока «PPO целиком»: таблица из шести случаев клиппинга — лучшая наглядная часть курса. PPO с нуля по CleanRL — после урока, как вторую реализацию рядом с нашей.
-
Дальше — языковые модели. Урок 6.3.2 «RLHF — reward model и PPO» переносит PPO на LLM (бонус 3 курса, раздел RLHF, — короткое введение в то же). Урок 6.4.1 «GRPO — RL без критика» убирает из PPO критика. Продолжение на практике — главы 12 LLM Course Hugging Face в этом же разделе: RL и DeepSeek-R1 и GRPO для математики.
Юниты 5 и 7 и бонусы 1, 2 и 5 для языковых моделей не нужны: это Unity, игры и робототехника. Они хороши, если хочется увидеть, как те же PPO и self-play обучают персонажей в 3D. Главное из них переведено в путеводителе по юнитам 5, 7 и бонусам.
Что запускать на своей машине
Заголовок раздела «Что запускать на своей машине»Ноутбуки курса написаны для Google Colab: в начале каждого — установка пакетов через apt и pip, виртуальный
дисплей для записи видео и загрузка на Hub. Запускать их можно и локально, в отдельном виртуальном окружении
(python -m venv), пропустив ячейки с apt и виртуальным дисплеем, если у вас есть экран. Учтите три вещи.
- Версии сред. Ноутбуки писались под старые версии Gym и Gymnasium. В Gymnasium 1.x среды
LunarLander-v2иTaxi-v3заменены наLunarLander-v3иTaxi-v4(FrozenLake-v1иCartPole-v1не изменились), аreset()иstep()возвращают на одно значение больше, чем в старом Gym. Если ноутбук падает наgym.make, дело почти всегда в этом. Подробности — на страницах практики. - Загрузка на Hub необязательна. Ячейки с
notebook_login()иpackage_to_hub()нужны только для лидерборда и сертификата, а лидерборд выключен. Сохраняйте модель локально (model.save(...)) и оценивайте её у себя. - Не всё надо обучать. Для многих сред на Hub уже лежат обученные агенты (организация
sb3, модели Эдварда Бичинга для Doom). Скачать и посмотреть готового агента — минута, обучить такого же — часы.
| Практика | Что требует | Оценка авторов курса | Что делать на вашей машине |
|---|---|---|---|
| Юнит 1: PPO, LunarLander, 1 млн шагов | CPU, сеть крошечная | ≈20 мин в Colab с GPU | Запустить, начав со 100–200 тыс. шагов: уже видно, как растёт награда |
| Юнит 2: Q-learning, FrozenLake и Taxi | CPU, только NumPy | «пара минут» | Запустить целиком |
| Юнит 3: DQN, Space Invaders | GPU; буфер на 100 тыс. кадров | 1 млн шагов ≈90 мин на P100, 10 млн ≈9 ч | Скачать готового агента sb3/dqn-… и посмотреть игру; обучать — по желанию, на одной GPU. Буфер займёт ≈6 ГБ ОЗУ |
| Юнит 4: REINFORCE, CartPole | CPU | — | Запустить целиком: это главная практика для LLM-трека |
| Юнит 4: REINFORCE, Pixelcopter | CPU, PyGame Learning Environment | — (50 тыс. эпизодов в ноутбуке) | По желанию, с меньшим числом эпизодов |
| Бонус 1, юнит 5: ML-Agents | сборка Unity под Linux | 10–45 мин на среду | По желанию |
| Юнит 6: A2C, PandaReachDense | CPU, PyBullet | 1 млн шагов ≈25–40 мин | Запустить на 200–300 тыс. шагов или целиком |
| Юнит 7: SoccerTwos, self-play | ML-Agents | 5 млн шагов ≈5–8 ч | Пропустить или оставить на ночь |
| Юнит 8, ч. 1: PPO с нуля (CleanRL) | CPU | 50 тыс. шагов по умолчанию | Запустить: CartPole — минуты; LunarLander — дольше, увеличьте --total-timesteps |
| Юнит 8, ч. 2: Sample Factory, Doom | Linux, много ядер CPU, GPU | 4 млн шагов ≈20 мин | По желанию: многоядерному процессору это по силам. Deathmatch — только скачать готового агента |
Оценка памяти для юнита 3: в буфере хранятся наблюдение и следующее наблюдение, каждое — 4 кадра 84×84 по одному байту: байт на переход, а 100 000 переходов — около 5,6 ГБ.
Как устроен каждый юнит
Заголовок раздела «Как устроен каждый юнит»Почти все юниты построены одинаково, и переводы сохраняют эту структуру:
- Введение — что будем изучать и какого агента обучим.
- Теория — 3–5 разделов с картинками. Формулы, которые в оригинале нарисованы на картинках, в переводах записаны формулами, а рисунки описаны словами или заменены схемами.
- Глоссарий — его пишут участники сообщества.
- Практика — ноутбук Colab. В переводах переведены условия, пояснения и комментарии в коде; код сохранён, а где он не работает с текущими версиями библиотек — дана пометка.
- Тест — вопросы с ответами; в переводах они оформлены интерактивными квизами или раскрывающимися ответами.
- Заключение и дополнительное чтение.
Что читать дальше
Заголовок раздела «Что читать дальше»- Spinning Up in Deep RL (OpenAI) — короткое строгое введение и вывод градиента политики; у нас переведены ключевые понятия, виды алгоритмов и оптимизация политики.
- Reinforcement Learning: An Introduction Ричарда Саттона и Эндрю Барто — классический учебник, его PDF бесплатно лежит на сайте авторов.
- CleanRL (vwxyzjn/cleanrl) — однофайловые реализации DQN, PPO и других алгоритмов: их удобно читать сверху вниз.
Словарик
Заголовок раздела «Словарик»| English | Русский |
|---|---|
| unit | юнит (глава курса) |
| hands-on | практическое занятие, практика |
| leaderboard | лидерборд, таблица результатов |
| certificate of completion / of excellence | сертификат об окончании / с отличием |
| low-maintenance | минимальная поддержка |
| self-paced | в своём темпе, без сроков |
| Hugging Face Hub | Hub — платформа для моделей, датасетов и демо |
| model card | карточка модели |
| replay video | видео игры агента |