# Янник Килчер о Q-Learning: как ИИ учится принимать решения

Источник: https://www.youtube.com/watch?v=nOBm4aYEYR4
Канал: Yannic Kilcher
Опубликовано: 25.11.2023

---

## Основы Q-Learning: как ИИ учится принимать решения
[[JUMP:0:00]]

Q-Learning — это фундаментальный алгоритм обучения с подкреплением (Reinforcement Learning), который позволяет агенту научиться выбирать оптимальные действия в среде для максимизации долгосрочной награды. По мнению Янника Килчера, именно этот подход, наряду с Deep Mind, сыграл ключевую роль в прорыве алгоритмов обучения с подкреплением, продемонстрировав, как ИИ может самостоятельно освоить игры Atari, опираясь лишь на пиксели на экране и получаемые очки.

### 🤖 Базовая архитектура reinforcement learning
[[JUMP:1:05]]

В основе обучения с подкреплением лежит циклический процесс взаимодействия между агентом и средой:

*   Агент получает текущее состояние (наблюдение) среды.
*   На основе этого состояния агент совершает действие.
*   Среда реагирует: выдает награду (или штраф) и переводит агента в новое состояние.

Янник Килчер отмечает, что главной проблемой здесь является «назначение кредита» (credit assignment). В таких играх, как шахматы, агент не получает промежуточных наград за каждый ход — он узнает о победе или поражении только в самом конце. Задача Q-функции — «объяснить» системе, какой из сделанных шагов был действительно правильным и привел к итоговому успеху.

### 🧠 Что такое Q-функция и как она работает
[[JUMP:7:36]]

Q-функция — это инструмент оценки действий. Она принимает на вход текущее состояние $s$ и предлагаемое действие $a$, после чего выдает число — прогнозируемую сумму всех будущих наград.

*   **Функция политики (Pi, $\pi$):** Это стратегия агента, определяющая, какое действие совершить в каждом состоянии.
*   **Оптимальная политика:** Агент стремится выбрать такую политику, при которой в любом состоянии он всегда выбирает действие, максимизирующее результат Q-функции.

По словам Килчера, важно учитывать дисконтирующий множитель ($\gamma$): поскольку награды в далеком будущем менее ценны для агента в моменте, чем мгновенные, система использует этот коэффициент для балансировки ожиданий.

### 📉 Уравнение Беллмана и обучение
[[JUMP:19:32]]

Фундамент Q-Learning строится на рекуррентном уравнении Беллмана. Оно гласит, что значение Q для текущего состояния и действия равно немедленной награде плюс дисконтированная ценность Q для следующего состояния.

Поскольку идеальную Q-функцию изначально никто не знает, алгоритм использует «саморегрессию»:

1.  Агент начинает с инициализации случайных значений Q.
2.  В процессе взаимодействия со средой он сравнивает полученный результат (реальная награда + оценка следующего состояния) с текущим предсказанием.
3.  Разница между ними используется для коррекции модели через градиентный спуск, делая предсказания всё более точными.

### 🕹️ От таблиц к нейросетям
[[JUMP:34:19]]

В простых средах можно использовать табличный Q-Learning, где для каждой пары «состояние-действие» хранится значение в ячейке. Однако для сложных задач, таких как игры Atari, где количество состояний огромно, применяются глубокие нейронные сети (Deep Q-Learning).

Нейросеть принимает на вход состояние (например, картинку) и выдает оценки для всех возможных действий. Килчер подчеркивает важность метода **Experience Replay** — буфера памяти, куда сохраняются переходы (состояние, действие, награда, следующее состояние) для повторного обучения, что делает процесс более стабильным.

Несмотря на популярность спекуляций вокруг алгоритма Q* от OpenAI, Янник Килчер призывает помнить, что рассмотренные принципы Q-Learning являются классикой машинного обучения и могут иметь или не иметь отношения к новейшим разработкам компании.