# От случайного блуждания до Q-Learning: как ИИ учится на своих ошибках

Источник: https://www.youtube.com/watch?v=34Hk2v2kwg4
Канал: Stanford Online
Опубликовано: 09.03.2026

---

В Стэнфордском университете в рамках курса CS221 прошла лекция, посвященная обучению с подкреплением (Reinforcement Learning, RL). В отличие от классических марковских процессов принятия решений (MDP), где правила игры известны заранее, RL предлагает алгоритмы для ситуаций, когда агент не знает ни вероятностей перехода, ни наград, и должен обучаться через непосредственное взаимодействие со средой.

## 🤖 Введение в Reinforcement Learning: от теории к жизни
[[JUMP:10:59]]

Обучение с подкреплением можно рассматривать как расширение марковских процессов принятия решений (MDP), где агенту не предоставлена модель мира [11:12]. В стандартном MDP (например, задача о «ненадежном трамвае») мы знаем все параметры: вероятность того, что трамвай сломается, и точную стоимость (отрицательную награду) каждого шага [12:19]. В RL агент начинает с полного отсутствия знаний о среде.

По мнению лектора, RL — это метафора реальной жизни [13:13]. В реальности мы не знаем точных вероятностей успеха своих действий; нам приходится пробовать, ошибаться и «подкреплять» те действия, которые привели к положительному результату.

Ключевые компоненты цикла RL:

*   **Агент (Agent):** принимает решение и совершает действие.
*   **Среда (Environment):** возвращает агенту наблюдения (состояния) и награды.
*   **Действие (Action):** шаг, совершаемый агентом [11:52].
*   **Награда (Reward):** численный показатель успеха или стоимости действия [12:07].

## 🏗️ Модельный подход: Model-Based Value Iteration
[[JUMP:25:06]]

Самый интуитивно понятный способ решить задачу RL, если вы уже знакомы с MDP — это попытаться восстановить (выучить) модель мира. Этот подход называется **Model-Based Value Iteration** [25:47].

Процесс разделен на три фазы:

1.  **Исследование (Exploration):** агент совершает случайные или полуслучайные действия, чтобы собрать данные о переходах между состояниями и получаемых наградах [26:01].
2.  **Оценка модели:** на основе собранной статистики (счетчиков переходов) агент строит свою внутреннюю «примерную» MDP. Например, если из состояния «1» действие «трамвай» 6 раз привело в состояние «2» и 4 раза оставило в «1», агент оценивает вероятность успеха в 0.6 [35:36].
3.  **Планирование (Exploitation):** имея расчетную модель, агент запускает алгоритм итерации ценности (Value Iteration) и вычисляет оптимальную стратегию так, будто эта модель истинна [26:29].

Главный риск этого метода заключается в том, что если фаза исследования была недостаточной, внутренняя модель агента будет неверной, что приведет к ошибочной стратегии [40:15].

## 📉 Безмодельные методы: Monte Carlo и Q-learning
[[JUMP:45:34]]

Более прямой путь — обучение без построения модели (Model-Free). Вместо того чтобы пытаться понять, как устроен мир, агент сразу пытается оценить выгоду от конкретных действий в конкретных состояниях — так называемые **Q-значения (Q-values)** [46:13].

### Model-Free Monte Carlo
[[JUMP:47:35]]

Этот алгоритм основан на усреднении результатов полных «заездов» (rollouts). Агент проходит путь от начала до конца, суммирует все награды (утилитарность) и обновляет оценку Q-значения для каждой пары «состояние-действие» в этом пути [55:22]. 

Основная проблема метода: агент должен дождаться конца эпизода, чтобы сделать выводы. Лектор приводит аналогию: «Вам придется дожить до 100 лет, оглянуться назад на всю свою жизнь и только тогда понять Q-значения каждой ошибки молодости — но будет уже поздно» [1:06:07].

### Эпсилон-жадный алгоритм (Epsilon-greedy)
[[JUMP:50:35]]

Чтобы сбалансировать поиск нового и использование известного, применяется параметр $\epsilon$ (эпсилон):

*   С вероятностью $\epsilon$ агент выбирает случайное действие (исследование).
*   С вероятностью $1 - \epsilon$ агент выбирает лучшее из известных действий (эксплуатация).

## ⚡ Бутстрэппинг: Алгоритмы SARSA и Q-Learning
[[JUMP:1:06:35]]

Чтобы обучаться «на лету», не дожидаясь конца игры, используются методы временных различий (Temporal Difference) и **бутстрэппинг** — обновление текущей оценки на основе другой оценки [1:07:15].

**SARSA (State-Action-Reward-State-Action)** [1:09:20]
Это **On-policy** алгоритм. Он обновляет Q-значения текущей стратегии, учитывая то действие, которое агент *реально* планирует совершить следующим. Из-за этого он более «осторожен».

**Q-Learning** [1:12:55]
Это **Off-policy** алгоритм. В нем обновление Q-значения происходит исходя из предположения, что в следующем состоянии агент выберет *наилучшее* возможное действие (максимальное Q), даже если на самом деле он решит пойти случайным путем ради исследования [1:14:54]. 

Разница между ними тонка, но критична:

*   **SARSA** оценивает то, что агент делает на самом деле (включая его ошибки исследования).
*   **Q-Learning** оценивает идеальную, оптимальную стратегию, «подглядывая» в будущее через функцию `max` [1:15:34].

Лекция завершается анонсом следующей темы: как применять эти алгоритмы в гигантских пространствах состояний (например, в компьютерных играх или шахматах), где невозможно сохранить таблицу для каждого отдельного состояния [1:17:50].