AI и машинное обучение

Учебник Обучение с подкреплением (Reinforcement Learning) для начинающих

21 урок · 6 разделов · бесплатно, без регистрации

Обучение с подкреплением (Reinforcement Learning, RL) — это раздел машинного обучения, где агент учится принимать решения, взаимодействуя со средой и получая награды за свои действия. Здесь нет готовых «правильных ответов», как в обучении с учителем: агент сам нащупывает выгодную стратегию методом проб и ошибок.

Курс ведёт от интуиции (агент, среда, награда) через теорию (марковский процесс принятия решений, уравнение Беллмана) к рабочим алгоритмам. Табличные методы — Q-learning и SARSA — мы пишем на чистом Python и запускаем прямо в браузере на маленькой сетке, чтобы увидеть, как агент учится. Дальше разбираем, зачем нужны нейросети (DQN, policy gradient, actor-critic), как устроены среды Gymnasium и какие подводные камни ждут на практике.

Для кого: тем, кто знает основы Python и хочет понять, как работают системы, обыгрывающие людей в Go и StarCraft, управляющие роботами и подбирающие рекомендации. Желательно знакомство с основами машинного обучения и нейросетей — у нас есть отдельные курсы «Машинное обучение основы», «Глубокое обучение» и «PyTorch», на которые мы будем ссылаться, не повторяя их.

Курс «Обучение с подкреплением (Reinforcement Learning)» состоит из 6 разделов и 21 урока: Что такое обучение с подкреплением, Марковский процесс принятия решений, Исследование против использования, Табличные методы обучения, От таблиц к нейросетям и Инструменты, применения и подводные камни. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Что такое обучение с подкреплением

    1. Что такое RL и чем оно отличается от обучения с учителем

      Обучение с подкреплением простыми словами: агент учится методом проб и ошибок ради награды, в отличие от supervised и unsupervised обучения.

    2. Агент, среда и награда: цикл взаимодействия

      Цикл RL: агент наблюдает состояние, выбирает действие, среда выдаёт награду и новое состояние. Разбираем основные понятия и ASCII-схему.

    3. Где применяют RL: игры, роботы, рекомендации

      Реальные применения обучения с подкреплением: игры (AlphaGo, Atari), робототехника, рекомендательные системы, управление и настройка LLM через RLHF.

  2. 2 Марковский процесс принятия решений

    1. MDP: состояния, действия, переходы, награды

      Марковский процесс принятия решений (MDP): пять компонентов S, A, P, R, gamma и марковское свойство. Формальная модель любой RL-задачи.

    2. Политика и функции ценности V и Q

      Политика (policy) как стратегия агента, функция ценности состояния V(s) и функция ценности действия Q(s,a). Чем V отличается от Q и зачем нужны обе.

    3. Уравнение Беллмана

      Уравнение Беллмана: рекурсивная связь ценности состояния с наградой и ценностью следующего состояния. Интуиция и value iteration на цепочке состояний.

    4. Дисконтирование и коэффициент gamma

      Дисконтирование в RL: коэффициент gamma и то, как он управляет дальновидностью агента. Влияние gamma на ценность будущих наград, интуиция и таблицы.

  3. 3 Исследование против использования

    1. Дилемма исследования и использования

      Дилемма exploration vs exploitation в RL: баланс между пробой новых действий и использованием уже известных выгодных. Почему чистая жадность проигрывает.

    2. Стратегия epsilon-greedy

      Стратегия epsilon-greedy в RL: с вероятностью epsilon — случайное действие, иначе — лучшее по оценке. Затухание epsilon и почему это работает.

    3. Задача о многоруком бандите

      Многорукий бандит (multi-armed bandit): упрощённая RL-задача без состояний. Оценка ценности рычагов, инкрементальное среднее и баланс исследования.

  4. 4 Табличные методы обучения

    1. Метод Монте-Карло

      Метод Монте-Карло в RL: оценка функции ценности усреднением полных возвратов по эпизодам. Когда он применим и в чём его минусы.

    2. TD-обучение: временные различия

      TD-обучение (temporal difference): обновление ценности на каждом шаге по TD-ошибке без ожидания конца эпизода. Сравнение с Монте-Карло, бутстрэппинг.

    3. Q-learning: off-policy метод на gridworld

      Q-learning — off-policy TD-метод. Формула обновления Q, off-policy суть и рабочая реализация на gridworld 4x4 с реальным запуском в браузере.

    4. SARSA: on-policy метод

      SARSA — on-policy TD-метод. Чем формула SARSA отличается от Q-learning, почему SARSA осторожнее, и рабочая реализация на gridworld.

  5. 5 От таблиц к нейросетям

    1. От таблиц к аппроксимации: зачем нейросети

      Почему табличный RL не масштабируется: проклятие размерности. Аппроксимация функции ценности нейросетью и обобщение между похожими состояниями.

    2. Deep Q-Network: replay buffer и target network

      Deep Q-Network (DQN): нейросеть вместо Q-таблицы, два стабилизирующих приёма — experience replay и target network. Почему без них обучение разъезжается.

    3. Policy gradient и REINFORCE

      Policy gradient и алгоритм REINFORCE: прямое обучение политики градиентным подъёмом. Чем отличается от value-based методов и зачем нужны стохастические политики.

    4. Actor-critic: обзор

      Actor-critic в RL: актёр выбирает действия, критик оценивает их через функцию ценности. Как объединение policy gradient и value-методов снижает дисперсию.

  6. 6 Инструменты, применения и подводные камни

    1. Среды Gymnasium: обзор API

      Gymnasium (бывший OpenAI Gym): стандартный интерфейс сред RL. Методы reset и step, пространства наблюдений и действий, цикл взаимодействия.

    2. Применения RL на практике

      Практические применения RL и условия успеха: симулятор, награда, безопасность. Игры, робототехника, рекомендации, оптимизация ресурсов и RLHF.

    3. Подводные камни: reward hacking и нестабильность

      Главные ловушки RL: reward hacking (агент обманывает функцию награды) и нестабильность обучения. Как их распознать и смягчить.

py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →